<?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>78322</bug_id>
          
          <creation_ts>2012-02-09 20:22:09 -0800</creation_ts>
          <short_desc>SVG should be supported in Dashboard compatibility mode</short_desc>
          <delta_ts>2012-02-24 11:41:47 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>SVG</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Tim Horton">thorton</reporter>
          <assigned_to name="Tim Horton">thorton</assigned_to>
          <cc>adele</cc>
    
    <cc>oliver</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>553769</commentid>
    <comment_count>0</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2012-02-09 20:22:09 -0800</bug_when>
    <thetext>We should revert http://trac.webkit.org/changeset/21418

&lt;rdar://problem/5861278&gt;

I have a patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>553775</commentid>
    <comment_count>1</comment_count>
      <attachid>126443</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2012-02-09 20:33:46 -0800</bug_when>
    <thetext>Created attachment 126443
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>553895</commentid>
    <comment_count>2</comment_count>
      <attachid>126443</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2012-02-10 00:02:47 -0800</bug_when>
    <thetext>Comment on attachment 126443
patch

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

Resetting Olivers r+, the patch doesn&apos;t apply so we can&apos;t get ews results - I&apos;d like to see that cr-linux ews is green, aka the expectations were updated, if needed.
Also one test is flaky, hence setting to r-:

&gt; LayoutTests/http/tests/xmlhttprequest/svg-created-by-xhr-allowed-in-dashboard.html:68
&gt; +&lt;body onLoad=&quot;loadSVG();&quot;&gt;

s/onLoad/onload/

&gt; LayoutTests/svg/custom/embedded-svg-allowed-in-dashboard-expected.txt:3
&gt; + PASS: Successfully embedded SVG in document

Where does the leading space come from?

&gt; LayoutTests/svg/custom/svg-allowed-in-dashboard-object.html:16
&gt; +    setTimeout(&quot;timeOut()&quot;, 500);

Ouch, this is flaky, and needs to be avoided. Try listening to &lt;body onload=&quot;timeOut()&quot;&gt; instead -- you need to make sure all subresources loaded, before calling timeOut(), though we shouldn&apos;t pray it&apos;s done in 500ms, but instead listen to the right events.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>553898</commentid>
    <comment_count>3</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2012-02-10 00:04:27 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 126443 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=126443&amp;action=review
&gt; 
&gt; Resetting Olivers r+, the patch doesn&apos;t apply so we can&apos;t get ews results - I&apos;d like to see that cr-linux ews is green, aka the expectations were updated, if needed.

The patch doesn&apos;t apply, but not for any discernible reason.

&gt; Also one test is flaky, hence setting to r-:
&gt; 
&gt; &gt; LayoutTests/http/tests/xmlhttprequest/svg-created-by-xhr-allowed-in-dashboard.html:68
&gt; &gt; +&lt;body onLoad=&quot;loadSVG();&quot;&gt;
&gt; 
&gt; s/onLoad/onload/
&gt; 
&gt; &gt; LayoutTests/svg/custom/embedded-svg-allowed-in-dashboard-expected.txt:3
&gt; &gt; + PASS: Successfully embedded SVG in document
&gt; 
&gt; Where does the leading space come from?
&gt; 
&gt; &gt; LayoutTests/svg/custom/svg-allowed-in-dashboard-object.html:16
&gt; &gt; +    setTimeout(&quot;timeOut()&quot;, 500);
&gt; 
&gt; Ouch, this is flaky, and needs to be avoided. Try listening to &lt;body onload=&quot;timeOut()&quot;&gt; instead -- you need to make sure all subresources loaded, before calling timeOut(), though we shouldn&apos;t pray it&apos;s done in 500ms, but instead listen to the right events.

Hmm! I didn&apos;t look at the tests, I just swapped all the &quot;PASS&quot; and &quot;FAIL&quot;s :-D</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>554289</commentid>
    <comment_count>4</comment_count>
      <attachid>126553</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2012-02-10 12:22:02 -0800</bug_when>
    <thetext>Created attachment 126553
patch

Fixed Niko&apos;s concerns; I&apos;m sure the patch still won&apos;t apply (I bet it&apos;s the git mv that is broken), we can make any changes for other platforms later, but I don&apos;t expect there will be any.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>560407</commentid>
    <comment_count>5</comment_count>
      <attachid>126553</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2012-02-20 15:21:28 -0800</bug_when>
    <thetext>Comment on attachment 126553
patch

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

Looks ok to me, but I was concentrating on code changes not tests. Maybe Niko wants another look?

It would be nice to resubmit and verify that the bots compile, etc.

&gt; LayoutTests/http/tests/xmlhttprequest/svg-created-by-xhr-allowed-in-dashboard.html:6
&gt; +&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.01 Transitional//EN&quot;&gt;
&gt; +&lt;html&gt;
&gt; +&lt;head&gt;
&gt; +&lt;title&gt;Test to ensure SVG is enabled in Dashboard compatibility mode&lt;/title&gt;
&gt; +&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=iso-8859-1&quot;&gt;
&gt; +&lt;script language=&quot;JavaScript&quot; type=&quot;text/JavaScript&quot;&gt;

Just do:

&lt;!doctype html&gt;
&lt;html&gt;
&lt;head&gt;
&lt;title&gt;...
&lt;script&gt;  &lt;- no attributes

I realise you&apos;re just moving (and slightly editing) the file, but might as well clean it up.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>560412</commentid>
    <comment_count>6</comment_count>
      <attachid>126553</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2012-02-20 15:23:14 -0800</bug_when>
    <thetext>Comment on attachment 126553
patch

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

&gt; LayoutTests/svg/custom/svg-allowed-in-dashboard-object.html:2
&gt; +&lt;body onload=&quot;timeOut()&quot;&gt;

See below.

&gt; LayoutTests/svg/custom/svg-allowed-in-dashboard-object.html:16
&gt; +    function timeOut() {

This function was named timeOut because it was being called from a setTimeout. I think we should rename it runTest or something.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>560442</commentid>
    <comment_count>7</comment_count>
      <attachid>127866</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2012-02-20 16:18:29 -0800</bug_when>
    <thetext>Created attachment 127866
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>560444</commentid>
    <comment_count>8</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2012-02-20 16:19:23 -0800</bug_when>
    <thetext>Just tried webkit-patch for the first time, let&apos;s see if that makes a patch the bots can deal with.

Other than that, I think I&apos;ve addressed your changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>564519</commentid>
    <comment_count>9</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2012-02-24 11:41:47 -0800</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/108832</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>126443</attachid>
            <date>2012-02-09 20:33:46 -0800</date>
            <delta_ts>2012-02-10 12:22:02 -0800</delta_ts>
            <desc>patch</desc>
            <filename>dashboard.patch</filename>
            <type>text/plain</type>
            <size>35591</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAwZGFhNTdkLi5hZDM1Njk2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkgQEAKKzIwMTItMDIt
MDkgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgU1ZH
IHNob3VsZCBiZSBzdXBwb3J0ZWQgaW4gRGFzaGJvYXJkIGNvbXBhdGliaWxpdHkgbW9kZQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgzMjIKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzU4NjEyNzg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgQ2hhbmdlIHRlc3RzIHRoYXQgZW5zdXJlZCB0aGF0IFNWRyBk
aWRuJ3Qgd29yayBpbiBEYXNoYm9hcmQgdG8gaW5zdGVhZCB0ZXN0IHRoYXQgaXQgZG9lcyEKKwor
ICAgICAgICAqIGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3Qvc3ZnLWNyZWF0ZWQtYnkteGhyLWFs
bG93ZWQtaW4tZGFzaGJvYXJkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90
ZXN0cy94bWxodHRwcmVxdWVzdC9zdmctY3JlYXRlZC1ieS14aHItYWxsb3dlZC1pbi1kYXNoYm9h
cmQuaHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVl
c3Qvc3ZnLWNyZWF0ZWQtYnkteGhyLWRpc2FsbG93ZWQtaW4tZGFzaGJvYXJkLmh0bWwuCisgICAg
ICAgICogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9zdmctY3JlYXRlZC1ieS14aHItZGlzYWxs
b3dlZC1pbi1kYXNoYm9hcmQtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHN2Zy9j
dXN0b20vZW1iZWRkZWQtc3ZnLWFsbG93ZWQtaW4tZGFzaGJvYXJkLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogc3ZnL2N1c3RvbS9lbWJlZGRlZC1zdmctYWxsb3dlZC1pbi1kYXNoYm9h
cmQueG1sOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9lbWJlZGRlZC1zdmct
ZGlzYWxsb3dlZC1pbi1kYXNoYm9hcmQueG1sLgorICAgICAgICAqIHN2Zy9jdXN0b20vZW1iZWRk
ZWQtc3ZnLWRpc2FsbG93ZWQtaW4tZGFzaGJvYXJkLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBzdmcvY3VzdG9tL21hbnVhbGx5LXBhcnNlZC1lbWJlZGRlZC1zdmctYWxsb3dlZC1p
bi1kYXNoYm9hcmQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBzdmcvY3VzdG9tL21h
bnVhbGx5LXBhcnNlZC1lbWJlZGRlZC1zdmctYWxsb3dlZC1pbi1kYXNoYm9hcmQuaHRtbDogUmVu
YW1lZCBmcm9tIExheW91dFRlc3RzL3N2Zy9jdXN0b20vbWFudWFsbHktcGFyc2VkLWVtYmVkZGVk
LXN2Zy1kaXNhbGxvd2VkLWluLWRhc2hib2FyZC5odG1sLgorICAgICAgICAqIHN2Zy9jdXN0b20v
bWFudWFsbHktcGFyc2VkLWVtYmVkZGVkLXN2Zy1kaXNhbGxvd2VkLWluLWRhc2hib2FyZC1leHBl
Y3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogc3ZnL2N1c3RvbS9tYW51YWxseS1wYXJzZWQt
c3ZnLWFsbG93ZWQtaW4tZGFzaGJvYXJkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
c3ZnL2N1c3RvbS9tYW51YWxseS1wYXJzZWQtc3ZnLWFsbG93ZWQtaW4tZGFzaGJvYXJkLmh0bWw6
IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL21hbnVhbGx5LXBhcnNlZC1zdmct
ZGlzYWxsb3dlZC1pbi1kYXNoYm9hcmQuaHRtbC4KKyAgICAgICAgKiBzdmcvY3VzdG9tL21hbnVh
bGx5LXBhcnNlZC1zdmctZGlzYWxsb3dlZC1pbi1kYXNoYm9hcmQtZXhwZWN0ZWQudHh0OiBSZW1v
dmVkLgorICAgICAgICAqIHN2Zy9jdXN0b20vc3ZnLWFsbG93ZWQtaW4tZGFzaGJvYXJkLW9iamVj
dC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHN2Zy9jdXN0b20vc3ZnLWFsbG93ZWQt
aW4tZGFzaGJvYXJkLW9iamVjdC5odG1sOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3ZnL2N1
c3RvbS9zdmctZGlzYWxsb3dlZC1pbi1kYXNoYm9hcmQtb2JqZWN0Lmh0bWwuCisgICAgICAgICog
c3ZnL2N1c3RvbS9zdmctZGlzYWxsb3dlZC1pbi1kYXNoYm9hcmQtb2JqZWN0LWV4cGVjdGVkLnR4
dDogUmVtb3ZlZC4KKwogMjAxMi0wMi0wOCAgRGlyayBTY2h1bHplICA8a3JpdEB3ZWJraXQub3Jn
PgogCiAgICAgICAgIHZpZXdCb3ggb24gbmVzdGVkIFNWRyBjYXVzZXMgd3JvbmcgY29udGVudCBz
aXplIGZvciByZWxhdGl2ZSB2YWx1ZXMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMveG1saHR0cHJlcXVlc3Qvc3ZnLWNyZWF0ZWQtYnkteGhyLWFsbG93ZWQtaW4tZGFzaGJvYXJk
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3Qvc3Zn
LWNyZWF0ZWQtYnkteGhyLWFsbG93ZWQtaW4tZGFzaGJvYXJkLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42OWE0NGM1Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9zdmctY3JlYXRlZC1ieS14aHIt
YWxsb3dlZC1pbi1kYXNoYm9hcmQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNiBAQAorVGVzdCB0
byBtYWtlIHN1cmUgd2UgY2FuIHVzZSBYSFIgdG8gY3JlYXRlIHVzYWJsZSBTVkcgaW4gZGFzaGJv
YXJkIGNvbXBhdGliaWxpdHkgbW9kZS4gVGhpcyBjYW5ub3QgYmUgdGVzdGVkIG1hbnVhbGx5Lgor
CitSZWNlaXZlZCBkb2Mgb2YgdHlwZTogW29iamVjdCBEb2N1bWVudF0KK1BBU1M6IE1hbmFnZWQg
dG8gaW5zZXJ0IFNWRyBlbGVtZW50IGludG8gdHJlZQorSW1wb3J0ZWQgbm9kZSBvZiB0eXBlOiBb
b2JqZWN0IFNWR0NpcmNsZUVsZW1lbnRdCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMveG1saHR0cHJlcXVlc3Qvc3ZnLWNyZWF0ZWQtYnkteGhyLWFsbG93ZWQtaW4tZGFzaGJv
YXJkLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3N2Zy1jcmVh
dGVkLWJ5LXhoci1hbGxvd2VkLWluLWRhc2hib2FyZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAuLjczNmZmM2QKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3N2Zy1jcmVhdGVkLWJ5LXhoci1hbGxvd2VkLWluLWRh
c2hib2FyZC5odG1sCkBAIC0wLDAgKzEsODAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
VzNDLy9EVEQgSFRNTCA0LjAxIFRyYW5zaXRpb25hbC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzx0
aXRsZT5UZXN0IHRvIGVuc3VyZSBTVkcgaXMgZW5hYmxlZCBpbiBEYXNoYm9hcmQgY29tcGF0aWJp
bGl0eSBtb2RlPC90aXRsZT4KKzxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVu
dD0idGV4dC9odG1sOyBjaGFyc2V0PWlzby04ODU5LTEiPgorPHNjcmlwdCBsYW5ndWFnZT0iSmF2
YVNjcmlwdCIgdHlwZT0idGV4dC9KYXZhU2NyaXB0Ij4KKworICAgIHZhciBycTsKKworICAgIGZ1
bmN0aW9uIGxvYWRTVkcoKQorICAgIHsKKyAgICAgICAgdXJsID0gJ3Jlc291cmNlcy9zdmd0ZXN0
LnN2Zyc7CisKKyAgICAgICAgcnEgPSBmYWxzZTsKKyAgICAKKyAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICBpZiAod2luZG93LlhNTEh0dHBSZXF1ZXN0KSB7CisgICAgICAgICAgICBycSA9IG5ldyBY
TUxIdHRwUmVxdWVzdCgpOworICAgICAgICAgICAgcnEub3ZlcnJpZGVNaW1lVHlwZSgndGV4dC9z
dmcreG1sJyk7CisgICAgICAgICAgICBycS5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBwcm9jZXNzUmVx
Q2hhbmdlOworICAgICAgICAgICAgcnEub3BlbignR0VUJywgdXJsLCB0cnVlKTsKKyAgICAgICAg
ICAgIHJxLnNlbmQoKTsKKyAgICAgICAgICB9CisgICAgICAgIH0gY2F0Y2ggKGV4KSB7CisgICAg
ICAgICAgICBycSA9IGZhbHNlOworICAgICAgICAgICAgYWxlcnQoZXgpOworICAgICAgICB9Cisg
ICAgfQorICAgIAorICAgIGZ1bmN0aW9uIGRlYnVnKHN0cikgeworICAgICAgICB2YXIgYyA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb25zb2xlJykKKyAgICAgICAgYy5hcHBlbmRDaGlsZChk
b2N1bWVudC5jcmVhdGVUZXh0Tm9kZShzdHIgKyAnXG4nKSk7CisgICAgfQorCisgICAgZnVuY3Rp
b24gcHJvY2Vzc1JlcUNoYW5nZSgpCisgICAgeworICAgICAgICBpZiAocnEucmVhZHlTdGF0ZSA9
PSA0KSB7CisgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgIHZhciBzdmdEb2MgPSBy
cS5yZXNwb25zZVhNTDsKKyAgICAgICAgICAgICAgICBpZiAocnEuc3RhdHVzID09IDIwMCkgewor
ICAgICAgICAgICAgICAgICAgICBkZWJ1ZygiUmVjZWl2ZWQgZG9jIG9mIHR5cGU6ICIgKyBzdmdE
b2MpOworICAgICAgICAgICAgICAgICAgICAvLyBJbXBvcnQgU1ZHIGVsZW1lbnQgaW50byB0cmVl
LgorICAgICAgICAgICAgICAgICAgICB2YXIgaW1wb3J0ZWROb2RlID0gbnVsbDsKKyAgICAgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGltcG9ydGVkTm9kZSA9
IGRvY3VtZW50LmltcG9ydE5vZGUoc3ZnRG9jLmdldEVsZW1lbnRCeUlkKCdzdmdDaXJjbGUnKSwg
dHJ1ZSk7CisgICAgICAgICAgICAgICAgICAgIH0gY2F0Y2goZSkgeworICAgICAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgaWYgKGltcG9ydGVkTm9k
ZSkgeworICAgICAgICAgICAgICAgICAgICAgICAgZGVidWcoIlBBU1M6IE1hbmFnZWQgdG8gaW5z
ZXJ0IFNWRyBlbGVtZW50IGludG8gdHJlZSIpOworICAgICAgICAgICAgICAgICAgICAgICAgZGVi
dWcoIkltcG9ydGVkIG5vZGUgb2YgdHlwZTogIiArIGltcG9ydGVkTm9kZSk7CisgICAgICAgICAg
ICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGFyZ2V0RGl2JykuYXBwZW5k
Q2hpbGQoaW1wb3J0ZWROb2RlKTsKKyAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIGRlYnVnKCJGQUlMOiBDb3VsZCBub3QgaW5zZXJ0IFNWRyBlbGVt
ZW50IGludG8gdHJlZSIpOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAg
fSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgZGVidWcoJ0ZBSUw6IFVuYWJsZSB0byBsb2Fk
IFNWRyBkb2N1bWVudDogJyArIHJxLnN0YXR1c1RleHQpOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmICh3
aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgICAgICAgICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIubm90aWZ5RG9uZSgpOworICAgICAgICB9CisgICAgfQorPC9zY3JpcHQ+Cis8L2hl
YWQ+CisKKzxib2R5IG9uTG9hZD0ibG9hZFNWRygpOyI+Cis8cD5UZXN0IHRvIG1ha2Ugc3VyZSB3
ZSBjYW4gdXNlIFhIUiB0byBjcmVhdGUgdXNhYmxlIFNWRyBpbiBkYXNoYm9hcmQgY29tcGF0aWJp
bGl0eSBtb2RlLiAgVGhpcyBjYW5ub3QgYmUgdGVzdGVkIG1hbnVhbGx5LjwvcD4KKzxkaXYgaWQ9
InRhcmdldERpdiI+PC9kaXY+Cis8cHJlIGlkPSJjb25zb2xlIj48L3ByZT4KKzxzY3JpcHQ+Cisg
ICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgICAgICBsYXlvdXRUZXN0
Q29udHJvbGxlci5zZXRVc2VEYXNoYm9hcmRDb21wYXRpYmlsaXR5TW9kZSh0cnVlKTsKKyAgICAg
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAgICBsYXlvdXRUZXN0
Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CisgICAgfQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0
L3N2Zy1jcmVhdGVkLWJ5LXhoci1kaXNhbGxvd2VkLWluLWRhc2hib2FyZC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3N2Zy1jcmVhdGVkLWJ5LXho
ci1kaXNhbGxvd2VkLWluLWRhc2hib2FyZC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IGU3N2EyMmEuLjAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy94bWxodHRwcmVxdWVzdC9zdmctY3JlYXRlZC1ieS14aHItZGlzYWxsb3dlZC1pbi1kYXNoYm9h
cmQtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNSArMCwwIEBACi1UZXN0IHRvIG1h
a2Ugc3VyZSB3ZSBjYW4ndCB1c2UgWEhSIHRvIGNyZWF0ZSB1c2FibGUgU1ZHIGluIGRhc2hib2Fy
ZCBjb21wYXRpYmlsaXR5IG1vZGUuIFRoaXMgY2Fubm90IGJlIHRlc3RlZCBtYW51YWxseS4KLQot
UmVjZWl2ZWQgZG9jIG9mIHR5cGU6IFtvYmplY3QgRG9jdW1lbnRdCi1QQVNTOiBDb3VsZCBub3Qg
aW5zZXJ0IFNWRyBlbGVtZW50IGludG8gdHJlZQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3N2Zy1jcmVhdGVkLWJ5LXhoci1kaXNhbGxvd2VkLWlu
LWRhc2hib2FyZC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9z
dmctY3JlYXRlZC1ieS14aHItZGlzYWxsb3dlZC1pbi1kYXNoYm9hcmQuaHRtbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggNTlmNjU1Ny4uMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3N2Zy1jcmVhdGVkLWJ5LXhoci1kaXNhbGxvd2VkLWlu
LWRhc2hib2FyZC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsODAgKzAsMCBAQAotPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEgVHJhbnNpdGlvbmFsLy9FTiI+Ci08
aHRtbD4KLTxoZWFkPgotPHRpdGxlPlRlc3QgdG8gZW5zdXJlIFNWRyBpcyBkaXNhYmxlZCBpbiBE
YXNoYm9hcmQgY29tcGF0aWJpbGl0eSBtb2RlPC90aXRsZT4KLTxtZXRhIGh0dHAtZXF1aXY9IkNv
bnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PWlzby04ODU5LTEiPgotPHNj
cmlwdCBsYW5ndWFnZT0iSmF2YVNjcmlwdCIgdHlwZT0idGV4dC9KYXZhU2NyaXB0Ij4KLQotICAg
IHZhciBycTsKLQotICAgIGZ1bmN0aW9uIGxvYWRTVkcoKQotICAgIHsKLSAgICAgICAgdXJsID0g
J3Jlc291cmNlcy9zdmd0ZXN0LnN2Zyc7Ci0KLSAgICAgICAgcnEgPSBmYWxzZTsKLSAgICAKLSAg
ICAgICAgdHJ5IHsKLSAgICAgICAgICBpZiAod2luZG93LlhNTEh0dHBSZXF1ZXN0KSB7Ci0gICAg
ICAgICAgICBycSA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOwotICAgICAgICAgICAgcnEub3ZlcnJp
ZGVNaW1lVHlwZSgndGV4dC9zdmcreG1sJyk7Ci0gICAgICAgICAgICBycS5vbnJlYWR5c3RhdGVj
aGFuZ2UgPSBwcm9jZXNzUmVxQ2hhbmdlOwotICAgICAgICAgICAgcnEub3BlbignR0VUJywgdXJs
LCB0cnVlKTsKLSAgICAgICAgICAgIHJxLnNlbmQoKTsKLSAgICAgICAgICB9Ci0gICAgICAgIH0g
Y2F0Y2ggKGV4KSB7Ci0gICAgICAgICAgICBycSA9IGZhbHNlOwotICAgICAgICAgICAgYWxlcnQo
ZXgpOwotICAgICAgICB9Ci0gICAgfQotICAgIAotICAgIGZ1bmN0aW9uIGRlYnVnKHN0cikgewot
ICAgICAgICB2YXIgYyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb25zb2xlJykKLSAgICAg
ICAgYy5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShzdHIgKyAnXG4nKSk7Ci0g
ICAgfQotCi0gICAgZnVuY3Rpb24gcHJvY2Vzc1JlcUNoYW5nZSgpCi0gICAgewotICAgICAgICBp
ZiAocnEucmVhZHlTdGF0ZSA9PSA0KSB7Ci0gICAgICAgICAgICB0cnkgewotICAgICAgICAgICAg
ICAgIHZhciBzdmdEb2MgPSBycS5yZXNwb25zZVhNTDsKLSAgICAgICAgICAgICAgICBpZiAocnEu
c3RhdHVzID09IDIwMCkgewotICAgICAgICAgICAgICAgICAgICBkZWJ1ZygiUmVjZWl2ZWQgZG9j
IG9mIHR5cGU6ICIgKyBzdmdEb2MpOwotICAgICAgICAgICAgICAgICAgICAvLyBJbXBvcnQgU1ZH
IGVsZW1lbnQgaW50byB0cmVlLgotICAgICAgICAgICAgICAgICAgICB2YXIgaW1wb3J0ZWROb2Rl
ID0gbnVsbDsKLSAgICAgICAgICAgICAgICAgICAgdHJ5IHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgIGltcG9ydGVkTm9kZSA9IGRvY3VtZW50LmltcG9ydE5vZGUoc3ZnRG9jLmdldEVsZW1lbnRC
eUlkKCdzdmdDaXJjbGUnKSwgdHJ1ZSk7Ci0gICAgICAgICAgICAgICAgICAgIH0gY2F0Y2goZSkg
ewotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgICAgICAg
ICAgaWYgKGltcG9ydGVkTm9kZSkgewotICAgICAgICAgICAgICAgICAgICAgICAgZGVidWcoIkZB
SUw6IE1hbmFnZWQgdG8gaW5zZXJ0IFNWRyBlbGVtZW50IGludG8gdHJlZSIpOwotICAgICAgICAg
ICAgICAgICAgICAgICAgZGVidWcoIkltcG9ydGVkIG5vZGUgb2YgdHlwZTogIiArIGltcG9ydGVk
Tm9kZSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
dGFyZ2V0RGl2JykuYXBwZW5kQ2hpbGQoaW1wb3J0ZWROb2RlKTsKLSAgICAgICAgICAgICAgICAg
ICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGRlYnVnKCJQQVNTOiBDb3VsZCBu
b3QgaW5zZXJ0IFNWRyBlbGVtZW50IGludG8gdHJlZSIpOwotICAgICAgICAgICAgICAgICAgICB9
Ci0gICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgZGVidWcoJ0ZB
SUw6IFVuYWJsZSB0byBsb2FkIFNWRyBkb2N1bWVudDogJyArIHJxLnN0YXR1c1RleHQpOwotICAg
ICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsKLSAgICAgICAgICAgIH0K
LSAgICAgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgICAg
ICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwotICAgICAgICB9Ci0gICAg
fQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9uTG9hZD0ibG9hZFNWRygpOyI+Ci08cD5U
ZXN0IHRvIG1ha2Ugc3VyZSB3ZSBjYW4ndCB1c2UgWEhSIHRvIGNyZWF0ZSB1c2FibGUgU1ZHIGlu
IGRhc2hib2FyZCBjb21wYXRpYmlsaXR5IG1vZGUuICBUaGlzIGNhbm5vdCBiZSB0ZXN0ZWQgbWFu
dWFsbHkuPC9wPgotPGRpdiBpZD0idGFyZ2V0RGl2Ij48L2Rpdj4KLTxwcmUgaWQ9ImNvbnNvbGUi
PjwvcHJlPgotPHNjcmlwdD4KLSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7
Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLnNldFVzZURhc2hib2FyZENvbXBhdGliaWxp
dHlNb2RlKHRydWUpOwotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7
Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKLSAgICB9Ci08
L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9j
dXN0b20vZW1iZWRkZWQtc3ZnLWFsbG93ZWQtaW4tZGFzaGJvYXJkLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL3N2Zy9jdXN0b20vZW1iZWRkZWQtc3ZnLWFsbG93ZWQtaW4tZGFzaGJvYXJkLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NmUzNGQwCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9lbWJlZGRlZC1zdmctYWxs
b3dlZC1pbi1kYXNoYm9hcmQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorVGhpcyB0ZXN0
IGlzIHRvIGVuc3VyZSBTVkcgZWxlbWVudHMgY2FuIGJlIGNyZWF0ZWQgYnkgYmVpbmcgZW1iZWRk
ZWQgaW4geG1sIGRvY3VtZW50cy4gSXQgY2FuIG5vdCBiZSB0ZXN0ZWQgbWFudWFsbHkuCisKKyBQ
QVNTOiBTdWNjZXNzZnVsbHkgZW1iZWRkZWQgU1ZHIGluIGRvY3VtZW50CisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3N2Zy9jdXN0b20vZW1iZWRkZWQtc3ZnLWFsbG93ZWQtaW4tZGFzaGJvYXJk
LnhtbCBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vZW1iZWRkZWQtc3ZnLWFsbG93ZWQtaW4tZGFz
aGJvYXJkLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYzkzODI5Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9lbWJlZGRlZC1zdmctYWxs
b3dlZC1pbi1kYXNoYm9hcmQueG1sCkBAIC0wLDAgKzEsMjggQEAKKzxodG1sIHhtbG5zPSJodHRw
Oi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj4KKyAgICA8aGVhZD4KKyAgICAgICAgPHRpdGxlPk1h
a2Ugc3VyZSBlbWJlZGRlZCBTVkcgaXMgdHVybmVkIG9uIGluIGRhc2hib2FyZDwvdGl0bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RD
b250cm9sbGVyKSB7CisgICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0VXNlRGFz
aGJvYXJkQ29tcGF0aWJpbGl0eU1vZGUodHJ1ZSk7CisgICAgICAgICAgICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAgICAgfQorICAgICAgICAgZnVuY3Rpb24gZGVi
dWcoc3RyKSB7CisgICAgICAgICAgICAgdmFyIGMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
Y29uc29sZScpCisgICAgICAgICAgICAgYy5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0
Tm9kZShzdHIgKyAnXG4nKSk7CisgICAgICAgICB9CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxwPlRoaXMgdGVzdCBpcyB0byBlbnN1cmUgU1ZHIGVsZW1lbnRzIGNhbiBiZSBj
cmVhdGVkIGJ5IGJlaW5nIGVtYmVkZGVkIGluIHhtbCBkb2N1bWVudHMuICBJdCBjYW4gbm90IGJl
IHRlc3RlZCBtYW51YWxseS48L3A+CisgICAgICAgIDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMu
b3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+CisgICAgICAgICAgICAgPGNp
cmNsZSBpZD0ic3ZnQ2lyY2xlTm9kZSIgY3g9IjEwMCIgY3k9IjEwMCIgcj0iNTAiIGZpbGw9InJl
ZCIvPgorICAgICAgICA8L3N2Zz4KKyAgICAgICAgPHByZSBpZD0iY29uc29sZSI+PC9wcmU+IAor
ICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICBpZihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
c3ZnQ2lyY2xlTm9kZScpIGluc3RhbmNlb2YgU1ZHRWxlbWVudCkKKyAgICAgICAgICAgICAgIGRl
YnVnKCJQQVNTOiBTdWNjZXNzZnVsbHkgZW1iZWRkZWQgU1ZHIGluIGRvY3VtZW50Iik7CisgICAg
ICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgIGRlYnVnKCJGQUlMOiBTVkcgRWxlbWVudHMgY291
bGQgbm90IGJlIGNyZWF0ZWQiKTsKKyAgICAgICAgPC9zY3JpcHQ+CisgICAgPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9lbWJlZGRlZC1zdmctZGlz
YWxsb3dlZC1pbi1kYXNoYm9hcmQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3Rv
bS9lbWJlZGRlZC1zdmctZGlzYWxsb3dlZC1pbi1kYXNoYm9hcmQtZXhwZWN0ZWQudHh0CmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3ZDNhZjU3Li4wMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL3N2Zy9jdXN0b20vZW1iZWRkZWQtc3ZnLWRpc2FsbG93ZWQtaW4tZGFzaGJvYXJkLWV4cGVj
dGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotVGhpcyB0ZXN0IGlzIHRvIGVu
c3VyZSBTVkcgZWxlbWVudHMgY2FuJ3QgYmUgY3JlYXRlZCBieSBiZWluZyBlbWJlZGRlZCBpbiB4
bWwgZG9jdW1lbnRzLiBJdCBjYW4gbm90IGJlIHRlc3RlZCBtYW51YWxseS4KLQotIFBBU1M6IFNW
RyBFbGVtZW50cyBjb3VsZCBub3QgYmUgY3JlYXRlZAotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9zdmcvY3VzdG9tL2VtYmVkZGVkLXN2Zy1kaXNhbGxvd2VkLWluLWRhc2hib2FyZC54bWwgYi9M
YXlvdXRUZXN0cy9zdmcvY3VzdG9tL2VtYmVkZGVkLXN2Zy1kaXNhbGxvd2VkLWluLWRhc2hib2Fy
ZC54bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdhYjczM2EuLjAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9lbWJlZGRlZC1zdmctZGlzYWxsb3dlZC1pbi1kYXNo
Ym9hcmQueG1sCisrKyAvZGV2L251bGwKQEAgLTEsMjggKzAsMCBAQAotPGh0bWwgeG1sbnM9Imh0
dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPgotICAgIDxoZWFkPgotICAgICAgICA8dGl0bGU+
TWFrZSBzdXJlIGVtYmVkZGVkIFNWRyBpcyB0dXJuZWQgb2ZmIGluIGRhc2hib2FyZDwvdGl0bGU+
Ci0gICAgPC9oZWFkPgotICAgIDxzY3JpcHQ+Ci0gICAgICAgICBpZiAod2luZG93LmxheW91dFRl
c3RDb250cm9sbGVyKSB7Ci0gICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0VXNl
RGFzaGJvYXJkQ29tcGF0aWJpbGl0eU1vZGUodHJ1ZSk7Ci0gICAgICAgICAgICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwotICAgICAgICAgfQotICAgICAgICAgZnVuY3Rpb24g
ZGVidWcoc3RyKSB7Ci0gICAgICAgICAgICAgdmFyIGMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgnY29uc29sZScpCi0gICAgICAgICAgICAgYy5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVU
ZXh0Tm9kZShzdHIgKyAnXG4nKSk7Ci0gICAgICAgICB9Ci0gICAgPC9zY3JpcHQ+Ci0gICAgPGJv
ZHk+Ci0gICAgICAgIDxwPlRoaXMgdGVzdCBpcyB0byBlbnN1cmUgU1ZHIGVsZW1lbnRzIGNhbid0
IGJlIGNyZWF0ZWQgYnkgYmVpbmcgZW1iZWRkZWQgaW4geG1sIGRvY3VtZW50cy4gIEl0IGNhbiBu
b3QgYmUgdGVzdGVkIG1hbnVhbGx5LjwvcD4KLSAgICAgICAgPHN2ZyB4bWxucz0iaHR0cDovL3d3
dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMDAiIGhlaWdodD0iMjAwIj4KLSAgICAgICAgICAg
ICA8Y2lyY2xlIGlkPSJzdmdDaXJjbGVOb2RlIiBjeD0iMTAwIiBjeT0iMTAwIiByPSI1MCIgZmls
bD0icmVkIi8+Ci0gICAgICAgIDwvc3ZnPgotICAgICAgICA8cHJlIGlkPSJjb25zb2xlIj48L3By
ZT4gCi0gICAgICAgIDxzY3JpcHQ+Ci0gICAgICAgICAgIGlmKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCdzdmdDaXJjbGVOb2RlJykgaW5zdGFuY2VvZiBTVkdFbGVtZW50KQotICAgICAgICAgICAg
ICAgZGVidWcoIkZBSUw6IFN1Y2Nlc3NmdWxseSBlbWJlZGRlZCBTVkcgaW4gZG9jdW1lbnQiKTsK
LSAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgZGVidWcoIlBBU1M6IFNWRyBFbGVtZW50
cyBjb3VsZCBub3QgYmUgY3JlYXRlZCIpOwotICAgICAgICA8L3NjcmlwdD4KLSAgICA8L2JvZHk+
Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL21hbnVhbGx5LXBh
cnNlZC1lbWJlZGRlZC1zdmctYWxsb3dlZC1pbi1kYXNoYm9hcmQtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvc3ZnL2N1c3RvbS9tYW51YWxseS1wYXJzZWQtZW1iZWRkZWQtc3ZnLWFsbG93ZWQt
aW4tZGFzaGJvYXJkLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwLi4xOTRhZWRmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9t
YW51YWxseS1wYXJzZWQtZW1iZWRkZWQtc3ZnLWFsbG93ZWQtaW4tZGFzaGJvYXJkLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDYgQEAKK1RoaXMgdGVzdCBtYWtlcyBzdXJlIHdlIGNhbiBhZGQgbWFu
dWFsbHkgcGFyc2VkIFNWRyB0byB0aGUgZG9jdW1lbnQgd2hlbiBpbiBkYXNoYm9hcmQgY29tcGF0
aWJpbGl0eSBtb2RlLiBJdCBjYW4gbm90IGJlIHRlc3RlZCBtYW51YWxseS4KKworUGFyc2luZyBv
ZiB0aGUgZG9jdW1lbnQgaXNuJ3QgcHJldmVudGVkIGFuZCBwcm9kdWNlcyBhIFtvYmplY3QgRG9j
dW1lbnRdCitUaGUgY2lyY2xlIGVsZW1lbnQgaXMgb2YgdHlwZSBbb2JqZWN0IFNWR0NpcmNsZUVs
ZW1lbnRdCitQQVNTOiBNYW5hZ2VkIHRvIGluc2VydCBTVkcgZWxlbWVudCBpbnRvIHRyZWUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9tYW51YWxseS1wYXJzZWQtZW1iZWRk
ZWQtc3ZnLWFsbG93ZWQtaW4tZGFzaGJvYXJkLmh0bWwgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9t
L21hbnVhbGx5LXBhcnNlZC1lbWJlZGRlZC1zdmctYWxsb3dlZC1pbi1kYXNoYm9hcmQuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYTdiZTQ1Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9tYW51YWxseS1wYXJzZWQtZW1iZWRkZWQtc3Zn
LWFsbG93ZWQtaW4tZGFzaGJvYXJkLmh0bWwKQEAgLTAsMCArMSw0OSBAQAorPGh0bWwgeG1sbnM9
Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPgorICAgIDxoZWFkPgorICAgICAgICA8dGl0
bGU+TWFrZSBzdXJlIGVtYmVkZGVkIFNWRyBpcyB0dXJuZWQgb2ZmIGluIGRhc2hib2FyZDwvdGl0
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGZ1bmN0aW9uIGRlYnVnKHN0
cikgeworICAgICAgICAgICAgdmFyIGMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29uc29s
ZScpCisgICAgICAgICAgICBjLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKHN0
ciArICdcbicpKTsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgaWYgKHdpbmRvdy5sYXlv
dXRUZXN0Q29udHJvbGxlcikgeworICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0
VXNlRGFzaGJvYXJkQ29tcGF0aWJpbGl0eU1vZGUodHJ1ZSk7CisgICAgICAgICAgICBsYXlvdXRU
ZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgICAgIH0KKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPHA+VGhpcyB0ZXN0IG1ha2VzIHN1cmUgd2UgY2FuIGFkZCBtYW51
YWxseSBwYXJzZWQgU1ZHIHRvIHRoZSBkb2N1bWVudCB3aGVuIGluIGRhc2hib2FyZCBjb21wYXRp
YmlsaXR5IG1vZGUuICBJdCBjYW4gbm90IGJlIHRlc3RlZCBtYW51YWxseS48L3A+CisgICAgICAg
IDxkaXYgaWQ9InRhcmdldERpdiI+PC9kaXY+CisgICAgICAgIDxwcmUgaWQ9ImNvbnNvbGUiPjwv
cHJlPiAKKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgIHZhciBkb2N1bWVudFN0cmluZyA9
ICc8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+JyArCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAnPGJvZHk+JyArCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAnPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdp
ZHRoPSI0MDAiIGhlaWdodD0iNDAwIj4nICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICc8Y2lyY2xlIGlkPSJzdmdDaXJjbGUiIGN4PSI1MCIgY3k9IjUwIiByPSI1MCIgZmlsbD0i
cmVkIi8+PC9zdmc+JyArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPC9ib2R5
PjwvaHRtbD4nOyAKKworICAgICAgICAgICAgLy8gVXNlIERPTVBhcnNlciBpbnRlcmZhY2UgdG8g
Y3JlYXRlIGEgU1ZHRG9jdW1lbnQgZGF0YXN0cnVjdHVyZSBmcm9tIFNWRyBjb250ZW50IHN0cmlu
ZworICAgICAgICAgICAgdmFyIHBhcnNlciA9IG5ldyBET01QYXJzZXIoKTsKKyAgICAgICAgICAg
IHZhciB4aHRtbERvY3VtZW50ID0gcGFyc2VyLnBhcnNlRnJvbVN0cmluZyhkb2N1bWVudFN0cmlu
ZywgImFwcGxpY2F0aW9uL3hodG1sK3htbCIpOworICAgICAgICAgCisgICAgICAgICAgICBkZWJ1
ZygiUGFyc2luZyBvZiB0aGUgZG9jdW1lbnQgaXNuJ3QgcHJldmVudGVkIGFuZCBwcm9kdWNlcyBh
ICIgKyB4aHRtbERvY3VtZW50KTsKKyAgICAgICAgICAgIGRlYnVnKCJUaGUgY2lyY2xlIGVsZW1l
bnQgaXMgb2YgdHlwZSAiICsgeGh0bWxEb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc3ZnQ2lyY2xl
JykpOworICAgICAgICAgICAgCisgICAgICAgICAgICAvLyBJbXBvcnQgU1ZHIGVsZW1lbnQgaW50
byB0cmVlLgorICAgICAgICAgICAgdmFyIGltcG9ydGVkTm9kZSA9IG51bGw7CisgICAgICAgICAg
ICB0cnkgeworICAgICAgICAgICAgICAgIGltcG9ydGVkTm9kZSA9IGRvY3VtZW50LmltcG9ydE5v
ZGUoeGh0bWxEb2N1bWVudC5maXJzdENoaWxkLCB0cnVlKTsKKyAgICAgICAgICAgIH0gY2F0Y2go
ZSkgeworICAgICAgICAgICAgfQorICAgICAgICAgICAgCisgICAgICAgICAgICBpZiAoaW1wb3J0
ZWROb2RlKSB7CisgICAgICAgICAgICAgICAgZGVidWcoIlBBU1M6IE1hbmFnZWQgdG8gaW5zZXJ0
IFNWRyBlbGVtZW50IGludG8gdHJlZSIpOworICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCd0YXJnZXREaXYnKS5hcHBlbmRDaGlsZChpbXBvcnRlZE5vZGUpOworICAgICAg
ICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBkZWJ1ZygiRkFJTDogQ291bGQgbm90IGlu
c2VydCBTVkcgZWxlbWVudCBpbnRvIHRyZWUiKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9z
Y3JpcHQ+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3Zn
L2N1c3RvbS9tYW51YWxseS1wYXJzZWQtZW1iZWRkZWQtc3ZnLWRpc2FsbG93ZWQtaW4tZGFzaGJv
YXJkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vbWFudWFsbHktcGFyc2Vk
LWVtYmVkZGVkLXN2Zy1kaXNhbGxvd2VkLWluLWRhc2hib2FyZC1leHBlY3RlZC50eHQKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMzNmNlMGQuLjAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvc3ZnL2N1c3RvbS9tYW51YWxseS1wYXJzZWQtZW1iZWRkZWQtc3ZnLWRpc2FsbG93ZWQtaW4t
ZGFzaGJvYXJkLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDYgKzAsMCBAQAotVGhp
cyB0ZXN0IG1ha2VzIHN1cmUgd2UgY2FuJ3QgYWRkIG1hbnVhbGx5IHBhcnNlZCBTVkcgdG8gdGhl
IGRvY3VtZW50IHdoZW4gaW4gZGFzaGJvYXJkIGNvbXBhdGliaWxpdHkgbW9kZS4gSXQgY2FuIG5v
dCBiZSB0ZXN0ZWQgbWFudWFsbHkuCi0KLVBhcnNpbmcgb2YgdGhlIGRvY3VtZW50IGlzbid0IHBy
ZXZlbnRlZCBhbmQgcHJvZHVjZXMgYSBbb2JqZWN0IERvY3VtZW50XQotVGhlIGNpcmNsZSBlbGVt
ZW50IGlzIG9mIHR5cGUgW29iamVjdCBTVkdDaXJjbGVFbGVtZW50XQotUEFTUzogQ291bGQgbm90
IGluc2VydCBTVkcgZWxlbWVudCBpbnRvIHRyZWUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
c3ZnL2N1c3RvbS9tYW51YWxseS1wYXJzZWQtZW1iZWRkZWQtc3ZnLWRpc2FsbG93ZWQtaW4tZGFz
aGJvYXJkLmh0bWwgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL21hbnVhbGx5LXBhcnNlZC1lbWJl
ZGRlZC1zdmctZGlzYWxsb3dlZC1pbi1kYXNoYm9hcmQuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggZTI5NzQzZC4uMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9t
L21hbnVhbGx5LXBhcnNlZC1lbWJlZGRlZC1zdmctZGlzYWxsb3dlZC1pbi1kYXNoYm9hcmQuaHRt
bAorKysgL2Rldi9udWxsCkBAIC0xLDQ5ICswLDAgQEAKLTxodG1sIHhtbG5zPSJodHRwOi8vd3d3
LnczLm9yZy8xOTk5L3hodG1sIj4KLSAgICA8aGVhZD4KLSAgICAgICAgPHRpdGxlPk1ha2Ugc3Vy
ZSBlbWJlZGRlZCBTVkcgaXMgdHVybmVkIG9mZiBpbiBkYXNoYm9hcmQ8L3RpdGxlPgotICAgIDwv
aGVhZD4KLSAgICA8c2NyaXB0PgotICAgICAgICBmdW5jdGlvbiBkZWJ1ZyhzdHIpIHsKLSAgICAg
ICAgICAgIHZhciBjID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnNvbGUnKQotICAgICAg
ICAgICAgYy5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShzdHIgKyAnXG4nKSk7
Ci0gICAgICAgIH0KLSAgICAgICAgCi0gICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRy
b2xsZXIpIHsKLSAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLnNldFVzZURhc2hib2Fy
ZENvbXBhdGliaWxpdHlNb2RlKHRydWUpOwotICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xs
ZXIuZHVtcEFzVGV4dCgpOwotICAgICAgICB9Ci0gICAgPC9zY3JpcHQ+Ci0gICAgPGJvZHk+Ci0g
ICAgICAgIDxwPlRoaXMgdGVzdCBtYWtlcyBzdXJlIHdlIGNhbid0IGFkZCBtYW51YWxseSBwYXJz
ZWQgU1ZHIHRvIHRoZSBkb2N1bWVudCB3aGVuIGluIGRhc2hib2FyZCBjb21wYXRpYmlsaXR5IG1v
ZGUuICBJdCBjYW4gbm90IGJlIHRlc3RlZCBtYW51YWxseS48L3A+Ci0gICAgICAgIDxkaXYgaWQ9
InRhcmdldERpdiI+PC9kaXY+Ci0gICAgICAgIDxwcmUgaWQ9ImNvbnNvbGUiPjwvcHJlPiAKLSAg
ICAgICAgPHNjcmlwdD4KLSAgICAgICAgICAgIHZhciBkb2N1bWVudFN0cmluZyA9ICc8aHRtbCB4
bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+JyArCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAnPGJvZHk+JyArCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAnPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0MDAi
IGhlaWdodD0iNDAwIj4nICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8Y2ly
Y2xlIGlkPSJzdmdDaXJjbGUiIGN4PSI1MCIgY3k9IjUwIiByPSI1MCIgZmlsbD0icmVkIi8+PC9z
dmc+JyArCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPC9ib2R5PjwvaHRtbD4n
OyAKLQotICAgICAgICAgICAgLy8gVXNlIERPTVBhcnNlciBpbnRlcmZhY2UgdG8gY3JlYXRlIGEg
U1ZHRG9jdW1lbnQgZGF0YXN0cnVjdHVyZSBmcm9tIFNWRyBjb250ZW50IHN0cmluZwotICAgICAg
ICAgICAgdmFyIHBhcnNlciA9IG5ldyBET01QYXJzZXIoKTsKLSAgICAgICAgICAgIHZhciB4aHRt
bERvY3VtZW50ID0gcGFyc2VyLnBhcnNlRnJvbVN0cmluZyhkb2N1bWVudFN0cmluZywgImFwcGxp
Y2F0aW9uL3hodG1sK3htbCIpOwotICAgICAgICAgCi0gICAgICAgICAgICBkZWJ1ZygiUGFyc2lu
ZyBvZiB0aGUgZG9jdW1lbnQgaXNuJ3QgcHJldmVudGVkIGFuZCBwcm9kdWNlcyBhICIgKyB4aHRt
bERvY3VtZW50KTsKLSAgICAgICAgICAgIGRlYnVnKCJUaGUgY2lyY2xlIGVsZW1lbnQgaXMgb2Yg
dHlwZSAiICsgeGh0bWxEb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc3ZnQ2lyY2xlJykpOwotICAg
ICAgICAgICAgCi0gICAgICAgICAgICAvLyBJbXBvcnQgU1ZHIGVsZW1lbnQgaW50byB0cmVlLgot
ICAgICAgICAgICAgdmFyIGltcG9ydGVkTm9kZSA9IG51bGw7Ci0gICAgICAgICAgICB0cnkgewot
ICAgICAgICAgICAgICAgIGltcG9ydGVkTm9kZSA9IGRvY3VtZW50LmltcG9ydE5vZGUoeGh0bWxE
b2N1bWVudC5maXJzdENoaWxkLCB0cnVlKTsKLSAgICAgICAgICAgIH0gY2F0Y2goZSkgewotICAg
ICAgICAgICAgfQotICAgICAgICAgICAgCi0gICAgICAgICAgICBpZiAoaW1wb3J0ZWROb2RlKSB7
Ci0gICAgICAgICAgICAgICAgZGVidWcoIkZBSUw6IE1hbmFnZWQgdG8gaW5zZXJ0IFNWRyBlbGVt
ZW50IGludG8gdHJlZSIpOwotICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCd0YXJnZXREaXYnKS5hcHBlbmRDaGlsZChpbXBvcnRlZE5vZGUpOwotICAgICAgICAgICAgfSBl
bHNlIHsKLSAgICAgICAgICAgICAgICBkZWJ1ZygiUEFTUzogQ291bGQgbm90IGluc2VydCBTVkcg
ZWxlbWVudCBpbnRvIHRyZWUiKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgPC9zY3JpcHQ+Ci0g
ICAgPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9t
YW51YWxseS1wYXJzZWQtc3ZnLWFsbG93ZWQtaW4tZGFzaGJvYXJkLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL3N2Zy9jdXN0b20vbWFudWFsbHktcGFyc2VkLXN2Zy1hbGxvd2VkLWluLWRhc2hi
b2FyZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjZj
NDYwZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vbWFudWFsbHkt
cGFyc2VkLXN2Zy1hbGxvd2VkLWluLWRhc2hib2FyZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1
IEBACitUaGlzIHRlc3QgbWFrZXMgc3VyZSB3ZSBjYW4gYWRkIG1hbnVhbGx5IHBhcnNlZCBTVkcg
dG8gdGhlIGRvY3VtZW50IHdoZW4gaW4gZGFzaGJvYXJkIGNvbXBhdGliaWxpdHkgbW9kZS4gSXQg
Y2FuIG5vdCBiZSB0ZXN0ZWQgbWFudWFsbHkuCisKK1BhcnNpbmcgb2YgdGhlIGRvY3VtZW50IGlz
bid0IHByZXZlbnRlZCBhbmQgcHJvZHVjZXMgYSBbb2JqZWN0IFNWR0RvY3VtZW50XQorUEFTUzog
TWFuYWdlZCB0byBpbnNlcnQgU1ZHIGVsZW1lbnQgaW50byB0cmVlCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3N2Zy9jdXN0b20vbWFudWFsbHktcGFyc2VkLXN2Zy1hbGxvd2VkLWluLWRhc2hi
b2FyZC5odG1sIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9tYW51YWxseS1wYXJzZWQtc3ZnLWFs
bG93ZWQtaW4tZGFzaGJvYXJkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MC4uMWYwNWI1NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vbWFu
dWFsbHktcGFyc2VkLXN2Zy1hbGxvd2VkLWluLWRhc2hib2FyZC5odG1sCkBAIC0wLDAgKzEsNDUg
QEAKKzxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj4KKyAgICA8aGVh
ZD4KKyAgICAgICAgPHRpdGxlPk1ha2Ugc3VyZSBlbWJlZGRlZCBTVkcgaXMgdHVybmVkIG9uIGlu
IGRhc2hib2FyZDwvdGl0bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGZ1
bmN0aW9uIGRlYnVnKHN0cikgeworICAgICAgICAgICAgdmFyIGMgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgnY29uc29sZScpCisgICAgICAgICAgICBjLmFwcGVuZENoaWxkKGRvY3VtZW50LmNy
ZWF0ZVRleHROb2RlKHN0ciArICdcbicpKTsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAg
aWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgICAgICAgICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIuc2V0VXNlRGFzaGJvYXJkQ29tcGF0aWJpbGl0eU1vZGUodHJ1ZSk7CisgICAg
ICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgICAgIH0KKyAg
ICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPHA+VGhpcyB0ZXN0IG1ha2VzIHN1cmUg
d2UgY2FuIGFkZCBtYW51YWxseSBwYXJzZWQgU1ZHIHRvIHRoZSBkb2N1bWVudCB3aGVuIGluIGRh
c2hib2FyZCBjb21wYXRpYmlsaXR5IG1vZGUuICBJdCBjYW4gbm90IGJlIHRlc3RlZCBtYW51YWxs
eS48L3A+CisgICAgICAgIDxkaXYgaWQ9InRhcmdldERpdiI+PC9kaXY+CisgICAgICAgIDxwcmUg
aWQ9ImNvbnNvbGUiPjwvcHJlPiAKKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgIHZhciBk
b2N1bWVudFN0cmluZyA9ICc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIg
d2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiPicgKworICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgJzxjaXJjbGUgY3g9IjUwIiBjeT0iNTAiIHI9IjUwIiBmaWxsPSJyZWQiLz48L3N2Zz4n
OworCisgICAgICAgICAgICAvLyBVc2UgRE9NUGFyc2VyIGludGVyZmFjZSB0byBjcmVhdGUgYSBT
VkdEb2N1bWVudCBkYXRhc3RydWN0dXJlIGZyb20gU1ZHIGNvbnRlbnQgc3RyaW5nCisgICAgICAg
ICAgICB2YXIgcGFyc2VyID0gbmV3IERPTVBhcnNlcigpOworICAgICAgICAgICAgdmFyIHN2Z0Rv
Y3VtZW50ID0gcGFyc2VyLnBhcnNlRnJvbVN0cmluZyhkb2N1bWVudFN0cmluZywgImltYWdlL3N2
Zyt4bWwiKTsKKworICAgICAgICAgICAgZGVidWcoIlBhcnNpbmcgb2YgdGhlIGRvY3VtZW50IGlz
bid0IHByZXZlbnRlZCBhbmQgcHJvZHVjZXMgYSAiICsgc3ZnRG9jdW1lbnQpOworICAgICAgICAg
ICAgCisgICAgICAgICAgICAvLyBJbXBvcnQgU1ZHIGVsZW1lbnQgaW50byB0cmVlLgorICAgICAg
ICAgICAgdmFyIGltcG9ydGVkTm9kZSA9IG51bGw7CisgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgIGltcG9ydGVkTm9kZSA9IGRvY3VtZW50LmltcG9ydE5vZGUoc3ZnRG9jdW1lbnQu
Zmlyc3RDaGlsZCwgdHJ1ZSk7CisgICAgICAgICAgICB9IGNhdGNoKGUpIHsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIAorICAgICAgICAgICAgaWYgKGltcG9ydGVkTm9kZSkgeworICAgICAg
ICAgICAgICAgIGRlYnVnKCJQQVNTOiBNYW5hZ2VkIHRvIGluc2VydCBTVkcgZWxlbWVudCBpbnRv
IHRyZWUiKTsKKyAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGFyZ2V0
RGl2JykuYXBwZW5kQ2hpbGQoaW1wb3J0ZWROb2RlKTsKKyAgICAgICAgICAgIH0gZWxzZSB7Cisg
ICAgICAgICAgICAgICAgZGVidWcoIkZBSUw6IENvdWxkIG5vdCBpbnNlcnQgU1ZHIGVsZW1lbnQg
aW50byB0cmVlIik7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc2NyaXB0PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vbWFudWFsbHkt
cGFyc2VkLXN2Zy1kaXNhbGxvd2VkLWluLWRhc2hib2FyZC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9zdmcvY3VzdG9tL21hbnVhbGx5LXBhcnNlZC1zdmctZGlzYWxsb3dlZC1pbi1kYXNoYm9h
cmQtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiN2JkYjRjLi4w
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vbWFudWFsbHktcGFyc2VkLXN2Zy1k
aXNhbGxvd2VkLWluLWRhc2hib2FyZC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw1
ICswLDAgQEAKLVRoaXMgdGVzdCBtYWtlcyBzdXJlIHdlIGNhbid0IGFkZCBtYW51YWxseSBwYXJz
ZWQgU1ZHIHRvIHRoZSBkb2N1bWVudCB3aGVuIGluIGRhc2hib2FyZCBjb21wYXRpYmlsaXR5IG1v
ZGUuIEl0IGNhbiBub3QgYmUgdGVzdGVkIG1hbnVhbGx5LgotCi1QYXJzaW5nIG9mIHRoZSBkb2N1
bWVudCBpc24ndCBwcmV2ZW50ZWQgYW5kIHByb2R1Y2VzIGEgW29iamVjdCBTVkdEb2N1bWVudF0K
LVBBU1M6IENvdWxkIG5vdCBpbnNlcnQgU1ZHIGVsZW1lbnQgaW50byB0cmVlCi0KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vbWFudWFsbHktcGFyc2VkLXN2Zy1kaXNhbGxvd2Vk
LWluLWRhc2hib2FyZC5odG1sIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9tYW51YWxseS1wYXJz
ZWQtc3ZnLWRpc2FsbG93ZWQtaW4tZGFzaGJvYXJkLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGU5ODA5NzEuLjAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9t
YW51YWxseS1wYXJzZWQtc3ZnLWRpc2FsbG93ZWQtaW4tZGFzaGJvYXJkLmh0bWwKKysrIC9kZXYv
bnVsbApAQCAtMSw0NSArMCwwIEBACi08aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5
OS94aHRtbCI+Ci0gICAgPGhlYWQ+Ci0gICAgICAgIDx0aXRsZT5NYWtlIHN1cmUgZW1iZWRkZWQg
U1ZHIGlzIHR1cm5lZCBvZmYgaW4gZGFzaGJvYXJkPC90aXRsZT4KLSAgICA8L2hlYWQ+Ci0gICAg
PHNjcmlwdD4KLSAgICAgICAgZnVuY3Rpb24gZGVidWcoc3RyKSB7Ci0gICAgICAgICAgICB2YXIg
YyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb25zb2xlJykKLSAgICAgICAgICAgIGMuYXBw
ZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoc3RyICsgJ1xuJykpOwotICAgICAgICB9
Ci0gICAgICAgIAotICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0g
ICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5zZXRVc2VEYXNoYm9hcmRDb21wYXRpYmls
aXR5TW9kZSh0cnVlKTsKLSAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1Rl
eHQoKTsKLSAgICAgICAgfQotICAgIDwvc2NyaXB0PgotICAgIDxib2R5PgotICAgICAgICA8cD5U
aGlzIHRlc3QgbWFrZXMgc3VyZSB3ZSBjYW4ndCBhZGQgbWFudWFsbHkgcGFyc2VkIFNWRyB0byB0
aGUgZG9jdW1lbnQgd2hlbiBpbiBkYXNoYm9hcmQgY29tcGF0aWJpbGl0eSBtb2RlLiAgSXQgY2Fu
IG5vdCBiZSB0ZXN0ZWQgbWFudWFsbHkuPC9wPgotICAgICAgICA8ZGl2IGlkPSJ0YXJnZXREaXYi
PjwvZGl2PgotICAgICAgICA8cHJlIGlkPSJjb25zb2xlIj48L3ByZT4gCi0gICAgICAgIDxzY3Jp
cHQ+Ci0gICAgICAgICAgICB2YXIgZG9jdW1lbnRTdHJpbmcgPSAnPHN2ZyB4bWxucz0iaHR0cDov
L3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIj4nICsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8Y2lyY2xlIGN4PSI1MCIgY3k9IjUwIiByPSI1
MCIgZmlsbD0icmVkIi8+PC9zdmc+JzsKLQotICAgICAgICAgICAgLy8gVXNlIERPTVBhcnNlciBp
bnRlcmZhY2UgdG8gY3JlYXRlIGEgU1ZHRG9jdW1lbnQgZGF0YXN0cnVjdHVyZSBmcm9tIFNWRyBj
b250ZW50IHN0cmluZwotICAgICAgICAgICAgdmFyIHBhcnNlciA9IG5ldyBET01QYXJzZXIoKTsK
LSAgICAgICAgICAgIHZhciBzdmdEb2N1bWVudCA9IHBhcnNlci5wYXJzZUZyb21TdHJpbmcoZG9j
dW1lbnRTdHJpbmcsICJpbWFnZS9zdmcreG1sIik7Ci0KLSAgICAgICAgICAgIGRlYnVnKCJQYXJz
aW5nIG9mIHRoZSBkb2N1bWVudCBpc24ndCBwcmV2ZW50ZWQgYW5kIHByb2R1Y2VzIGEgIiArIHN2
Z0RvY3VtZW50KTsKLSAgICAgICAgICAgIAotICAgICAgICAgICAgLy8gSW1wb3J0IFNWRyBlbGVt
ZW50IGludG8gdHJlZS4KLSAgICAgICAgICAgIHZhciBpbXBvcnRlZE5vZGUgPSBudWxsOwotICAg
ICAgICAgICAgdHJ5IHsKLSAgICAgICAgICAgICAgICBpbXBvcnRlZE5vZGUgPSBkb2N1bWVudC5p
bXBvcnROb2RlKHN2Z0RvY3VtZW50LmZpcnN0Q2hpbGQsIHRydWUpOwotICAgICAgICAgICAgfSBj
YXRjaChlKSB7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIGlmIChp
bXBvcnRlZE5vZGUpIHsKLSAgICAgICAgICAgICAgICBkZWJ1ZygiRkFJTDogTWFuYWdlZCB0byBp
bnNlcnQgU1ZHIGVsZW1lbnQgaW50byB0cmVlIik7Ci0gICAgICAgICAgICAgICAgZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoJ3RhcmdldERpdicpLmFwcGVuZENoaWxkKGltcG9ydGVkTm9kZSk7Ci0g
ICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIGRlYnVnKCJQQVNTOiBDb3VsZCBu
b3QgaW5zZXJ0IFNWRyBlbGVtZW50IGludG8gdHJlZSIpOwotICAgICAgICAgICAgfQotICAgICAg
ICA8L3NjcmlwdD4KLSAgICA8L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9zdmcvY3VzdG9tL3N2Zy1hbGxvd2VkLWluLWRhc2hib2FyZC1vYmplY3QtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9zdmctYWxsb3dlZC1pbi1kYXNoYm9hcmQtb2JqZWN0
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yODM1NWRk
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9zdmctYWxsb3dlZC1p
bi1kYXNoYm9hcmQtb2JqZWN0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDggQEAKK1RoaXMgdGVz
dCBtYWtlcyBzdXJlIHdlIGNhbiBvcGVuIFNWRyBkb2N1bWVudHMgaW4gRGFzaGJvYXJkIGNvbXBh
dGliaWxpdHkgbW9kZS4gSXQgY2FuIG5vdCBiZSB0ZXN0ZWQgbWFudWFsbHkuCisKKyAgICAKK1BB
U1M6IExvYWRlZCBTVkcgZG9jdW1lbnQgaW4gPG9iamVjdD4gdGFnLgorUEFTUzogTG9hZGVkIFNW
RyBkb2N1bWVudCBpbiA8ZWxlbWVudD4gdGFnLgorUEFTUzogTG9hZGVkIFNWRyBkb2N1bWVudCBp
biA8aWZyYW1lPiB0YWcuCitQQVNTOiBTVkcgRG9jdW1lbnRzIHdlcmUgbG9hZGVkCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vc3ZnLWFsbG93ZWQtaW4tZGFzaGJvYXJkLW9i
amVjdC5odG1sIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9zdmctYWxsb3dlZC1pbi1kYXNoYm9h
cmQtb2JqZWN0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjJhNDM5
YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vc3ZnLWFsbG93ZWQt
aW4tZGFzaGJvYXJkLW9iamVjdC5odG1sCkBAIC0wLDAgKzEsNzEgQEAKKzxodG1sPgorPGJvZHk+
Cis8cD5UaGlzIHRlc3QgbWFrZXMgc3VyZSB3ZSBjYW4gb3BlbiBTVkcgZG9jdW1lbnRzIGluIERh
c2hib2FyZCBjb21wYXRpYmlsaXR5IG1vZGUuICBJdCBjYW4gbm90IGJlIHRlc3RlZCBtYW51YWxs
eS48L3A+Cis8c2NyaXB0PgorICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsK
KyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0VXNlRGFzaGJvYXJkQ29tcGF0aWJpbGl0
eU1vZGUodHJ1ZSk7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsK
KyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworICAgIH0KKyAg
ICAKKyAgICBmdW5jdGlvbiBkZWJ1ZyhzdHIpIHsKKyAgICAgICAgdmFyIGMgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgnY29uc29sZScpCisgICAgICAgIGMuYXBwZW5kQ2hpbGQoZG9jdW1lbnQu
Y3JlYXRlVGV4dE5vZGUoc3RyICsgJ1xuJykpOworICAgIH0KKyAgICAKKyAgICBzZXRUaW1lb3V0
KCJ0aW1lT3V0KCkiLCA1MDApOworICAgIGZ1bmN0aW9uIHRpbWVPdXQoKSB7CisgICAgICAgIHRy
eSB7CisgICAgICAgICAgICB2YXIgZmFpbGVkID0gZmFsc2U7CisgICAgICAgICAgICB2YXIgc3Zn
RG9jID0gbnVsbDsKKyAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgc3ZnRG9jID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3N2Z09iamVjdCcpLmdldFNWR0RvY3VtZW50KCk7Cisg
ICAgICAgICAgICB9IGNhdGNoIChlKSB7CisgICAgICAgICAgICAgICAgc3ZnRG9jID0gbnVsbDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmIChzdmdEb2MpIHsKKyAgICAgICAgICAgICAg
ICBkZWJ1ZygiUEFTUzogTG9hZGVkIFNWRyBkb2N1bWVudCBpbiA8b2JqZWN0PiB0YWcuIik7IAor
ICAgICAgICAgICAgICAgIGZhaWxlZCA9IHRydWU7CisgICAgICAgICAgICB9IGVsc2UgCisgICAg
ICAgICAgICAgICAgZGVidWcoIkZBSUw6IERpZCBub3QgbG9hZCBTVkcgZG9jdW1lbnQgaW4gPG9i
amVjdD4gdGFnIik7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgc3ZnRG9jID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3N2Z0VtYmVkJykuZ2V0U1ZH
RG9jdW1lbnQoKTsKKyAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAgICAgICAgICAgICBz
dmdEb2MgPSBudWxsOworICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKHN2Z0RvYykgewor
ICAgICAgICAgICAgICAgIGRlYnVnKCJQQVNTOiBMb2FkZWQgU1ZHIGRvY3VtZW50IGluIDxlbGVt
ZW50PiB0YWcuIik7IAorICAgICAgICAgICAgICAgIGZhaWxlZCA9IHRydWU7CisgICAgICAgICAg
ICB9IGVsc2UgCisgICAgICAgICAgICAgICAgZGVidWcoIkZBSUw6IERpZCBub3QgbG9hZCBTVkcg
ZG9jdW1lbnQgaW4gPGVsZW1lbnQ+IHRhZyIpOworICAgICAgICAgICAgCisgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgIHN2Z0RvYyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdz
dmdJRnJhbWUnKS5nZXRTVkdEb2N1bWVudCgpOworICAgICAgICAgICAgfSBjYXRjaCAoZSkgewor
ICAgICAgICAgICAgICAgIHN2Z0RvYyA9IG51bGw7CisgICAgICAgICAgICB9CisgICAgICAgICAg
ICBpZiAoc3ZnRG9jKSB7CisgICAgICAgICAgICAgICAgZGVidWcoIlBBU1M6IExvYWRlZCBTVkcg
ZG9jdW1lbnQgaW4gPGlmcmFtZT4gdGFnLiIpOyAKKyAgICAgICAgICAgICAgICBmYWlsZWQgPSB0
cnVlOworICAgICAgICAgICAgfSBlbHNlIAorICAgICAgICAgICAgICAgIGRlYnVnKCJGQUlMOiBE
aWQgbm90IGxvYWQgU1ZHIGRvY3VtZW50IGluIDxpZnJhbWU+IHRhZyIpOworICAgICAgICAgICAg
CisgICAgICAgICAgICBpZiAoZmFpbGVkKQorICAgICAgICAgICAgICAgIGRlYnVnKCJQQVNTOiBT
VkcgRG9jdW1lbnRzIHdlcmUgbG9hZGVkIik7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAg
ICAgICAgZGVidWcoIkZBSUw6IFNWRyBEb2N1bWVudHMgd2VyZSBub3QgbG9hZGVkIik7CisgICAg
ICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAgICAgICAgIGRlYnVnKCJGQUlMOiBFeGNlcHRpb24gdGhy
b3duOiAiICsgZSkKKyAgICAgICAgfQorICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250
cm9sbGVyKSAKKyAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsK
KyAgICB9Cis8L3NjcmlwdD4KKyAgICAKKyAgIDxvYmplY3QgaWQ9InN2Z09iamVjdCIgZGF0YT0i
Li4vVzNDLVNWRy0xLjEvdGV4dC13cy0wMi10LnN2ZyIgd2lkdGg9IjEwMHB4IiBoZWlnaHQ9IjEw
MHB4Ij48L29iamVjdD4KKyAgIDxlbWJlZCBpZD0ic3ZnRW1iZWQiIHNyYz0iLi4vVzNDLVNWRy0x
LjEvdGV4dC13cy0wMi10LnN2ZyIgd2lkdGg9IjEwMHB4IiBoZWlnaHQ9IjEwMHB4Ij48L2VtYmVk
PgorICAgPGlmcmFtZSBpZD0ic3ZnSUZyYW1lIiBzcmM9Ii4uL1czQy1TVkctMS4xL3RleHQtd3Mt
MDItdC5zdmciIHdpZHRoPSIxMDBweCIgaGVpZ2h0PSIxMDBweCI+PC9pZnJhbWU+CisgICA8cHJl
IGlkPSJjb25zb2xlIj48L3ByZT4gICAgCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9zdmcvY3VzdG9tL3N2Zy1kaXNhbGxvd2VkLWluLWRhc2hib2FyZC1vYmplY3Qt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9zdmctZGlzYWxsb3dlZC1pbi1k
YXNoYm9hcmQtb2JqZWN0LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMjA4OWRjMC4uMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3N2Zy1kaXNh
bGxvd2VkLWluLWRhc2hib2FyZC1vYmplY3QtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAg
LTEsOCArMCwwIEBACi1UaGlzIHRlc3QgbWFrZXMgc3VyZSB3ZSBjYW4ndCBvcGVuIFNWRyBkb2N1
bWVudHMgaW4gRGFzaGJvYXJkIGNvbXBhdGliaWxpdHkgbW9kZS4gSXQgY2FuIG5vdCBiZSB0ZXN0
ZWQgbWFudWFsbHkuCi0KLSAgICAKLVBBU1M6IERpZCBub3QgbG9hZCBTVkcgZG9jdW1lbnQgaW4g
PG9iamVjdD4gdGFnCi1QQVNTOiBEaWQgbm90IGxvYWQgU1ZHIGRvY3VtZW50IGluIDxlbGVtZW50
PiB0YWcKLVBBU1M6IERpZCBub3QgbG9hZCBTVkcgZG9jdW1lbnQgaW4gPGlmcmFtZT4gdGFnCi1Q
QVNTOiBTVkcgRG9jdW1lbnRzIHdlcmUgbm90IGxvYWRlZAotCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9zdmcvY3VzdG9tL3N2Zy1kaXNhbGxvd2VkLWluLWRhc2hib2FyZC1vYmplY3QuaHRtbCBi
L0xheW91dFRlc3RzL3N2Zy9jdXN0b20vc3ZnLWRpc2FsbG93ZWQtaW4tZGFzaGJvYXJkLW9iamVj
dC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjODA4MDMzLi4wMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vc3ZnLWRpc2FsbG93ZWQtaW4tZGFzaGJvYXJkLW9i
amVjdC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNzEgKzAsMCBAQAotPGh0bWw+Ci08Ym9keT4K
LTxwPlRoaXMgdGVzdCBtYWtlcyBzdXJlIHdlIGNhbid0IG9wZW4gU1ZHIGRvY3VtZW50cyBpbiBE
YXNoYm9hcmQgY29tcGF0aWJpbGl0eSBtb2RlLiAgSXQgY2FuIG5vdCBiZSB0ZXN0ZWQgbWFudWFs
bHkuPC9wPgotPHNjcmlwdD4KLSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7
Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLnNldFVzZURhc2hib2FyZENvbXBhdGliaWxp
dHlNb2RlKHRydWUpOwotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7
Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKLSAgICB9Ci0g
ICAgCi0gICAgZnVuY3Rpb24gZGVidWcoc3RyKSB7Ci0gICAgICAgIHZhciBjID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoJ2NvbnNvbGUnKQotICAgICAgICBjLmFwcGVuZENoaWxkKGRvY3VtZW50
LmNyZWF0ZVRleHROb2RlKHN0ciArICdcbicpKTsKLSAgICB9Ci0gICAgCi0gICAgc2V0VGltZW91
dCgidGltZU91dCgpIiwgNTAwKTsKLSAgICBmdW5jdGlvbiB0aW1lT3V0KCkgewotICAgICAgICB0
cnkgewotICAgICAgICAgICAgdmFyIGZhaWxlZCA9IGZhbHNlOwotICAgICAgICAgICAgdmFyIHN2
Z0RvYyA9IG51bGw7Ci0gICAgICAgICAgICB0cnkgewotICAgICAgICAgICAgICAgIHN2Z0RvYyA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzdmdPYmplY3QnKS5nZXRTVkdEb2N1bWVudCgpOwot
ICAgICAgICAgICAgfSBjYXRjaCAoZSkgewotICAgICAgICAgICAgICAgIHN2Z0RvYyA9IG51bGw7
Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBpZiAoc3ZnRG9jKSB7Ci0gICAgICAgICAgICAg
ICAgZGVidWcoIkZBSUw6IExvYWRlZCBTVkcgZG9jdW1lbnQgaW4gPG9iamVjdD4gdGFnLiIpOyAK
LSAgICAgICAgICAgICAgICBmYWlsZWQgPSB0cnVlOwotICAgICAgICAgICAgfSBlbHNlIAotICAg
ICAgICAgICAgICAgIGRlYnVnKCJQQVNTOiBEaWQgbm90IGxvYWQgU1ZHIGRvY3VtZW50IGluIDxv
YmplY3Q+IHRhZyIpOwotICAgICAgICAgICAgCi0gICAgICAgICAgICB0cnkgewotICAgICAgICAg
ICAgICAgIHN2Z0RvYyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzdmdFbWJlZCcpLmdldFNW
R0RvY3VtZW50KCk7Ci0gICAgICAgICAgICB9IGNhdGNoIChlKSB7Ci0gICAgICAgICAgICAgICAg
c3ZnRG9jID0gbnVsbDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlmIChzdmdEb2MpIHsK
LSAgICAgICAgICAgICAgICBkZWJ1ZygiRkFJTDogTG9hZGVkIFNWRyBkb2N1bWVudCBpbiA8ZWxl
bWVudD4gdGFnLiIpOyAKLSAgICAgICAgICAgICAgICBmYWlsZWQgPSB0cnVlOwotICAgICAgICAg
ICAgfSBlbHNlIAotICAgICAgICAgICAgICAgIGRlYnVnKCJQQVNTOiBEaWQgbm90IGxvYWQgU1ZH
IGRvY3VtZW50IGluIDxlbGVtZW50PiB0YWciKTsKLSAgICAgICAgICAgIAotICAgICAgICAgICAg
dHJ5IHsKLSAgICAgICAgICAgICAgICBzdmdEb2MgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
c3ZnSUZyYW1lJykuZ2V0U1ZHRG9jdW1lbnQoKTsKLSAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsK
LSAgICAgICAgICAgICAgICBzdmdEb2MgPSBudWxsOwotICAgICAgICAgICAgfQotICAgICAgICAg
ICAgaWYgKHN2Z0RvYykgewotICAgICAgICAgICAgICAgIGRlYnVnKCJGQUlMOiBMb2FkZWQgU1ZH
IGRvY3VtZW50IGluIDxpZnJhbWU+IHRhZy4iKTsgCi0gICAgICAgICAgICAgICAgZmFpbGVkID0g
dHJ1ZTsKLSAgICAgICAgICAgIH0gZWxzZSAKLSAgICAgICAgICAgICAgICBkZWJ1ZygiUEFTUzog
RGlkIG5vdCBsb2FkIFNWRyBkb2N1bWVudCBpbiA8aWZyYW1lPiB0YWciKTsKLSAgICAgICAgICAg
IAotICAgICAgICAgICAgaWYgKGZhaWxlZCkKLSAgICAgICAgICAgICAgICBkZWJ1ZygiRkFJTDog
U1ZHIERvY3VtZW50cyB3ZXJlIGxvYWRlZCIpOwotICAgICAgICAgICAgZWxzZQotICAgICAgICAg
ICAgICAgIGRlYnVnKCJQQVNTOiBTVkcgRG9jdW1lbnRzIHdlcmUgbm90IGxvYWRlZCIpOwotICAg
ICAgICB9IGNhdGNoIChlKSB7Ci0gICAgICAgICAgICBkZWJ1ZygiRkFJTDogRXhjZXB0aW9uIHRo
cm93bjogIiArIGUpCi0gICAgICAgIH0KLSAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29u
dHJvbGxlcikgCi0gICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7
Ci0gICAgfQotPC9zY3JpcHQ+Ci0gICAgCi0gICA8b2JqZWN0IGlkPSJzdmdPYmplY3QiIGRhdGE9
Ii4uL1czQy1TVkctMS4xL3RleHQtd3MtMDItdC5zdmciIHdpZHRoPSIxMDBweCIgaGVpZ2h0PSIx
MDBweCI+PC9vYmplY3Q+Ci0gICA8ZW1iZWQgaWQ9InN2Z0VsZW1lbnQiIHNyYz0iLi4vVzNDLVNW
Ry0xLjEvdGV4dC13cy0wMi10LnN2ZyIgd2lkdGg9IjEwMHB4IiBoZWlnaHQ9IjEwMHB4Ij48L2Vt
YmVkPgotICAgPGlmcmFtZSBpZD0ic3ZnSUZyYW1lIiBzcmM9Ii4uL1czQy1TVkctMS4xL3RleHQt
d3MtMDItdC5zdmciIHdpZHRoPSIxMDBweCIgaGVpZ2h0PSIxMDBweCI+PC9pZnJhbWU+Ci0gICA8
cHJlIGlkPSJjb25zb2xlIj48L3ByZT4gICAgCi08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5k
ZXggNmJjMGM4ZC4uNDRmNmQ5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEyLTAy
LTA5ICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgorCisgICAgICAgIFNW
RyBzaG91bGQgYmUgc3VwcG9ydGVkIGluIERhc2hib2FyZCBjb21wYXRpYmlsaXR5IG1vZGUKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc4MzIyCisgICAg
ICAgIDxyZGFyOi8vcHJvYmxlbS81ODYxMjc4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEVuYWJsZSBTVkcgZWxlbWVudHMgaW5zaWRlIERhc2hib2Fy
ZCwgbW9yZSBvciBsZXNzIHJldmVydGluZyByMjE0MTguCisKKyAgICAgICAgVGVzdHM6IGh0dHAv
dGVzdHMveG1saHR0cHJlcXVlc3Qvc3ZnLWNyZWF0ZWQtYnkteGhyLWFsbG93ZWQtaW4tZGFzaGJv
YXJkLmh0bWwKKyAgICAgICAgICAgICAgIHN2Zy9jdXN0b20vZW1iZWRkZWQtc3ZnLWFsbG93ZWQt
aW4tZGFzaGJvYXJkLnhtbAorICAgICAgICAgICAgICAgc3ZnL2N1c3RvbS9tYW51YWxseS1wYXJz
ZWQtZW1iZWRkZWQtc3ZnLWFsbG93ZWQtaW4tZGFzaGJvYXJkLmh0bWwKKyAgICAgICAgICAgICAg
IHN2Zy9jdXN0b20vbWFudWFsbHktcGFyc2VkLXN2Zy1hbGxvd2VkLWluLWRhc2hib2FyZC5odG1s
CisgICAgICAgICAgICAgICBzdmcvY3VzdG9tL3N2Zy1hbGxvd2VkLWluLWRhc2hib2FyZC1vYmpl
Y3QuaHRtbAorCisgICAgICAgICogZG9tL0RPTUltcGxlbWVudGF0aW9uLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkRPTUltcGxlbWVudGF0aW9uOjpjcmVhdGVEb2N1bWVudCk6CisgICAgICAgICog
ZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjppbXBvcnROb2Rl
KToKKyAgICAgICAgKiBkb20vbWFrZV9uYW1lcy5wbDoKKyAgICAgICAgKHByaW50RmFjdG9yeUNw
cEZpbGUpOgorCiAyMDEyLTAyLTA4ICBEaXJrIFNjaHVsemUgIDxrcml0QHdlYmtpdC5vcmc+CiAK
ICAgICAgICAgdmlld0JveCBvbiBuZXN0ZWQgU1ZHIGNhdXNlcyB3cm9uZyBjb250ZW50IHNpemUg
Zm9yIHJlbGF0aXZlIHZhbHVlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RPTUlt
cGxlbWVudGF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01JbXBsZW1lbnRhdGlvbi5j
cHAKaW5kZXggMzMxMDQwOS4uY2EwYmUzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L0RPTUltcGxlbWVudGF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NSW1wbGVt
ZW50YXRpb24uY3BwCkBAIC00MDgsMTMgKzQwOCw4IEBAIFBhc3NSZWZQdHI8RG9jdW1lbnQ+IERP
TUltcGxlbWVudGF0aW9uOjpjcmVhdGVEb2N1bWVudChjb25zdCBTdHJpbmcmIHR5cGUsIEZyYW1l
CiAgICAgICAgIHJldHVybiBUZXh0RG9jdW1lbnQ6OmNyZWF0ZShmcmFtZSwgdXJsKTsKIAogI2lm
IEVOQUJMRShTVkcpCi0gICAgaWYgKHR5cGUgPT0gImltYWdlL3N2Zyt4bWwiKSB7Ci0jaWYgRU5B
QkxFKERBU0hCT0FSRF9TVVBQT1JUKSAgICAKLSAgICAgICAgU2V0dGluZ3MqIHNldHRpbmdzID0g
ZnJhbWUgPyBmcmFtZS0+c2V0dGluZ3MoKSA6IDA7Ci0gICAgICAgIGlmICghc2V0dGluZ3MgfHwg
IXNldHRpbmdzLT51c2VzRGFzaGJvYXJkQmFja3dhcmRDb21wYXRpYmlsaXR5TW9kZSgpKQotI2Vu
ZGlmCi0gICAgICAgICAgICByZXR1cm4gU1ZHRG9jdW1lbnQ6OmNyZWF0ZShmcmFtZSwgdXJsKTsK
LSAgICB9CisgICAgaWYgKHR5cGUgPT0gImltYWdlL3N2Zyt4bWwiKQorICAgICAgICByZXR1cm4g
U1ZHRG9jdW1lbnQ6OmNyZWF0ZShmcmFtZSwgdXJsKTsKICNlbmRpZgogICAgIGlmIChpc1hNTE1J
TUVUeXBlKHR5cGUpKQogICAgICAgICByZXR1cm4gRG9jdW1lbnQ6OmNyZWF0ZShmcmFtZSwgdXJs
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IDM5YTk3YjIuLjQ3OGFjOTAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0RvY3VtZW50LmNwcApAQCAtODIzLDExICs4MjMsNyBAQCBQYXNzUmVmUHRyPE5vZGU+IERv
Y3VtZW50OjppbXBvcnROb2RlKE5vZGUqIGltcG9ydGVkTm9kZSwgYm9vbCBkZWVwLCBFeGNlcHRp
b25DbwogewogICAgIGVjID0gMDsKICAgICAKLSAgICBpZiAoIWltcG9ydGVkTm9kZQotI2lmIEVO
QUJMRShTVkcpICYmIEVOQUJMRShEQVNIQk9BUkRfU1VQUE9SVCkKLSAgICAgICAgfHwgKGltcG9y
dGVkTm9kZS0+aXNTVkdFbGVtZW50KCkgJiYgcGFnZSgpICYmIHBhZ2UoKS0+c2V0dGluZ3MoKS0+
dXNlc0Rhc2hib2FyZEJhY2t3YXJkQ29tcGF0aWJpbGl0eU1vZGUoKSkKLSNlbmRpZgotICAgICAg
ICApIHsKKyAgICBpZiAoIWltcG9ydGVkTm9kZSkgewogICAgICAgICBlYyA9IE5PVF9TVVBQT1JU
RURfRVJSOwogICAgICAgICByZXR1cm4gMDsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vbWFrZV9uYW1lcy5wbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9tYWtlX25hbWVzLnBs
CmluZGV4IDkwMTUxZTEuLjVhNTE2YTggMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9t
YWtlX25hbWVzLnBsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9tYWtlX25hbWVzLnBsCkBAIC04
NDgsNyArODQ4LDcgQEAgcHJpbnQgRiA8PEVORAogRU5ECiA7CiAKLWlmICgkcGFyYW1ldGVyc3tu
YW1lc3BhY2V9IG5lICJIVE1MIikgeworaWYgKCRwYXJhbWV0ZXJze25hbWVzcGFjZX0gbmUgIkhU
TUwiIGFuZCAkcGFyYW1ldGVyc3tuYW1lc3BhY2V9IG5lICJTVkciKSB7CiBwcmludCBGIDw8RU5E
CiAjaWYgRU5BQkxFKERBU0hCT0FSRF9TVVBQT1JUKQogICAgIFNldHRpbmdzKiBzZXR0aW5ncyA9
IGRvY3VtZW50LT5zZXR0aW5ncygpOwo=
</data>
<flag name="review"
          id="128259"
          type_id="1"
          status="-"
          setter="zimmermann"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>126553</attachid>
            <date>2012-02-10 12:22:02 -0800</date>
            <delta_ts>2012-02-20 16:18:26 -0800</delta_ts>
            <desc>patch</desc>
            <filename>dashboard.patch</filename>
            <type>text/plain</type>
            <size>39416</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">RnJvbSA3Y2FmNDMyMWZmNTI5MzJlNDdiNWRjNGM0N2U5MjI2NzM1YWQ4ZDEzIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBUaW0gSG9ydG9uIDxob3J0b250NDI0QGdtYWlsLmNvbT4KRGF0
ZTogVGh1LCA5IEZlYiAyMDEyIDIwOjI5OjU0IC0wODAwClN1YmplY3Q6IFtQQVRDSF0gZml4Cgot
LS0KIExheW91dFRlc3RzL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg
ICAyNiArKysrKysrCiAuLi5yZWF0ZWQtYnkteGhyLWFsbG93ZWQtaW4tZGFzaGJvYXJkLWV4cGVj
dGVkLnR4dCB8ICAgIDYgKysKIC4uLi9zdmctY3JlYXRlZC1ieS14aHItYWxsb3dlZC1pbi1kYXNo
Ym9hcmQuaHRtbCAgIHwgICA4MCArKysrKysrKysrKysrKysrKysrKwogLi4udGVkLWJ5LXhoci1k
aXNhbGxvd2VkLWluLWRhc2hib2FyZC1leHBlY3RlZC50eHQgfCAgICA1IC0KIC4uLnN2Zy1jcmVh
dGVkLWJ5LXhoci1kaXNhbGxvd2VkLWluLWRhc2hib2FyZC5odG1sIHwgICA4MCAtLS0tLS0tLS0t
LS0tLS0tLS0tLQogLi4uL2VtYmVkZGVkLXN2Zy1hbGxvd2VkLWluLWRhc2hib2FyZC1leHBlY3Rl
ZC50eHQgfCAgICA0ICsKIC4uLi9jdXN0b20vZW1iZWRkZWQtc3ZnLWFsbG93ZWQtaW4tZGFzaGJv
YXJkLnhtbCAgIHwgICAyOCArKysrKysrCiAuLi5iZWRkZWQtc3ZnLWRpc2FsbG93ZWQtaW4tZGFz
aGJvYXJkLWV4cGVjdGVkLnR4dCB8ICAgIDQgLQogLi4uL2VtYmVkZGVkLXN2Zy1kaXNhbGxvd2Vk
LWluLWRhc2hib2FyZC54bWwgICAgICAgfCAgIDI4IC0tLS0tLS0KIC4uLi1lbWJlZGRlZC1zdmct
YWxsb3dlZC1pbi1kYXNoYm9hcmQtZXhwZWN0ZWQudHh0IHwgICAgNiArKwogLi4ueS1wYXJzZWQt
ZW1iZWRkZWQtc3ZnLWFsbG93ZWQtaW4tZGFzaGJvYXJkLmh0bWwgfCAgIDQ5ICsrKysrKysrKysr
KwogLi4uYmVkZGVkLXN2Zy1kaXNhbGxvd2VkLWluLWRhc2hib2FyZC1leHBlY3RlZC50eHQgfCAg
ICA2IC0tCiAuLi5hcnNlZC1lbWJlZGRlZC1zdmctZGlzYWxsb3dlZC1pbi1kYXNoYm9hcmQuaHRt
bCB8ICAgNDkgLS0tLS0tLS0tLS0tCiAuLi5seS1wYXJzZWQtc3ZnLWFsbG93ZWQtaW4tZGFzaGJv
YXJkLWV4cGVjdGVkLnR4dCB8ICAgIDUgKwogLi4uL21hbnVhbGx5LXBhcnNlZC1zdmctYWxsb3dl
ZC1pbi1kYXNoYm9hcmQuaHRtbCAgfCAgIDQ1ICsrKysrKysrKysrCiAuLi5wYXJzZWQtc3ZnLWRp
c2FsbG93ZWQtaW4tZGFzaGJvYXJkLWV4cGVjdGVkLnR4dCB8ICAgIDUgLQogLi4uYW51YWxseS1w
YXJzZWQtc3ZnLWRpc2FsbG93ZWQtaW4tZGFzaGJvYXJkLmh0bWwgfCAgIDQ1IC0tLS0tLS0tLS0t
CiAuLi4vc3ZnLWFsbG93ZWQtaW4tZGFzaGJvYXJkLW9iamVjdC1leHBlY3RlZC50eHQgICB8ICAg
IDggKysKIC4uLi9jdXN0b20vc3ZnLWFsbG93ZWQtaW4tZGFzaGJvYXJkLW9iamVjdC5odG1sICAg
IHwgICA3MCArKysrKysrKysrKysrKysrKwogLi4uc3ZnLWRpc2FsbG93ZWQtaW4tZGFzaGJvYXJk
LW9iamVjdC1leHBlY3RlZC50eHQgfCAgICA4IC0tCiAuLi4vY3VzdG9tL3N2Zy1kaXNhbGxvd2Vk
LWluLWRhc2hib2FyZC1vYmplY3QuaHRtbCB8ICAgNzEgLS0tLS0tLS0tLS0tLS0tLS0KIFNvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAyMyArKysr
KysKIFNvdXJjZS9XZWJDb3JlL2RvbS9ET01JbXBsZW1lbnRhdGlvbi5jcHAgICAgICAgICAgIHwg
ICAgOSArLS0KIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgICAgICAgICAgICAgICAg
ICAgIHwgICAgNiArLQogU291cmNlL1dlYkNvcmUvZG9tL21ha2VfbmFtZXMucGwgICAgICAgICAg
ICAgICAgICAgfCAgICAyICstCiAyNSBmaWxlcyBjaGFuZ2VkLCAzNTQgaW5zZXJ0aW9ucygrKSwg
MzE0IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2h0dHAvdGVz
dHMveG1saHR0cHJlcXVlc3Qvc3ZnLWNyZWF0ZWQtYnkteGhyLWFsbG93ZWQtaW4tZGFzaGJvYXJk
LWV4cGVjdGVkLnR4dAogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2h0dHAvdGVzdHMv
eG1saHR0cHJlcXVlc3Qvc3ZnLWNyZWF0ZWQtYnkteGhyLWFsbG93ZWQtaW4tZGFzaGJvYXJkLmh0
bWwKIGRlbGV0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1
ZXN0L3N2Zy1jcmVhdGVkLWJ5LXhoci1kaXNhbGxvd2VkLWluLWRhc2hib2FyZC1leHBlY3RlZC50
eHQKIGRlbGV0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1
ZXN0L3N2Zy1jcmVhdGVkLWJ5LXhoci1kaXNhbGxvd2VkLWluLWRhc2hib2FyZC5odG1sCiBjcmVh
dGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9lbWJlZGRlZC1zdmctYWxsb3dl
ZC1pbi1kYXNoYm9hcmQtZXhwZWN0ZWQudHh0CiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVz
dHMvc3ZnL2N1c3RvbS9lbWJlZGRlZC1zdmctYWxsb3dlZC1pbi1kYXNoYm9hcmQueG1sCiBkZWxl
dGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9lbWJlZGRlZC1zdmctZGlzYWxs
b3dlZC1pbi1kYXNoYm9hcmQtZXhwZWN0ZWQudHh0CiBkZWxldGUgbW9kZSAxMDA2NDQgTGF5b3V0
VGVzdHMvc3ZnL2N1c3RvbS9lbWJlZGRlZC1zdmctZGlzYWxsb3dlZC1pbi1kYXNoYm9hcmQueG1s
CiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9tYW51YWxseS1wYXJz
ZWQtZW1iZWRkZWQtc3ZnLWFsbG93ZWQtaW4tZGFzaGJvYXJkLWV4cGVjdGVkLnR4dAogY3JlYXRl
IG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL3N2Zy9jdXN0b20vbWFudWFsbHktcGFyc2VkLWVtYmVk
ZGVkLXN2Zy1hbGxvd2VkLWluLWRhc2hib2FyZC5odG1sCiBkZWxldGUgbW9kZSAxMDA2NDQgTGF5
b3V0VGVzdHMvc3ZnL2N1c3RvbS9tYW51YWxseS1wYXJzZWQtZW1iZWRkZWQtc3ZnLWRpc2FsbG93
ZWQtaW4tZGFzaGJvYXJkLWV4cGVjdGVkLnR4dAogZGVsZXRlIG1vZGUgMTAwNjQ0IExheW91dFRl
c3RzL3N2Zy9jdXN0b20vbWFudWFsbHktcGFyc2VkLWVtYmVkZGVkLXN2Zy1kaXNhbGxvd2VkLWlu
LWRhc2hib2FyZC5odG1sCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvc3ZnL2N1c3Rv
bS9tYW51YWxseS1wYXJzZWQtc3ZnLWFsbG93ZWQtaW4tZGFzaGJvYXJkLWV4cGVjdGVkLnR4dAog
Y3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL3N2Zy9jdXN0b20vbWFudWFsbHktcGFyc2Vk
LXN2Zy1hbGxvd2VkLWluLWRhc2hib2FyZC5odG1sCiBkZWxldGUgbW9kZSAxMDA2NDQgTGF5b3V0
VGVzdHMvc3ZnL2N1c3RvbS9tYW51YWxseS1wYXJzZWQtc3ZnLWRpc2FsbG93ZWQtaW4tZGFzaGJv
YXJkLWV4cGVjdGVkLnR4dAogZGVsZXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL3N2Zy9jdXN0
b20vbWFudWFsbHktcGFyc2VkLXN2Zy1kaXNhbGxvd2VkLWluLWRhc2hib2FyZC5odG1sCiBjcmVh
dGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9zdmctYWxsb3dlZC1pbi1kYXNo
Ym9hcmQtb2JqZWN0LWV4cGVjdGVkLnR4dAogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3Rz
L3N2Zy9jdXN0b20vc3ZnLWFsbG93ZWQtaW4tZGFzaGJvYXJkLW9iamVjdC5odG1sCiBkZWxldGUg
bW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9zdmctZGlzYWxsb3dlZC1pbi1kYXNo
Ym9hcmQtb2JqZWN0LWV4cGVjdGVkLnR4dAogZGVsZXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3Rz
L3N2Zy9jdXN0b20vc3ZnLWRpc2FsbG93ZWQtaW4tZGFzaGJvYXJkLW9iamVjdC5odG1sCgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmlu
ZGV4IDBkYWE1N2QuLmFkMzU2OTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZwor
KysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOSBAQAorMjAxMi0wMi0wOSAg
VGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KKworICAgICAgICBTVkcgc2hv
dWxkIGJlIHN1cHBvcnRlZCBpbiBEYXNoYm9hcmQgY29tcGF0aWJpbGl0eSBtb2RlCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03ODMyMgorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vNTg2MTI3OD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBDaGFuZ2UgdGVzdHMgdGhhdCBlbnN1cmVkIHRoYXQgU1ZHIGRpZG4n
dCB3b3JrIGluIERhc2hib2FyZCB0byBpbnN0ZWFkIHRlc3QgdGhhdCBpdCBkb2VzIQorCisgICAg
ICAgICogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9zdmctY3JlYXRlZC1ieS14aHItYWxsb3dl
ZC1pbi1kYXNoYm9hcmQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L3htbGh0dHByZXF1ZXN0L3N2Zy1jcmVhdGVkLWJ5LXhoci1hbGxvd2VkLWluLWRhc2hib2FyZC5o
dG1sOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9z
dmctY3JlYXRlZC1ieS14aHItZGlzYWxsb3dlZC1pbi1kYXNoYm9hcmQuaHRtbC4KKyAgICAgICAg
KiBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3N2Zy1jcmVhdGVkLWJ5LXhoci1kaXNhbGxvd2Vk
LWluLWRhc2hib2FyZC1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogc3ZnL2N1c3Rv
bS9lbWJlZGRlZC1zdmctYWxsb3dlZC1pbi1kYXNoYm9hcmQtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBzdmcvY3VzdG9tL2VtYmVkZGVkLXN2Zy1hbGxvd2VkLWluLWRhc2hib2FyZC54
bWw6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2VtYmVkZGVkLXN2Zy1kaXNh
bGxvd2VkLWluLWRhc2hib2FyZC54bWwuCisgICAgICAgICogc3ZnL2N1c3RvbS9lbWJlZGRlZC1z
dmctZGlzYWxsb3dlZC1pbi1kYXNoYm9hcmQtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAg
ICAqIHN2Zy9jdXN0b20vbWFudWFsbHktcGFyc2VkLWVtYmVkZGVkLXN2Zy1hbGxvd2VkLWluLWRh
c2hib2FyZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHN2Zy9jdXN0b20vbWFudWFs
bHktcGFyc2VkLWVtYmVkZGVkLXN2Zy1hbGxvd2VkLWluLWRhc2hib2FyZC5odG1sOiBSZW5hbWVk
IGZyb20gTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9tYW51YWxseS1wYXJzZWQtZW1iZWRkZWQtc3Zn
LWRpc2FsbG93ZWQtaW4tZGFzaGJvYXJkLmh0bWwuCisgICAgICAgICogc3ZnL2N1c3RvbS9tYW51
YWxseS1wYXJzZWQtZW1iZWRkZWQtc3ZnLWRpc2FsbG93ZWQtaW4tZGFzaGJvYXJkLWV4cGVjdGVk
LnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBzdmcvY3VzdG9tL21hbnVhbGx5LXBhcnNlZC1zdmct
YWxsb3dlZC1pbi1kYXNoYm9hcmQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBzdmcv
Y3VzdG9tL21hbnVhbGx5LXBhcnNlZC1zdmctYWxsb3dlZC1pbi1kYXNoYm9hcmQuaHRtbDogUmVu
YW1lZCBmcm9tIExheW91dFRlc3RzL3N2Zy9jdXN0b20vbWFudWFsbHktcGFyc2VkLXN2Zy1kaXNh
bGxvd2VkLWluLWRhc2hib2FyZC5odG1sLgorICAgICAgICAqIHN2Zy9jdXN0b20vbWFudWFsbHkt
cGFyc2VkLXN2Zy1kaXNhbGxvd2VkLWluLWRhc2hib2FyZC1leHBlY3RlZC50eHQ6IFJlbW92ZWQu
CisgICAgICAgICogc3ZnL2N1c3RvbS9zdmctYWxsb3dlZC1pbi1kYXNoYm9hcmQtb2JqZWN0LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogc3ZnL2N1c3RvbS9zdmctYWxsb3dlZC1pbi1k
YXNoYm9hcmQtb2JqZWN0Lmh0bWw6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdmcvY3VzdG9t
L3N2Zy1kaXNhbGxvd2VkLWluLWRhc2hib2FyZC1vYmplY3QuaHRtbC4KKyAgICAgICAgKiBzdmcv
Y3VzdG9tL3N2Zy1kaXNhbGxvd2VkLWluLWRhc2hib2FyZC1vYmplY3QtZXhwZWN0ZWQudHh0OiBS
ZW1vdmVkLgorCiAyMDEyLTAyLTA4ICBEaXJrIFNjaHVsemUgIDxrcml0QHdlYmtpdC5vcmc+CiAK
ICAgICAgICAgdmlld0JveCBvbiBuZXN0ZWQgU1ZHIGNhdXNlcyB3cm9uZyBjb250ZW50IHNpemUg
Zm9yIHJlbGF0aXZlIHZhbHVlcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94
bWxodHRwcmVxdWVzdC9zdmctY3JlYXRlZC1ieS14aHItYWxsb3dlZC1pbi1kYXNoYm9hcmQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9zdmctY3Jl
YXRlZC1ieS14aHItYWxsb3dlZC1pbi1kYXNoYm9hcmQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY5YTQ0YzUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3N2Zy1jcmVhdGVkLWJ5LXhoci1hbGxv
d2VkLWluLWRhc2hib2FyZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw2IEBACitUZXN0IHRvIG1h
a2Ugc3VyZSB3ZSBjYW4gdXNlIFhIUiB0byBjcmVhdGUgdXNhYmxlIFNWRyBpbiBkYXNoYm9hcmQg
Y29tcGF0aWJpbGl0eSBtb2RlLiBUaGlzIGNhbm5vdCBiZSB0ZXN0ZWQgbWFudWFsbHkuCisKK1Jl
Y2VpdmVkIGRvYyBvZiB0eXBlOiBbb2JqZWN0IERvY3VtZW50XQorUEFTUzogTWFuYWdlZCB0byBp
bnNlcnQgU1ZHIGVsZW1lbnQgaW50byB0cmVlCitJbXBvcnRlZCBub2RlIG9mIHR5cGU6IFtvYmpl
Y3QgU1ZHQ2lyY2xlRWxlbWVudF0KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy94bWxodHRwcmVxdWVzdC9zdmctY3JlYXRlZC1ieS14aHItYWxsb3dlZC1pbi1kYXNoYm9hcmQu
aHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3Qvc3ZnLWNyZWF0ZWQt
YnkteGhyLWFsbG93ZWQtaW4tZGFzaGJvYXJkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMC4uNmNiYjIzNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMveG1saHR0cHJlcXVlc3Qvc3ZnLWNyZWF0ZWQtYnkteGhyLWFsbG93ZWQtaW4tZGFzaGJv
YXJkLmh0bWwKQEAgLTAsMCArMSw4MCBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0Mv
L0RURCBIVE1MIDQuMDEgVHJhbnNpdGlvbmFsLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHRpdGxl
PlRlc3QgdG8gZW5zdXJlIFNWRyBpcyBlbmFibGVkIGluIERhc2hib2FyZCBjb21wYXRpYmlsaXR5
IG1vZGU8L3RpdGxlPgorPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0
ZXh0L2h0bWw7IGNoYXJzZXQ9aXNvLTg4NTktMSI+Cis8c2NyaXB0IGxhbmd1YWdlPSJKYXZhU2Ny
aXB0IiB0eXBlPSJ0ZXh0L0phdmFTY3JpcHQiPgorCisgICAgdmFyIHJxOworCisgICAgZnVuY3Rp
b24gbG9hZFNWRygpCisgICAgeworICAgICAgICB1cmwgPSAncmVzb3VyY2VzL3N2Z3Rlc3Quc3Zn
JzsKKworICAgICAgICBycSA9IGZhbHNlOworICAgIAorICAgICAgICB0cnkgeworICAgICAgICAg
IGlmICh3aW5kb3cuWE1MSHR0cFJlcXVlc3QpIHsKKyAgICAgICAgICAgIHJxID0gbmV3IFhNTEh0
dHBSZXF1ZXN0KCk7CisgICAgICAgICAgICBycS5vdmVycmlkZU1pbWVUeXBlKCd0ZXh0L3N2Zyt4
bWwnKTsKKyAgICAgICAgICAgIHJxLm9ucmVhZHlzdGF0ZWNoYW5nZSA9IHByb2Nlc3NSZXFDaGFu
Z2U7CisgICAgICAgICAgICBycS5vcGVuKCdHRVQnLCB1cmwsIHRydWUpOworICAgICAgICAgICAg
cnEuc2VuZCgpOworICAgICAgICAgIH0KKyAgICAgICAgfSBjYXRjaCAoZXgpIHsKKyAgICAgICAg
ICAgIHJxID0gZmFsc2U7CisgICAgICAgICAgICBhbGVydChleCk7CisgICAgICAgIH0KKyAgICB9
CisgICAgCisgICAgZnVuY3Rpb24gZGVidWcoc3RyKSB7CisgICAgICAgIHZhciBjID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnNvbGUnKQorICAgICAgICBjLmFwcGVuZENoaWxkKGRvY3Vt
ZW50LmNyZWF0ZVRleHROb2RlKHN0ciArICdcbicpKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBw
cm9jZXNzUmVxQ2hhbmdlKCkKKyAgICB7CisgICAgICAgIGlmIChycS5yZWFkeVN0YXRlID09IDQp
IHsKKyAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgdmFyIHN2Z0RvYyA9IHJxLnJl
c3BvbnNlWE1MOworICAgICAgICAgICAgICAgIGlmIChycS5zdGF0dXMgPT0gMjAwKSB7CisgICAg
ICAgICAgICAgICAgICAgIGRlYnVnKCJSZWNlaXZlZCBkb2Mgb2YgdHlwZTogIiArIHN2Z0RvYyk7
CisgICAgICAgICAgICAgICAgICAgIC8vIEltcG9ydCBTVkcgZWxlbWVudCBpbnRvIHRyZWUuCisg
ICAgICAgICAgICAgICAgICAgIHZhciBpbXBvcnRlZE5vZGUgPSBudWxsOworICAgICAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICAgICAgaW1wb3J0ZWROb2RlID0gZG9j
dW1lbnQuaW1wb3J0Tm9kZShzdmdEb2MuZ2V0RWxlbWVudEJ5SWQoJ3N2Z0NpcmNsZScpLCB0cnVl
KTsKKyAgICAgICAgICAgICAgICAgICAgfSBjYXRjaChlKSB7CisgICAgICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICBpZiAoaW1wb3J0ZWROb2RlKSB7
CisgICAgICAgICAgICAgICAgICAgICAgICBkZWJ1ZygiUEFTUzogTWFuYWdlZCB0byBpbnNlcnQg
U1ZHIGVsZW1lbnQgaW50byB0cmVlIik7CisgICAgICAgICAgICAgICAgICAgICAgICBkZWJ1Zygi
SW1wb3J0ZWQgbm9kZSBvZiB0eXBlOiAiICsgaW1wb3J0ZWROb2RlKTsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0YXJnZXREaXYnKS5hcHBlbmRDaGls
ZChpbXBvcnRlZE5vZGUpOworICAgICAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAg
ICAgICAgICAgICAgICAgZGVidWcoIkZBSUw6IENvdWxkIG5vdCBpbnNlcnQgU1ZHIGVsZW1lbnQg
aW50byB0cmVlIik7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9IGVs
c2UgeworICAgICAgICAgICAgICAgICAgICBkZWJ1ZygnRkFJTDogVW5hYmxlIHRvIGxvYWQgU1ZH
IGRvY3VtZW50OiAnICsgcnEuc3RhdHVzVGV4dCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSBjYXRjaCAoZSkgeworICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKHdpbmRv
dy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJv
bGxlci5ub3RpZnlEb25lKCk7CisgICAgICAgIH0KKyAgICB9Cis8L3NjcmlwdD4KKzwvaGVhZD4K
KworPGJvZHkgb25sb2FkPSJsb2FkU1ZHKCk7Ij4KKzxwPlRlc3QgdG8gbWFrZSBzdXJlIHdlIGNh
biB1c2UgWEhSIHRvIGNyZWF0ZSB1c2FibGUgU1ZHIGluIGRhc2hib2FyZCBjb21wYXRpYmlsaXR5
IG1vZGUuICBUaGlzIGNhbm5vdCBiZSB0ZXN0ZWQgbWFudWFsbHkuPC9wPgorPGRpdiBpZD0idGFy
Z2V0RGl2Ij48L2Rpdj4KKzxwcmUgaWQ9ImNvbnNvbGUiPjwvcHJlPgorPHNjcmlwdD4KKyAgICBp
ZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgIGxheW91dFRlc3RDb250
cm9sbGVyLnNldFVzZURhc2hib2FyZENvbXBhdGliaWxpdHlNb2RlKHRydWUpOworICAgICAgICBs
YXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgICAgIGxheW91dFRlc3RDb250
cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAgICB9Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3Qvc3Zn
LWNyZWF0ZWQtYnkteGhyLWRpc2FsbG93ZWQtaW4tZGFzaGJvYXJkLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3Qvc3ZnLWNyZWF0ZWQtYnkteGhyLWRp
c2FsbG93ZWQtaW4tZGFzaGJvYXJkLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggZTc3YTIyYS4uMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ht
bGh0dHByZXF1ZXN0L3N2Zy1jcmVhdGVkLWJ5LXhoci1kaXNhbGxvd2VkLWluLWRhc2hib2FyZC1l
eHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw1ICswLDAgQEAKLVRlc3QgdG8gbWFrZSBz
dXJlIHdlIGNhbid0IHVzZSBYSFIgdG8gY3JlYXRlIHVzYWJsZSBTVkcgaW4gZGFzaGJvYXJkIGNv
bXBhdGliaWxpdHkgbW9kZS4gVGhpcyBjYW5ub3QgYmUgdGVzdGVkIG1hbnVhbGx5LgotCi1SZWNl
aXZlZCBkb2Mgb2YgdHlwZTogW29iamVjdCBEb2N1bWVudF0KLVBBU1M6IENvdWxkIG5vdCBpbnNl
cnQgU1ZHIGVsZW1lbnQgaW50byB0cmVlCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMveG1saHR0cHJlcXVlc3Qvc3ZnLWNyZWF0ZWQtYnkteGhyLWRpc2FsbG93ZWQtaW4tZGFz
aGJvYXJkLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3N2Zy1j
cmVhdGVkLWJ5LXhoci1kaXNhbGxvd2VkLWluLWRhc2hib2FyZC5odG1sCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCA1OWY2NTU3Li4wMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMveG1saHR0cHJlcXVlc3Qvc3ZnLWNyZWF0ZWQtYnkteGhyLWRpc2FsbG93ZWQtaW4tZGFz
aGJvYXJkLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw4MCArMCwwIEBACi08IURPQ1RZUEUgSFRN
TCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwgNC4wMSBUcmFuc2l0aW9uYWwvL0VOIj4KLTxodG1s
PgotPGhlYWQ+Ci08dGl0bGU+VGVzdCB0byBlbnN1cmUgU1ZHIGlzIGRpc2FibGVkIGluIERhc2hi
b2FyZCBjb21wYXRpYmlsaXR5IG1vZGU8L3RpdGxlPgotPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVu
dC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9aXNvLTg4NTktMSI+Ci08c2NyaXB0
IGxhbmd1YWdlPSJKYXZhU2NyaXB0IiB0eXBlPSJ0ZXh0L0phdmFTY3JpcHQiPgotCi0gICAgdmFy
IHJxOwotCi0gICAgZnVuY3Rpb24gbG9hZFNWRygpCi0gICAgewotICAgICAgICB1cmwgPSAncmVz
b3VyY2VzL3N2Z3Rlc3Quc3ZnJzsKLQotICAgICAgICBycSA9IGZhbHNlOwotICAgIAotICAgICAg
ICB0cnkgewotICAgICAgICAgIGlmICh3aW5kb3cuWE1MSHR0cFJlcXVlc3QpIHsKLSAgICAgICAg
ICAgIHJxID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7Ci0gICAgICAgICAgICBycS5vdmVycmlkZU1p
bWVUeXBlKCd0ZXh0L3N2Zyt4bWwnKTsKLSAgICAgICAgICAgIHJxLm9ucmVhZHlzdGF0ZWNoYW5n
ZSA9IHByb2Nlc3NSZXFDaGFuZ2U7Ci0gICAgICAgICAgICBycS5vcGVuKCdHRVQnLCB1cmwsIHRy
dWUpOwotICAgICAgICAgICAgcnEuc2VuZCgpOwotICAgICAgICAgIH0KLSAgICAgICAgfSBjYXRj
aCAoZXgpIHsKLSAgICAgICAgICAgIHJxID0gZmFsc2U7Ci0gICAgICAgICAgICBhbGVydChleCk7
Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgCi0gICAgZnVuY3Rpb24gZGVidWcoc3RyKSB7Ci0gICAg
ICAgIHZhciBjID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnNvbGUnKQotICAgICAgICBj
LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKHN0ciArICdcbicpKTsKLSAgICB9
Ci0KLSAgICBmdW5jdGlvbiBwcm9jZXNzUmVxQ2hhbmdlKCkKLSAgICB7Ci0gICAgICAgIGlmIChy
cS5yZWFkeVN0YXRlID09IDQpIHsKLSAgICAgICAgICAgIHRyeSB7Ci0gICAgICAgICAgICAgICAg
dmFyIHN2Z0RvYyA9IHJxLnJlc3BvbnNlWE1MOwotICAgICAgICAgICAgICAgIGlmIChycS5zdGF0
dXMgPT0gMjAwKSB7Ci0gICAgICAgICAgICAgICAgICAgIGRlYnVnKCJSZWNlaXZlZCBkb2Mgb2Yg
dHlwZTogIiArIHN2Z0RvYyk7Ci0gICAgICAgICAgICAgICAgICAgIC8vIEltcG9ydCBTVkcgZWxl
bWVudCBpbnRvIHRyZWUuCi0gICAgICAgICAgICAgICAgICAgIHZhciBpbXBvcnRlZE5vZGUgPSBu
dWxsOwotICAgICAgICAgICAgICAgICAgICB0cnkgewotICAgICAgICAgICAgICAgICAgICAgICAg
aW1wb3J0ZWROb2RlID0gZG9jdW1lbnQuaW1wb3J0Tm9kZShzdmdEb2MuZ2V0RWxlbWVudEJ5SWQo
J3N2Z0NpcmNsZScpLCB0cnVlKTsKLSAgICAgICAgICAgICAgICAgICAgfSBjYXRjaChlKSB7Ci0g
ICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIAotICAgICAgICAgICAgICAgICAgICBp
ZiAoaW1wb3J0ZWROb2RlKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBkZWJ1ZygiRkFJTDog
TWFuYWdlZCB0byBpbnNlcnQgU1ZHIGVsZW1lbnQgaW50byB0cmVlIik7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICBkZWJ1ZygiSW1wb3J0ZWQgbm9kZSBvZiB0eXBlOiAiICsgaW1wb3J0ZWROb2Rl
KTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0YXJn
ZXREaXYnKS5hcHBlbmRDaGlsZChpbXBvcnRlZE5vZGUpOwotICAgICAgICAgICAgICAgICAgICB9
IGVsc2UgewotICAgICAgICAgICAgICAgICAgICAgICAgZGVidWcoIlBBU1M6IENvdWxkIG5vdCBp
bnNlcnQgU1ZHIGVsZW1lbnQgaW50byB0cmVlIik7Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICBkZWJ1ZygnRkFJTDog
VW5hYmxlIHRvIGxvYWQgU1ZHIGRvY3VtZW50OiAnICsgcnEuc3RhdHVzVGV4dCk7Ci0gICAgICAg
ICAgICAgICAgfQotICAgICAgICAgICAgfSBjYXRjaCAoZSkgewotICAgICAgICAgICAgfQotICAg
ICAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgICAgICAg
ICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Ci0gICAgICAgIH0KLSAgICB9Ci08
L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJvZHkgb25Mb2FkPSJsb2FkU1ZHKCk7Ij4KLTxwPlRlc3Qg
dG8gbWFrZSBzdXJlIHdlIGNhbid0IHVzZSBYSFIgdG8gY3JlYXRlIHVzYWJsZSBTVkcgaW4gZGFz
aGJvYXJkIGNvbXBhdGliaWxpdHkgbW9kZS4gIFRoaXMgY2Fubm90IGJlIHRlc3RlZCBtYW51YWxs
eS48L3A+Ci08ZGl2IGlkPSJ0YXJnZXREaXYiPjwvZGl2PgotPHByZSBpZD0iY29uc29sZSI+PC9w
cmU+Ci08c2NyaXB0PgotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKLSAg
ICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0VXNlRGFzaGJvYXJkQ29tcGF0aWJpbGl0eU1v
ZGUodHJ1ZSk7Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKLSAg
ICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOwotICAgIH0KLTwvc2Ny
aXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3Rv
bS9lbWJlZGRlZC1zdmctYWxsb3dlZC1pbi1kYXNoYm9hcmQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvc3ZnL2N1c3RvbS9lbWJlZGRlZC1zdmctYWxsb3dlZC1pbi1kYXNoYm9hcmQtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg5YTRhNDgKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2VtYmVkZGVkLXN2Zy1hbGxvd2Vk
LWluLWRhc2hib2FyZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACitUaGlzIHRlc3QgaXMg
dG8gZW5zdXJlIFNWRyBlbGVtZW50cyBjYW4gYmUgY3JlYXRlZCBieSBiZWluZyBlbWJlZGRlZCBp
biB4bWwgZG9jdW1lbnRzLiBJdCBjYW4gbm90IGJlIHRlc3RlZCBtYW51YWxseS4KKworUEFTUzog
U3VjY2Vzc2Z1bGx5IGVtYmVkZGVkIFNWRyBpbiBkb2N1bWVudAorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9zdmcvY3VzdG9tL2VtYmVkZGVkLXN2Zy1hbGxvd2VkLWluLWRhc2hib2FyZC54bWwg
Yi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2VtYmVkZGVkLXN2Zy1hbGxvd2VkLWluLWRhc2hib2Fy
ZC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGUxN2YyMAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vZW1iZWRkZWQtc3ZnLWFsbG93ZWQt
aW4tZGFzaGJvYXJkLnhtbApAQCAtMCwwICsxLDI4IEBACis8aHRtbCB4bWxucz0iaHR0cDovL3d3
dy53My5vcmcvMTk5OS94aHRtbCI+CisgICAgPGhlYWQ+CisgICAgICAgIDx0aXRsZT5NYWtlIHN1
cmUgZW1iZWRkZWQgU1ZHIGlzIHR1cm5lZCBvbiBpbiBkYXNoYm9hcmQ8L3RpdGxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJv
bGxlcikgeworICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLnNldFVzZURhc2hib2Fy
ZENvbXBhdGliaWxpdHlNb2RlKHRydWUpOworICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9s
bGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgIH0KKyAgICAgICAgIGZ1bmN0aW9uIGRlYnVnKHN0
cikgeworICAgICAgICAgICAgIHZhciBjID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnNv
bGUnKQorICAgICAgICAgICAgIGMuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUo
c3RyICsgJ1xuJykpOworICAgICAgICAgfQorICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8cD5UaGlzIHRlc3QgaXMgdG8gZW5zdXJlIFNWRyBlbGVtZW50cyBjYW4gYmUgY3JlYXRl
ZCBieSBiZWluZyBlbWJlZGRlZCBpbiB4bWwgZG9jdW1lbnRzLiAgSXQgY2FuIG5vdCBiZSB0ZXN0
ZWQgbWFudWFsbHkuPC9wPgorICAgICAgICA8cHJlIGlkPSJjb25zb2xlIj48L3ByZT4KKyAgICAg
ICAgPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMDAiIGhl
aWdodD0iMjAwIj4KKyAgICAgICAgICAgICA8Y2lyY2xlIGlkPSJzdmdDaXJjbGVOb2RlIiBjeD0i
MTAwIiBjeT0iMTAwIiByPSI1MCIgZmlsbD0icmVkIi8+CisgICAgICAgIDwvc3ZnPgorICAgICAg
ICA8c2NyaXB0PgorICAgICAgICAgICBpZihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc3ZnQ2ly
Y2xlTm9kZScpIGluc3RhbmNlb2YgU1ZHRWxlbWVudCkKKyAgICAgICAgICAgICAgIGRlYnVnKCJQ
QVNTOiBTdWNjZXNzZnVsbHkgZW1iZWRkZWQgU1ZHIGluIGRvY3VtZW50Iik7CisgICAgICAgICAg
IGVsc2UKKyAgICAgICAgICAgICAgIGRlYnVnKCJGQUlMOiBTVkcgRWxlbWVudHMgY291bGQgbm90
IGJlIGNyZWF0ZWQiKTsKKyAgICAgICAgPC9zY3JpcHQ+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9lbWJlZGRlZC1zdmctZGlzYWxsb3dl
ZC1pbi1kYXNoYm9hcmQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9lbWJl
ZGRlZC1zdmctZGlzYWxsb3dlZC1pbi1kYXNoYm9hcmQtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA3ZDNhZjU3Li4wMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N2
Zy9jdXN0b20vZW1iZWRkZWQtc3ZnLWRpc2FsbG93ZWQtaW4tZGFzaGJvYXJkLWV4cGVjdGVkLnR4
dAorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotVGhpcyB0ZXN0IGlzIHRvIGVuc3VyZSBT
VkcgZWxlbWVudHMgY2FuJ3QgYmUgY3JlYXRlZCBieSBiZWluZyBlbWJlZGRlZCBpbiB4bWwgZG9j
dW1lbnRzLiBJdCBjYW4gbm90IGJlIHRlc3RlZCBtYW51YWxseS4KLQotIFBBU1M6IFNWRyBFbGVt
ZW50cyBjb3VsZCBub3QgYmUgY3JlYXRlZAotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcv
Y3VzdG9tL2VtYmVkZGVkLXN2Zy1kaXNhbGxvd2VkLWluLWRhc2hib2FyZC54bWwgYi9MYXlvdXRU
ZXN0cy9zdmcvY3VzdG9tL2VtYmVkZGVkLXN2Zy1kaXNhbGxvd2VkLWluLWRhc2hib2FyZC54bWwK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdhYjczM2EuLjAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvc3ZnL2N1c3RvbS9lbWJlZGRlZC1zdmctZGlzYWxsb3dlZC1pbi1kYXNoYm9hcmQu
eG1sCisrKyAvZGV2L251bGwKQEAgLTEsMjggKzAsMCBAQAotPGh0bWwgeG1sbnM9Imh0dHA6Ly93
d3cudzMub3JnLzE5OTkveGh0bWwiPgotICAgIDxoZWFkPgotICAgICAgICA8dGl0bGU+TWFrZSBz
dXJlIGVtYmVkZGVkIFNWRyBpcyB0dXJuZWQgb2ZmIGluIGRhc2hib2FyZDwvdGl0bGU+Ci0gICAg
PC9oZWFkPgotICAgIDxzY3JpcHQ+Ci0gICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250
cm9sbGVyKSB7Ci0gICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0VXNlRGFzaGJv
YXJkQ29tcGF0aWJpbGl0eU1vZGUodHJ1ZSk7Ci0gICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIuZHVtcEFzVGV4dCgpOwotICAgICAgICAgfQotICAgICAgICAgZnVuY3Rpb24gZGVidWco
c3RyKSB7Ci0gICAgICAgICAgICAgdmFyIGMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29u
c29sZScpCi0gICAgICAgICAgICAgYy5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9k
ZShzdHIgKyAnXG4nKSk7Ci0gICAgICAgICB9Ci0gICAgPC9zY3JpcHQ+Ci0gICAgPGJvZHk+Ci0g
ICAgICAgIDxwPlRoaXMgdGVzdCBpcyB0byBlbnN1cmUgU1ZHIGVsZW1lbnRzIGNhbid0IGJlIGNy
ZWF0ZWQgYnkgYmVpbmcgZW1iZWRkZWQgaW4geG1sIGRvY3VtZW50cy4gIEl0IGNhbiBub3QgYmUg
dGVzdGVkIG1hbnVhbGx5LjwvcD4KLSAgICAgICAgPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5v
cmcvMjAwMC9zdmciIHdpZHRoPSIyMDAiIGhlaWdodD0iMjAwIj4KLSAgICAgICAgICAgICA8Y2ly
Y2xlIGlkPSJzdmdDaXJjbGVOb2RlIiBjeD0iMTAwIiBjeT0iMTAwIiByPSI1MCIgZmlsbD0icmVk
Ii8+Ci0gICAgICAgIDwvc3ZnPgotICAgICAgICA8cHJlIGlkPSJjb25zb2xlIj48L3ByZT4gCi0g
ICAgICAgIDxzY3JpcHQ+Ci0gICAgICAgICAgIGlmKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdz
dmdDaXJjbGVOb2RlJykgaW5zdGFuY2VvZiBTVkdFbGVtZW50KQotICAgICAgICAgICAgICAgZGVi
dWcoIkZBSUw6IFN1Y2Nlc3NmdWxseSBlbWJlZGRlZCBTVkcgaW4gZG9jdW1lbnQiKTsKLSAgICAg
ICAgICAgZWxzZQotICAgICAgICAgICAgICAgZGVidWcoIlBBU1M6IFNWRyBFbGVtZW50cyBjb3Vs
ZCBub3QgYmUgY3JlYXRlZCIpOwotICAgICAgICA8L3NjcmlwdD4KLSAgICA8L2JvZHk+Ci08L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL21hbnVhbGx5LXBhcnNlZC1l
bWJlZGRlZC1zdmctYWxsb3dlZC1pbi1kYXNoYm9hcmQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvc3ZnL2N1c3RvbS9tYW51YWxseS1wYXJzZWQtZW1iZWRkZWQtc3ZnLWFsbG93ZWQtaW4tZGFz
aGJvYXJkLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4x
OTRhZWRmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9tYW51YWxs
eS1wYXJzZWQtZW1iZWRkZWQtc3ZnLWFsbG93ZWQtaW4tZGFzaGJvYXJkLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDYgQEAKK1RoaXMgdGVzdCBtYWtlcyBzdXJlIHdlIGNhbiBhZGQgbWFudWFsbHkg
cGFyc2VkIFNWRyB0byB0aGUgZG9jdW1lbnQgd2hlbiBpbiBkYXNoYm9hcmQgY29tcGF0aWJpbGl0
eSBtb2RlLiBJdCBjYW4gbm90IGJlIHRlc3RlZCBtYW51YWxseS4KKworUGFyc2luZyBvZiB0aGUg
ZG9jdW1lbnQgaXNuJ3QgcHJldmVudGVkIGFuZCBwcm9kdWNlcyBhIFtvYmplY3QgRG9jdW1lbnRd
CitUaGUgY2lyY2xlIGVsZW1lbnQgaXMgb2YgdHlwZSBbb2JqZWN0IFNWR0NpcmNsZUVsZW1lbnRd
CitQQVNTOiBNYW5hZ2VkIHRvIGluc2VydCBTVkcgZWxlbWVudCBpbnRvIHRyZWUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9tYW51YWxseS1wYXJzZWQtZW1iZWRkZWQtc3Zn
LWFsbG93ZWQtaW4tZGFzaGJvYXJkLmh0bWwgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL21hbnVh
bGx5LXBhcnNlZC1lbWJlZGRlZC1zdmctYWxsb3dlZC1pbi1kYXNoYm9hcmQuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYTdiZTQ1Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9tYW51YWxseS1wYXJzZWQtZW1iZWRkZWQtc3ZnLWFsbG93
ZWQtaW4tZGFzaGJvYXJkLmh0bWwKQEAgLTAsMCArMSw0OSBAQAorPGh0bWwgeG1sbnM9Imh0dHA6
Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPgorICAgIDxoZWFkPgorICAgICAgICA8dGl0bGU+TWFr
ZSBzdXJlIGVtYmVkZGVkIFNWRyBpcyB0dXJuZWQgb2ZmIGluIGRhc2hib2FyZDwvdGl0bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGZ1bmN0aW9uIGRlYnVnKHN0cikgewor
ICAgICAgICAgICAgdmFyIGMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29uc29sZScpCisg
ICAgICAgICAgICBjLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKHN0ciArICdc
bicpKTsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0
Q29udHJvbGxlcikgeworICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0VXNlRGFz
aGJvYXJkQ29tcGF0aWJpbGl0eU1vZGUodHJ1ZSk7CisgICAgICAgICAgICBsYXlvdXRUZXN0Q29u
dHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgICAgIH0KKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9k
eT4KKyAgICAgICAgPHA+VGhpcyB0ZXN0IG1ha2VzIHN1cmUgd2UgY2FuIGFkZCBtYW51YWxseSBw
YXJzZWQgU1ZHIHRvIHRoZSBkb2N1bWVudCB3aGVuIGluIGRhc2hib2FyZCBjb21wYXRpYmlsaXR5
IG1vZGUuICBJdCBjYW4gbm90IGJlIHRlc3RlZCBtYW51YWxseS48L3A+CisgICAgICAgIDxkaXYg
aWQ9InRhcmdldERpdiI+PC9kaXY+CisgICAgICAgIDxwcmUgaWQ9ImNvbnNvbGUiPjwvcHJlPiAK
KyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgIHZhciBkb2N1bWVudFN0cmluZyA9ICc8aHRt
bCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+JyArCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAnPGJvZHk+JyArCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAnPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0
MDAiIGhlaWdodD0iNDAwIj4nICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8
Y2lyY2xlIGlkPSJzdmdDaXJjbGUiIGN4PSI1MCIgY3k9IjUwIiByPSI1MCIgZmlsbD0icmVkIi8+
PC9zdmc+JyArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPC9ib2R5PjwvaHRt
bD4nOyAKKworICAgICAgICAgICAgLy8gVXNlIERPTVBhcnNlciBpbnRlcmZhY2UgdG8gY3JlYXRl
IGEgU1ZHRG9jdW1lbnQgZGF0YXN0cnVjdHVyZSBmcm9tIFNWRyBjb250ZW50IHN0cmluZworICAg
ICAgICAgICAgdmFyIHBhcnNlciA9IG5ldyBET01QYXJzZXIoKTsKKyAgICAgICAgICAgIHZhciB4
aHRtbERvY3VtZW50ID0gcGFyc2VyLnBhcnNlRnJvbVN0cmluZyhkb2N1bWVudFN0cmluZywgImFw
cGxpY2F0aW9uL3hodG1sK3htbCIpOworICAgICAgICAgCisgICAgICAgICAgICBkZWJ1ZygiUGFy
c2luZyBvZiB0aGUgZG9jdW1lbnQgaXNuJ3QgcHJldmVudGVkIGFuZCBwcm9kdWNlcyBhICIgKyB4
aHRtbERvY3VtZW50KTsKKyAgICAgICAgICAgIGRlYnVnKCJUaGUgY2lyY2xlIGVsZW1lbnQgaXMg
b2YgdHlwZSAiICsgeGh0bWxEb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc3ZnQ2lyY2xlJykpOwor
ICAgICAgICAgICAgCisgICAgICAgICAgICAvLyBJbXBvcnQgU1ZHIGVsZW1lbnQgaW50byB0cmVl
LgorICAgICAgICAgICAgdmFyIGltcG9ydGVkTm9kZSA9IG51bGw7CisgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgIGltcG9ydGVkTm9kZSA9IGRvY3VtZW50LmltcG9ydE5vZGUoeGh0
bWxEb2N1bWVudC5maXJzdENoaWxkLCB0cnVlKTsKKyAgICAgICAgICAgIH0gY2F0Y2goZSkgewor
ICAgICAgICAgICAgfQorICAgICAgICAgICAgCisgICAgICAgICAgICBpZiAoaW1wb3J0ZWROb2Rl
KSB7CisgICAgICAgICAgICAgICAgZGVidWcoIlBBU1M6IE1hbmFnZWQgdG8gaW5zZXJ0IFNWRyBl
bGVtZW50IGludG8gdHJlZSIpOworICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCd0YXJnZXREaXYnKS5hcHBlbmRDaGlsZChpbXBvcnRlZE5vZGUpOworICAgICAgICAgICAg
fSBlbHNlIHsKKyAgICAgICAgICAgICAgICBkZWJ1ZygiRkFJTDogQ291bGQgbm90IGluc2VydCBT
VkcgZWxlbWVudCBpbnRvIHRyZWUiKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zY3JpcHQ+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3Rv
bS9tYW51YWxseS1wYXJzZWQtZW1iZWRkZWQtc3ZnLWRpc2FsbG93ZWQtaW4tZGFzaGJvYXJkLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vbWFudWFsbHktcGFyc2VkLWVtYmVk
ZGVkLXN2Zy1kaXNhbGxvd2VkLWluLWRhc2hib2FyZC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDMzNmNlMGQuLjAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3Zn
L2N1c3RvbS9tYW51YWxseS1wYXJzZWQtZW1iZWRkZWQtc3ZnLWRpc2FsbG93ZWQtaW4tZGFzaGJv
YXJkLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDYgKzAsMCBAQAotVGhpcyB0ZXN0
IG1ha2VzIHN1cmUgd2UgY2FuJ3QgYWRkIG1hbnVhbGx5IHBhcnNlZCBTVkcgdG8gdGhlIGRvY3Vt
ZW50IHdoZW4gaW4gZGFzaGJvYXJkIGNvbXBhdGliaWxpdHkgbW9kZS4gSXQgY2FuIG5vdCBiZSB0
ZXN0ZWQgbWFudWFsbHkuCi0KLVBhcnNpbmcgb2YgdGhlIGRvY3VtZW50IGlzbid0IHByZXZlbnRl
ZCBhbmQgcHJvZHVjZXMgYSBbb2JqZWN0IERvY3VtZW50XQotVGhlIGNpcmNsZSBlbGVtZW50IGlz
IG9mIHR5cGUgW29iamVjdCBTVkdDaXJjbGVFbGVtZW50XQotUEFTUzogQ291bGQgbm90IGluc2Vy
dCBTVkcgZWxlbWVudCBpbnRvIHRyZWUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1
c3RvbS9tYW51YWxseS1wYXJzZWQtZW1iZWRkZWQtc3ZnLWRpc2FsbG93ZWQtaW4tZGFzaGJvYXJk
Lmh0bWwgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL21hbnVhbGx5LXBhcnNlZC1lbWJlZGRlZC1z
dmctZGlzYWxsb3dlZC1pbi1kYXNoYm9hcmQuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggZTI5NzQzZC4uMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL21hbnVh
bGx5LXBhcnNlZC1lbWJlZGRlZC1zdmctZGlzYWxsb3dlZC1pbi1kYXNoYm9hcmQuaHRtbAorKysg
L2Rldi9udWxsCkBAIC0xLDQ5ICswLDAgQEAKLTxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9y
Zy8xOTk5L3hodG1sIj4KLSAgICA8aGVhZD4KLSAgICAgICAgPHRpdGxlPk1ha2Ugc3VyZSBlbWJl
ZGRlZCBTVkcgaXMgdHVybmVkIG9mZiBpbiBkYXNoYm9hcmQ8L3RpdGxlPgotICAgIDwvaGVhZD4K
LSAgICA8c2NyaXB0PgotICAgICAgICBmdW5jdGlvbiBkZWJ1ZyhzdHIpIHsKLSAgICAgICAgICAg
IHZhciBjID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnNvbGUnKQotICAgICAgICAgICAg
Yy5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShzdHIgKyAnXG4nKSk7Ci0gICAg
ICAgIH0KLSAgICAgICAgCi0gICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIp
IHsKLSAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLnNldFVzZURhc2hib2FyZENvbXBh
dGliaWxpdHlNb2RlKHRydWUpOwotICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVt
cEFzVGV4dCgpOwotICAgICAgICB9Ci0gICAgPC9zY3JpcHQ+Ci0gICAgPGJvZHk+Ci0gICAgICAg
IDxwPlRoaXMgdGVzdCBtYWtlcyBzdXJlIHdlIGNhbid0IGFkZCBtYW51YWxseSBwYXJzZWQgU1ZH
IHRvIHRoZSBkb2N1bWVudCB3aGVuIGluIGRhc2hib2FyZCBjb21wYXRpYmlsaXR5IG1vZGUuICBJ
dCBjYW4gbm90IGJlIHRlc3RlZCBtYW51YWxseS48L3A+Ci0gICAgICAgIDxkaXYgaWQ9InRhcmdl
dERpdiI+PC9kaXY+Ci0gICAgICAgIDxwcmUgaWQ9ImNvbnNvbGUiPjwvcHJlPiAKLSAgICAgICAg
PHNjcmlwdD4KLSAgICAgICAgICAgIHZhciBkb2N1bWVudFN0cmluZyA9ICc8aHRtbCB4bWxucz0i
aHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+JyArCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAnPGJvZHk+JyArCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAn
PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0MDAiIGhlaWdo
dD0iNDAwIj4nICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8Y2lyY2xlIGlk
PSJzdmdDaXJjbGUiIGN4PSI1MCIgY3k9IjUwIiByPSI1MCIgZmlsbD0icmVkIi8+PC9zdmc+JyAr
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPC9ib2R5PjwvaHRtbD4nOyAKLQot
ICAgICAgICAgICAgLy8gVXNlIERPTVBhcnNlciBpbnRlcmZhY2UgdG8gY3JlYXRlIGEgU1ZHRG9j
dW1lbnQgZGF0YXN0cnVjdHVyZSBmcm9tIFNWRyBjb250ZW50IHN0cmluZwotICAgICAgICAgICAg
dmFyIHBhcnNlciA9IG5ldyBET01QYXJzZXIoKTsKLSAgICAgICAgICAgIHZhciB4aHRtbERvY3Vt
ZW50ID0gcGFyc2VyLnBhcnNlRnJvbVN0cmluZyhkb2N1bWVudFN0cmluZywgImFwcGxpY2F0aW9u
L3hodG1sK3htbCIpOwotICAgICAgICAgCi0gICAgICAgICAgICBkZWJ1ZygiUGFyc2luZyBvZiB0
aGUgZG9jdW1lbnQgaXNuJ3QgcHJldmVudGVkIGFuZCBwcm9kdWNlcyBhICIgKyB4aHRtbERvY3Vt
ZW50KTsKLSAgICAgICAgICAgIGRlYnVnKCJUaGUgY2lyY2xlIGVsZW1lbnQgaXMgb2YgdHlwZSAi
ICsgeGh0bWxEb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc3ZnQ2lyY2xlJykpOwotICAgICAgICAg
ICAgCi0gICAgICAgICAgICAvLyBJbXBvcnQgU1ZHIGVsZW1lbnQgaW50byB0cmVlLgotICAgICAg
ICAgICAgdmFyIGltcG9ydGVkTm9kZSA9IG51bGw7Ci0gICAgICAgICAgICB0cnkgewotICAgICAg
ICAgICAgICAgIGltcG9ydGVkTm9kZSA9IGRvY3VtZW50LmltcG9ydE5vZGUoeGh0bWxEb2N1bWVu
dC5maXJzdENoaWxkLCB0cnVlKTsKLSAgICAgICAgICAgIH0gY2F0Y2goZSkgewotICAgICAgICAg
ICAgfQotICAgICAgICAgICAgCi0gICAgICAgICAgICBpZiAoaW1wb3J0ZWROb2RlKSB7Ci0gICAg
ICAgICAgICAgICAgZGVidWcoIkZBSUw6IE1hbmFnZWQgdG8gaW5zZXJ0IFNWRyBlbGVtZW50IGlu
dG8gdHJlZSIpOwotICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0YXJn
ZXREaXYnKS5hcHBlbmRDaGlsZChpbXBvcnRlZE5vZGUpOwotICAgICAgICAgICAgfSBlbHNlIHsK
LSAgICAgICAgICAgICAgICBkZWJ1ZygiUEFTUzogQ291bGQgbm90IGluc2VydCBTVkcgZWxlbWVu
dCBpbnRvIHRyZWUiKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgPC9zY3JpcHQ+Ci0gICAgPC9i
b2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9tYW51YWxs
eS1wYXJzZWQtc3ZnLWFsbG93ZWQtaW4tZGFzaGJvYXJkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL3N2Zy9jdXN0b20vbWFudWFsbHktcGFyc2VkLXN2Zy1hbGxvd2VkLWluLWRhc2hib2FyZC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjZjNDYwZQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vbWFudWFsbHktcGFyc2Vk
LXN2Zy1hbGxvd2VkLWluLWRhc2hib2FyZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitU
aGlzIHRlc3QgbWFrZXMgc3VyZSB3ZSBjYW4gYWRkIG1hbnVhbGx5IHBhcnNlZCBTVkcgdG8gdGhl
IGRvY3VtZW50IHdoZW4gaW4gZGFzaGJvYXJkIGNvbXBhdGliaWxpdHkgbW9kZS4gSXQgY2FuIG5v
dCBiZSB0ZXN0ZWQgbWFudWFsbHkuCisKK1BhcnNpbmcgb2YgdGhlIGRvY3VtZW50IGlzbid0IHBy
ZXZlbnRlZCBhbmQgcHJvZHVjZXMgYSBbb2JqZWN0IFNWR0RvY3VtZW50XQorUEFTUzogTWFuYWdl
ZCB0byBpbnNlcnQgU1ZHIGVsZW1lbnQgaW50byB0cmVlCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3N2Zy9jdXN0b20vbWFudWFsbHktcGFyc2VkLXN2Zy1hbGxvd2VkLWluLWRhc2hib2FyZC5o
dG1sIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9tYW51YWxseS1wYXJzZWQtc3ZnLWFsbG93ZWQt
aW4tZGFzaGJvYXJkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWYw
NWI1NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vbWFudWFsbHkt
cGFyc2VkLXN2Zy1hbGxvd2VkLWluLWRhc2hib2FyZC5odG1sCkBAIC0wLDAgKzEsNDUgQEAKKzxo
dG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPHRpdGxlPk1ha2Ugc3VyZSBlbWJlZGRlZCBTVkcgaXMgdHVybmVkIG9uIGluIGRhc2hi
b2FyZDwvdGl0bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGZ1bmN0aW9u
IGRlYnVnKHN0cikgeworICAgICAgICAgICAgdmFyIGMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgnY29uc29sZScpCisgICAgICAgICAgICBjLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRl
eHROb2RlKHN0ciArICdcbicpKTsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgaWYgKHdp
bmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIuc2V0VXNlRGFzaGJvYXJkQ29tcGF0aWJpbGl0eU1vZGUodHJ1ZSk7CisgICAgICAgICAg
ICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgICAgIH0KKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPHA+VGhpcyB0ZXN0IG1ha2VzIHN1cmUgd2UgY2Fu
IGFkZCBtYW51YWxseSBwYXJzZWQgU1ZHIHRvIHRoZSBkb2N1bWVudCB3aGVuIGluIGRhc2hib2Fy
ZCBjb21wYXRpYmlsaXR5IG1vZGUuICBJdCBjYW4gbm90IGJlIHRlc3RlZCBtYW51YWxseS48L3A+
CisgICAgICAgIDxkaXYgaWQ9InRhcmdldERpdiI+PC9kaXY+CisgICAgICAgIDxwcmUgaWQ9ImNv
bnNvbGUiPjwvcHJlPiAKKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgIHZhciBkb2N1bWVu
dFN0cmluZyA9ICc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9
IjEwMCIgaGVpZ2h0PSIxMDAiPicgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
JzxjaXJjbGUgY3g9IjUwIiBjeT0iNTAiIHI9IjUwIiBmaWxsPSJyZWQiLz48L3N2Zz4nOworCisg
ICAgICAgICAgICAvLyBVc2UgRE9NUGFyc2VyIGludGVyZmFjZSB0byBjcmVhdGUgYSBTVkdEb2N1
bWVudCBkYXRhc3RydWN0dXJlIGZyb20gU1ZHIGNvbnRlbnQgc3RyaW5nCisgICAgICAgICAgICB2
YXIgcGFyc2VyID0gbmV3IERPTVBhcnNlcigpOworICAgICAgICAgICAgdmFyIHN2Z0RvY3VtZW50
ID0gcGFyc2VyLnBhcnNlRnJvbVN0cmluZyhkb2N1bWVudFN0cmluZywgImltYWdlL3N2Zyt4bWwi
KTsKKworICAgICAgICAgICAgZGVidWcoIlBhcnNpbmcgb2YgdGhlIGRvY3VtZW50IGlzbid0IHBy
ZXZlbnRlZCBhbmQgcHJvZHVjZXMgYSAiICsgc3ZnRG9jdW1lbnQpOworICAgICAgICAgICAgCisg
ICAgICAgICAgICAvLyBJbXBvcnQgU1ZHIGVsZW1lbnQgaW50byB0cmVlLgorICAgICAgICAgICAg
dmFyIGltcG9ydGVkTm9kZSA9IG51bGw7CisgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAg
ICAgIGltcG9ydGVkTm9kZSA9IGRvY3VtZW50LmltcG9ydE5vZGUoc3ZnRG9jdW1lbnQuZmlyc3RD
aGlsZCwgdHJ1ZSk7CisgICAgICAgICAgICB9IGNhdGNoKGUpIHsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIAorICAgICAgICAgICAgaWYgKGltcG9ydGVkTm9kZSkgeworICAgICAgICAgICAg
ICAgIGRlYnVnKCJQQVNTOiBNYW5hZ2VkIHRvIGluc2VydCBTVkcgZWxlbWVudCBpbnRvIHRyZWUi
KTsKKyAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGFyZ2V0RGl2Jyku
YXBwZW5kQ2hpbGQoaW1wb3J0ZWROb2RlKTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAg
ICAgICAgICAgZGVidWcoIkZBSUw6IENvdWxkIG5vdCBpbnNlcnQgU1ZHIGVsZW1lbnQgaW50byB0
cmVlIik7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc2NyaXB0PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vbWFudWFsbHktcGFyc2Vk
LXN2Zy1kaXNhbGxvd2VkLWluLWRhc2hib2FyZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9z
dmcvY3VzdG9tL21hbnVhbGx5LXBhcnNlZC1zdmctZGlzYWxsb3dlZC1pbi1kYXNoYm9hcmQtZXhw
ZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiN2JkYjRjLi4wMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vbWFudWFsbHktcGFyc2VkLXN2Zy1kaXNhbGxv
d2VkLWluLWRhc2hib2FyZC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw1ICswLDAg
QEAKLVRoaXMgdGVzdCBtYWtlcyBzdXJlIHdlIGNhbid0IGFkZCBtYW51YWxseSBwYXJzZWQgU1ZH
IHRvIHRoZSBkb2N1bWVudCB3aGVuIGluIGRhc2hib2FyZCBjb21wYXRpYmlsaXR5IG1vZGUuIEl0
IGNhbiBub3QgYmUgdGVzdGVkIG1hbnVhbGx5LgotCi1QYXJzaW5nIG9mIHRoZSBkb2N1bWVudCBp
c24ndCBwcmV2ZW50ZWQgYW5kIHByb2R1Y2VzIGEgW29iamVjdCBTVkdEb2N1bWVudF0KLVBBU1M6
IENvdWxkIG5vdCBpbnNlcnQgU1ZHIGVsZW1lbnQgaW50byB0cmVlCi0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3N2Zy9jdXN0b20vbWFudWFsbHktcGFyc2VkLXN2Zy1kaXNhbGxvd2VkLWluLWRh
c2hib2FyZC5odG1sIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9tYW51YWxseS1wYXJzZWQtc3Zn
LWRpc2FsbG93ZWQtaW4tZGFzaGJvYXJkLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IGU5ODA5NzEuLjAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9tYW51YWxs
eS1wYXJzZWQtc3ZnLWRpc2FsbG93ZWQtaW4tZGFzaGJvYXJkLmh0bWwKKysrIC9kZXYvbnVsbApA
QCAtMSw0NSArMCwwIEBACi08aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRt
bCI+Ci0gICAgPGhlYWQ+Ci0gICAgICAgIDx0aXRsZT5NYWtlIHN1cmUgZW1iZWRkZWQgU1ZHIGlz
IHR1cm5lZCBvZmYgaW4gZGFzaGJvYXJkPC90aXRsZT4KLSAgICA8L2hlYWQ+Ci0gICAgPHNjcmlw
dD4KLSAgICAgICAgZnVuY3Rpb24gZGVidWcoc3RyKSB7Ci0gICAgICAgICAgICB2YXIgYyA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb25zb2xlJykKLSAgICAgICAgICAgIGMuYXBwZW5kQ2hp
bGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoc3RyICsgJ1xuJykpOwotICAgICAgICB9Ci0gICAg
ICAgIAotICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0gICAgICAg
ICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5zZXRVc2VEYXNoYm9hcmRDb21wYXRpYmlsaXR5TW9k
ZSh0cnVlKTsKLSAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsK
LSAgICAgICAgfQotICAgIDwvc2NyaXB0PgotICAgIDxib2R5PgotICAgICAgICA8cD5UaGlzIHRl
c3QgbWFrZXMgc3VyZSB3ZSBjYW4ndCBhZGQgbWFudWFsbHkgcGFyc2VkIFNWRyB0byB0aGUgZG9j
dW1lbnQgd2hlbiBpbiBkYXNoYm9hcmQgY29tcGF0aWJpbGl0eSBtb2RlLiAgSXQgY2FuIG5vdCBi
ZSB0ZXN0ZWQgbWFudWFsbHkuPC9wPgotICAgICAgICA8ZGl2IGlkPSJ0YXJnZXREaXYiPjwvZGl2
PgotICAgICAgICA8cHJlIGlkPSJjb25zb2xlIj48L3ByZT4gCi0gICAgICAgIDxzY3JpcHQ+Ci0g
ICAgICAgICAgICB2YXIgZG9jdW1lbnRTdHJpbmcgPSAnPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53
My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIj4nICsKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICc8Y2lyY2xlIGN4PSI1MCIgY3k9IjUwIiByPSI1MCIgZmls
bD0icmVkIi8+PC9zdmc+JzsKLQotICAgICAgICAgICAgLy8gVXNlIERPTVBhcnNlciBpbnRlcmZh
Y2UgdG8gY3JlYXRlIGEgU1ZHRG9jdW1lbnQgZGF0YXN0cnVjdHVyZSBmcm9tIFNWRyBjb250ZW50
IHN0cmluZwotICAgICAgICAgICAgdmFyIHBhcnNlciA9IG5ldyBET01QYXJzZXIoKTsKLSAgICAg
ICAgICAgIHZhciBzdmdEb2N1bWVudCA9IHBhcnNlci5wYXJzZUZyb21TdHJpbmcoZG9jdW1lbnRT
dHJpbmcsICJpbWFnZS9zdmcreG1sIik7Ci0KLSAgICAgICAgICAgIGRlYnVnKCJQYXJzaW5nIG9m
IHRoZSBkb2N1bWVudCBpc24ndCBwcmV2ZW50ZWQgYW5kIHByb2R1Y2VzIGEgIiArIHN2Z0RvY3Vt
ZW50KTsKLSAgICAgICAgICAgIAotICAgICAgICAgICAgLy8gSW1wb3J0IFNWRyBlbGVtZW50IGlu
dG8gdHJlZS4KLSAgICAgICAgICAgIHZhciBpbXBvcnRlZE5vZGUgPSBudWxsOwotICAgICAgICAg
ICAgdHJ5IHsKLSAgICAgICAgICAgICAgICBpbXBvcnRlZE5vZGUgPSBkb2N1bWVudC5pbXBvcnRO
b2RlKHN2Z0RvY3VtZW50LmZpcnN0Q2hpbGQsIHRydWUpOwotICAgICAgICAgICAgfSBjYXRjaChl
KSB7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIGlmIChpbXBvcnRl
ZE5vZGUpIHsKLSAgICAgICAgICAgICAgICBkZWJ1ZygiRkFJTDogTWFuYWdlZCB0byBpbnNlcnQg
U1ZHIGVsZW1lbnQgaW50byB0cmVlIik7Ci0gICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoJ3RhcmdldERpdicpLmFwcGVuZENoaWxkKGltcG9ydGVkTm9kZSk7Ci0gICAgICAg
ICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIGRlYnVnKCJQQVNTOiBDb3VsZCBub3QgaW5z
ZXJ0IFNWRyBlbGVtZW50IGludG8gdHJlZSIpOwotICAgICAgICAgICAgfQotICAgICAgICA8L3Nj
cmlwdD4KLSAgICA8L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcv
Y3VzdG9tL3N2Zy1hbGxvd2VkLWluLWRhc2hib2FyZC1vYmplY3QtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvc3ZnL2N1c3RvbS9zdmctYWxsb3dlZC1pbi1kYXNoYm9hcmQtb2JqZWN0LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yODM1NWRkCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9zdmctYWxsb3dlZC1pbi1kYXNo
Ym9hcmQtb2JqZWN0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDggQEAKK1RoaXMgdGVzdCBtYWtl
cyBzdXJlIHdlIGNhbiBvcGVuIFNWRyBkb2N1bWVudHMgaW4gRGFzaGJvYXJkIGNvbXBhdGliaWxp
dHkgbW9kZS4gSXQgY2FuIG5vdCBiZSB0ZXN0ZWQgbWFudWFsbHkuCisKKyAgICAKK1BBU1M6IExv
YWRlZCBTVkcgZG9jdW1lbnQgaW4gPG9iamVjdD4gdGFnLgorUEFTUzogTG9hZGVkIFNWRyBkb2N1
bWVudCBpbiA8ZWxlbWVudD4gdGFnLgorUEFTUzogTG9hZGVkIFNWRyBkb2N1bWVudCBpbiA8aWZy
YW1lPiB0YWcuCitQQVNTOiBTVkcgRG9jdW1lbnRzIHdlcmUgbG9hZGVkCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3N2Zy9jdXN0b20vc3ZnLWFsbG93ZWQtaW4tZGFzaGJvYXJkLW9iamVjdC5o
dG1sIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9zdmctYWxsb3dlZC1pbi1kYXNoYm9hcmQtb2Jq
ZWN0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2RmNmY5YQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vc3ZnLWFsbG93ZWQtaW4tZGFz
aGJvYXJkLW9iamVjdC5odG1sCkBAIC0wLDAgKzEsNzAgQEAKKzxodG1sPgorPGJvZHkgb25sb2Fk
PSJ0aW1lT3V0KCkiPgorPHA+VGhpcyB0ZXN0IG1ha2VzIHN1cmUgd2UgY2FuIG9wZW4gU1ZHIGRv
Y3VtZW50cyBpbiBEYXNoYm9hcmQgY29tcGF0aWJpbGl0eSBtb2RlLiAgSXQgY2FuIG5vdCBiZSB0
ZXN0ZWQgbWFudWFsbHkuPC9wPgorPHNjcmlwdD4KKyAgICBpZiAod2luZG93LmxheW91dFRlc3RD
b250cm9sbGVyKSB7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLnNldFVzZURhc2hib2Fy
ZENvbXBhdGliaWxpdHlNb2RlKHRydWUpOworICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5k
dW1wQXNUZXh0KCk7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUo
KTsKKyAgICB9CisgICAgCisgICAgZnVuY3Rpb24gZGVidWcoc3RyKSB7CisgICAgICAgIHZhciBj
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnNvbGUnKQorICAgICAgICBjLmFwcGVuZENo
aWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKHN0ciArICdcbicpKTsKKyAgICB9CisgICAgCisg
ICAgZnVuY3Rpb24gdGltZU91dCgpIHsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIHZhciBm
YWlsZWQgPSBmYWxzZTsKKyAgICAgICAgICAgIHZhciBzdmdEb2MgPSBudWxsOworICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICBzdmdEb2MgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgnc3ZnT2JqZWN0JykuZ2V0U1ZHRG9jdW1lbnQoKTsKKyAgICAgICAgICAgIH0gY2F0Y2ggKGUp
IHsKKyAgICAgICAgICAgICAgICBzdmdEb2MgPSBudWxsOworICAgICAgICAgICAgfQorICAgICAg
ICAgICAgaWYgKHN2Z0RvYykgeworICAgICAgICAgICAgICAgIGRlYnVnKCJQQVNTOiBMb2FkZWQg
U1ZHIGRvY3VtZW50IGluIDxvYmplY3Q+IHRhZy4iKTsgCisgICAgICAgICAgICAgICAgZmFpbGVk
ID0gdHJ1ZTsKKyAgICAgICAgICAgIH0gZWxzZSAKKyAgICAgICAgICAgICAgICBkZWJ1ZygiRkFJ
TDogRGlkIG5vdCBsb2FkIFNWRyBkb2N1bWVudCBpbiA8b2JqZWN0PiB0YWciKTsKKyAgICAgICAg
ICAgIAorICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICBzdmdEb2MgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgnc3ZnRW1iZWQnKS5nZXRTVkdEb2N1bWVudCgpOworICAgICAgICAg
ICAgfSBjYXRjaCAoZSkgeworICAgICAgICAgICAgICAgIHN2Z0RvYyA9IG51bGw7CisgICAgICAg
ICAgICB9CisgICAgICAgICAgICBpZiAoc3ZnRG9jKSB7CisgICAgICAgICAgICAgICAgZGVidWco
IlBBU1M6IExvYWRlZCBTVkcgZG9jdW1lbnQgaW4gPGVsZW1lbnQ+IHRhZy4iKTsgCisgICAgICAg
ICAgICAgICAgZmFpbGVkID0gdHJ1ZTsKKyAgICAgICAgICAgIH0gZWxzZSAKKyAgICAgICAgICAg
ICAgICBkZWJ1ZygiRkFJTDogRGlkIG5vdCBsb2FkIFNWRyBkb2N1bWVudCBpbiA8ZWxlbWVudD4g
dGFnIik7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
c3ZnRG9jID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3N2Z0lGcmFtZScpLmdldFNWR0RvY3Vt
ZW50KCk7CisgICAgICAgICAgICB9IGNhdGNoIChlKSB7CisgICAgICAgICAgICAgICAgc3ZnRG9j
ID0gbnVsbDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmIChzdmdEb2MpIHsKKyAgICAg
ICAgICAgICAgICBkZWJ1ZygiUEFTUzogTG9hZGVkIFNWRyBkb2N1bWVudCBpbiA8aWZyYW1lPiB0
YWcuIik7IAorICAgICAgICAgICAgICAgIGZhaWxlZCA9IHRydWU7CisgICAgICAgICAgICB9IGVs
c2UgCisgICAgICAgICAgICAgICAgZGVidWcoIkZBSUw6IERpZCBub3QgbG9hZCBTVkcgZG9jdW1l
bnQgaW4gPGlmcmFtZT4gdGFnIik7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIGlmIChmYWls
ZWQpCisgICAgICAgICAgICAgICAgZGVidWcoIlBBU1M6IFNWRyBEb2N1bWVudHMgd2VyZSBsb2Fk
ZWQiKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBkZWJ1ZygiRkFJTDogU1ZH
IERvY3VtZW50cyB3ZXJlIG5vdCBsb2FkZWQiKTsKKyAgICAgICAgfSBjYXRjaCAoZSkgeworICAg
ICAgICAgICAgZGVidWcoIkZBSUw6IEV4Y2VwdGlvbiB0aHJvd246ICIgKyBlKQorICAgICAgICB9
CisgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIAorICAgICAgICAgICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworICAgIH0KKzwvc2NyaXB0PgorICAg
IAorICAgPG9iamVjdCBpZD0ic3ZnT2JqZWN0IiBkYXRhPSIuLi9XM0MtU1ZHLTEuMS90ZXh0LXdz
LTAyLXQuc3ZnIiB3aWR0aD0iMTAwcHgiIGhlaWdodD0iMTAwcHgiPjwvb2JqZWN0PgorICAgPGVt
YmVkIGlkPSJzdmdFbWJlZCIgc3JjPSIuLi9XM0MtU1ZHLTEuMS90ZXh0LXdzLTAyLXQuc3ZnIiB3
aWR0aD0iMTAwcHgiIGhlaWdodD0iMTAwcHgiPjwvZW1iZWQ+CisgICA8aWZyYW1lIGlkPSJzdmdJ
RnJhbWUiIHNyYz0iLi4vVzNDLVNWRy0xLjEvdGV4dC13cy0wMi10LnN2ZyIgd2lkdGg9IjEwMHB4
IiBoZWlnaHQ9IjEwMHB4Ij48L2lmcmFtZT4KKyAgIDxwcmUgaWQ9ImNvbnNvbGUiPjwvcHJlPiAg
ICAKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20v
c3ZnLWRpc2FsbG93ZWQtaW4tZGFzaGJvYXJkLW9iamVjdC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9zdmcvY3VzdG9tL3N2Zy1kaXNhbGxvd2VkLWluLWRhc2hib2FyZC1vYmplY3QtZXhwZWN0
ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyMDg5ZGMwLi4wMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vc3ZnLWRpc2FsbG93ZWQtaW4tZGFzaGJvYXJkLW9i
amVjdC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw4ICswLDAgQEAKLVRoaXMgdGVz
dCBtYWtlcyBzdXJlIHdlIGNhbid0IG9wZW4gU1ZHIGRvY3VtZW50cyBpbiBEYXNoYm9hcmQgY29t
cGF0aWJpbGl0eSBtb2RlLiBJdCBjYW4gbm90IGJlIHRlc3RlZCBtYW51YWxseS4KLQotICAgIAot
UEFTUzogRGlkIG5vdCBsb2FkIFNWRyBkb2N1bWVudCBpbiA8b2JqZWN0PiB0YWcKLVBBU1M6IERp
ZCBub3QgbG9hZCBTVkcgZG9jdW1lbnQgaW4gPGVsZW1lbnQ+IHRhZwotUEFTUzogRGlkIG5vdCBs
b2FkIFNWRyBkb2N1bWVudCBpbiA8aWZyYW1lPiB0YWcKLVBBU1M6IFNWRyBEb2N1bWVudHMgd2Vy
ZSBub3QgbG9hZGVkCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vc3ZnLWRp
c2FsbG93ZWQtaW4tZGFzaGJvYXJkLW9iamVjdC5odG1sIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3Rv
bS9zdmctZGlzYWxsb3dlZC1pbi1kYXNoYm9hcmQtb2JqZWN0Lmh0bWwKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGM4MDgwMzMuLjAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2N1
c3RvbS9zdmctZGlzYWxsb3dlZC1pbi1kYXNoYm9hcmQtb2JqZWN0Lmh0bWwKKysrIC9kZXYvbnVs
bApAQCAtMSw3MSArMCwwIEBACi08aHRtbD4KLTxib2R5PgotPHA+VGhpcyB0ZXN0IG1ha2VzIHN1
cmUgd2UgY2FuJ3Qgb3BlbiBTVkcgZG9jdW1lbnRzIGluIERhc2hib2FyZCBjb21wYXRpYmlsaXR5
IG1vZGUuICBJdCBjYW4gbm90IGJlIHRlc3RlZCBtYW51YWxseS48L3A+Ci08c2NyaXB0PgotICAg
IGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKLSAgICAgICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIuc2V0VXNlRGFzaGJvYXJkQ29tcGF0aWJpbGl0eU1vZGUodHJ1ZSk7Ci0gICAgICAg
IGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKLSAgICAgICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOwotICAgIH0KLSAgICAKLSAgICBmdW5jdGlvbiBkZWJ1
ZyhzdHIpIHsKLSAgICAgICAgdmFyIGMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29uc29s
ZScpCi0gICAgICAgIGMuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoc3RyICsg
J1xuJykpOwotICAgIH0KLSAgICAKLSAgICBzZXRUaW1lb3V0KCJ0aW1lT3V0KCkiLCA1MDApOwot
ICAgIGZ1bmN0aW9uIHRpbWVPdXQoKSB7Ci0gICAgICAgIHRyeSB7Ci0gICAgICAgICAgICB2YXIg
ZmFpbGVkID0gZmFsc2U7Ci0gICAgICAgICAgICB2YXIgc3ZnRG9jID0gbnVsbDsKLSAgICAgICAg
ICAgIHRyeSB7Ci0gICAgICAgICAgICAgICAgc3ZnRG9jID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ3N2Z09iamVjdCcpLmdldFNWR0RvY3VtZW50KCk7Ci0gICAgICAgICAgICB9IGNhdGNoIChl
KSB7Ci0gICAgICAgICAgICAgICAgc3ZnRG9jID0gbnVsbDsKLSAgICAgICAgICAgIH0KLSAgICAg
ICAgICAgIGlmIChzdmdEb2MpIHsKLSAgICAgICAgICAgICAgICBkZWJ1ZygiRkFJTDogTG9hZGVk
IFNWRyBkb2N1bWVudCBpbiA8b2JqZWN0PiB0YWcuIik7IAotICAgICAgICAgICAgICAgIGZhaWxl
ZCA9IHRydWU7Ci0gICAgICAgICAgICB9IGVsc2UgCi0gICAgICAgICAgICAgICAgZGVidWcoIlBB
U1M6IERpZCBub3QgbG9hZCBTVkcgZG9jdW1lbnQgaW4gPG9iamVjdD4gdGFnIik7Ci0gICAgICAg
ICAgICAKLSAgICAgICAgICAgIHRyeSB7Ci0gICAgICAgICAgICAgICAgc3ZnRG9jID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ3N2Z0VtYmVkJykuZ2V0U1ZHRG9jdW1lbnQoKTsKLSAgICAgICAg
ICAgIH0gY2F0Y2ggKGUpIHsKLSAgICAgICAgICAgICAgICBzdmdEb2MgPSBudWxsOwotICAgICAg
ICAgICAgfQotICAgICAgICAgICAgaWYgKHN2Z0RvYykgewotICAgICAgICAgICAgICAgIGRlYnVn
KCJGQUlMOiBMb2FkZWQgU1ZHIGRvY3VtZW50IGluIDxlbGVtZW50PiB0YWcuIik7IAotICAgICAg
ICAgICAgICAgIGZhaWxlZCA9IHRydWU7Ci0gICAgICAgICAgICB9IGVsc2UgCi0gICAgICAgICAg
ICAgICAgZGVidWcoIlBBU1M6IERpZCBub3QgbG9hZCBTVkcgZG9jdW1lbnQgaW4gPGVsZW1lbnQ+
IHRhZyIpOwotICAgICAgICAgICAgCi0gICAgICAgICAgICB0cnkgewotICAgICAgICAgICAgICAg
IHN2Z0RvYyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzdmdJRnJhbWUnKS5nZXRTVkdEb2N1
bWVudCgpOwotICAgICAgICAgICAgfSBjYXRjaCAoZSkgewotICAgICAgICAgICAgICAgIHN2Z0Rv
YyA9IG51bGw7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBpZiAoc3ZnRG9jKSB7Ci0gICAg
ICAgICAgICAgICAgZGVidWcoIkZBSUw6IExvYWRlZCBTVkcgZG9jdW1lbnQgaW4gPGlmcmFtZT4g
dGFnLiIpOyAKLSAgICAgICAgICAgICAgICBmYWlsZWQgPSB0cnVlOwotICAgICAgICAgICAgfSBl
bHNlIAotICAgICAgICAgICAgICAgIGRlYnVnKCJQQVNTOiBEaWQgbm90IGxvYWQgU1ZHIGRvY3Vt
ZW50IGluIDxpZnJhbWU+IHRhZyIpOwotICAgICAgICAgICAgCi0gICAgICAgICAgICBpZiAoZmFp
bGVkKQotICAgICAgICAgICAgICAgIGRlYnVnKCJGQUlMOiBTVkcgRG9jdW1lbnRzIHdlcmUgbG9h
ZGVkIik7Ci0gICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgZGVidWcoIlBBU1M6IFNW
RyBEb2N1bWVudHMgd2VyZSBub3QgbG9hZGVkIik7Ci0gICAgICAgIH0gY2F0Y2ggKGUpIHsKLSAg
ICAgICAgICAgIGRlYnVnKCJGQUlMOiBFeGNlcHRpb24gdGhyb3duOiAiICsgZSkKLSAgICAgICAg
fQotICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSAKLSAgICAgICAgICAg
IGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKLSAgICB9Ci08L3NjcmlwdD4KLSAg
ICAKLSAgIDxvYmplY3QgaWQ9InN2Z09iamVjdCIgZGF0YT0iLi4vVzNDLVNWRy0xLjEvdGV4dC13
cy0wMi10LnN2ZyIgd2lkdGg9IjEwMHB4IiBoZWlnaHQ9IjEwMHB4Ij48L29iamVjdD4KLSAgIDxl
bWJlZCBpZD0ic3ZnRWxlbWVudCIgc3JjPSIuLi9XM0MtU1ZHLTEuMS90ZXh0LXdzLTAyLXQuc3Zn
IiB3aWR0aD0iMTAwcHgiIGhlaWdodD0iMTAwcHgiPjwvZW1iZWQ+Ci0gICA8aWZyYW1lIGlkPSJz
dmdJRnJhbWUiIHNyYz0iLi4vVzNDLVNWRy0xLjEvdGV4dC13cy0wMi10LnN2ZyIgd2lkdGg9IjEw
MHB4IiBoZWlnaHQ9IjEwMHB4Ij48L2lmcmFtZT4KLSAgIDxwcmUgaWQ9ImNvbnNvbGUiPjwvcHJl
PiAgICAKLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA2YmMwYzhkLi40NGY2ZDk5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIwMTItMDItMDkgIFRpbSBIb3J0b24gIDx0aW1v
dGh5X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgU1ZHIHNob3VsZCBiZSBzdXBwb3J0ZWQg
aW4gRGFzaGJvYXJkIGNvbXBhdGliaWxpdHkgbW9kZQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgzMjIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU4
NjEyNzg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
RW5hYmxlIFNWRyBlbGVtZW50cyBpbnNpZGUgRGFzaGJvYXJkLCBtb3JlIG9yIGxlc3MgcmV2ZXJ0
aW5nIHIyMTQxOC4KKworICAgICAgICBUZXN0czogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9z
dmctY3JlYXRlZC1ieS14aHItYWxsb3dlZC1pbi1kYXNoYm9hcmQuaHRtbAorICAgICAgICAgICAg
ICAgc3ZnL2N1c3RvbS9lbWJlZGRlZC1zdmctYWxsb3dlZC1pbi1kYXNoYm9hcmQueG1sCisgICAg
ICAgICAgICAgICBzdmcvY3VzdG9tL21hbnVhbGx5LXBhcnNlZC1lbWJlZGRlZC1zdmctYWxsb3dl
ZC1pbi1kYXNoYm9hcmQuaHRtbAorICAgICAgICAgICAgICAgc3ZnL2N1c3RvbS9tYW51YWxseS1w
YXJzZWQtc3ZnLWFsbG93ZWQtaW4tZGFzaGJvYXJkLmh0bWwKKyAgICAgICAgICAgICAgIHN2Zy9j
dXN0b20vc3ZnLWFsbG93ZWQtaW4tZGFzaGJvYXJkLW9iamVjdC5odG1sCisKKyAgICAgICAgKiBk
b20vRE9NSW1wbGVtZW50YXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6RE9NSW1wbGVtZW50
YXRpb246OmNyZWF0ZURvY3VtZW50KToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmltcG9ydE5vZGUpOgorICAgICAgICAqIGRvbS9tYWtl
X25hbWVzLnBsOgorICAgICAgICAocHJpbnRGYWN0b3J5Q3BwRmlsZSk6CisKIDIwMTItMDItMDgg
IERpcmsgU2NodWx6ZSAgPGtyaXRAd2Via2l0Lm9yZz4KIAogICAgICAgICB2aWV3Qm94IG9uIG5l
c3RlZCBTVkcgY2F1c2VzIHdyb25nIGNvbnRlbnQgc2l6ZSBmb3IgcmVsYXRpdmUgdmFsdWVzCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NSW1wbGVtZW50YXRpb24uY3BwIGIvU291
cmNlL1dlYkNvcmUvZG9tL0RPTUltcGxlbWVudGF0aW9uLmNwcAppbmRleCAzMzEwNDA5Li5jYTBi
ZTNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NSW1wbGVtZW50YXRpb24uY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01JbXBsZW1lbnRhdGlvbi5jcHAKQEAgLTQwOCwx
MyArNDA4LDggQEAgUGFzc1JlZlB0cjxEb2N1bWVudD4gRE9NSW1wbGVtZW50YXRpb246OmNyZWF0
ZURvY3VtZW50KGNvbnN0IFN0cmluZyYgdHlwZSwgRnJhbWUKICAgICAgICAgcmV0dXJuIFRleHRE
b2N1bWVudDo6Y3JlYXRlKGZyYW1lLCB1cmwpOwogCiAjaWYgRU5BQkxFKFNWRykKLSAgICBpZiAo
dHlwZSA9PSAiaW1hZ2Uvc3ZnK3htbCIpIHsKLSNpZiBFTkFCTEUoREFTSEJPQVJEX1NVUFBPUlQp
ICAgIAotICAgICAgICBTZXR0aW5ncyogc2V0dGluZ3MgPSBmcmFtZSA/IGZyYW1lLT5zZXR0aW5n
cygpIDogMDsKLSAgICAgICAgaWYgKCFzZXR0aW5ncyB8fCAhc2V0dGluZ3MtPnVzZXNEYXNoYm9h
cmRCYWNrd2FyZENvbXBhdGliaWxpdHlNb2RlKCkpCi0jZW5kaWYKLSAgICAgICAgICAgIHJldHVy
biBTVkdEb2N1bWVudDo6Y3JlYXRlKGZyYW1lLCB1cmwpOwotICAgIH0KKyAgICBpZiAodHlwZSA9
PSAiaW1hZ2Uvc3ZnK3htbCIpCisgICAgICAgIHJldHVybiBTVkdEb2N1bWVudDo6Y3JlYXRlKGZy
YW1lLCB1cmwpOwogI2VuZGlmCiAgICAgaWYgKGlzWE1MTUlNRVR5cGUodHlwZSkpCiAgICAgICAg
IHJldHVybiBEb2N1bWVudDo6Y3JlYXRlKGZyYW1lLCB1cmwpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5j
cHAKaW5kZXggMzlhOTdiMi4uNDc4YWM5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L0RvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC04
MjMsMTEgKzgyMyw3IEBAIFBhc3NSZWZQdHI8Tm9kZT4gRG9jdW1lbnQ6OmltcG9ydE5vZGUoTm9k
ZSogaW1wb3J0ZWROb2RlLCBib29sIGRlZXAsIEV4Y2VwdGlvbkNvCiB7CiAgICAgZWMgPSAwOwog
ICAgIAotICAgIGlmICghaW1wb3J0ZWROb2RlCi0jaWYgRU5BQkxFKFNWRykgJiYgRU5BQkxFKERB
U0hCT0FSRF9TVVBQT1JUKQotICAgICAgICB8fCAoaW1wb3J0ZWROb2RlLT5pc1NWR0VsZW1lbnQo
KSAmJiBwYWdlKCkgJiYgcGFnZSgpLT5zZXR0aW5ncygpLT51c2VzRGFzaGJvYXJkQmFja3dhcmRD
b21wYXRpYmlsaXR5TW9kZSgpKQotI2VuZGlmCi0gICAgICAgICkgeworICAgIGlmICghaW1wb3J0
ZWROb2RlKSB7CiAgICAgICAgIGVjID0gTk9UX1NVUFBPUlRFRF9FUlI7CiAgICAgICAgIHJldHVy
biAwOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9tYWtlX25hbWVzLnBs
IGIvU291cmNlL1dlYkNvcmUvZG9tL21ha2VfbmFtZXMucGwKaW5kZXggOTAxNTFlMS4uNWE1MTZh
OCAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL21ha2VfbmFtZXMucGwKKysrIGIvU291
cmNlL1dlYkNvcmUvZG9tL21ha2VfbmFtZXMucGwKQEAgLTg0OCw3ICs4NDgsNyBAQCBwcmludCBG
IDw8RU5ECiBFTkQKIDsKIAotaWYgKCRwYXJhbWV0ZXJze25hbWVzcGFjZX0gbmUgIkhUTUwiKSB7
CitpZiAoJHBhcmFtZXRlcnN7bmFtZXNwYWNlfSBuZSAiSFRNTCIgYW5kICRwYXJhbWV0ZXJze25h
bWVzcGFjZX0gbmUgIlNWRyIpIHsKIHByaW50IEYgPDxFTkQKICNpZiBFTkFCTEUoREFTSEJPQVJE
X1NVUFBPUlQpCiAgICAgU2V0dGluZ3MqIHNldHRpbmdzID0gZG9jdW1lbnQtPnNldHRpbmdzKCk7
Ci0tIAoxLjcuNy41IChBcHBsZSBHaXQtMjYpCgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>127866</attachid>
            <date>2012-02-20 16:18:29 -0800</date>
            <delta_ts>2012-02-24 11:24:36 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-78322-20120220161828.patch</filename>
            <type>text/plain</type>
            <size>36953</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA4MjYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDVjMmIwMGI5NmIxMjU5
NTI3MjBkNjRkZTkzZGE2NmNmYzBhMDk0My4uNzU2NmEyNWJhMzk2YTVmMDBiMDQxYWJlMTRlZjEy
ZTM1NGIyZThiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEyLTAyLTIwICBUaW0g
SG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgorCisgICAgICAgIFNWRyBzaG91bGQg
YmUgc3VwcG9ydGVkIGluIERhc2hib2FyZCBjb21wYXRpYmlsaXR5IG1vZGUKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc4MzIyCisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS81ODYxMjc4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEVuYWJsZSBTVkcgZWxlbWVudHMgaW5zaWRlIERhc2hib2FyZCwgbW9yZSBv
ciBsZXNzIHJldmVydGluZyByMjE0MTguCisKKyAgICAgICAgVGVzdHM6IGh0dHAvdGVzdHMveG1s
aHR0cHJlcXVlc3Qvc3ZnLWNyZWF0ZWQtYnkteGhyLWFsbG93ZWQtaW4tZGFzaGJvYXJkLmh0bWwK
KyAgICAgICAgICAgICAgIHN2Zy9jdXN0b20vZW1iZWRkZWQtc3ZnLWFsbG93ZWQtaW4tZGFzaGJv
YXJkLnhtbAorICAgICAgICAgICAgICAgc3ZnL2N1c3RvbS9tYW51YWxseS1wYXJzZWQtZW1iZWRk
ZWQtc3ZnLWFsbG93ZWQtaW4tZGFzaGJvYXJkLmh0bWwKKyAgICAgICAgICAgICAgIHN2Zy9jdXN0
b20vbWFudWFsbHktcGFyc2VkLXN2Zy1hbGxvd2VkLWluLWRhc2hib2FyZC5odG1sCisgICAgICAg
ICAgICAgICBzdmcvY3VzdG9tL3N2Zy1hbGxvd2VkLWluLWRhc2hib2FyZC1vYmplY3QuaHRtbAor
CisgICAgICAgICogZG9tL0RPTUltcGxlbWVudGF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkRPTUltcGxlbWVudGF0aW9uOjpjcmVhdGVEb2N1bWVudCk6CisgICAgICAgICogZG9tL0RvY3Vt
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjppbXBvcnROb2RlKToKKyAgICAg
ICAgKiBkb20vbWFrZV9uYW1lcy5wbDoKKyAgICAgICAgKHByaW50RmFjdG9yeUNwcEZpbGUpOgor
CiAyMDEyLTAyLTIwICBSYXltb25kIExpdSAgPHJheW1vbmQubGl1QGludGVsLmNvbT4KIAogICAg
ICAgICBIYXZlIHRoZSBEeW5hbWljc0NvbXByZXNzb3JOb2RlIHN1cHBvcnQgbXVsdGktY2hhbm5l
bCBkYXRhCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NSW1wbGVtZW50YXRpb24u
Y3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTUltcGxlbWVudGF0aW9uLmNwcAppbmRleCBhZTZk
MzY2NWM0MzA5ZDYyNmU0NTM0MTMzODFiZjI5OGQ4ZTZkNTZiLi40MDE5N2IzMjI1ZDE4MjBkMTk5
ZWViZWFkOWRkMWU3YjE4OWQ1MjQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRE9N
SW1wbGVtZW50YXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01JbXBsZW1lbnRh
dGlvbi5jcHAKQEAgLTM5OSwxMyArMzk5LDggQEAgUGFzc1JlZlB0cjxEb2N1bWVudD4gRE9NSW1w
bGVtZW50YXRpb246OmNyZWF0ZURvY3VtZW50KGNvbnN0IFN0cmluZyYgdHlwZSwgRnJhbWUKICAg
ICAgICAgcmV0dXJuIFRleHREb2N1bWVudDo6Y3JlYXRlKGZyYW1lLCB1cmwpOwogCiAjaWYgRU5B
QkxFKFNWRykKLSAgICBpZiAodHlwZSA9PSAiaW1hZ2Uvc3ZnK3htbCIpIHsKLSNpZiBFTkFCTEUo
REFTSEJPQVJEX1NVUFBPUlQpICAgIAotICAgICAgICBTZXR0aW5ncyogc2V0dGluZ3MgPSBmcmFt
ZSA/IGZyYW1lLT5zZXR0aW5ncygpIDogMDsKLSAgICAgICAgaWYgKCFzZXR0aW5ncyB8fCAhc2V0
dGluZ3MtPnVzZXNEYXNoYm9hcmRCYWNrd2FyZENvbXBhdGliaWxpdHlNb2RlKCkpCi0jZW5kaWYK
LSAgICAgICAgICAgIHJldHVybiBTVkdEb2N1bWVudDo6Y3JlYXRlKGZyYW1lLCB1cmwpOwotICAg
IH0KKyAgICBpZiAodHlwZSA9PSAiaW1hZ2Uvc3ZnK3htbCIpCisgICAgICAgIHJldHVybiBTVkdE
b2N1bWVudDo6Y3JlYXRlKGZyYW1lLCB1cmwpOwogI2VuZGlmCiAgICAgaWYgKGlzWE1MTUlNRVR5
cGUodHlwZSkpCiAgICAgICAgIHJldHVybiBEb2N1bWVudDo6Y3JlYXRlKGZyYW1lLCB1cmwpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggMGJhYTVhZjZiYWRhMTRlNzU2MTA3YTBhYmNiNTYz
ZTJkM2EyMTVjNi4uOTVhMTBlMDlmODAxMDljOGI5MjAyMDZhZjZmYjYxNjYyMjc4OWJhOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC04MzEsMTEgKzgzMSw3IEBAIFBhc3NSZWZQdHI8Tm9k
ZT4gRG9jdW1lbnQ6OmltcG9ydE5vZGUoTm9kZSogaW1wb3J0ZWROb2RlLCBib29sIGRlZXAsIEV4
Y2VwdGlvbkNvCiB7CiAgICAgZWMgPSAwOwogICAgIAotICAgIGlmICghaW1wb3J0ZWROb2RlCi0j
aWYgRU5BQkxFKFNWRykgJiYgRU5BQkxFKERBU0hCT0FSRF9TVVBQT1JUKQotICAgICAgICB8fCAo
aW1wb3J0ZWROb2RlLT5pc1NWR0VsZW1lbnQoKSAmJiBwYWdlKCkgJiYgcGFnZSgpLT5zZXR0aW5n
cygpLT51c2VzRGFzaGJvYXJkQmFja3dhcmRDb21wYXRpYmlsaXR5TW9kZSgpKQotI2VuZGlmCi0g
ICAgICAgICkgeworICAgIGlmICghaW1wb3J0ZWROb2RlKSB7CiAgICAgICAgIGVjID0gTk9UX1NV
UFBPUlRFRF9FUlI7CiAgICAgICAgIHJldHVybiAwOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9tYWtlX25hbWVzLnBsIGIvU291cmNlL1dlYkNvcmUvZG9tL21ha2VfbmFt
ZXMucGwKaW5kZXggOTAxNTFlMTFiNzhkYTc2NDVmODI2MWVlYWIzM2IzMTYwYWViOTI5Yy4uNWE1
MTZhOGNmYTNlNWQ0NWQ1ZGFhMDI5MTExZmJlMDU2MDA5ZjMzNiAxMDA3NTUKLS0tIGEvU291cmNl
L1dlYkNvcmUvZG9tL21ha2VfbmFtZXMucGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL21ha2Vf
bmFtZXMucGwKQEAgLTg0OCw3ICs4NDgsNyBAQCBwcmludCBGIDw8RU5ECiBFTkQKIDsKIAotaWYg
KCRwYXJhbWV0ZXJze25hbWVzcGFjZX0gbmUgIkhUTUwiKSB7CitpZiAoJHBhcmFtZXRlcnN7bmFt
ZXNwYWNlfSBuZSAiSFRNTCIgYW5kICRwYXJhbWV0ZXJze25hbWVzcGFjZX0gbmUgIlNWRyIpIHsK
IHByaW50IEYgPDxFTkQKICNpZiBFTkFCTEUoREFTSEJPQVJEX1NVUFBPUlQpCiAgICAgU2V0dGlu
Z3MqIHNldHRpbmdzID0gZG9jdW1lbnQtPnNldHRpbmdzKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZjBlYzRiZTA3NmVj
OTRmNmM2OWE0MTAwOWZmZDJkZGRiOGY5ZDdlZi4uNzMxMTdkMGM0NjFhZDQ4NTMyZjZiNjk1MWFj
Y2VlOWYwYmM3YzUzZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDEyLTAyLTIwICBUaW0gSG9y
dG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgorCisgICAgICAgIFNWRyBzaG91bGQgYmUg
c3VwcG9ydGVkIGluIERhc2hib2FyZCBjb21wYXRpYmlsaXR5IG1vZGUKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc4MzIyCisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS81ODYxMjc4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIENoYW5nZSB0ZXN0cyB0aGF0IGVuc3VyZWQgdGhhdCBTVkcgZGlkbid0IHdvcmsg
aW4gRGFzaGJvYXJkIHRvIGluc3RlYWQgdGVzdCB0aGF0IGl0IGRvZXMhCisKKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3N2Zy1jcmVhdGVkLWJ5LXhoci1hbGxvd2VkLWluLWRh
c2hib2FyZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMveG1saHR0
cHJlcXVlc3Qvc3ZnLWNyZWF0ZWQtYnkteGhyLWFsbG93ZWQtaW4tZGFzaGJvYXJkLmh0bWw6IFJl
bmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3N2Zy1jcmVh
dGVkLWJ5LXhoci1kaXNhbGxvd2VkLWluLWRhc2hib2FyZC5odG1sLgorICAgICAgICAqIGh0dHAv
dGVzdHMveG1saHR0cHJlcXVlc3Qvc3ZnLWNyZWF0ZWQtYnkteGhyLWRpc2FsbG93ZWQtaW4tZGFz
aGJvYXJkLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBzdmcvY3VzdG9tL2VtYmVk
ZGVkLXN2Zy1hbGxvd2VkLWluLWRhc2hib2FyZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIHN2Zy9jdXN0b20vZW1iZWRkZWQtc3ZnLWFsbG93ZWQtaW4tZGFzaGJvYXJkLnhtbDogUmVu
YW1lZCBmcm9tIExheW91dFRlc3RzL3N2Zy9jdXN0b20vZW1iZWRkZWQtc3ZnLWRpc2FsbG93ZWQt
aW4tZGFzaGJvYXJkLnhtbC4KKyAgICAgICAgKiBzdmcvY3VzdG9tL2VtYmVkZGVkLXN2Zy1kaXNh
bGxvd2VkLWluLWRhc2hib2FyZC1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogc3Zn
L2N1c3RvbS9tYW51YWxseS1wYXJzZWQtZW1iZWRkZWQtc3ZnLWFsbG93ZWQtaW4tZGFzaGJvYXJk
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogc3ZnL2N1c3RvbS9tYW51YWxseS1wYXJz
ZWQtZW1iZWRkZWQtc3ZnLWFsbG93ZWQtaW4tZGFzaGJvYXJkLmh0bWw6IFJlbmFtZWQgZnJvbSBM
YXlvdXRUZXN0cy9zdmcvY3VzdG9tL21hbnVhbGx5LXBhcnNlZC1lbWJlZGRlZC1zdmctZGlzYWxs
b3dlZC1pbi1kYXNoYm9hcmQuaHRtbC4KKyAgICAgICAgKiBzdmcvY3VzdG9tL21hbnVhbGx5LXBh
cnNlZC1lbWJlZGRlZC1zdmctZGlzYWxsb3dlZC1pbi1kYXNoYm9hcmQtZXhwZWN0ZWQudHh0OiBS
ZW1vdmVkLgorICAgICAgICAqIHN2Zy9jdXN0b20vbWFudWFsbHktcGFyc2VkLXN2Zy1hbGxvd2Vk
LWluLWRhc2hib2FyZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHN2Zy9jdXN0b20v
bWFudWFsbHktcGFyc2VkLXN2Zy1hbGxvd2VkLWluLWRhc2hib2FyZC5odG1sOiBSZW5hbWVkIGZy
b20gTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9tYW51YWxseS1wYXJzZWQtc3ZnLWRpc2FsbG93ZWQt
aW4tZGFzaGJvYXJkLmh0bWwuCisgICAgICAgICogc3ZnL2N1c3RvbS9tYW51YWxseS1wYXJzZWQt
c3ZnLWRpc2FsbG93ZWQtaW4tZGFzaGJvYXJkLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBzdmcvY3VzdG9tL3N2Zy1hbGxvd2VkLWluLWRhc2hib2FyZC1vYmplY3QtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBzdmcvY3VzdG9tL3N2Zy1hbGxvd2VkLWluLWRhc2hib2Fy
ZC1vYmplY3QuaHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N2Zy9jdXN0b20vc3ZnLWRp
c2FsbG93ZWQtaW4tZGFzaGJvYXJkLW9iamVjdC5odG1sLgorICAgICAgICAqIHN2Zy9jdXN0b20v
c3ZnLWRpc2FsbG93ZWQtaW4tZGFzaGJvYXJkLW9iamVjdC1leHBlY3RlZC50eHQ6IFJlbW92ZWQu
CisKIDIwMTItMDItMjAgIERhdmlkIEJhcnRvbiAgPGRiYXJ0b25AbWF0aHNjcmliZS5jb20+CiAK
ICAgICAgICAgUmVuZGVyTWF0aE1MUm93OjpiYXNlbGluZVBvc2l0aW9uKCkgb25seSBpZiBsaW5l
UG9zaXRpb25Nb2RlID09IFBvc2l0aW9uT25Db250YWluaW5nTGluZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9zdmctY3JlYXRlZC1ieS14aHItYWxs
b3dlZC1pbi1kYXNoYm9hcmQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94
bWxodHRwcmVxdWVzdC9zdmctY3JlYXRlZC1ieS14aHItYWxsb3dlZC1pbi1kYXNoYm9hcmQtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5YTQ0YzU2ZmM4MzRmM2M5Y2Y3Yjc5ODZlYzU1NDkzYzNh
MDA4NDcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHBy
ZXF1ZXN0L3N2Zy1jcmVhdGVkLWJ5LXhoci1hbGxvd2VkLWluLWRhc2hib2FyZC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSw2IEBACitUZXN0IHRvIG1ha2Ugc3VyZSB3ZSBjYW4gdXNlIFhIUiB0byBj
cmVhdGUgdXNhYmxlIFNWRyBpbiBkYXNoYm9hcmQgY29tcGF0aWJpbGl0eSBtb2RlLiBUaGlzIGNh
bm5vdCBiZSB0ZXN0ZWQgbWFudWFsbHkuCisKK1JlY2VpdmVkIGRvYyBvZiB0eXBlOiBbb2JqZWN0
IERvY3VtZW50XQorUEFTUzogTWFuYWdlZCB0byBpbnNlcnQgU1ZHIGVsZW1lbnQgaW50byB0cmVl
CitJbXBvcnRlZCBub2RlIG9mIHR5cGU6IFtvYmplY3QgU1ZHQ2lyY2xlRWxlbWVudF0KKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9zdmctY3JlYXRl
ZC1ieS14aHItYWxsb3dlZC1pbi1kYXNoYm9hcmQuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMveG1saHR0cHJlcXVlc3Qvc3ZnLWNyZWF0ZWQtYnkteGhyLWFsbG93ZWQtaW4tZGFzaGJvYXJk
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTZmMjNiY2FhYjE4NDU0Njg2YjdiOGIzZmExNTlkMTM2MTVhYjY3
ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVl
c3Qvc3ZnLWNyZWF0ZWQtYnkteGhyLWFsbG93ZWQtaW4tZGFzaGJvYXJkLmh0bWwKQEAgLTAsMCAr
MSw3OCBAQAorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHRpdGxlPlRlc3QgdG8g
ZW5zdXJlIFNWRyBpcyBlbmFibGVkIGluIERhc2hib2FyZCBjb21wYXRpYmlsaXR5IG1vZGU8L3Rp
dGxlPgorPHNjcmlwdD4KKyAgICB2YXIgcnE7CisKKyAgICBmdW5jdGlvbiBsb2FkU1ZHKCkKKyAg
ICB7CisgICAgICAgIHVybCA9ICdyZXNvdXJjZXMvc3ZndGVzdC5zdmcnOworCisgICAgICAgIHJx
ID0gZmFsc2U7CisgICAgCisgICAgICAgIHRyeSB7CisgICAgICAgICAgaWYgKHdpbmRvdy5YTUxI
dHRwUmVxdWVzdCkgeworICAgICAgICAgICAgcnEgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKKyAg
ICAgICAgICAgIHJxLm92ZXJyaWRlTWltZVR5cGUoJ3RleHQvc3ZnK3htbCcpOworICAgICAgICAg
ICAgcnEub25yZWFkeXN0YXRlY2hhbmdlID0gcHJvY2Vzc1JlcUNoYW5nZTsKKyAgICAgICAgICAg
IHJxLm9wZW4oJ0dFVCcsIHVybCwgdHJ1ZSk7CisgICAgICAgICAgICBycS5zZW5kKCk7CisgICAg
ICAgICAgfQorICAgICAgICB9IGNhdGNoIChleCkgeworICAgICAgICAgICAgcnEgPSBmYWxzZTsK
KyAgICAgICAgICAgIGFsZXJ0KGV4KTsKKyAgICAgICAgfQorICAgIH0KKyAgICAKKyAgICBmdW5j
dGlvbiBkZWJ1ZyhzdHIpIHsKKyAgICAgICAgdmFyIGMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgnY29uc29sZScpCisgICAgICAgIGMuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5v
ZGUoc3RyICsgJ1xuJykpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHByb2Nlc3NSZXFDaGFuZ2Uo
KQorICAgIHsKKyAgICAgICAgaWYgKHJxLnJlYWR5U3RhdGUgPT0gNCkgeworICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICB2YXIgc3ZnRG9jID0gcnEucmVzcG9uc2VYTUw7CisgICAg
ICAgICAgICAgICAgaWYgKHJxLnN0YXR1cyA9PSAyMDApIHsKKyAgICAgICAgICAgICAgICAgICAg
ZGVidWcoIlJlY2VpdmVkIGRvYyBvZiB0eXBlOiAiICsgc3ZnRG9jKTsKKyAgICAgICAgICAgICAg
ICAgICAgLy8gSW1wb3J0IFNWRyBlbGVtZW50IGludG8gdHJlZS4KKyAgICAgICAgICAgICAgICAg
ICAgdmFyIGltcG9ydGVkTm9kZSA9IG51bGw7CisgICAgICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgICAgICBpbXBvcnRlZE5vZGUgPSBkb2N1bWVudC5pbXBvcnROb2Rl
KHN2Z0RvYy5nZXRFbGVtZW50QnlJZCgnc3ZnQ2lyY2xlJyksIHRydWUpOworICAgICAgICAgICAg
ICAgICAgICB9IGNhdGNoKGUpIHsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
CisgICAgICAgICAgICAgICAgICAgIGlmIChpbXBvcnRlZE5vZGUpIHsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIGRlYnVnKCJQQVNTOiBNYW5hZ2VkIHRvIGluc2VydCBTVkcgZWxlbWVudCBpbnRv
IHRyZWUiKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGRlYnVnKCJJbXBvcnRlZCBub2RlIG9m
IHR5cGU6ICIgKyBpbXBvcnRlZE5vZGUpOworICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ3RhcmdldERpdicpLmFwcGVuZENoaWxkKGltcG9ydGVkTm9kZSk7
CisgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgICAgICBk
ZWJ1ZygiRkFJTDogQ291bGQgbm90IGluc2VydCBTVkcgZWxlbWVudCBpbnRvIHRyZWUiKTsKKyAg
ICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAg
ICAgICAgICAgIGRlYnVnKCdGQUlMOiBVbmFibGUgdG8gbG9hZCBTVkcgZG9jdW1lbnQ6ICcgKyBy
cS5zdGF0dXNUZXh0KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9IGNhdGNoIChl
KSB7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250
cm9sbGVyKQorICAgICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUo
KTsKKyAgICAgICAgfQorICAgIH0KKzwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9keSBvbmxvYWQ9
ImxvYWRTVkcoKSI+Cis8cD5UZXN0IHRvIG1ha2Ugc3VyZSB3ZSBjYW4gdXNlIFhIUiB0byBjcmVh
dGUgdXNhYmxlIFNWRyBpbiBkYXNoYm9hcmQgY29tcGF0aWJpbGl0eSBtb2RlLiAgVGhpcyBjYW5u
b3QgYmUgdGVzdGVkIG1hbnVhbGx5LjwvcD4KKzxkaXYgaWQ9InRhcmdldERpdiI+PC9kaXY+Cis8
cHJlIGlkPSJjb25zb2xlIj48L3ByZT4KKzxzY3JpcHQ+CisgICAgaWYgKHdpbmRvdy5sYXlvdXRU
ZXN0Q29udHJvbGxlcikgeworICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5zZXRVc2VEYXNo
Ym9hcmRDb21wYXRpYmlsaXR5TW9kZSh0cnVlKTsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xs
ZXIuZHVtcEFzVGV4dCgpOworICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxE
b25lKCk7CisgICAgfQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3N2Zy1jcmVhdGVkLWJ5LXhoci1k
aXNhbGxvd2VkLWluLWRhc2hib2FyZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3htbGh0dHByZXF1ZXN0L3N2Zy1jcmVhdGVkLWJ5LXhoci1kaXNhbGxvd2VkLWluLWRhc2hi
b2FyZC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU3N2EyMmFm
NmNlZDMyOTZlNWJjMWY0ZWZkNTAwZmY4N2U5ZjVjZTguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVx
dWVzdC9zdmctY3JlYXRlZC1ieS14aHItZGlzYWxsb3dlZC1pbi1kYXNoYm9hcmQtZXhwZWN0ZWQu
dHh0CisrKyAvZGV2L251bGwKQEAgLTEsNSArMCwwIEBACi1UZXN0IHRvIG1ha2Ugc3VyZSB3ZSBj
YW4ndCB1c2UgWEhSIHRvIGNyZWF0ZSB1c2FibGUgU1ZHIGluIGRhc2hib2FyZCBjb21wYXRpYmls
aXR5IG1vZGUuIFRoaXMgY2Fubm90IGJlIHRlc3RlZCBtYW51YWxseS4KLQotUmVjZWl2ZWQgZG9j
IG9mIHR5cGU6IFtvYmplY3QgRG9jdW1lbnRdCi1QQVNTOiBDb3VsZCBub3QgaW5zZXJ0IFNWRyBl
bGVtZW50IGludG8gdHJlZQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ht
bGh0dHByZXF1ZXN0L3N2Zy1jcmVhdGVkLWJ5LXhoci1kaXNhbGxvd2VkLWluLWRhc2hib2FyZC5o
dG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9zdmctY3JlYXRlZC1i
eS14aHItZGlzYWxsb3dlZC1pbi1kYXNoYm9hcmQuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggNTlmNjU1Nzk2MTFlZTAwOGM4MTk2MTc0ZmU5NTVjN2MyNmRhODUzMC4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3htbGh0dHByZXF1ZXN0L3N2Zy1jcmVhdGVkLWJ5LXhoci1kaXNhbGxvd2VkLWluLWRh
c2hib2FyZC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsODAgKzAsMCBAQAotPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEgVHJhbnNpdGlvbmFsLy9FTiI+Ci08aHRt
bD4KLTxoZWFkPgotPHRpdGxlPlRlc3QgdG8gZW5zdXJlIFNWRyBpcyBkaXNhYmxlZCBpbiBEYXNo
Ym9hcmQgY29tcGF0aWJpbGl0eSBtb2RlPC90aXRsZT4KLTxtZXRhIGh0dHAtZXF1aXY9IkNvbnRl
bnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PWlzby04ODU5LTEiPgotPHNjcmlw
dCBsYW5ndWFnZT0iSmF2YVNjcmlwdCIgdHlwZT0idGV4dC9KYXZhU2NyaXB0Ij4KLQotICAgIHZh
ciBycTsKLQotICAgIGZ1bmN0aW9uIGxvYWRTVkcoKQotICAgIHsKLSAgICAgICAgdXJsID0gJ3Jl
c291cmNlcy9zdmd0ZXN0LnN2Zyc7Ci0KLSAgICAgICAgcnEgPSBmYWxzZTsKLSAgICAKLSAgICAg
ICAgdHJ5IHsKLSAgICAgICAgICBpZiAod2luZG93LlhNTEh0dHBSZXF1ZXN0KSB7Ci0gICAgICAg
ICAgICBycSA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOwotICAgICAgICAgICAgcnEub3ZlcnJpZGVN
aW1lVHlwZSgndGV4dC9zdmcreG1sJyk7Ci0gICAgICAgICAgICBycS5vbnJlYWR5c3RhdGVjaGFu
Z2UgPSBwcm9jZXNzUmVxQ2hhbmdlOwotICAgICAgICAgICAgcnEub3BlbignR0VUJywgdXJsLCB0
cnVlKTsKLSAgICAgICAgICAgIHJxLnNlbmQoKTsKLSAgICAgICAgICB9Ci0gICAgICAgIH0gY2F0
Y2ggKGV4KSB7Ci0gICAgICAgICAgICBycSA9IGZhbHNlOwotICAgICAgICAgICAgYWxlcnQoZXgp
OwotICAgICAgICB9Ci0gICAgfQotICAgIAotICAgIGZ1bmN0aW9uIGRlYnVnKHN0cikgewotICAg
ICAgICB2YXIgYyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb25zb2xlJykKLSAgICAgICAg
Yy5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShzdHIgKyAnXG4nKSk7Ci0gICAg
fQotCi0gICAgZnVuY3Rpb24gcHJvY2Vzc1JlcUNoYW5nZSgpCi0gICAgewotICAgICAgICBpZiAo
cnEucmVhZHlTdGF0ZSA9PSA0KSB7Ci0gICAgICAgICAgICB0cnkgewotICAgICAgICAgICAgICAg
IHZhciBzdmdEb2MgPSBycS5yZXNwb25zZVhNTDsKLSAgICAgICAgICAgICAgICBpZiAocnEuc3Rh
dHVzID09IDIwMCkgewotICAgICAgICAgICAgICAgICAgICBkZWJ1ZygiUmVjZWl2ZWQgZG9jIG9m
IHR5cGU6ICIgKyBzdmdEb2MpOwotICAgICAgICAgICAgICAgICAgICAvLyBJbXBvcnQgU1ZHIGVs
ZW1lbnQgaW50byB0cmVlLgotICAgICAgICAgICAgICAgICAgICB2YXIgaW1wb3J0ZWROb2RlID0g
bnVsbDsKLSAgICAgICAgICAgICAgICAgICAgdHJ5IHsKLSAgICAgICAgICAgICAgICAgICAgICAg
IGltcG9ydGVkTm9kZSA9IGRvY3VtZW50LmltcG9ydE5vZGUoc3ZnRG9jLmdldEVsZW1lbnRCeUlk
KCdzdmdDaXJjbGUnKSwgdHJ1ZSk7Ci0gICAgICAgICAgICAgICAgICAgIH0gY2F0Y2goZSkgewot
ICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgICAgICAgICAg
aWYgKGltcG9ydGVkTm9kZSkgewotICAgICAgICAgICAgICAgICAgICAgICAgZGVidWcoIkZBSUw6
IE1hbmFnZWQgdG8gaW5zZXJ0IFNWRyBlbGVtZW50IGludG8gdHJlZSIpOwotICAgICAgICAgICAg
ICAgICAgICAgICAgZGVidWcoIkltcG9ydGVkIG5vZGUgb2YgdHlwZTogIiArIGltcG9ydGVkTm9k
ZSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGFy
Z2V0RGl2JykuYXBwZW5kQ2hpbGQoaW1wb3J0ZWROb2RlKTsKLSAgICAgICAgICAgICAgICAgICAg
fSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGRlYnVnKCJQQVNTOiBDb3VsZCBub3Qg
aW5zZXJ0IFNWRyBlbGVtZW50IGludG8gdHJlZSIpOwotICAgICAgICAgICAgICAgICAgICB9Ci0g
ICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgZGVidWcoJ0ZBSUw6
IFVuYWJsZSB0byBsb2FkIFNWRyBkb2N1bWVudDogJyArIHJxLnN0YXR1c1RleHQpOwotICAgICAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsKLSAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgICAgICAg
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwotICAgICAgICB9Ci0gICAgfQot
PC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9uTG9hZD0ibG9hZFNWRygpOyI+Ci08cD5UZXN0
IHRvIG1ha2Ugc3VyZSB3ZSBjYW4ndCB1c2UgWEhSIHRvIGNyZWF0ZSB1c2FibGUgU1ZHIGluIGRh
c2hib2FyZCBjb21wYXRpYmlsaXR5IG1vZGUuICBUaGlzIGNhbm5vdCBiZSB0ZXN0ZWQgbWFudWFs
bHkuPC9wPgotPGRpdiBpZD0idGFyZ2V0RGl2Ij48L2Rpdj4KLTxwcmUgaWQ9ImNvbnNvbGUiPjwv
cHJlPgotPHNjcmlwdD4KLSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0g
ICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLnNldFVzZURhc2hib2FyZENvbXBhdGliaWxpdHlN
b2RlKHRydWUpOwotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Ci0g
ICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKLSAgICB9Ci08L3Nj
cmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9jdXN0
b20vZW1iZWRkZWQtc3ZnLWFsbG93ZWQtaW4tZGFzaGJvYXJkLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL3N2Zy9jdXN0b20vZW1iZWRkZWQtc3ZnLWFsbG93ZWQtaW4tZGFzaGJvYXJkLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44OWE0YTQ4MTdjZDdmYjJhNWQ4OGM2MTM3ZDFlYTQ4YTYxMWMz
YjZlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9lbWJlZGRlZC1z
dmctYWxsb3dlZC1pbi1kYXNoYm9hcmQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorVGhp
cyB0ZXN0IGlzIHRvIGVuc3VyZSBTVkcgZWxlbWVudHMgY2FuIGJlIGNyZWF0ZWQgYnkgYmVpbmcg
ZW1iZWRkZWQgaW4geG1sIGRvY3VtZW50cy4gSXQgY2FuIG5vdCBiZSB0ZXN0ZWQgbWFudWFsbHku
CisKK1BBU1M6IFN1Y2Nlc3NmdWxseSBlbWJlZGRlZCBTVkcgaW4gZG9jdW1lbnQKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9lbWJlZGRlZC1zdmctYWxsb3dlZC1pbi1kYXNo
Ym9hcmQueG1sIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9lbWJlZGRlZC1zdmctYWxsb3dlZC1p
bi1kYXNoYm9hcmQueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFlMjY4NzQ1OGQwNGYzNDIxZTk3NmEzNTlmZjU4
OTY2MDJlNWZmZmMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2Vt
YmVkZGVkLXN2Zy1hbGxvd2VkLWluLWRhc2hib2FyZC54bWwKQEAgLTAsMCArMSwyOSBAQAorPGh0
bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPgorICAgIDxoZWFkPgorICAg
ICAgICA8dGl0bGU+TWFrZSBzdXJlIGVtYmVkZGVkIFNWRyBpcyB0dXJuZWQgb24gaW4gZGFzaGJv
YXJkPC90aXRsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAgIGlmICh3aW5k
b3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJv
bGxlci5zZXRVc2VEYXNoYm9hcmRDb21wYXRpYmlsaXR5TW9kZSh0cnVlKTsKKyAgICAgICAgICAg
ICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgICAgICB9CisKKyAgICAg
ICAgIGZ1bmN0aW9uIGRlYnVnKHN0cikgeworICAgICAgICAgICAgIHZhciBjID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoJ2NvbnNvbGUnKQorICAgICAgICAgICAgIGMuYXBwZW5kQ2hpbGQoZG9j
dW1lbnQuY3JlYXRlVGV4dE5vZGUoc3RyICsgJ1xuJykpOworICAgICAgICAgfQorICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8cD5UaGlzIHRlc3QgaXMgdG8gZW5zdXJlIFNWRyBl
bGVtZW50cyBjYW4gYmUgY3JlYXRlZCBieSBiZWluZyBlbWJlZGRlZCBpbiB4bWwgZG9jdW1lbnRz
LiAgSXQgY2FuIG5vdCBiZSB0ZXN0ZWQgbWFudWFsbHkuPC9wPgorICAgICAgICA8cHJlIGlkPSJj
b25zb2xlIj48L3ByZT4KKyAgICAgICAgPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAw
MC9zdmciIHdpZHRoPSIyMDAiIGhlaWdodD0iMjAwIj4KKyAgICAgICAgICAgICA8Y2lyY2xlIGlk
PSJzdmdDaXJjbGVOb2RlIiBjeD0iMTAwIiBjeT0iMTAwIiByPSI1MCIgZmlsbD0icmVkIi8+Cisg
ICAgICAgIDwvc3ZnPgorICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICBpZihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgnc3ZnQ2lyY2xlTm9kZScpIGluc3RhbmNlb2YgU1ZHRWxlbWVudCkKKyAg
ICAgICAgICAgICAgIGRlYnVnKCJQQVNTOiBTdWNjZXNzZnVsbHkgZW1iZWRkZWQgU1ZHIGluIGRv
Y3VtZW50Iik7CisgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgIGRlYnVnKCJGQUlMOiBT
VkcgRWxlbWVudHMgY291bGQgbm90IGJlIGNyZWF0ZWQiKTsKKyAgICAgICAgPC9zY3JpcHQ+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9l
bWJlZGRlZC1zdmctZGlzYWxsb3dlZC1pbi1kYXNoYm9hcmQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvc3ZnL2N1c3RvbS9lbWJlZGRlZC1zdmctZGlzYWxsb3dlZC1pbi1kYXNoYm9hcmQtZXhw
ZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3ZDNhZjU3ZTc4OWYyYjM3
N2RhYjM1NzljNzNiMjY3NDVmYWFlMjc2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vZW1iZWRkZWQtc3ZnLWRpc2Fs
bG93ZWQtaW4tZGFzaGJvYXJkLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAs
MCBAQAotVGhpcyB0ZXN0IGlzIHRvIGVuc3VyZSBTVkcgZWxlbWVudHMgY2FuJ3QgYmUgY3JlYXRl
ZCBieSBiZWluZyBlbWJlZGRlZCBpbiB4bWwgZG9jdW1lbnRzLiBJdCBjYW4gbm90IGJlIHRlc3Rl
ZCBtYW51YWxseS4KLQotIFBBU1M6IFNWRyBFbGVtZW50cyBjb3VsZCBub3QgYmUgY3JlYXRlZAot
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2VtYmVkZGVkLXN2Zy1kaXNhbGxv
d2VkLWluLWRhc2hib2FyZC54bWwgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2VtYmVkZGVkLXN2
Zy1kaXNhbGxvd2VkLWluLWRhc2hib2FyZC54bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDdhYjczM2EwN2NjMmMyYjYyN2Q3ZmQwZDZlYTliMzI2YWZjN2EyYjQuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3Rv
bS9lbWJlZGRlZC1zdmctZGlzYWxsb3dlZC1pbi1kYXNoYm9hcmQueG1sCisrKyAvZGV2L251bGwK
QEAgLTEsMjggKzAsMCBAQAotPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0
bWwiPgotICAgIDxoZWFkPgotICAgICAgICA8dGl0bGU+TWFrZSBzdXJlIGVtYmVkZGVkIFNWRyBp
cyB0dXJuZWQgb2ZmIGluIGRhc2hib2FyZDwvdGl0bGU+Ci0gICAgPC9oZWFkPgotICAgIDxzY3Jp
cHQ+Ci0gICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0gICAgICAg
ICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0VXNlRGFzaGJvYXJkQ29tcGF0aWJpbGl0eU1v
ZGUodHJ1ZSk7Ci0gICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgp
OwotICAgICAgICAgfQotICAgICAgICAgZnVuY3Rpb24gZGVidWcoc3RyKSB7Ci0gICAgICAgICAg
ICAgdmFyIGMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29uc29sZScpCi0gICAgICAgICAg
ICAgYy5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShzdHIgKyAnXG4nKSk7Ci0g
ICAgICAgICB9Ci0gICAgPC9zY3JpcHQ+Ci0gICAgPGJvZHk+Ci0gICAgICAgIDxwPlRoaXMgdGVz
dCBpcyB0byBlbnN1cmUgU1ZHIGVsZW1lbnRzIGNhbid0IGJlIGNyZWF0ZWQgYnkgYmVpbmcgZW1i
ZWRkZWQgaW4geG1sIGRvY3VtZW50cy4gIEl0IGNhbiBub3QgYmUgdGVzdGVkIG1hbnVhbGx5Ljwv
cD4KLSAgICAgICAgPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRo
PSIyMDAiIGhlaWdodD0iMjAwIj4KLSAgICAgICAgICAgICA8Y2lyY2xlIGlkPSJzdmdDaXJjbGVO
b2RlIiBjeD0iMTAwIiBjeT0iMTAwIiByPSI1MCIgZmlsbD0icmVkIi8+Ci0gICAgICAgIDwvc3Zn
PgotICAgICAgICA8cHJlIGlkPSJjb25zb2xlIj48L3ByZT4gCi0gICAgICAgIDxzY3JpcHQ+Ci0g
ICAgICAgICAgIGlmKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzdmdDaXJjbGVOb2RlJykgaW5z
dGFuY2VvZiBTVkdFbGVtZW50KQotICAgICAgICAgICAgICAgZGVidWcoIkZBSUw6IFN1Y2Nlc3Nm
dWxseSBlbWJlZGRlZCBTVkcgaW4gZG9jdW1lbnQiKTsKLSAgICAgICAgICAgZWxzZQotICAgICAg
ICAgICAgICAgZGVidWcoIlBBU1M6IFNWRyBFbGVtZW50cyBjb3VsZCBub3QgYmUgY3JlYXRlZCIp
OwotICAgICAgICA8L3NjcmlwdD4KLSAgICA8L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9zdmcvY3VzdG9tL21hbnVhbGx5LXBhcnNlZC1lbWJlZGRlZC1zdmctYWxsb3dl
ZC1pbi1kYXNoYm9hcmQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9tYW51
YWxseS1wYXJzZWQtZW1iZWRkZWQtc3ZnLWFsbG93ZWQtaW4tZGFzaGJvYXJkLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xOTRhZWRmMjkyYmVkNjk1NjAzMDM1YThmODVkZjNlYmQ5YjZkMTVkCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9tYW51YWxseS1wYXJzZWQt
ZW1iZWRkZWQtc3ZnLWFsbG93ZWQtaW4tZGFzaGJvYXJkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDYgQEAKK1RoaXMgdGVzdCBtYWtlcyBzdXJlIHdlIGNhbiBhZGQgbWFudWFsbHkgcGFyc2VkIFNW
RyB0byB0aGUgZG9jdW1lbnQgd2hlbiBpbiBkYXNoYm9hcmQgY29tcGF0aWJpbGl0eSBtb2RlLiBJ
dCBjYW4gbm90IGJlIHRlc3RlZCBtYW51YWxseS4KKworUGFyc2luZyBvZiB0aGUgZG9jdW1lbnQg
aXNuJ3QgcHJldmVudGVkIGFuZCBwcm9kdWNlcyBhIFtvYmplY3QgRG9jdW1lbnRdCitUaGUgY2ly
Y2xlIGVsZW1lbnQgaXMgb2YgdHlwZSBbb2JqZWN0IFNWR0NpcmNsZUVsZW1lbnRdCitQQVNTOiBN
YW5hZ2VkIHRvIGluc2VydCBTVkcgZWxlbWVudCBpbnRvIHRyZWUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvc3ZnL2N1c3RvbS9tYW51YWxseS1wYXJzZWQtZW1iZWRkZWQtc3ZnLWFsbG93ZWQt
aW4tZGFzaGJvYXJkLmh0bWwgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL21hbnVhbGx5LXBhcnNl
ZC1lbWJlZGRlZC1zdmctYWxsb3dlZC1pbi1kYXNoYm9hcmQuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zYTdi
ZTQ1M2UxMDUwOWFjNTdmMzZhNGMyYTM3MWM0ZGI2YTY4NGIzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9tYW51YWxseS1wYXJzZWQtZW1iZWRkZWQtc3ZnLWFsbG93
ZWQtaW4tZGFzaGJvYXJkLmh0bWwKQEAgLTAsMCArMSw0OSBAQAorPGh0bWwgeG1sbnM9Imh0dHA6
Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPgorICAgIDxoZWFkPgorICAgICAgICA8dGl0bGU+TWFr
ZSBzdXJlIGVtYmVkZGVkIFNWRyBpcyB0dXJuZWQgb2ZmIGluIGRhc2hib2FyZDwvdGl0bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGZ1bmN0aW9uIGRlYnVnKHN0cikgewor
ICAgICAgICAgICAgdmFyIGMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29uc29sZScpCisg
ICAgICAgICAgICBjLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKHN0ciArICdc
bicpKTsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0
Q29udHJvbGxlcikgeworICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0VXNlRGFz
aGJvYXJkQ29tcGF0aWJpbGl0eU1vZGUodHJ1ZSk7CisgICAgICAgICAgICBsYXlvdXRUZXN0Q29u
dHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgICAgIH0KKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9k
eT4KKyAgICAgICAgPHA+VGhpcyB0ZXN0IG1ha2VzIHN1cmUgd2UgY2FuIGFkZCBtYW51YWxseSBw
YXJzZWQgU1ZHIHRvIHRoZSBkb2N1bWVudCB3aGVuIGluIGRhc2hib2FyZCBjb21wYXRpYmlsaXR5
IG1vZGUuICBJdCBjYW4gbm90IGJlIHRlc3RlZCBtYW51YWxseS48L3A+CisgICAgICAgIDxkaXYg
aWQ9InRhcmdldERpdiI+PC9kaXY+CisgICAgICAgIDxwcmUgaWQ9ImNvbnNvbGUiPjwvcHJlPiAK
KyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgIHZhciBkb2N1bWVudFN0cmluZyA9ICc8aHRt
bCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+JyArCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAnPGJvZHk+JyArCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAnPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0
MDAiIGhlaWdodD0iNDAwIj4nICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8
Y2lyY2xlIGlkPSJzdmdDaXJjbGUiIGN4PSI1MCIgY3k9IjUwIiByPSI1MCIgZmlsbD0icmVkIi8+
PC9zdmc+JyArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPC9ib2R5PjwvaHRt
bD4nOyAKKworICAgICAgICAgICAgLy8gVXNlIERPTVBhcnNlciBpbnRlcmZhY2UgdG8gY3JlYXRl
IGEgU1ZHRG9jdW1lbnQgZGF0YXN0cnVjdHVyZSBmcm9tIFNWRyBjb250ZW50IHN0cmluZworICAg
ICAgICAgICAgdmFyIHBhcnNlciA9IG5ldyBET01QYXJzZXIoKTsKKyAgICAgICAgICAgIHZhciB4
aHRtbERvY3VtZW50ID0gcGFyc2VyLnBhcnNlRnJvbVN0cmluZyhkb2N1bWVudFN0cmluZywgImFw
cGxpY2F0aW9uL3hodG1sK3htbCIpOworICAgICAgICAgCisgICAgICAgICAgICBkZWJ1ZygiUGFy
c2luZyBvZiB0aGUgZG9jdW1lbnQgaXNuJ3QgcHJldmVudGVkIGFuZCBwcm9kdWNlcyBhICIgKyB4
aHRtbERvY3VtZW50KTsKKyAgICAgICAgICAgIGRlYnVnKCJUaGUgY2lyY2xlIGVsZW1lbnQgaXMg
b2YgdHlwZSAiICsgeGh0bWxEb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc3ZnQ2lyY2xlJykpOwor
ICAgICAgICAgICAgCisgICAgICAgICAgICAvLyBJbXBvcnQgU1ZHIGVsZW1lbnQgaW50byB0cmVl
LgorICAgICAgICAgICAgdmFyIGltcG9ydGVkTm9kZSA9IG51bGw7CisgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgIGltcG9ydGVkTm9kZSA9IGRvY3VtZW50LmltcG9ydE5vZGUoeGh0
bWxEb2N1bWVudC5maXJzdENoaWxkLCB0cnVlKTsKKyAgICAgICAgICAgIH0gY2F0Y2goZSkgewor
ICAgICAgICAgICAgfQorICAgICAgICAgICAgCisgICAgICAgICAgICBpZiAoaW1wb3J0ZWROb2Rl
KSB7CisgICAgICAgICAgICAgICAgZGVidWcoIlBBU1M6IE1hbmFnZWQgdG8gaW5zZXJ0IFNWRyBl
bGVtZW50IGludG8gdHJlZSIpOworICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCd0YXJnZXREaXYnKS5hcHBlbmRDaGlsZChpbXBvcnRlZE5vZGUpOworICAgICAgICAgICAg
fSBlbHNlIHsKKyAgICAgICAgICAgICAgICBkZWJ1ZygiRkFJTDogQ291bGQgbm90IGluc2VydCBT
VkcgZWxlbWVudCBpbnRvIHRyZWUiKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zY3JpcHQ+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3Rv
bS9tYW51YWxseS1wYXJzZWQtZW1iZWRkZWQtc3ZnLWRpc2FsbG93ZWQtaW4tZGFzaGJvYXJkLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vbWFudWFsbHktcGFyc2VkLWVtYmVk
ZGVkLXN2Zy1kaXNhbGxvd2VkLWluLWRhc2hib2FyZC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDMzNmNlMGRkMGIxN2NjYWE0MmE2ODY0NGI3OGE1MThkZGU1ZDM2
OTguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvc3ZnL2N1c3RvbS9tYW51YWxseS1wYXJzZWQtZW1iZWRkZWQtc3ZnLWRpc2FsbG93ZWQt
aW4tZGFzaGJvYXJkLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDYgKzAsMCBAQAot
VGhpcyB0ZXN0IG1ha2VzIHN1cmUgd2UgY2FuJ3QgYWRkIG1hbnVhbGx5IHBhcnNlZCBTVkcgdG8g
dGhlIGRvY3VtZW50IHdoZW4gaW4gZGFzaGJvYXJkIGNvbXBhdGliaWxpdHkgbW9kZS4gSXQgY2Fu
IG5vdCBiZSB0ZXN0ZWQgbWFudWFsbHkuCi0KLVBhcnNpbmcgb2YgdGhlIGRvY3VtZW50IGlzbid0
IHByZXZlbnRlZCBhbmQgcHJvZHVjZXMgYSBbb2JqZWN0IERvY3VtZW50XQotVGhlIGNpcmNsZSBl
bGVtZW50IGlzIG9mIHR5cGUgW29iamVjdCBTVkdDaXJjbGVFbGVtZW50XQotUEFTUzogQ291bGQg
bm90IGluc2VydCBTVkcgZWxlbWVudCBpbnRvIHRyZWUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvc3ZnL2N1c3RvbS9tYW51YWxseS1wYXJzZWQtZW1iZWRkZWQtc3ZnLWRpc2FsbG93ZWQtaW4t
ZGFzaGJvYXJkLmh0bWwgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL21hbnVhbGx5LXBhcnNlZC1l
bWJlZGRlZC1zdmctZGlzYWxsb3dlZC1pbi1kYXNoYm9hcmQuaHRtbApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggZTI5NzQzZDY3ZmI1YjEzYjM2OWExNGIxNzFhYWNlYmQ4NjBmYmExYS4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9zdmcvY3VzdG9tL21hbnVhbGx5LXBhcnNlZC1lbWJlZGRlZC1zdmctZGlzYWxsb3dlZC1pbi1k
YXNoYm9hcmQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDQ5ICswLDAgQEAKLTxodG1sIHhtbG5z
PSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj4KLSAgICA8aGVhZD4KLSAgICAgICAgPHRp
dGxlPk1ha2Ugc3VyZSBlbWJlZGRlZCBTVkcgaXMgdHVybmVkIG9mZiBpbiBkYXNoYm9hcmQ8L3Rp
dGxlPgotICAgIDwvaGVhZD4KLSAgICA8c2NyaXB0PgotICAgICAgICBmdW5jdGlvbiBkZWJ1Zyhz
dHIpIHsKLSAgICAgICAgICAgIHZhciBjID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnNv
bGUnKQotICAgICAgICAgICAgYy5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShz
dHIgKyAnXG4nKSk7Ci0gICAgICAgIH0KLSAgICAgICAgCi0gICAgICAgIGlmICh3aW5kb3cubGF5
b3V0VGVzdENvbnRyb2xsZXIpIHsKLSAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLnNl
dFVzZURhc2hib2FyZENvbXBhdGliaWxpdHlNb2RlKHRydWUpOwotICAgICAgICAgICAgbGF5b3V0
VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwotICAgICAgICB9Ci0gICAgPC9zY3JpcHQ+Ci0g
ICAgPGJvZHk+Ci0gICAgICAgIDxwPlRoaXMgdGVzdCBtYWtlcyBzdXJlIHdlIGNhbid0IGFkZCBt
YW51YWxseSBwYXJzZWQgU1ZHIHRvIHRoZSBkb2N1bWVudCB3aGVuIGluIGRhc2hib2FyZCBjb21w
YXRpYmlsaXR5IG1vZGUuICBJdCBjYW4gbm90IGJlIHRlc3RlZCBtYW51YWxseS48L3A+Ci0gICAg
ICAgIDxkaXYgaWQ9InRhcmdldERpdiI+PC9kaXY+Ci0gICAgICAgIDxwcmUgaWQ9ImNvbnNvbGUi
PjwvcHJlPiAKLSAgICAgICAgPHNjcmlwdD4KLSAgICAgICAgICAgIHZhciBkb2N1bWVudFN0cmlu
ZyA9ICc8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+JyArCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPGJvZHk+JyArCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAnPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmci
IHdpZHRoPSI0MDAiIGhlaWdodD0iNDAwIj4nICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICc8Y2lyY2xlIGlkPSJzdmdDaXJjbGUiIGN4PSI1MCIgY3k9IjUwIiByPSI1MCIgZmls
bD0icmVkIi8+PC9zdmc+JyArCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPC9i
b2R5PjwvaHRtbD4nOyAKLQotICAgICAgICAgICAgLy8gVXNlIERPTVBhcnNlciBpbnRlcmZhY2Ug
dG8gY3JlYXRlIGEgU1ZHRG9jdW1lbnQgZGF0YXN0cnVjdHVyZSBmcm9tIFNWRyBjb250ZW50IHN0
cmluZwotICAgICAgICAgICAgdmFyIHBhcnNlciA9IG5ldyBET01QYXJzZXIoKTsKLSAgICAgICAg
ICAgIHZhciB4aHRtbERvY3VtZW50ID0gcGFyc2VyLnBhcnNlRnJvbVN0cmluZyhkb2N1bWVudFN0
cmluZywgImFwcGxpY2F0aW9uL3hodG1sK3htbCIpOwotICAgICAgICAgCi0gICAgICAgICAgICBk
ZWJ1ZygiUGFyc2luZyBvZiB0aGUgZG9jdW1lbnQgaXNuJ3QgcHJldmVudGVkIGFuZCBwcm9kdWNl
cyBhICIgKyB4aHRtbERvY3VtZW50KTsKLSAgICAgICAgICAgIGRlYnVnKCJUaGUgY2lyY2xlIGVs
ZW1lbnQgaXMgb2YgdHlwZSAiICsgeGh0bWxEb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc3ZnQ2ly
Y2xlJykpOwotICAgICAgICAgICAgCi0gICAgICAgICAgICAvLyBJbXBvcnQgU1ZHIGVsZW1lbnQg
aW50byB0cmVlLgotICAgICAgICAgICAgdmFyIGltcG9ydGVkTm9kZSA9IG51bGw7Ci0gICAgICAg
ICAgICB0cnkgewotICAgICAgICAgICAgICAgIGltcG9ydGVkTm9kZSA9IGRvY3VtZW50LmltcG9y
dE5vZGUoeGh0bWxEb2N1bWVudC5maXJzdENoaWxkLCB0cnVlKTsKLSAgICAgICAgICAgIH0gY2F0
Y2goZSkgewotICAgICAgICAgICAgfQotICAgICAgICAgICAgCi0gICAgICAgICAgICBpZiAoaW1w
b3J0ZWROb2RlKSB7Ci0gICAgICAgICAgICAgICAgZGVidWcoIkZBSUw6IE1hbmFnZWQgdG8gaW5z
ZXJ0IFNWRyBlbGVtZW50IGludG8gdHJlZSIpOwotICAgICAgICAgICAgICAgIGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCd0YXJnZXREaXYnKS5hcHBlbmRDaGlsZChpbXBvcnRlZE5vZGUpOwotICAg
ICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICBkZWJ1ZygiUEFTUzogQ291bGQgbm90
IGluc2VydCBTVkcgZWxlbWVudCBpbnRvIHRyZWUiKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAg
PC9zY3JpcHQ+Ci0gICAgPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
c3ZnL2N1c3RvbS9tYW51YWxseS1wYXJzZWQtc3ZnLWFsbG93ZWQtaW4tZGFzaGJvYXJkLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vbWFudWFsbHktcGFyc2VkLXN2Zy1hbGxv
d2VkLWluLWRhc2hib2FyZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjZjNDYwZWRmMWRhNjk1
OGZhOGY5YjllM2Y2MWMyZjk4NDRjMDlhMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L3N2Zy9jdXN0b20vbWFudWFsbHktcGFyc2VkLXN2Zy1hbGxvd2VkLWluLWRhc2hib2FyZC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgbWFrZXMgc3VyZSB3ZSBjYW4gYWRk
IG1hbnVhbGx5IHBhcnNlZCBTVkcgdG8gdGhlIGRvY3VtZW50IHdoZW4gaW4gZGFzaGJvYXJkIGNv
bXBhdGliaWxpdHkgbW9kZS4gSXQgY2FuIG5vdCBiZSB0ZXN0ZWQgbWFudWFsbHkuCisKK1BhcnNp
bmcgb2YgdGhlIGRvY3VtZW50IGlzbid0IHByZXZlbnRlZCBhbmQgcHJvZHVjZXMgYSBbb2JqZWN0
IFNWR0RvY3VtZW50XQorUEFTUzogTWFuYWdlZCB0byBpbnNlcnQgU1ZHIGVsZW1lbnQgaW50byB0
cmVlCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vbWFudWFsbHktcGFyc2Vk
LXN2Zy1hbGxvd2VkLWluLWRhc2hib2FyZC5odG1sIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9t
YW51YWxseS1wYXJzZWQtc3ZnLWFsbG93ZWQtaW4tZGFzaGJvYXJkLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MWYwNWI1NTNmYmM2NTRkZjVhMzU0YWVhYTc2MTQ0YzgxZTk1ZDJkZAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vbWFudWFsbHktcGFyc2VkLXN2Zy1hbGxvd2VkLWlu
LWRhc2hib2FyZC5odG1sCkBAIC0wLDAgKzEsNDUgQEAKKzxodG1sIHhtbG5zPSJodHRwOi8vd3d3
LnczLm9yZy8xOTk5L3hodG1sIj4KKyAgICA8aGVhZD4KKyAgICAgICAgPHRpdGxlPk1ha2Ugc3Vy
ZSBlbWJlZGRlZCBTVkcgaXMgdHVybmVkIG9uIGluIGRhc2hib2FyZDwvdGl0bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGZ1bmN0aW9uIGRlYnVnKHN0cikgeworICAgICAg
ICAgICAgdmFyIGMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29uc29sZScpCisgICAgICAg
ICAgICBjLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKHN0ciArICdcbicpKTsK
KyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJv
bGxlcikgeworICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0VXNlRGFzaGJvYXJk
Q29tcGF0aWJpbGl0eU1vZGUodHJ1ZSk7CisgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxl
ci5kdW1wQXNUZXh0KCk7CisgICAgICAgIH0KKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPHA+VGhpcyB0ZXN0IG1ha2VzIHN1cmUgd2UgY2FuIGFkZCBtYW51YWxseSBwYXJzZWQg
U1ZHIHRvIHRoZSBkb2N1bWVudCB3aGVuIGluIGRhc2hib2FyZCBjb21wYXRpYmlsaXR5IG1vZGUu
ICBJdCBjYW4gbm90IGJlIHRlc3RlZCBtYW51YWxseS48L3A+CisgICAgICAgIDxkaXYgaWQ9InRh
cmdldERpdiI+PC9kaXY+CisgICAgICAgIDxwcmUgaWQ9ImNvbnNvbGUiPjwvcHJlPiAKKyAgICAg
ICAgPHNjcmlwdD4KKyAgICAgICAgICAgIHZhciBkb2N1bWVudFN0cmluZyA9ICc8c3ZnIHhtbG5z
PSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiPicg
KworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzxjaXJjbGUgY3g9IjUwIiBjeT0i
NTAiIHI9IjUwIiBmaWxsPSJyZWQiLz48L3N2Zz4nOworCisgICAgICAgICAgICAvLyBVc2UgRE9N
UGFyc2VyIGludGVyZmFjZSB0byBjcmVhdGUgYSBTVkdEb2N1bWVudCBkYXRhc3RydWN0dXJlIGZy
b20gU1ZHIGNvbnRlbnQgc3RyaW5nCisgICAgICAgICAgICB2YXIgcGFyc2VyID0gbmV3IERPTVBh
cnNlcigpOworICAgICAgICAgICAgdmFyIHN2Z0RvY3VtZW50ID0gcGFyc2VyLnBhcnNlRnJvbVN0
cmluZyhkb2N1bWVudFN0cmluZywgImltYWdlL3N2Zyt4bWwiKTsKKworICAgICAgICAgICAgZGVi
dWcoIlBhcnNpbmcgb2YgdGhlIGRvY3VtZW50IGlzbid0IHByZXZlbnRlZCBhbmQgcHJvZHVjZXMg
YSAiICsgc3ZnRG9jdW1lbnQpOworICAgICAgICAgICAgCisgICAgICAgICAgICAvLyBJbXBvcnQg
U1ZHIGVsZW1lbnQgaW50byB0cmVlLgorICAgICAgICAgICAgdmFyIGltcG9ydGVkTm9kZSA9IG51
bGw7CisgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgIGltcG9ydGVkTm9kZSA9IGRv
Y3VtZW50LmltcG9ydE5vZGUoc3ZnRG9jdW1lbnQuZmlyc3RDaGlsZCwgdHJ1ZSk7CisgICAgICAg
ICAgICB9IGNhdGNoKGUpIHsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIAorICAgICAgICAg
ICAgaWYgKGltcG9ydGVkTm9kZSkgeworICAgICAgICAgICAgICAgIGRlYnVnKCJQQVNTOiBNYW5h
Z2VkIHRvIGluc2VydCBTVkcgZWxlbWVudCBpbnRvIHRyZWUiKTsKKyAgICAgICAgICAgICAgICBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGFyZ2V0RGl2JykuYXBwZW5kQ2hpbGQoaW1wb3J0ZWRO
b2RlKTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgZGVidWcoIkZBSUw6
IENvdWxkIG5vdCBpbnNlcnQgU1ZHIGVsZW1lbnQgaW50byB0cmVlIik7CisgICAgICAgICAgICB9
CisgICAgICAgIDwvc2NyaXB0PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3N2Zy9jdXN0b20vbWFudWFsbHktcGFyc2VkLXN2Zy1kaXNhbGxvd2VkLWluLWRh
c2hib2FyZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL21hbnVhbGx5LXBh
cnNlZC1zdmctZGlzYWxsb3dlZC1pbi1kYXNoYm9hcmQtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCBiN2JkYjRjYjMwN2MwM2IxZWQzOTAzYzRlMWRiMDk0ZjYyMmE1
MWJkLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL3N2Zy9jdXN0b20vbWFudWFsbHktcGFyc2VkLXN2Zy1kaXNhbGxvd2VkLWluLWRhc2hi
b2FyZC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw1ICswLDAgQEAKLVRoaXMgdGVz
dCBtYWtlcyBzdXJlIHdlIGNhbid0IGFkZCBtYW51YWxseSBwYXJzZWQgU1ZHIHRvIHRoZSBkb2N1
bWVudCB3aGVuIGluIGRhc2hib2FyZCBjb21wYXRpYmlsaXR5IG1vZGUuIEl0IGNhbiBub3QgYmUg
dGVzdGVkIG1hbnVhbGx5LgotCi1QYXJzaW5nIG9mIHRoZSBkb2N1bWVudCBpc24ndCBwcmV2ZW50
ZWQgYW5kIHByb2R1Y2VzIGEgW29iamVjdCBTVkdEb2N1bWVudF0KLVBBU1M6IENvdWxkIG5vdCBp
bnNlcnQgU1ZHIGVsZW1lbnQgaW50byB0cmVlCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2
Zy9jdXN0b20vbWFudWFsbHktcGFyc2VkLXN2Zy1kaXNhbGxvd2VkLWluLWRhc2hib2FyZC5odG1s
IGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9tYW51YWxseS1wYXJzZWQtc3ZnLWRpc2FsbG93ZWQt
aW4tZGFzaGJvYXJkLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU5ODA5NzEw
NDY3MjJkYTZjNjY2ZmU4ZWQzZmNhNTY4YzA1MGQzNTQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9tYW51YWxseS1w
YXJzZWQtc3ZnLWRpc2FsbG93ZWQtaW4tZGFzaGJvYXJkLmh0bWwKKysrIC9kZXYvbnVsbApAQCAt
MSw0NSArMCwwIEBACi08aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+
Ci0gICAgPGhlYWQ+Ci0gICAgICAgIDx0aXRsZT5NYWtlIHN1cmUgZW1iZWRkZWQgU1ZHIGlzIHR1
cm5lZCBvZmYgaW4gZGFzaGJvYXJkPC90aXRsZT4KLSAgICA8L2hlYWQ+Ci0gICAgPHNjcmlwdD4K
LSAgICAgICAgZnVuY3Rpb24gZGVidWcoc3RyKSB7Ci0gICAgICAgICAgICB2YXIgYyA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCdjb25zb2xlJykKLSAgICAgICAgICAgIGMuYXBwZW5kQ2hpbGQo
ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoc3RyICsgJ1xuJykpOwotICAgICAgICB9Ci0gICAgICAg
IAotICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0gICAgICAgICAg
ICBsYXlvdXRUZXN0Q29udHJvbGxlci5zZXRVc2VEYXNoYm9hcmRDb21wYXRpYmlsaXR5TW9kZSh0
cnVlKTsKLSAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKLSAg
ICAgICAgfQotICAgIDwvc2NyaXB0PgotICAgIDxib2R5PgotICAgICAgICA8cD5UaGlzIHRlc3Qg
bWFrZXMgc3VyZSB3ZSBjYW4ndCBhZGQgbWFudWFsbHkgcGFyc2VkIFNWRyB0byB0aGUgZG9jdW1l
bnQgd2hlbiBpbiBkYXNoYm9hcmQgY29tcGF0aWJpbGl0eSBtb2RlLiAgSXQgY2FuIG5vdCBiZSB0
ZXN0ZWQgbWFudWFsbHkuPC9wPgotICAgICAgICA8ZGl2IGlkPSJ0YXJnZXREaXYiPjwvZGl2Pgot
ICAgICAgICA8cHJlIGlkPSJjb25zb2xlIj48L3ByZT4gCi0gICAgICAgIDxzY3JpcHQ+Ci0gICAg
ICAgICAgICB2YXIgZG9jdW1lbnRTdHJpbmcgPSAnPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5v
cmcvMjAwMC9zdmciIHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIj4nICsKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICc8Y2lyY2xlIGN4PSI1MCIgY3k9IjUwIiByPSI1MCIgZmlsbD0i
cmVkIi8+PC9zdmc+JzsKLQotICAgICAgICAgICAgLy8gVXNlIERPTVBhcnNlciBpbnRlcmZhY2Ug
dG8gY3JlYXRlIGEgU1ZHRG9jdW1lbnQgZGF0YXN0cnVjdHVyZSBmcm9tIFNWRyBjb250ZW50IHN0
cmluZwotICAgICAgICAgICAgdmFyIHBhcnNlciA9IG5ldyBET01QYXJzZXIoKTsKLSAgICAgICAg
ICAgIHZhciBzdmdEb2N1bWVudCA9IHBhcnNlci5wYXJzZUZyb21TdHJpbmcoZG9jdW1lbnRTdHJp
bmcsICJpbWFnZS9zdmcreG1sIik7Ci0KLSAgICAgICAgICAgIGRlYnVnKCJQYXJzaW5nIG9mIHRo
ZSBkb2N1bWVudCBpc24ndCBwcmV2ZW50ZWQgYW5kIHByb2R1Y2VzIGEgIiArIHN2Z0RvY3VtZW50
KTsKLSAgICAgICAgICAgIAotICAgICAgICAgICAgLy8gSW1wb3J0IFNWRyBlbGVtZW50IGludG8g
dHJlZS4KLSAgICAgICAgICAgIHZhciBpbXBvcnRlZE5vZGUgPSBudWxsOwotICAgICAgICAgICAg
dHJ5IHsKLSAgICAgICAgICAgICAgICBpbXBvcnRlZE5vZGUgPSBkb2N1bWVudC5pbXBvcnROb2Rl
KHN2Z0RvY3VtZW50LmZpcnN0Q2hpbGQsIHRydWUpOwotICAgICAgICAgICAgfSBjYXRjaChlKSB7
Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIGlmIChpbXBvcnRlZE5v
ZGUpIHsKLSAgICAgICAgICAgICAgICBkZWJ1ZygiRkFJTDogTWFuYWdlZCB0byBpbnNlcnQgU1ZH
IGVsZW1lbnQgaW50byB0cmVlIik7Ci0gICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ3RhcmdldERpdicpLmFwcGVuZENoaWxkKGltcG9ydGVkTm9kZSk7Ci0gICAgICAgICAg
ICB9IGVsc2UgewotICAgICAgICAgICAgICAgIGRlYnVnKCJQQVNTOiBDb3VsZCBub3QgaW5zZXJ0
IFNWRyBlbGVtZW50IGludG8gdHJlZSIpOwotICAgICAgICAgICAgfQotICAgICAgICA8L3Njcmlw
dD4KLSAgICA8L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvY3Vz
dG9tL3N2Zy1hbGxvd2VkLWluLWRhc2hib2FyZC1vYmplY3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvc3ZnL2N1c3RvbS9zdmctYWxsb3dlZC1pbi1kYXNoYm9hcmQtb2JqZWN0LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yODM1NWRkNWE3MDVmMzliNjhmZjU3OWVmYzE0ZGI2OTQ4ZDQ5ZmQw
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9zdmctYWxsb3dlZC1p
bi1kYXNoYm9hcmQtb2JqZWN0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDggQEAKK1RoaXMgdGVz
dCBtYWtlcyBzdXJlIHdlIGNhbiBvcGVuIFNWRyBkb2N1bWVudHMgaW4gRGFzaGJvYXJkIGNvbXBh
dGliaWxpdHkgbW9kZS4gSXQgY2FuIG5vdCBiZSB0ZXN0ZWQgbWFudWFsbHkuCisKKyAgICAKK1BB
U1M6IExvYWRlZCBTVkcgZG9jdW1lbnQgaW4gPG9iamVjdD4gdGFnLgorUEFTUzogTG9hZGVkIFNW
RyBkb2N1bWVudCBpbiA8ZWxlbWVudD4gdGFnLgorUEFTUzogTG9hZGVkIFNWRyBkb2N1bWVudCBp
biA8aWZyYW1lPiB0YWcuCitQQVNTOiBTVkcgRG9jdW1lbnRzIHdlcmUgbG9hZGVkCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vc3ZnLWFsbG93ZWQtaW4tZGFzaGJvYXJkLW9i
amVjdC5odG1sIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9zdmctYWxsb3dlZC1pbi1kYXNoYm9h
cmQtb2JqZWN0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE3NzczNjMzMmYwYzdhYjJjMDQyMjEyZGEwOWUy
ZmZkNGM4NjZmZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vc3Zn
LWFsbG93ZWQtaW4tZGFzaGJvYXJkLW9iamVjdC5odG1sCkBAIC0wLDAgKzEsNzAgQEAKKzxodG1s
PgorPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPHA+VGhpcyB0ZXN0IG1ha2VzIHN1cmUgd2Ug
Y2FuIG9wZW4gU1ZHIGRvY3VtZW50cyBpbiBEYXNoYm9hcmQgY29tcGF0aWJpbGl0eSBtb2RlLiAg
SXQgY2FuIG5vdCBiZSB0ZXN0ZWQgbWFudWFsbHkuPC9wPgorPHNjcmlwdD4KKyAgICBpZiAod2lu
ZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVy
LnNldFVzZURhc2hib2FyZENvbXBhdGliaWxpdHlNb2RlKHRydWUpOworICAgICAgICBsYXlvdXRU
ZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVy
LndhaXRVbnRpbERvbmUoKTsKKyAgICB9CisgICAgCisgICAgZnVuY3Rpb24gZGVidWcoc3RyKSB7
CisgICAgICAgIHZhciBjID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnNvbGUnKQorICAg
ICAgICBjLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKHN0ciArICdcbicpKTsK
KyAgICB9CisgICAgCisgICAgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgdHJ5IHsKKyAg
ICAgICAgICAgIHZhciBmYWlsZWQgPSBmYWxzZTsKKyAgICAgICAgICAgIHZhciBzdmdEb2MgPSBu
dWxsOworICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICBzdmdEb2MgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgnc3ZnT2JqZWN0JykuZ2V0U1ZHRG9jdW1lbnQoKTsKKyAgICAgICAg
ICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAgICAgICAgICAgICBzdmdEb2MgPSBudWxsOworICAgICAg
ICAgICAgfQorICAgICAgICAgICAgaWYgKHN2Z0RvYykgeworICAgICAgICAgICAgICAgIGRlYnVn
KCJQQVNTOiBMb2FkZWQgU1ZHIGRvY3VtZW50IGluIDxvYmplY3Q+IHRhZy4iKTsgCisgICAgICAg
ICAgICAgICAgZmFpbGVkID0gdHJ1ZTsKKyAgICAgICAgICAgIH0gZWxzZSAKKyAgICAgICAgICAg
ICAgICBkZWJ1ZygiRkFJTDogRGlkIG5vdCBsb2FkIFNWRyBkb2N1bWVudCBpbiA8b2JqZWN0PiB0
YWciKTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICBz
dmdEb2MgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc3ZnRW1iZWQnKS5nZXRTVkdEb2N1bWVu
dCgpOworICAgICAgICAgICAgfSBjYXRjaCAoZSkgeworICAgICAgICAgICAgICAgIHN2Z0RvYyA9
IG51bGw7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAoc3ZnRG9jKSB7CisgICAgICAg
ICAgICAgICAgZGVidWcoIlBBU1M6IExvYWRlZCBTVkcgZG9jdW1lbnQgaW4gPGVsZW1lbnQ+IHRh
Zy4iKTsgCisgICAgICAgICAgICAgICAgZmFpbGVkID0gdHJ1ZTsKKyAgICAgICAgICAgIH0gZWxz
ZSAKKyAgICAgICAgICAgICAgICBkZWJ1ZygiRkFJTDogRGlkIG5vdCBsb2FkIFNWRyBkb2N1bWVu
dCBpbiA8ZWxlbWVudD4gdGFnIik7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgc3ZnRG9jID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3N2Z0lGcmFt
ZScpLmdldFNWR0RvY3VtZW50KCk7CisgICAgICAgICAgICB9IGNhdGNoIChlKSB7CisgICAgICAg
ICAgICAgICAgc3ZnRG9jID0gbnVsbDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmIChz
dmdEb2MpIHsKKyAgICAgICAgICAgICAgICBkZWJ1ZygiUEFTUzogTG9hZGVkIFNWRyBkb2N1bWVu
dCBpbiA8aWZyYW1lPiB0YWcuIik7IAorICAgICAgICAgICAgICAgIGZhaWxlZCA9IHRydWU7Cisg
ICAgICAgICAgICB9IGVsc2UgCisgICAgICAgICAgICAgICAgZGVidWcoIkZBSUw6IERpZCBub3Qg
bG9hZCBTVkcgZG9jdW1lbnQgaW4gPGlmcmFtZT4gdGFnIik7CisgICAgICAgICAgICAKKyAgICAg
ICAgICAgIGlmIChmYWlsZWQpCisgICAgICAgICAgICAgICAgZGVidWcoIlBBU1M6IFNWRyBEb2N1
bWVudHMgd2VyZSBsb2FkZWQiKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBk
ZWJ1ZygiRkFJTDogU1ZHIERvY3VtZW50cyB3ZXJlIG5vdCBsb2FkZWQiKTsKKyAgICAgICAgfSBj
YXRjaCAoZSkgeworICAgICAgICAgICAgZGVidWcoIkZBSUw6IEV4Y2VwdGlvbiB0aHJvd246ICIg
KyBlKQorICAgICAgICB9CisgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIp
IAorICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworICAgIH0K
Kzwvc2NyaXB0PgorICAgIAorICAgPG9iamVjdCBpZD0ic3ZnT2JqZWN0IiBkYXRhPSIuLi9XM0Mt
U1ZHLTEuMS90ZXh0LXdzLTAyLXQuc3ZnIiB3aWR0aD0iMTAwcHgiIGhlaWdodD0iMTAwcHgiPjwv
b2JqZWN0PgorICAgPGVtYmVkIGlkPSJzdmdFbWJlZCIgc3JjPSIuLi9XM0MtU1ZHLTEuMS90ZXh0
LXdzLTAyLXQuc3ZnIiB3aWR0aD0iMTAwcHgiIGhlaWdodD0iMTAwcHgiPjwvZW1iZWQ+CisgICA8
aWZyYW1lIGlkPSJzdmdJRnJhbWUiIHNyYz0iLi4vVzNDLVNWRy0xLjEvdGV4dC13cy0wMi10LnN2
ZyIgd2lkdGg9IjEwMHB4IiBoZWlnaHQ9IjEwMHB4Ij48L2lmcmFtZT4KKyAgIDxwcmUgaWQ9ImNv
bnNvbGUiPjwvcHJlPiAgICAKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3N2Zy9jdXN0b20vc3ZnLWRpc2FsbG93ZWQtaW4tZGFzaGJvYXJkLW9iamVjdC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3N2Zy1kaXNhbGxvd2VkLWluLWRhc2hib2Fy
ZC1vYmplY3QtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyMDg5
ZGMwMzhmYzVlN2NiN2MxZmY0MDI4ZWM5NWViYjVkNWQxZThmLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vc3ZnLWRp
c2FsbG93ZWQtaW4tZGFzaGJvYXJkLW9iamVjdC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApA
QCAtMSw4ICswLDAgQEAKLVRoaXMgdGVzdCBtYWtlcyBzdXJlIHdlIGNhbid0IG9wZW4gU1ZHIGRv
Y3VtZW50cyBpbiBEYXNoYm9hcmQgY29tcGF0aWJpbGl0eSBtb2RlLiBJdCBjYW4gbm90IGJlIHRl
c3RlZCBtYW51YWxseS4KLQotICAgIAotUEFTUzogRGlkIG5vdCBsb2FkIFNWRyBkb2N1bWVudCBp
biA8b2JqZWN0PiB0YWcKLVBBU1M6IERpZCBub3QgbG9hZCBTVkcgZG9jdW1lbnQgaW4gPGVsZW1l
bnQ+IHRhZwotUEFTUzogRGlkIG5vdCBsb2FkIFNWRyBkb2N1bWVudCBpbiA8aWZyYW1lPiB0YWcK
LVBBU1M6IFNWRyBEb2N1bWVudHMgd2VyZSBub3QgbG9hZGVkCi0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3N2Zy9jdXN0b20vc3ZnLWRpc2FsbG93ZWQtaW4tZGFzaGJvYXJkLW9iamVjdC5odG1s
IGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9zdmctZGlzYWxsb3dlZC1pbi1kYXNoYm9hcmQtb2Jq
ZWN0Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI1MDA2ZmE0NmU0NjZhOTRj
YjIzM2RlN2FiM2E1YWE0OWIzYTQzNGMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9zdmctZGlzYWxsb3dlZC1pbi1k
YXNoYm9hcmQtb2JqZWN0Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw2NyArMCwwIEBACi08aHRt
bD4KLTxib2R5IG9ubG9hZD0idGltZU91dCgpIj4KLTxwPlRoaXMgdGVzdCBtYWtlcyBzdXJlIHdl
IGNhbid0IG9wZW4gU1ZHIGRvY3VtZW50cyBpbiBEYXNoYm9hcmQgY29tcGF0aWJpbGl0eSBtb2Rl
LiAgSXQgY2FuIG5vdCBiZSB0ZXN0ZWQgbWFudWFsbHkuPC9wPgotPHNjcmlwdD4KLSAgICBpZiAo
d2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9s
bGVyLnNldFVzZURhc2hib2FyZENvbXBhdGliaWxpdHlNb2RlKHRydWUpOwotICAgICAgICBsYXlv
dXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Ci0gICAgfQotICAgIAotICAgIGZ1bmN0aW9u
IGRlYnVnKHN0cikgewotICAgICAgICB2YXIgYyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdj
b25zb2xlJykKLSAgICAgICAgYy5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShz
dHIgKyAnXG4nKSk7Ci0gICAgfQotICAgIAotICAgIGZ1bmN0aW9uIHRpbWVPdXQoKSB7Ci0gICAg
ICAgIHRyeSB7Ci0gICAgICAgICAgICB2YXIgZmFpbGVkID0gZmFsc2U7Ci0gICAgICAgICAgICB2
YXIgc3ZnRG9jID0gbnVsbDsKLSAgICAgICAgICAgIHRyeSB7Ci0gICAgICAgICAgICAgICAgc3Zn
RG9jID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3N2Z09iamVjdCcpLmdldFNWR0RvY3VtZW50
KCk7Ci0gICAgICAgICAgICB9IGNhdGNoIChlKSB7Ci0gICAgICAgICAgICAgICAgc3ZnRG9jID0g
bnVsbDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlmIChzdmdEb2MpIHsKLSAgICAgICAg
ICAgICAgICBkZWJ1ZygiRkFJTDogTG9hZGVkIFNWRyBkb2N1bWVudCBpbiA8b2JqZWN0PiB0YWcu
Iik7IAotICAgICAgICAgICAgICAgIGZhaWxlZCA9IHRydWU7Ci0gICAgICAgICAgICB9IGVsc2Ug
Ci0gICAgICAgICAgICAgICAgZGVidWcoIlBBU1M6IERpZCBub3QgbG9hZCBTVkcgZG9jdW1lbnQg
aW4gPG9iamVjdD4gdGFnIik7Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIHRyeSB7Ci0gICAg
ICAgICAgICAgICAgc3ZnRG9jID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3N2Z0VtYmVkJyku
Z2V0U1ZHRG9jdW1lbnQoKTsKLSAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsKLSAgICAgICAgICAg
ICAgICBzdmdEb2MgPSBudWxsOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgaWYgKHN2Z0Rv
YykgewotICAgICAgICAgICAgICAgIGRlYnVnKCJGQUlMOiBMb2FkZWQgU1ZHIGRvY3VtZW50IGlu
IDxlbGVtZW50PiB0YWcuIik7IAotICAgICAgICAgICAgICAgIGZhaWxlZCA9IHRydWU7Ci0gICAg
ICAgICAgICB9IGVsc2UgCi0gICAgICAgICAgICAgICAgZGVidWcoIlBBU1M6IERpZCBub3QgbG9h
ZCBTVkcgZG9jdW1lbnQgaW4gPGVsZW1lbnQ+IHRhZyIpOwotICAgICAgICAgICAgCi0gICAgICAg
ICAgICB0cnkgewotICAgICAgICAgICAgICAgIHN2Z0RvYyA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCdzdmdJRnJhbWUnKS5nZXRTVkdEb2N1bWVudCgpOwotICAgICAgICAgICAgfSBjYXRjaCAo
ZSkgewotICAgICAgICAgICAgICAgIHN2Z0RvYyA9IG51bGw7Ci0gICAgICAgICAgICB9Ci0gICAg
ICAgICAgICBpZiAoc3ZnRG9jKSB7Ci0gICAgICAgICAgICAgICAgZGVidWcoIkZBSUw6IExvYWRl
ZCBTVkcgZG9jdW1lbnQgaW4gPGlmcmFtZT4gdGFnLiIpOyAKLSAgICAgICAgICAgICAgICBmYWls
ZWQgPSB0cnVlOwotICAgICAgICAgICAgfSBlbHNlIAotICAgICAgICAgICAgICAgIGRlYnVnKCJQ
QVNTOiBEaWQgbm90IGxvYWQgU1ZHIGRvY3VtZW50IGluIDxpZnJhbWU+IHRhZyIpOwotICAgICAg
ICAgICAgCi0gICAgICAgICAgICBpZiAoZmFpbGVkKQotICAgICAgICAgICAgICAgIGRlYnVnKCJG
QUlMOiBTVkcgRG9jdW1lbnRzIHdlcmUgbG9hZGVkIik7Ci0gICAgICAgICAgICBlbHNlCi0gICAg
ICAgICAgICAgICAgZGVidWcoIlBBU1M6IFNWRyBEb2N1bWVudHMgd2VyZSBub3QgbG9hZGVkIik7
Ci0gICAgICAgIH0gY2F0Y2ggKGUpIHsKLSAgICAgICAgICAgIGRlYnVnKCJGQUlMOiBFeGNlcHRp
b24gdGhyb3duOiAiICsgZSkKLSAgICAgICAgfQotICAgIH0KLTwvc2NyaXB0PgotICAgIAotICAg
PG9iamVjdCBpZD0ic3ZnT2JqZWN0IiBkYXRhPSIuLi9XM0MtU1ZHLTEuMS90ZXh0LXdzLTAyLXQu
c3ZnIiB3aWR0aD0iMTAwcHgiIGhlaWdodD0iMTAwcHgiPjwvb2JqZWN0PgotICAgPGVtYmVkIGlk
PSJzdmdFbGVtZW50IiBzcmM9Ii4uL1czQy1TVkctMS4xL3RleHQtd3MtMDItdC5zdmciIHdpZHRo
PSIxMDBweCIgaGVpZ2h0PSIxMDBweCI+PC9lbWJlZD4KLSAgIDxpZnJhbWUgaWQ9InN2Z0lGcmFt
ZSIgc3JjPSIuLi9XM0MtU1ZHLTEuMS90ZXh0LXdzLTAyLXQuc3ZnIiB3aWR0aD0iMTAwcHgiIGhl
aWdodD0iMTAwcHgiPjwvaWZyYW1lPgotICAgPHByZSBpZD0iY29uc29sZSI+PC9wcmU+ICAgIAot
PC9ib2R5PgotPC9odG1sPgo=
</data>
<flag name="review"
          id="130109"
          type_id="1"
          status="+"
          setter="dino"
    />
          </attachment>
      

    </bug>

</bugzilla>