<?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>11106</bug_id>
          
          <creation_ts>2006-10-01 03:33:49 -0700</creation_ts>
          <short_desc>Some XMLHttpRequest URI resolving tests fail</short_desc>
          <delta_ts>2023-05-12 22:56:42 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>XML</component>
          <version>420+</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>INVALID</resolution>
          
          
          <bug_file_loc>http://tc.labs.opera.com/apis/XMLHttpRequest/open/</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexey Proskuryakov">ap</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>annevk</cc>
    
    <cc>emacemac7</cc>
    
    <cc>jchaffraix</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>56870</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2006-10-01 03:33:49 -0700</bug_when>
    <thetext>The bug URL points to URI resolving tests written for the XHR spec; WebKit fails some of them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>103198</commentid>
    <comment_count>1</comment_count>
      <attachid>26207</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2008-12-22 11:04:57 -0800</bug_when>
    <thetext>Created attachment 26207
Change URI resolution to use the ScriptExecutionContext instead of the DOMWindow</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>103209</commentid>
    <comment_count>2</comment_count>
      <attachid>26207</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2008-12-22 12:42:44 -0800</bug_when>
    <thetext>Comment on attachment 26207
Change URI resolution to use the ScriptExecutionContext instead of the DOMWindow

&gt; +        // The Document can use its encoding to resolve the URI so use its specialized method.
&gt; +        // FIXME: Once the encoding information have been moved to ScriptExecutionContext,
&gt; +        // this code should be simplified.

Why not put a virtual completeURL function into ScriptExecutionContext now, even if it doesn&apos;t handle encoding correctly yet? I don&apos;t see the point in adding this if statement.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>103225</commentid>
    <comment_count>3</comment_count>
      <attachid>26213</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2008-12-22 14:40:24 -0800</bug_when>
    <thetext>Created attachment 26213
Updated with Darin &amp; Alexey&apos;s comment - Removed FIXME + removed layout test wrapper

After some discussion with Alexey, the layout test wrapper is not necessary and was removed.

To address Darin&apos;s comment, I have added a non-virtual completeURL method to ScriptExecutionContext that wraps the call virtualCompleteURL (in the same way it was done for ScriptExecutionContext::url()).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>103234</commentid>
    <comment_count>4</comment_count>
      <attachid>26213</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2008-12-22 15:26:05 -0800</bug_when>
    <thetext>Comment on attachment 26213
Updated with Darin &amp; Alexey&apos;s comment - Removed FIXME + removed layout test wrapper

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>103277</commentid>
    <comment_count>5</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2008-12-23 00:43:04 -0800</bug_when>
    <thetext>As promised on IRC, I verified that IE7 passes these tests (and Julien tested with Firefox). Of the subsequent tests that are not included in this patch, IE7 fails 016, 024, 030 and 033.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>103314</commentid>
    <comment_count>6</comment_count>
      <attachid>26213</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2008-12-23 11:04:39 -0800</bug_when>
    <thetext>Comment on attachment 26213
Updated with Darin &amp; Alexey&apos;s comment - Removed FIXME + removed layout test wrapper

Landed patch in r39453.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>103315</commentid>
    <comment_count>7</comment_count>
      <attachid>26213</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2008-12-23 11:38:51 -0800</bug_when>
    <thetext>Comment on attachment 26213
Updated with Darin &amp; Alexey&apos;s comment - Removed FIXME + removed layout test wrapper

Clearing review flag per Alexey request.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>103329</commentid>
    <comment_count>8</comment_count>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2008-12-23 15:20:48 -0800</bug_when>
    <thetext>Here are the results of the remaining tests:

Tests that we fail:

- 015
- 016
- 024
- 030 (throw NETWORK_ERR)
- 031
- 033

Test that Firefox fails:
- 015
- 016 (throw NS_ERROR_FAILURE)
- 019
- 020
- 022
- 024
- 030 (throw NS_ERROR_FAILURE)
- 031
- 033 (throw NS_ERROR_FAILURE in the iframe)

Opera:
- 015
- 016 (throw INVALID_STATE_ERR)
- 021
- 023
- 024
- 025
- 030 (throw security violation)
- 031
- 032
- 033</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>103331</commentid>
    <comment_count>9</comment_count>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2008-12-23 15:31:45 -0800</bug_when>
    <thetext>To follow the standard and match IE, we thus have to fix 015 and 031.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1955183</commentid>
    <comment_count>10</comment_count>
    <who name="Anne van Kesteren">annevk</who>
    <bug_when>2023-05-12 22:56:42 -0700</bug_when>
    <thetext>These tests have been obsoleted by WPT.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>26207</attachid>
            <date>2008-12-22 11:04:57 -0800</date>
            <delta_ts>2008-12-22 14:40:24 -0800</delta_ts>
            <desc>Change URI resolution to use the ScriptExecutionContext instead of the DOMWindow</desc>
            <filename>XHR-URI-resolve.diff</filename>
            <type>text/plain</type>
            <size>22597</size>
            <attacher name="Julien Chaffraix">jchaffraix</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAzOTQzNykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTkgQEAKKzIwMDgtMTItMjIgIEp1bGllbiBDaGFmZnJhaXggIDxqY2hhZmZyYWl4
QHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQnVnIDExMTA2OiBTb21lIFhNTEh0dHBSZXF1ZXN0IFVSSSByZXNvbHZpbmcgdGVzdHMg
ZmFpbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEx
MDYKKworICAgICAgICBVc2UgdGhlIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQgdG8gcmVzb2x2ZSB0
aGUgVVJJIHdoZW4gY2FsbGluZyBvcGVuIGluIEphdmFTY3JpcHQuCisgICAgICAgIFRoZSBwcmV2
aW91cyBjb2RlIHdhcyB1c2luZyB0aGUgY29udGFpbmluZyBET01XaW5kb3cgdG8gZG8gc28gd2hp
Y2ggd291bGQgZmFpbCBmb3IKKyAgICAgICAgWE1MSHR0cFJlcXVlc3Qgb2JqZWN0IGJlaW5nIHBh
c3NlZCBiZXR3ZWVuIGlmcmFtZS4KKworICAgICAgICBUZXN0OiBodHRwL3Rlc3RzL3htbGh0dHBy
ZXF1ZXN0L3htbGh0dHByZXF1ZXN0LXVyaS1yZXNvbHV0aW9uLmh0bWwKKworICAgICAgICAqIGJp
bmRpbmdzL2pzL0pTWE1MSHR0cFJlcXVlc3RDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SlNYTUxIdHRwUmVxdWVzdDo6b3Blbik6CisKIDIwMDgtMTItMjIgIEFsZXhleSBQcm9za3VyeWFr
b3YgIDxhcEB3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpJ
bmRleDogV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1hNTEh0dHBSZXF1ZXN0Q3VzdG9tLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL2pzL0pTWE1MSHR0cFJlcXVlc3RDdXN0b20uY3Bw
CShyZXZpc2lvbiAzOTQyMykKKysrIFdlYkNvcmUvYmluZGluZ3MvanMvSlNYTUxIdHRwUmVxdWVz
dEN1c3RvbS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTk0LDE4ICs5NCwyNCBAQCBKU1ZhbHVlKiBK
U1hNTEh0dHBSZXF1ZXN0OjpvcGVuKEV4ZWNTdGF0CiAgICAgaWYgKGFyZ3Muc2l6ZSgpIDwgMikK
ICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXhlYywgU3ludGF4RXJyb3IsICJOb3QgZW5vdWdo
IGFyZ3VtZW50cyIpOwogCi0gICAgRnJhbWUqIGZyYW1lID0gYXNKU0RPTVdpbmRvdyhleGVjLT5k
eW5hbWljR2xvYmFsT2JqZWN0KCkpLT5pbXBsKCktPmZyYW1lKCk7Ci0gICAgaWYgKCFmcmFtZSkK
LSAgICAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7Ci0gICAgY29uc3QgS1VSTCYgdXJsID0gZnJh
bWUtPmxvYWRlcigpLT5jb21wbGV0ZVVSTChhcmdzLmF0KGV4ZWMsIDEpLT50b1N0cmluZyhleGVj
KSk7Ci0KLSAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKKyAgICBTY3JpcHRFeGVjdXRpb25Db250
ZXh0KiBleGVjdXRpb25Db250ZXh0ID0gaW1wbCgpLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7
CisgICAgS1VSTCB1cmw7CisgICAgaWYgKGV4ZWN1dGlvbkNvbnRleHQtPmlzRG9jdW1lbnQoKSkK
KyAgICAgICAgLy8gVGhlIERvY3VtZW50IGNhbiB1c2UgaXRzIGVuY29kaW5nIHRvIHJlc29sdmUg
dGhlIFVSSSBzbyB1c2UgaXRzIHNwZWNpYWxpemVkIG1ldGhvZC4KKyAgICAgICAgLy8gRklYTUU6
IE9uY2UgdGhlIGVuY29kaW5nIGluZm9ybWF0aW9uIGhhdmUgYmVlbiBtb3ZlZCB0byBTY3JpcHRF
eGVjdXRpb25Db250ZXh0LAorICAgICAgICAvLyB0aGlzIGNvZGUgc2hvdWxkIGJlIHNpbXBsaWZp
ZWQuCisgICAgICAgIHVybCA9IHN0YXRpY19jYXN0PERvY3VtZW50Kj4oZXhlY3V0aW9uQ29udGV4
dCktPmNvbXBsZXRlVVJMKGFyZ3MuYXQoZXhlYywgMSktPnRvU3RyaW5nKGV4ZWMpKTsKKyAgICBl
bHNlIHsKKyAgICAgICAgY29uc3QgS1VSTCYgYmFzZVVybCA9IGV4ZWN1dGlvbkNvbnRleHQtPnVy
bCgpOworICAgICAgICB1cmwgPSBLVVJMKGJhc2VVcmwsIGFyZ3MuYXQoZXhlYywgMSktPnRvU3Ry
aW5nKGV4ZWMpKTsKKyAgICB9CiAKICAgICBTdHJpbmcgbWV0aG9kID0gYXJncy5hdChleGVjLCAw
KS0+dG9TdHJpbmcoZXhlYyk7CiAgICAgYm9vbCBhc3luYyA9IHRydWU7CiAgICAgaWYgKGFyZ3Mu
c2l6ZSgpID49IDMpCiAgICAgICAgIGFzeW5jID0gYXJncy5hdChleGVjLCAyKS0+dG9Cb29sZWFu
KGV4ZWMpOwogCisgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CiAgICAgaWYgKGFyZ3Muc2l6ZSgp
ID49IDQgJiYgIWFyZ3MuYXQoZXhlYywgMyktPmlzVW5kZWZpbmVkKCkpIHsKICAgICAgICAgU3Ry
aW5nIHVzZXIgPSB2YWx1ZVRvU3RyaW5nV2l0aE51bGxDaGVjayhleGVjLCBhcmdzLmF0KGV4ZWMs
IDMpKTsKIApJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMzk0MzcpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VM
b2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwzMyBAQAorMjAwOC0xMi0yMiAgSnVsaWVuIENo
YWZmcmFpeCAgPGpjaGFmZnJhaXhAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0IGNhc2UgZm9yIGJ1ZyAxMTEwNjogU29tZSBY
TUxIdHRwUmVxdWVzdCBVUkkgcmVzb2x2aW5nIHRlc3RzIGZhaWwKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMTA2CisKKyAgICAgICAgVGhlc2UgdGVz
dHMgYXJlIGJvcnJvd2VkIGZyb20gT3BlcmEncyB0ZXN0IGNhc2Ugc3VpdGUgKGh0dHA6Ly90Yy5s
YWJzLm9wZXJhLmNvbS9hcGlzL1hNTEh0dHBSZXF1ZXN0KS4KKyAgICAgICAgVGhleSBjb3JyZXNw
b25kIHRvIG9wZW4vMDA0Lmh0bWwgLSBvcGVuLzAxMC5odG1sIHdoaWNoIHdlcmUgcHJldmlvdXNs
eSBmYWlsaW5nLgorCisgICAgICAgICogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9yZXNvdXJj
ZXMvcmVzb3VyY2VzOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0
L3Jlc291cmNlcy9yZXNvdXJjZXMvdGVzdC11cmktcmVzb2x1dGlvbi50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvcmVzb3VyY2VzL3Jlc291cmNlcy91cmkt
cmVzb2x1dGlvbi1vcGVyYS1vcGVuLTAwNC1pZnJhbWUuaHRtbDogQWRkZWQuCisgICAgICAgICog
aHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9yZXNvdXJjZXMvcmVzb3VyY2VzL3VyaS1yZXNvbHV0
aW9uLW9wZXJhLW9wZW4tMDA1LWlmcmFtZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rl
c3RzL3htbGh0dHByZXF1ZXN0L3Jlc291cmNlcy9yZXNvdXJjZXMvdXJpLXJlc29sdXRpb24tb3Bl
cmEtb3Blbi0wMDYtaWZyYW1lLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMveG1s
aHR0cHJlcXVlc3QvcmVzb3VyY2VzL3Jlc291cmNlcy91cmktcmVzb2x1dGlvbi1vcGVyYS1vcGVu
LTAwNy1pZnJhbWUuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy94bWxodHRwcmVx
dWVzdC9yZXNvdXJjZXMvcmVzb3VyY2VzL3VyaS1yZXNvbHV0aW9uLW9wZXJhLW9wZW4tMDA4LWlm
cmFtZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3Jl
c291cmNlcy9yZXNvdXJjZXMvdXJpLXJlc29sdXRpb24tb3BlcmEtb3Blbi0wMDktaWZyYW1lLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvcmVzb3VyY2Vz
L3Jlc291cmNlcy91cmktcmVzb2x1dGlvbi1vcGVyYS1vcGVuLTAxMC1pZnJhbWUuaHRtbDogQWRk
ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9yZXNvdXJjZXMvdGVzdC11
cmktcmVzb2x1dGlvbi50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMveG1saHR0cHJl
cXVlc3QvcmVzb3VyY2VzL3VyaS1yZXNvbHV0aW9uLW9wZXJhLW9wZW4tMDA0Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvcmVzb3VyY2VzL3VyaS1yZXNv
bHV0aW9uLW9wZXJhLW9wZW4tMDA1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMv
eG1saHR0cHJlcXVlc3QvcmVzb3VyY2VzL3VyaS1yZXNvbHV0aW9uLW9wZXJhLW9wZW4tMDA2Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvcmVzb3VyY2Vz
L3VyaS1yZXNvbHV0aW9uLW9wZXJhLW9wZW4tMDA3Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0
dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvcmVzb3VyY2VzL3VyaS1yZXNvbHV0aW9uLW9wZXJhLW9w
ZW4tMDA4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3Qv
cmVzb3VyY2VzL3VyaS1yZXNvbHV0aW9uLW9wZXJhLW9wZW4tMDA5Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvcmVzb3VyY2VzL3VyaS1yZXNvbHV0aW9u
LW9wZXJhLW9wZW4tMDEwLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMveG1saHR0
cHJlcXVlc3QveG1saHR0cHJlcXVlc3QtdXJpLXJlc29sdXRpb24tZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3htbGh0dHByZXF1ZXN0LXVy
aS1yZXNvbHV0aW9uLmh0bWw6IEFkZGVkLgorCiAyMDA4LTEyLTIyICBBbGV4ZXkgUHJvc2t1cnlh
a292ICA8YXBAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4K
SW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QveG1saHR0cHJlcXVl
c3QtdXJpLXJlc29sdXRpb24tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QveG1saHR0cHJlcXVlc3QtdXJpLXJlc29sdXRpb24t
ZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxo
dHRwcmVxdWVzdC94bWxodHRwcmVxdWVzdC11cmktcmVzb2x1dGlvbi1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDApCkBAIC0wLDAgKzEsNzUgQEAKK0J1ZyAxMTEwNiAxMTEwNiBTb21lIFhNTEh0dHBS
ZXF1ZXN0IFVSSSByZXNvbHZpbmcgdGVzdHMgZmFpbAorCitGb3IgdGhpcyB0ZXN0IHRvIHBhc3Ms
IHlvdSBzaG91bGQgc2VlIFBBU1NFRCBpbiBhbGwgdGhlIGZvbGxvd2luZyBpZnJhbWVzLgorCisg
ICAgICAKKworLS0tLS0tLS0KK0ZyYW1lOiAnPCEtLWZyYW1lUGF0aCAvLzwhLS1mcmFtZTAtLT4t
LT4nCistLS0tLS0tLQorCisKKy0tLS0tLS0tCitGcmFtZTogJzwhLS1mcmFtZVBhdGggLy88IS0t
ZnJhbWUwLS0+LzwhLS1mcmFtZTAtLT4tLT4nCistLS0tLS0tLQorUEFTU0VECisKKy0tLS0tLS0t
CitGcmFtZTogJzwhLS1mcmFtZVBhdGggLy88IS0tZnJhbWUxLS0+LS0+JworLS0tLS0tLS0KKwor
CistLS0tLS0tLQorRnJhbWU6ICc8IS0tZnJhbWVQYXRoIC8vPCEtLWZyYW1lMS0tPi88IS0tZnJh
bWUwLS0+LS0+JworLS0tLS0tLS0KK1BBU1NFRAorCistLS0tLS0tLQorRnJhbWU6ICc8IS0tZnJh
bWVQYXRoIC8vPCEtLWZyYW1lMi0tPi0tPicKKy0tLS0tLS0tCisKKworLS0tLS0tLS0KK0ZyYW1l
OiAnPCEtLWZyYW1lUGF0aCAvLzwhLS1mcmFtZTItLT4vPCEtLWZyYW1lMC0tPi0tPicKKy0tLS0t
LS0tCitQQVNTRUQKKworLS0tLS0tLS0KK0ZyYW1lOiAnPCEtLWZyYW1lUGF0aCAvLzwhLS1mcmFt
ZTMtLT4tLT4nCistLS0tLS0tLQorCisKKy0tLS0tLS0tCitGcmFtZTogJzwhLS1mcmFtZVBhdGgg
Ly88IS0tZnJhbWUzLS0+LzwhLS1mcmFtZTAtLT4tLT4nCistLS0tLS0tLQorUEFTU0VECisKKy0t
LS0tLS0tCitGcmFtZTogJzwhLS1mcmFtZVBhdGggLy88IS0tZnJhbWU0LS0+LS0+JworLS0tLS0t
LS0KKworCistLS0tLS0tLQorRnJhbWU6ICc8IS0tZnJhbWVQYXRoIC8vPCEtLWZyYW1lNC0tPi88
IS0tZnJhbWUwLS0+LS0+JworLS0tLS0tLS0KK1BBU1NFRAorCistLS0tLS0tLQorRnJhbWU6ICc8
IS0tZnJhbWVQYXRoIC8vPCEtLWZyYW1lNS0tPi0tPicKKy0tLS0tLS0tCisKKworLS0tLS0tLS0K
K0ZyYW1lOiAnPCEtLWZyYW1lUGF0aCAvLzwhLS1mcmFtZTUtLT4vPCEtLWZyYW1lMC0tPi0tPicK
Ky0tLS0tLS0tCitQQVNTRUQKKworLS0tLS0tLS0KK0ZyYW1lOiAnPCEtLWZyYW1lUGF0aCAvLzwh
LS1mcmFtZTYtLT4tLT4nCistLS0tLS0tLQorCisKKy0tLS0tLS0tCitGcmFtZTogJzwhLS1mcmFt
ZVBhdGggLy88IS0tZnJhbWU2LS0+LzwhLS1mcmFtZTAtLT4tLT4nCistLS0tLS0tLQorUEFTU0VE
CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3htbGh0dHByZXF1
ZXN0LXVyaS1yZXNvbHV0aW9uLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy94bWxodHRwcmVxdWVzdC94bWxodHRwcmVxdWVzdC11cmktcmVzb2x1dGlvbi5odG1sCShy
ZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC94bWxo
dHRwcmVxdWVzdC11cmktcmVzb2x1dGlvbi5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDIz
IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwgNC4wMS8vRU4iCisg
ICAgICAgICJodHRwOi8vd3d3LnczLm9yZy9UUi9odG1sNC9zdHJpY3QuZHRkIj4KKzxodG1sIGxh
bmc9ImVuIj4KKzxoZWFkPgorPC9oZWFkPgorPGJvZHk+Cis8cD4gQnVnIDExMTA2IDxhIGhyZWY9
Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTEwNiI+MTExMDY8L2E+
IFNvbWUgWE1MSHR0cFJlcXVlc3QgVVJJIHJlc29sdmluZyB0ZXN0cyBmYWlsPC9wPgorPHA+IEZv
ciB0aGlzIHRlc3QgdG8gcGFzcywgeW91IHNob3VsZCBzZWUgUEFTU0VEIGluIGFsbCB0aGUgZm9s
bG93aW5nIGlmcmFtZXMuIDxwPgorPHNjcmlwdD4KK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRy
b2xsZXIpIHsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAg
ICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQ2hpbGRGcmFtZXNBc1RleHQoKTsKK30KKzwv
c2NyaXB0PgorPGlmcmFtZSBzcmM9InJlc291cmNlcy91cmktcmVzb2x1dGlvbi1vcGVyYS1vcGVu
LTAwNC5odG1sIj48L2lmcmFtZT4KKzxpZnJhbWUgc3JjPSJyZXNvdXJjZXMvdXJpLXJlc29sdXRp
b24tb3BlcmEtb3Blbi0wMDUuaHRtbCI+PC9pZnJhbWU+Cis8aWZyYW1lIHNyYz0icmVzb3VyY2Vz
L3VyaS1yZXNvbHV0aW9uLW9wZXJhLW9wZW4tMDA2Lmh0bWwiPjwvaWZyYW1lPgorPGlmcmFtZSBz
cmM9InJlc291cmNlcy91cmktcmVzb2x1dGlvbi1vcGVyYS1vcGVuLTAwNy5odG1sIj48L2lmcmFt
ZT4KKzxpZnJhbWUgc3JjPSJyZXNvdXJjZXMvdXJpLXJlc29sdXRpb24tb3BlcmEtb3Blbi0wMDgu
aHRtbCI+PC9pZnJhbWU+Cis8aWZyYW1lIHNyYz0icmVzb3VyY2VzL3VyaS1yZXNvbHV0aW9uLW9w
ZXJhLW9wZW4tMDA5Lmh0bWwiPjwvaWZyYW1lPgorPGlmcmFtZSBzcmM9InJlc291cmNlcy91cmkt
cmVzb2x1dGlvbi1vcGVyYS1vcGVuLTAxMC5odG1sIj48L2lmcmFtZT4KKzwvYm9keT4KKzwvaHRt
bD4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvcmVzb3VyY2Vz
L3Rlc3QtdXJpLXJlc29sdXRpb24udHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAv
dGVzdHMveG1saHR0cHJlcXVlc3QvcmVzb3VyY2VzL3Rlc3QtdXJpLXJlc29sdXRpb24udHh0CShy
ZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9yZXNv
dXJjZXMvdGVzdC11cmktcmVzb2x1dGlvbi50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEgQEAK
K0ZBSUxFRApJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9yZXNv
dXJjZXMvdXJpLXJlc29sdXRpb24tb3BlcmEtb3Blbi0wMDQuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3Jlc291cmNlcy91cmktcmVzb2x1
dGlvbi1vcGVyYS1vcGVuLTAwNC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy94bWxodHRwcmVxdWVzdC9yZXNvdXJjZXMvdXJpLXJlc29sdXRpb24tb3BlcmEtb3Bl
bi0wMDQuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNiBAQAorPCFET0NUWVBFIGh0bWwg
UFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEgVHJhbnNpdGlvbmFsLy9FTiI+Cis8aHRtbCBs
YW5nPSJlbiI+CisgICAgPGhlYWQ+CisgICAgPHNjcmlwdD4KKyAgICBmdW5jdGlvbiB0ZXN0KGZy
YW1lKQorICAgIHsKKyAgICAgICAgdmFyIGNsaWVudCA9IG5ldyBmcmFtZS5jb250ZW50V2luZG93
LlhNTEh0dHBSZXF1ZXN0KCk7CisgICAgICAgIGNsaWVudC5vcGVuKCJHRVQiLCAidGVzdC11cmkt
cmVzb2x1dGlvbi50eHQiKTsKKyAgICAgICAgZnJhbWUuY29udGVudFdpbmRvdy50ZXN0KGNsaWVu
dCk7CisgICAgfQorICAgIDwvc2NyaXB0PgorICAgIDwvaGVhZD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPHA+PGlmcmFtZSBzcmM9InJlc291cmNlcy91cmktcmVzb2x1dGlvbi1vcGVyYS1vcGVuLTAw
NC1pZnJhbWUuaHRtbCIgb25sb2FkPSJ0ZXN0KHRoaXMpIj48L2lmcmFtZT48L3A+CisgICAgPC9i
b2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVz
dC9yZXNvdXJjZXMvdXJpLXJlc29sdXRpb24tb3BlcmEtb3Blbi0wMDUuaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3Jlc291cmNlcy91cmkt
cmVzb2x1dGlvbi1vcGVyYS1vcGVuLTAwNS5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9yZXNvdXJjZXMvdXJpLXJlc29sdXRpb24tb3Bl
cmEtb3Blbi0wMDUuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNSBAQAorPCFET0NUWVBF
IGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEgVHJhbnNpdGlvbmFsLy9FTiI+Cis8
aHRtbCBsYW5nPSJlbiI+CisgICAgPGhlYWQ+CisgICAgPHNjcmlwdD4KKyAgICBmdW5jdGlvbiB0
ZXN0KGZyYW1lKQorICAgIHsKKyAgICAgICAgdmFyIGNsaWVudCA9IG5ldyBmcmFtZS5jb250ZW50
V2luZG93LlhNTEh0dHBSZXF1ZXN0KCk7CisgICAgICAgIGZyYW1lLmNvbnRlbnRXaW5kb3cudGVz
dChjbGllbnQpOworICAgIH0KKyAgICA8L3NjcmlwdD4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxwPjxpZnJhbWUgc3JjPSJyZXNvdXJjZXMvdXJpLXJlc29sdXRpb24tb3BlcmEt
b3Blbi0wMDUtaWZyYW1lLmh0bWwiIG9ubG9hZD0idGVzdCh0aGlzKSI+PC9pZnJhbWU+PC9wPgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2h0
dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvcmVzb3VyY2VzL3VyaS1yZXNvbHV0aW9uLW9wZXJhLW9w
ZW4tMDA1Lmh0bWwKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOm1lcmdlaW5mbwoKSW5kZXg6IExheW91
dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvcmVzb3VyY2VzL3VyaS1yZXNvbHV0aW9u
LW9wZXJhLW9wZW4tMDA2Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy94bWxodHRwcmVxdWVzdC9yZXNvdXJjZXMvdXJpLXJlc29sdXRpb24tb3BlcmEtb3Blbi0wMDYu
aHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVl
c3QvcmVzb3VyY2VzL3VyaS1yZXNvbHV0aW9uLW9wZXJhLW9wZW4tMDA2Lmh0bWwJKHJldmlzaW9u
IDApCkBAIC0wLDAgKzEsMTcgQEAKKzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQg
SFRNTCA0LjAxIFRyYW5zaXRpb25hbC8vRU4iPgorPGh0bWwgbGFuZz0iZW4iPgorICAgIDxoZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgZnVuY3Rpb24gdGVzdChmcmFtZSkKKyAgICB7CisgICAgICAg
IHZhciBjbGllbnQgPSBuZXcgZnJhbWUuY29udGVudFdpbmRvdy5YTUxIdHRwUmVxdWVzdCgpOwor
ICAgICAgICBmcmFtZS5jb250ZW50V2luZG93LnRlc3QoY2xpZW50KTsKKyAgICAgICAgY2xpZW50
Lm9wZW4oIkdFVCIsICJ0ZXN0LXVyaS1yZXNvbHV0aW9uLnR4dCIpOworICAgICAgICBjbGllbnQu
c2VuZCgiIik7CisgICAgfQorICAgIDwvc2NyaXB0PgorICAgIDwvaGVhZD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPHA+PGlmcmFtZSBzcmM9InJlc291cmNlcy91cmktcmVzb2x1dGlvbi1vcGVyYS1v
cGVuLTAwNi1pZnJhbWUuaHRtbCIgb25sb2FkPSJ0ZXN0KHRoaXMpIj48L2lmcmFtZT48L3A+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRw
cmVxdWVzdC9yZXNvdXJjZXMvdXJpLXJlc29sdXRpb24tb3BlcmEtb3Blbi0wMDcuaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3Jlc291cmNl
cy91cmktcmVzb2x1dGlvbi1vcGVyYS1vcGVuLTAwNy5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9yZXNvdXJjZXMvdXJpLXJlc29sdXRp
b24tb3BlcmEtb3Blbi0wMDcuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxOSBAQAorPCFE
T0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEgVHJhbnNpdGlvbmFsLy9F
TiI+Cis8aHRtbCBsYW5nPSJlbiI+CisgICAgPGhlYWQ+CisgICAgPHNjcmlwdD4KKyAgICBmdW5j
dGlvbiB0ZXN0KGZyYW1lKQorICAgIHsKKyAgICAgICAgdmFyIGNsaWVudCA9IG5ldyBmcmFtZS5j
b250ZW50V2luZG93LlhNTEh0dHBSZXF1ZXN0KCk7CisgICAgICAgIGZyYW1lLmNvbnRlbnRXaW5k
b3cudGVzdChjbGllbnQpOworICAgIH0KKyAgICBmdW5jdGlvbiBzZW5kKGNsaWVudCkKKyAgICB7
CisgICAgICAgIGNsaWVudC5zZW5kKCIiKTsKKyAgICB9CisgICAgPC9zY3JpcHQ+CisgICAgPC9o
ZWFkPgorICAgIDxib2R5PgorICAgICAgICA8cD48aWZyYW1lIHNyYz0icmVzb3VyY2VzL3VyaS1y
ZXNvbHV0aW9uLW9wZXJhLW9wZW4tMDA3LWlmcmFtZS5odG1sIiBvbmxvYWQ9InRlc3QodGhpcyki
PjwvaWZyYW1lPjwvcD4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CgpQcm9wZXJ0eSBjaGFuZ2VzIG9u
OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3Jlc291cmNlcy91cmktcmVz
b2x1dGlvbi1vcGVyYS1vcGVuLTAwNy5odG1sCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjptZXJnZWlu
Zm8KCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3Jlc291cmNl
cy91cmktcmVzb2x1dGlvbi1vcGVyYS1vcGVuLTAwOC5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvcmVzb3VyY2VzL3VyaS1yZXNvbHV0aW9u
LW9wZXJhLW9wZW4tMDA4Lmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3htbGh0dHByZXF1ZXN0L3Jlc291cmNlcy91cmktcmVzb2x1dGlvbi1vcGVyYS1vcGVuLTAw
OC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDIxIEBACis8IURPQ1RZUEUgaHRtbCBQVUJM
SUMgIi0vL1czQy8vRFREIEhUTUwgNC4wMSBUcmFuc2l0aW9uYWwvL0VOIj4KKzxodG1sIGxhbmc9
ImVuIj4KKyAgICA8aGVhZD4KKyAgICA8c2NyaXB0PgorICAgIGZ1bmN0aW9uIHRlc3QoZnJhbWUp
CisgICAgeworICAgICAgICB2YXIgY2xpZW50ID0gZnJhbWUuY29udGVudFdpbmRvdy5jbGllbnQo
KTsKKyAgICAgICAgY2xpZW50Lm9ucmVhZHlzdGF0ZWNoYW5nZSA9IGZ1bmN0aW9uKCkKKyAgICAg
ICAgeworICAgICAgICAgICAgaWYgKGNsaWVudC5yZWFkeVN0YXRlID09IDQpCisgICAgICAgICAg
ICAgICAgZnJhbWUuY29udGVudFdpbmRvdy50ZXN0KGNsaWVudCk7ICAgIAorICAgICAgICB9Cisg
ICAgICAgIGNsaWVudC5vcGVuKCJHRVQiLCAidGVzdC11cmktcmVzb2x1dGlvbi50eHQiKTsKKyAg
ICAgICAgY2xpZW50LnNlbmQoIiIpOworICAgIH0KKyAgICA8L3NjcmlwdD4KKyAgICA8L2hlYWQ+
CisgICAgPGJvZHk+CisgICAgICAgIDxwPjxpZnJhbWUgc3JjPSJyZXNvdXJjZXMvdXJpLXJlc29s
dXRpb24tb3BlcmEtb3Blbi0wMDgtaWZyYW1lLmh0bWwiIG9ubG9hZD0idGVzdCh0aGlzKSI+PC9p
ZnJhbWU+PC9wPgorICAgIDwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAv
dGVzdHMveG1saHR0cHJlcXVlc3QvcmVzb3VyY2VzL3VyaS1yZXNvbHV0aW9uLW9wZXJhLW9wZW4t
MDA5Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVx
dWVzdC9yZXNvdXJjZXMvdXJpLXJlc29sdXRpb24tb3BlcmEtb3Blbi0wMDkuaHRtbAkocmV2aXNp
b24gMCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvcmVzb3VyY2Vz
L3VyaS1yZXNvbHV0aW9uLW9wZXJhLW9wZW4tMDA5Lmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAg
KzEsMTUgQEAKKzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgSFRNTCA0LjAxIFRy
YW5zaXRpb25hbC8vRU4iPgorPGh0bWwgbGFuZz0iZW4iPgorICAgIDxoZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgZnVuY3Rpb24gdGVzdChmcmFtZSkKKyAgICB7CisgICAgICAgIHZhciBjbGllbnQg
PSBmcmFtZS5jb250ZW50V2luZG93LmNsaWVudCgpOworICAgICAgICBjbGllbnQuc2VuZCgiIik7
CisgICAgfQorICAgIDwvc2NyaXB0PgorICAgIDwvaGVhZD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PHA+PGlmcmFtZSBzcmM9InJlc291cmNlcy91cmktcmVzb2x1dGlvbi1vcGVyYS1vcGVuLTAwOS1p
ZnJhbWUuaHRtbCIgb25sb2FkPSJ0ZXN0KHRoaXMpIj48L2lmcmFtZT48L3A+CisgICAgPC9ib2R5
PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9y
ZXNvdXJjZXMvdXJpLXJlc29sdXRpb24tb3BlcmEtb3Blbi0wMTAuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3Jlc291cmNlcy91cmktcmVz
b2x1dGlvbi1vcGVyYS1vcGVuLTAxMC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9yZXNvdXJjZXMvdXJpLXJlc29sdXRpb24tb3BlcmEt
b3Blbi0wMTAuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw4IEBACis8IURPQ1RZUEUgaHRt
bCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwgNC4wMSBUcmFuc2l0aW9uYWwvL0VOIj4KKzxodG1s
IGxhbmc9ImVuIj4KKyAgICA8aGVhZD4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxwPjxpZnJhbWUgc3JjPSJyZXNvdXJjZXMvdXJpLXJlc29sdXRpb24tb3BlcmEtb3Blbi0wMTAt
aWZyYW1lLmh0bWwiIG9ubG9hZD0idGhpcy5jb250ZW50V2luZG93LmNsaWVudCgpIj48L2lmcmFt
ZT48L3A+CisgICAgPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy94bWxodHRwcmVxdWVzdC9yZXNvdXJjZXMvcmVzb3VyY2VzL3Rlc3QtdXJpLXJlc29sdXRpb24u
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3Qv
cmVzb3VyY2VzL3Jlc291cmNlcy90ZXN0LXVyaS1yZXNvbHV0aW9uLnR4dAkocmV2aXNpb24gMCkK
KysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvcmVzb3VyY2VzL3Jlc291
cmNlcy90ZXN0LXVyaS1yZXNvbHV0aW9uLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSBAQAor
UEFTU0VECkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3Jlc291
cmNlcy9yZXNvdXJjZXMvdXJpLXJlc29sdXRpb24tb3BlcmEtb3Blbi0wMDQtaWZyYW1lLmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9yZXNv
dXJjZXMvcmVzb3VyY2VzL3VyaS1yZXNvbHV0aW9uLW9wZXJhLW9wZW4tMDA0LWlmcmFtZS5odG1s
CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9y
ZXNvdXJjZXMvcmVzb3VyY2VzL3VyaS1yZXNvbHV0aW9uLW9wZXJhLW9wZW4tMDA0LWlmcmFtZS5o
dG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDIwIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMg
Ii0vL1czQy8vRFREIEhUTUwgNC4wMS8vRU4iCisgICAgICAgICJodHRwOi8vd3d3LnczLm9yZy9U
Ui9odG1sNC9zdHJpY3QuZHRkIj4KKzxodG1sIGxhbmc9ImVuIj4KKyAgICA8aGVhZD4KKyAgICA8
L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAgIDxwPkZBSUxFRCAtIHNjcmlwdCBkaWQgbm90IHJ1
bi48L3A+CisgICAgICAgIDxzY3JpcHQ+CisgICAgICAgIHZhciBwID0gZG9jdW1lbnQuZ2V0RWxl
bWVudHNCeVRhZ05hbWUoJ3AnKVswXTsKKyAgICAgICAgZnVuY3Rpb24gdGVzdChjbGllbnQpCisg
ICAgICAgIHsKKyAgICAgICAgICAgIGNsaWVudC5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBmdW5jdGlv
bigpIHsKKyAgICAgICAgICAgIGlmIChjbGllbnQucmVhZHlTdGF0ZSA9PSA0KQorICAgICAgICAg
ICAgICAgIHAuZmlyc3RDaGlsZC5kYXRhID0gY2xpZW50LnJlc3BvbnNlVGV4dDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgY2xpZW50LnNlbmQoIiIpOworICAgICAgICB9CisgICAgICAgIDwvc2Ny
aXB0PgorICAgIDwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMv
eG1saHR0cHJlcXVlc3QvcmVzb3VyY2VzL3Jlc291cmNlcy91cmktcmVzb2x1dGlvbi1vcGVyYS1v
cGVuLTAwNS1pZnJhbWUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3htbGh0dHByZXF1ZXN0L3Jlc291cmNlcy9yZXNvdXJjZXMvdXJpLXJlc29sdXRpb24tb3BlcmEt
b3Blbi0wMDUtaWZyYW1lLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3htbGh0dHByZXF1ZXN0L3Jlc291cmNlcy9yZXNvdXJjZXMvdXJpLXJlc29sdXRpb24tb3Bl
cmEtb3Blbi0wMDUtaWZyYW1lLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjEgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vVzNDLy9EVEQgSFRNTCA0LjAxLy9FTiIKKyAgICAgICAg
Imh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw0L3N0cmljdC5kdGQiPgorPGh0bWwgbGFuZz0iZW4i
PgorICAgIDxoZWFkPgorICAgIDwvaGVhZD4KKyAgICA8Ym9keT4KKyAgICAgICAgPHA+RkFJTEVE
IC0gc2NyaXB0IGRpZCBub3QgcnVuLjwvcD4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgdmFy
IHAgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgncCcpWzBdOworICAgICAgICBmdW5j
dGlvbiB0ZXN0KGNsaWVudCkKKyAgICAgICAgeworICAgICAgICAgICAgY2xpZW50Lm9ucmVhZHlz
dGF0ZWNoYW5nZSA9IGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgaWYgKGNsaWVudC5yZWFkeVN0
YXRlID09IDQpCisgICAgICAgICAgICAgICAgcC5maXJzdENoaWxkLmRhdGEgPSBjbGllbnQucmVz
cG9uc2VUZXh0OworICAgICAgICAgICAgfQorICAgICAgICBjbGllbnQub3BlbigiR0VUIiwgInRl
c3QtdXJpLXJlc29sdXRpb24udHh0Iik7CisgICAgICAgIGNsaWVudC5zZW5kKCIiKTsKKyAgICAg
ICAgfQorICAgICAgICA8L3NjcmlwdD4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CgpQcm9wZXJ0eSBj
aGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3Jlc291cmNl
cy9yZXNvdXJjZXMvdXJpLXJlc29sdXRpb24tb3BlcmEtb3Blbi0wMDUtaWZyYW1lLmh0bWwKX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fXwpBZGRlZDogc3ZuOm1lcmdlaW5mbwoKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVz
dHMveG1saHR0cHJlcXVlc3QvcmVzb3VyY2VzL3Jlc291cmNlcy91cmktcmVzb2x1dGlvbi1vcGVy
YS1vcGVuLTAwNi1pZnJhbWUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3htbGh0dHByZXF1ZXN0L3Jlc291cmNlcy9yZXNvdXJjZXMvdXJpLXJlc29sdXRpb24tb3Bl
cmEtb3Blbi0wMDYtaWZyYW1lLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3htbGh0dHByZXF1ZXN0L3Jlc291cmNlcy9yZXNvdXJjZXMvdXJpLXJlc29sdXRpb24t
b3BlcmEtb3Blbi0wMDYtaWZyYW1lLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTkgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vVzNDLy9EVEQgSFRNTCA0LjAxLy9FTiIKKyAgICAg
ICAgImh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw0L3N0cmljdC5kdGQiPgorPGh0bWwgbGFuZz0i
ZW4iPgorICAgIDxoZWFkPgorICAgIDwvaGVhZD4KKyAgICA8Ym9keT4KKyAgICAgICAgPHA+RkFJ
TEVEIC0gc2NyaXB0IGRpZCBub3QgcnVuLjwvcD4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAg
dmFyIHAgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgncCcpWzBdOworICAgICAgICBm
dW5jdGlvbiB0ZXN0KGNsaWVudCkKKyAgICAgICAgeworICAgICAgICAgICAgY2xpZW50Lm9ucmVh
ZHlzdGF0ZWNoYW5nZSA9IGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgaWYgKGNsaWVudC5yZWFk
eVN0YXRlID09IDQpCisgICAgICAgICAgICAgICAgcC5maXJzdENoaWxkLmRhdGEgPSBjbGllbnQu
cmVzcG9uc2VUZXh0OworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIDwvc2NyaXB0
PgorICAgIDwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMveG1s
aHR0cHJlcXVlc3QvcmVzb3VyY2VzL3Jlc291cmNlcy91cmktcmVzb2x1dGlvbi1vcGVyYS1vcGVu
LTAwNy1pZnJhbWUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ht
bGh0dHByZXF1ZXN0L3Jlc291cmNlcy9yZXNvdXJjZXMvdXJpLXJlc29sdXRpb24tb3BlcmEtb3Bl
bi0wMDctaWZyYW1lLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3htbGh0dHByZXF1ZXN0L3Jlc291cmNlcy9yZXNvdXJjZXMvdXJpLXJlc29sdXRpb24tb3BlcmEt
b3Blbi0wMDctaWZyYW1lLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjEgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vVzNDLy9EVEQgSFRNTCA0LjAxLy9FTiIKKyAgICAgICAgImh0
dHA6Ly93d3cudzMub3JnL1RSL2h0bWw0L3N0cmljdC5kdGQiPgorPGh0bWwgbGFuZz0iZW4iPgor
ICAgIDxoZWFkPgorICAgIDwvaGVhZD4KKyAgICA8Ym9keT4KKyAgICAgICAgPHA+RkFJTEVEIC0g
c2NyaXB0IGRpZCBub3QgcnVuLjwvcD4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgdmFyIHAg
PSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgncCcpWzBdOworICAgICAgICBmdW5jdGlv
biB0ZXN0KGNsaWVudCkKKyAgICAgICAgeworICAgICAgICAgICAgY2xpZW50Lm9ucmVhZHlzdGF0
ZWNoYW5nZSA9IGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgaWYgKGNsaWVudC5yZWFkeVN0YXRl
ID09IDQpCisgICAgICAgICAgICAgICAgcC5maXJzdENoaWxkLmRhdGEgPSBjbGllbnQucmVzcG9u
c2VUZXh0OworICAgICAgICAgICAgfQorICAgICAgICAgICAgY2xpZW50Lm9wZW4oIkdFVCIsICJ0
ZXN0LXVyaS1yZXNvbHV0aW9uLnR4dCIpOworICAgICAgICAgICAgcGFyZW50LnNlbmQoY2xpZW50
KTsKKyAgICAgICAgfQorICAgICAgICA8L3NjcmlwdD4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CgpQ
cm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0
L3Jlc291cmNlcy9yZXNvdXJjZXMvdXJpLXJlc29sdXRpb24tb3BlcmEtb3Blbi0wMDctaWZyYW1l
Lmh0bWwKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOm1lcmdlaW5mbwoKSW5kZXg6IExheW91dFRlc3Rz
L2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvcmVzb3VyY2VzL3Jlc291cmNlcy91cmktcmVzb2x1
dGlvbi1vcGVyYS1vcGVuLTAwOC1pZnJhbWUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3Jlc291cmNlcy9yZXNvdXJjZXMvdXJpLXJlc29s
dXRpb24tb3BlcmEtb3Blbi0wMDgtaWZyYW1lLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3Jlc291cmNlcy9yZXNvdXJjZXMvdXJpLXJl
c29sdXRpb24tb3BlcmEtb3Blbi0wMDgtaWZyYW1lLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAg
KzEsMjIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vVzNDLy9EVEQgSFRNTCA0LjAxLy9F
TiIKKyAgICAgICAgImh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw0L3N0cmljdC5kdGQiPgorPGh0
bWwgbGFuZz0iZW4iPgorICAgIDxoZWFkPgorICAgIDwvaGVhZD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPHA+RkFJTEVEIC0gc2NyaXB0IGRpZCBub3QgcnVuLjwvcD4KKyAgICAgICAgPHNjcmlwdD4K
KyAgICAgICAgdmFyIHAgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgncCcpWzBdOwor
CisgICAgICAgIGZ1bmN0aW9uIGNsaWVudCgpCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVy
biBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKKyAgICAgICAgfQorCisgICAgICAgIGZ1bmN0aW9uIHRl
c3QoY2xpZW50KQorICAgICAgICB7CisgICAgICAgICAgICBwLmZpcnN0Q2hpbGQuZGF0YSA9IGNs
aWVudC5yZXNwb25zZVRleHQ7CisgICAgICAgIH0KKyAgICAgICAgPC9zY3JpcHQ+CisgICAgPC9i
b2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVz
dC9yZXNvdXJjZXMvcmVzb3VyY2VzL3VyaS1yZXNvbHV0aW9uLW9wZXJhLW9wZW4tMDA5LWlmcmFt
ZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVl
c3QvcmVzb3VyY2VzL3Jlc291cmNlcy91cmktcmVzb2x1dGlvbi1vcGVyYS1vcGVuLTAwOS1pZnJh
bWUuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJl
cXVlc3QvcmVzb3VyY2VzL3Jlc291cmNlcy91cmktcmVzb2x1dGlvbi1vcGVyYS1vcGVuLTAwOS1p
ZnJhbWUuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyMyBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEvL0VOIgorICAgICAgICAiaHR0cDovL3d3dy53
My5vcmcvVFIvaHRtbDQvc3RyaWN0LmR0ZCI+Cis8aHRtbCBsYW5nPSJlbiI+CisgICAgPGhlYWQ+
CisgICAgPC9oZWFkPgorICAgIDxib2R5PgorICAgICAgICA8cD5GQUlMRUQgLSBzY3JpcHQgZGlk
IG5vdCBydW4uPC9wPgorICAgICAgICA8c2NyaXB0PgorICAgICAgICB2YXIgcCA9IGRvY3VtZW50
LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdwJylbMF07CisgICAgICAgIGZ1bmN0aW9uIGNsaWVudCgp
CisgICAgICAgIHsKKyAgICAgICAgICAgIHZhciBjbGllbnQgPSBuZXcgWE1MSHR0cFJlcXVlc3Qo
KTsKKyAgICAgICAgICAgIGNsaWVudC5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBmdW5jdGlvbigpCisg
ICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgaWYgKGNsaWVudC5yZWFkeVN0YXRlID09IDQp
CisgICAgICAgICAgICAgICAgICAgIHAuZmlyc3RDaGlsZC5kYXRhID0gY2xpZW50LnJlc3BvbnNl
VGV4dDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGNsaWVudC5vcGVuKCJHRVQiLCAidGVz
dC11cmktcmVzb2x1dGlvbi50eHQiKTsKKyAgICAgICAgICAgIHJldHVybiBjbGllbnQ7CisgICAg
ICAgIH0KKyAgICAgICAgPC9zY3JpcHQ+CisgICAgPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9yZXNvdXJjZXMvcmVzb3VyY2VzL3Vy
aS1yZXNvbHV0aW9uLW9wZXJhLW9wZW4tMDEwLWlmcmFtZS5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvcmVzb3VyY2VzL3Jlc291cmNlcy91
cmktcmVzb2x1dGlvbi1vcGVyYS1vcGVuLTAxMC1pZnJhbWUuaHRtbAkocmV2aXNpb24gMCkKKysr
IExheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvcmVzb3VyY2VzL3Jlc291cmNl
cy91cmktcmVzb2x1dGlvbi1vcGVyYS1vcGVuLTAxMC1pZnJhbWUuaHRtbAkocmV2aXNpb24gMCkK
QEAgLTAsMCArMSwyMyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1M
IDQuMDEvL0VOIgorICAgICAgICAiaHR0cDovL3d3dy53My5vcmcvVFIvaHRtbDQvc3RyaWN0LmR0
ZCI+Cis8aHRtbCBsYW5nPSJlbiI+CisgICAgPGhlYWQ+CisgICAgPC9oZWFkPgorICAgIDxib2R5
PgorICAgICAgICA8cD5GQUlMRUQgLSBzY3JpcHQgZGlkIG5vdCBydW4uPC9wPgorICAgICAgICA8
c2NyaXB0PgorICAgICAgICB2YXIgcCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdw
JylbMF07CisgICAgICAgIGZ1bmN0aW9uIGNsaWVudCgpCisgICAgICAgIHsKKyAgICAgICAgICAg
IHZhciBjbGllbnQgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKKyAgICAgICAgICAgIGNsaWVudC5v
bnJlYWR5c3RhdGVjaGFuZ2UgPSBmdW5jdGlvbigpCisgICAgICAgICAgICB7CisgICAgICAgICAg
ICAgICAgaWYgKGNsaWVudC5yZWFkeVN0YXRlID09IDQpCisgICAgICAgICAgICAgICAgICAgIHAu
Zmlyc3RDaGlsZC5kYXRhID0gY2xpZW50LnJlc3BvbnNlVGV4dDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIGNsaWVudC5vcGVuKCJHRVQiLCAidGVzdC11cmktcmVzb2x1dGlvbi50eHQiKTsK
KyAgICAgICAgICAgIGNsaWVudC5zZW5kKCIiKTsKKyAgICAgICAgfQorICAgICAgICA8L3Njcmlw
dD4KKyAgICA8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>26213</attachid>
            <date>2008-12-22 14:40:24 -0800</date>
            <delta_ts>2010-06-10 16:50:39 -0700</delta_ts>
            <desc>Updated with Darin &amp; Alexey&apos;s comment - Removed FIXME + removed layout test wrapper</desc>
            <filename>XHR-URI-resolve.diff</filename>
            <type>text/plain</type>
            <size>29800</size>
            <attacher name="Julien Chaffraix">jchaffraix</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAzOTQ0MCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzggQEAKKzIwMDgtMTItMjIgIEp1bGllbiBDaGFmZnJhaXggIDxqY2hhZmZyYWl4
QHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQnVnIDExMTA2OiBTb21lIFhNTEh0dHBSZXF1ZXN0IFVSSSByZXNvbHZpbmcgdGVzdHMg
ZmFpbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEx
MDYKKworICAgICAgICBVc2UgdGhlIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQgdG8gcmVzb2x2ZSB0
aGUgVVJJIHdoZW4gY2FsbGluZyBvcGVuIGluIEphdmFTY3JpcHQuCisgICAgICAgIFRoZSBwcmV2
aW91cyBjb2RlIHdhcyB1c2luZyB0aGUgY29udGFpbmluZyBET01XaW5kb3cgdG8gZG8gc28gd2hp
Y2ggd291bGQgZmFpbCBmb3IKKyAgICAgICAgWE1MSHR0cFJlcXVlc3Qgb2JqZWN0IGJlaW5nIHBh
c3NlZCBiZXR3ZWVuIGlmcmFtZS4KKworICAgICAgICBUZXN0czogaHR0cC90ZXN0cy94bWxodHRw
cmVxdWVzdC91cmktcmVzb2x1dGlvbi1vcGVyYS1vcGVuLTAwNC5odG1sCisgICAgICAgICAgICAg
ICBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3VyaS1yZXNvbHV0aW9uLW9wZXJhLW9wZW4tMDA1
Lmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvdXJpLXJlc29s
dXRpb24tb3BlcmEtb3Blbi0wMDYuaHRtbAorICAgICAgICAgICAgICAgaHR0cC90ZXN0cy94bWxo
dHRwcmVxdWVzdC91cmktcmVzb2x1dGlvbi1vcGVyYS1vcGVuLTAwNy5odG1sCisgICAgICAgICAg
ICAgICBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3VyaS1yZXNvbHV0aW9uLW9wZXJhLW9wZW4t
MDA4Lmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvdXJpLXJl
c29sdXRpb24tb3BlcmEtb3Blbi0wMDkuaHRtbAorICAgICAgICAgICAgICAgaHR0cC90ZXN0cy94
bWxodHRwcmVxdWVzdC91cmktcmVzb2x1dGlvbi1vcGVyYS1vcGVuLTAxMC5odG1sCisKKyAgICAg
ICAgKiBiaW5kaW5ncy9qcy9KU1hNTEh0dHBSZXF1ZXN0Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkpTWE1MSHR0cFJlcXVlc3Q6Om9wZW4pOiBVc2UgdGhlIFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQKKyAgICAgICAgdG8gcmVzb2x2ZSB0aGUgVVJMLgorCisgICAgICAgICogZG9tL0RvY3Vt
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojp2aXJ0dWFsQ29tcGxldGVVUkwp
OiBWaXJ0dWFsIG1ldGhvZCBhZGRlZCB0bworICAgICAgICBhdm9pZCBwZXJmb3JtYW5jZSBoaXQg
b24gY29tcGxldGVVUkwgY2FsbC4KKworICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOgorICAgICAg
ICAqIGRvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0Lmg6CisgICAgICAgIChXZWJDb3JlOjpTY3Jp
cHRFeGVjdXRpb25Db250ZXh0Ojpjb21wbGV0ZVVSTCk6IE5vbi12aXJ0dWFsIG1ldGhvZAorICAg
ICAgICB0aGF0IHdyYXAgdGhlIGNhbGwgdG8gdGhlIHZpcnR1YWwgY2FsbC4KKyAgICAgICAgKiBk
b20vV29ya2VyQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJDb250ZXh0Ojp2
aXJ0dWFsQ29tcGxldGVVUkwpOiBQdXJlIHZpcnR1YWwgbWV0aG9kLgorICAgICAgICAqIGRvbS9X
b3JrZXJDb250ZXh0Lmg6CisKIDIwMDgtMTItMjIgIERoYW5hbmpveSBDaHV0aWEgIDxkaGFucmRA
Z21haWwuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhdmlkIEtpbHplci4KSW5kZXg6IFdl
YkNvcmUvYmluZGluZ3MvanMvSlNYTUxIdHRwUmVxdWVzdEN1c3RvbS5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1hNTEh0dHBSZXF1ZXN0Q3VzdG9tLmNwcAkocmV2aXNp
b24gMzk0MjMpCisrKyBXZWJDb3JlL2JpbmRpbmdzL2pzL0pTWE1MSHR0cFJlcXVlc3RDdXN0b20u
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC05NCwxOCArOTQsMTMgQEAgSlNWYWx1ZSogSlNYTUxIdHRw
UmVxdWVzdDo6b3BlbihFeGVjU3RhdAogICAgIGlmIChhcmdzLnNpemUoKSA8IDIpCiAgICAgICAg
IHJldHVybiB0aHJvd0Vycm9yKGV4ZWMsIFN5bnRheEVycm9yLCAiTm90IGVub3VnaCBhcmd1bWVu
dHMiKTsKIAotICAgIEZyYW1lKiBmcmFtZSA9IGFzSlNET01XaW5kb3coZXhlYy0+ZHluYW1pY0ds
b2JhbE9iamVjdCgpKS0+aW1wbCgpLT5mcmFtZSgpOwotICAgIGlmICghZnJhbWUpCi0gICAgICAg
IHJldHVybiBqc1VuZGVmaW5lZCgpOwotICAgIGNvbnN0IEtVUkwmIHVybCA9IGZyYW1lLT5sb2Fk
ZXIoKS0+Y29tcGxldGVVUkwoYXJncy5hdChleGVjLCAxKS0+dG9TdHJpbmcoZXhlYykpOwotCi0g
ICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7Ci0KKyAgICBjb25zdCBLVVJMJiB1cmwgPSBpbXBsKCkt
PnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+Y29tcGxldGVVUkwoYXJncy5hdChleGVjLCAxKS0+
dG9TdHJpbmcoZXhlYykpOwogICAgIFN0cmluZyBtZXRob2QgPSBhcmdzLmF0KGV4ZWMsIDApLT50
b1N0cmluZyhleGVjKTsKICAgICBib29sIGFzeW5jID0gdHJ1ZTsKICAgICBpZiAoYXJncy5zaXpl
KCkgPj0gMykKICAgICAgICAgYXN5bmMgPSBhcmdzLmF0KGV4ZWMsIDIpLT50b0Jvb2xlYW4oZXhl
Yyk7CiAKKyAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKICAgICBpZiAoYXJncy5zaXplKCkgPj0g
NCAmJiAhYXJncy5hdChleGVjLCAzKS0+aXNVbmRlZmluZWQoKSkgewogICAgICAgICBTdHJpbmcg
dXNlciA9IHZhbHVlVG9TdHJpbmdXaXRoTnVsbENoZWNrKGV4ZWMsIGFyZ3MuYXQoZXhlYywgMykp
OwogCkluZGV4OiBXZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9kb20vRG9jdW1lbnQuY3BwCShyZXZpc2lvbiAzOTQyMykKKysrIFdlYkNvcmUvZG9tL0RvY3Vt
ZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTczNCw2ICsxNzM0LDExIEBAIGNvbnN0IEtVUkwm
IERvY3VtZW50Ojp2aXJ0dWFsVVJMKCkgY29uc3QKICAgICByZXR1cm4gbV91cmw7CiB9CiAKK0tV
UkwgRG9jdW1lbnQ6OnZpcnR1YWxDb21wbGV0ZVVSTChjb25zdCBTdHJpbmcmIHVybCkgY29uc3QK
K3sKKyAgICByZXR1cm4gY29tcGxldGVVUkwodXJsKTsKK30KKwogdm9pZCBEb2N1bWVudDo6c2V0
VVJMKGNvbnN0IEtVUkwmIHVybCkKIHsKICAgICBjb25zdCBLVVJMJiBuZXdVUkwgPSB1cmwuaXNF
bXB0eSgpID8gYmxhbmtVUkwoKSA6IHVybDsKSW5kZXg6IFdlYkNvcmUvZG9tL0RvY3VtZW50LmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9kb20vRG9jdW1lbnQuaAkocmV2aXNpb24gMzk0MjMpCisr
KyBXZWJDb3JlL2RvbS9Eb2N1bWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMiw3ICszMiw2IEBA
CiAjaW5jbHVkZSAiRG9jdW1lbnRNYXJrZXIuaCIKICNpbmNsdWRlICJIVE1MQ29sbGVjdGlvbi5o
IgogI2luY2x1ZGUgIkhUTUxGb3JtRWxlbWVudC5oIgotI2luY2x1ZGUgIktVUkwuaCIKICNpbmNs
dWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCiAjaW5jbHVkZSAiU3RyaW5nSGFzaC5oIgog
I2luY2x1ZGUgIlRpbWVyLmgiCkBAIC03OTAsNiArNzg5LDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0
dWFsIHZvaWQgZGVyZWZTY3JpcHRFeGVjdXRpb25Db250ZXh0KCkgeyBkZXJlZigpOyB9CiAKICAg
ICB2aXJ0dWFsIGNvbnN0IEtVUkwmIHZpcnR1YWxVUkwoKSBjb25zdDsgLy8gU2FtZSBhcyB1cmwo
KSwgYnV0IG5lZWRlZCBmb3IgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCB0byBpbXBsZW1lbnQgaXQg
d2l0aG91dCBhIHBlcmZvcm1hbmNlIGxvc3MgZm9yIGRpcmVjdCBjYWxscy4KKyAgICB2aXJ0dWFs
IEtVUkwgdmlydHVhbENvbXBsZXRlVVJMKGNvbnN0IFN0cmluZyYpIGNvbnN0OyAvLyBTYW1lIGFz
IGNvbXBsZXRlVVJMKCkgZm9yIHRoZSBzYW1lIHJlYXNvbiBhcyBhYm92ZS4KIAogICAgIENTU1N0
eWxlU2VsZWN0b3IqIG1fc3R5bGVTZWxlY3RvcjsKICAgICBib29sIG1fZGlkQ2FsY3VsYXRlU3R5
bGVTZWxlY3RvcjsKSW5kZXg6IFdlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmgJKHJldmlz
aW9uIDM5NDIzKQorKysgV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yNyw2ICsyNyw3IEBACiAjaWZuZGVmIFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHRfaAogI2RlZmluZSBTY3JpcHRFeGVjdXRpb25Db250ZXh0X2gKIAorI2luY2x1ZGUgIktVUkwu
aCIKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CiAj
aW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KQEAgLTM2LDcgKzM3LDYgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogCiAgICAgY2xhc3MgQWN0aXZlRE9NT2JqZWN0OwogICAgIGNsYXNzIE1lc3NhZ2VQ
b3J0OwotICAgIGNsYXNzIEtVUkw7CiAgICAgY2xhc3MgU2VjdXJpdHlPcmlnaW47CiAgICAgY2xh
c3MgU3RyaW5nOwogCkBAIC00OSw2ICs0OSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAg
ICAgdmlydHVhbCBib29sIGlzV29ya2VyQ29udGV4dCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9
CiAKICAgICAgICAgY29uc3QgS1VSTCYgdXJsKCkgY29uc3QgeyByZXR1cm4gdmlydHVhbFVSTCgp
OyB9CisgICAgICAgIEtVUkwgY29tcGxldGVVUkwoY29uc3QgU3RyaW5nJiB1cmwpIGNvbnN0IHsg
cmV0dXJuIHZpcnR1YWxDb21wbGV0ZVVSTCh1cmwpOyB9CiAKICAgICAgICAgU2VjdXJpdHlPcmln
aW4qIHNlY3VyaXR5T3JpZ2luKCkgY29uc3QgeyByZXR1cm4gbV9zZWN1cml0eU9yaWdpbi5nZXQo
KTsgfQogCkBAIC05Miw2ICs5Myw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIHByaXZh
dGU6CiAgICAgICAgIHZpcnR1YWwgY29uc3QgS1VSTCYgdmlydHVhbFVSTCgpIGNvbnN0ID0gMDsK
KyAgICAgICAgdmlydHVhbCBLVVJMIHZpcnR1YWxDb21wbGV0ZVVSTChjb25zdCBTdHJpbmcmKSBj
b25zdCA9IDA7CiAKICAgICAgICAgUmVmUHRyPFNlY3VyaXR5T3JpZ2luPiBtX3NlY3VyaXR5T3Jp
Z2luOwogCkluZGV4OiBXZWJDb3JlL2RvbS9Xb3JrZXJDb250ZXh0LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL2RvbS9Xb3JrZXJDb250ZXh0LmNwcAkocmV2aXNpb24gMzk0MjMpCisrKyBXZWJD
b3JlL2RvbS9Xb3JrZXJDb250ZXh0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjUsMTIgKzY1LDE2
IEBAIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIFdvcmtlckNvbnRleHQ6OnMKICAgICByZXR1cm4g
Y29uc3RfY2FzdDxXb3JrZXJDb250ZXh0Kj4odGhpcyk7CiB9CiAKLQogY29uc3QgS1VSTCYgV29y
a2VyQ29udGV4dDo6dmlydHVhbFVSTCgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIG1fdXJsOwogfQog
CitLVVJMIFdvcmtlckNvbnRleHQ6OnZpcnR1YWxDb21wbGV0ZVVSTChjb25zdCBTdHJpbmcmIHVy
bCkgY29uc3QKK3sKKyAgICByZXR1cm4gY29tcGxldGVVUkwodXJsKTsKK30KKwogS1VSTCBXb3Jr
ZXJDb250ZXh0Ojpjb21wbGV0ZVVSTChjb25zdCBTdHJpbmcmIHVybCkgY29uc3QKIHsKICAgICAv
LyBBbHdheXMgcmV0dXJuIGEgbnVsbCBVUkwgd2hlbiBwYXNzZWQgYSBudWxsIHN0cmluZy4KSW5k
ZXg6IFdlYkNvcmUvZG9tL1dvcmtlckNvbnRleHQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2Rv
bS9Xb3JrZXJDb250ZXh0LmgJKHJldmlzaW9uIDM5NDIzKQorKysgV2ViQ29yZS9kb20vV29ya2Vy
Q29udGV4dC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMiw3ICszMiw2IEBACiAjaW5jbHVkZSAiQXRv
bWljU3RyaW5nSGFzaC5oIgogI2luY2x1ZGUgIkV2ZW50TGlzdGVuZXIuaCIKICNpbmNsdWRlICJF
dmVudFRhcmdldC5oIgotI2luY2x1ZGUgIktVUkwuaCIKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRp
b25Db250ZXh0LmgiCiAjaW5jbHVkZSAiV29ya2VyU2NyaXB0Q29udHJvbGxlci5oIgogI2luY2x1
ZGUgPHd0Zi9Pd25QdHIuaD4KQEAgLTYxLDcgKzYwLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgICAgICB2aXJ0dWFsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQoKSBjb25zdDsKIAogICAgICAgICBjb25zdCBLVVJMJiB1cmwoKSBjb25zdCB7IHJldHVy
biBtX3VybDsgfQotICAgICAgICB2aXJ0dWFsIEtVUkwgY29tcGxldGVVUkwoY29uc3QgU3RyaW5n
JikgY29uc3Q7CisgICAgICAgIEtVUkwgY29tcGxldGVVUkwoY29uc3QgU3RyaW5nJikgY29uc3Q7
CiAKICAgICAgICAgV29ya2VyTG9jYXRpb24qIGxvY2F0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9s
b2NhdGlvbi5nZXQoKTsgfQogICAgICAgICBXb3JrZXJOYXZpZ2F0b3IqIG5hdmlnYXRvcigpIGNv
bnN0OwpAQCAtMTAyLDYgKzEwMSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgV29y
a2VyQ29udGV4dChjb25zdCBLVVJMJiwgY29uc3QgU3RyaW5nJiwgV29ya2VyVGhyZWFkKik7CiAK
ICAgICAgICAgdmlydHVhbCBjb25zdCBLVVJMJiB2aXJ0dWFsVVJMKCkgY29uc3Q7CisgICAgICAg
IHZpcnR1YWwgS1VSTCB2aXJ0dWFsQ29tcGxldGVVUkwoY29uc3QgU3RyaW5nJikgY29uc3Q7CiAK
ICAgICAgICAgS1VSTCBtX3VybDsKICAgICAgICAgU3RyaW5nIG1fdXNlckFnZW50OwpJbmRleDog
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxv
ZwkocmV2aXNpb24gMzk0NDApCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMyArMSwzNyBAQAorMjAwOC0xMi0yMiAgSnVsaWVuIENoYWZmcmFpeCAgPGpjaGFm
ZnJhaXhAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBUZXN0IGNhc2UgZm9yIGJ1ZyAxMTEwNjogU29tZSBYTUxIdHRwUmVxdWVzdCBV
UkkgcmVzb2x2aW5nIHRlc3RzIGZhaWwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTExMTA2CisKKyAgICAgICAgVGhlc2UgdGVzdHMgYXJlIGJvcnJvd2Vk
IGZyb20gT3BlcmEncyB0ZXN0IGNhc2Ugc3VpdGUgKGh0dHA6Ly90Yy5sYWJzLm9wZXJhLmNvbS9h
cGlzL1hNTEh0dHBSZXF1ZXN0KS4KKyAgICAgICAgVGhleSBjb3JyZXNwb25kIHRvIG9wZW4vMDA0
Lmh0bWwgLSBvcGVuLzAxMC5odG1sIHdoaWNoIHdlcmUgcHJldmlvdXNseSBmYWlsaW5nLgorCisg
ICAgICAgICogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9yZXNvdXJjZXMvdGVzdC11cmktcmVz
b2x1dGlvbi50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3Qv
cmVzb3VyY2VzL3VyaS1yZXNvbHV0aW9uLW9wZXJhLW9wZW4tMDA0LWlmcmFtZS5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3Jlc291cmNlcy91cmktcmVz
b2x1dGlvbi1vcGVyYS1vcGVuLTAwNS1pZnJhbWUuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0
cC90ZXN0cy94bWxodHRwcmVxdWVzdC9yZXNvdXJjZXMvdXJpLXJlc29sdXRpb24tb3BlcmEtb3Bl
bi0wMDYtaWZyYW1lLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMveG1saHR0cHJl
cXVlc3QvcmVzb3VyY2VzL3VyaS1yZXNvbHV0aW9uLW9wZXJhLW9wZW4tMDA3LWlmcmFtZS5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3Jlc291cmNlcy91
cmktcmVzb2x1dGlvbi1vcGVyYS1vcGVuLTAwOC1pZnJhbWUuaHRtbDogQWRkZWQuCisgICAgICAg
ICogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9yZXNvdXJjZXMvdXJpLXJlc29sdXRpb24tb3Bl
cmEtb3Blbi0wMDktaWZyYW1lLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMveG1s
aHR0cHJlcXVlc3QvcmVzb3VyY2VzL3VyaS1yZXNvbHV0aW9uLW9wZXJhLW9wZW4tMDEwLWlmcmFt
ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3Rlc3Qt
dXJpLXJlc29sdXRpb24udHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3htbGh0dHBy
ZXF1ZXN0L3VyaS1yZXNvbHV0aW9uLW9wZXJhLW9wZW4tMDA0LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC91cmktcmVzb2x1dGlvbi1vcGVy
YS1vcGVuLTAwNC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3htbGh0dHByZXF1
ZXN0L3VyaS1yZXNvbHV0aW9uLW9wZXJhLW9wZW4tMDA1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC91cmktcmVzb2x1dGlvbi1vcGVyYS1v
cGVuLTAwNS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0
L3VyaS1yZXNvbHV0aW9uLW9wZXJhLW9wZW4tMDA2LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC91cmktcmVzb2x1dGlvbi1vcGVyYS1vcGVu
LTAwNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3Vy
aS1yZXNvbHV0aW9uLW9wZXJhLW9wZW4tMDA3LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC91cmktcmVzb2x1dGlvbi1vcGVyYS1vcGVuLTAw
Ny5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3VyaS1y
ZXNvbHV0aW9uLW9wZXJhLW9wZW4tMDA4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
aHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC91cmktcmVzb2x1dGlvbi1vcGVyYS1vcGVuLTAwOC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3VyaS1yZXNv
bHV0aW9uLW9wZXJhLW9wZW4tMDA5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0
cC90ZXN0cy94bWxodHRwcmVxdWVzdC91cmktcmVzb2x1dGlvbi1vcGVyYS1vcGVuLTAwOS5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3VyaS1yZXNvbHV0
aW9uLW9wZXJhLW9wZW4tMDEwLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90
ZXN0cy94bWxodHRwcmVxdWVzdC91cmktcmVzb2x1dGlvbi1vcGVyYS1vcGVuLTAxMC5odG1sOiBB
ZGRlZC4KKwogMjAwOC0xMi0yMiAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQHdlYmtpdC5vcmc+
CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCkluZGV4OiBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3Rlc3QtdXJpLXJlc29sdXRpb24udHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvdGVzdC11cmktcmVz
b2x1dGlvbi50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0
dHByZXF1ZXN0L3Rlc3QtdXJpLXJlc29sdXRpb24udHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsx
IEBACitGQUlMRUQKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2h0dHAvdGVzdHMv
eG1saHR0cHJlcXVlc3QvdGVzdC11cmktcmVzb2x1dGlvbi50eHQKX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDog
c3ZuOm1lcmdlaW5mbwoKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVl
c3QvdXJpLXJlc29sdXRpb24tb3BlcmEtb3Blbi0wMDQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvdXJpLXJlc29sdXRpb24t
b3BlcmEtb3Blbi0wMDQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC91cmktcmVzb2x1dGlvbi1vcGVyYS1vcGVuLTAwNC1l
eHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNiBAQAorCisKKy0tLS0tLS0tCitG
cmFtZTogJzwhLS1mcmFtZVBhdGggLy88IS0tZnJhbWUwLS0+LS0+JworLS0tLS0tLS0KK1BBU1NF
RApJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC91cmktcmVzb2x1
dGlvbi1vcGVyYS1vcGVuLTAwNC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAv
dGVzdHMveG1saHR0cHJlcXVlc3QvdXJpLXJlc29sdXRpb24tb3BlcmEtb3Blbi0wMDQuaHRtbAko
cmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvdXJp
LXJlc29sdXRpb24tb3BlcmEtb3Blbi0wMDQuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwy
MCBAQAorPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEgVHJhbnNp
dGlvbmFsLy9FTiI+Cis8aHRtbCBsYW5nPSJlbiI+CisgICAgPGhlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICBmdW5jdGlvbiB0ZXN0KGZyYW1lKQorICAgIHsKKyAgICAgICAgaWYgKHdpbmRvdy5sYXlv
dXRUZXN0Q29udHJvbGxlcikgeworICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVt
cEFzVGV4dCgpOworICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcENoaWxkRnJh
bWVzQXNUZXh0KCk7CisgICAgICAgIH0KKyAgICAgICAgdmFyIGNsaWVudCA9IG5ldyBmcmFtZS5j
b250ZW50V2luZG93LlhNTEh0dHBSZXF1ZXN0KCk7CisgICAgICAgIGNsaWVudC5vcGVuKCJHRVQi
LCAidGVzdC11cmktcmVzb2x1dGlvbi50eHQiKTsKKyAgICAgICAgZnJhbWUuY29udGVudFdpbmRv
dy50ZXN0KGNsaWVudCk7CisgICAgfQorICAgIDwvc2NyaXB0PgorICAgIDwvaGVhZD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPHA+PGlmcmFtZSBzcmM9InJlc291cmNlcy91cmktcmVzb2x1dGlvbi1v
cGVyYS1vcGVuLTAwNC1pZnJhbWUuaHRtbCIgb25sb2FkPSJ0ZXN0KHRoaXMpIj48L2lmcmFtZT48
L3A+CisgICAgPC9ib2R5PgorPC9odG1sPgoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC91cmktcmVzb2x1dGlvbi1vcGVyYS1vcGVuLTAw
NC5odG1sCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjptZXJnZWluZm8KCkluZGV4OiBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3VyaS1yZXNvbHV0aW9uLW9wZXJhLW9wZW4tMDA1
LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0
dHByZXF1ZXN0L3VyaS1yZXNvbHV0aW9uLW9wZXJhLW9wZW4tMDA1LWV4cGVjdGVkLnR4dAkocmV2
aXNpb24gMCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvdXJpLXJl
c29sdXRpb24tb3BlcmEtb3Blbi0wMDUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCww
ICsxLDYgQEAKKworCistLS0tLS0tLQorRnJhbWU6ICc8IS0tZnJhbWVQYXRoIC8vPCEtLWZyYW1l
MC0tPi0tPicKKy0tLS0tLS0tCitQQVNTRUQKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMv
eG1saHR0cHJlcXVlc3QvdXJpLXJlc29sdXRpb24tb3BlcmEtb3Blbi0wMDUuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3VyaS1yZXNvbHV0
aW9uLW9wZXJhLW9wZW4tMDA1Lmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3htbGh0dHByZXF1ZXN0L3VyaS1yZXNvbHV0aW9uLW9wZXJhLW9wZW4tMDA1Lmh0bWwJ
KHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTkgQEAKKzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8v
VzNDLy9EVEQgSFRNTCA0LjAxIFRyYW5zaXRpb25hbC8vRU4iPgorPGh0bWwgbGFuZz0iZW4iPgor
ICAgIDxoZWFkPgorICAgIDxzY3JpcHQ+CisgICAgZnVuY3Rpb24gdGVzdChmcmFtZSkKKyAgICB7
CisgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgICAg
IGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgICAgIGxheW91dFRl
c3RDb250cm9sbGVyLmR1bXBDaGlsZEZyYW1lc0FzVGV4dCgpOworICAgICAgICB9CisgICAgICAg
IHZhciBjbGllbnQgPSBuZXcgZnJhbWUuY29udGVudFdpbmRvdy5YTUxIdHRwUmVxdWVzdCgpOwor
ICAgICAgICBmcmFtZS5jb250ZW50V2luZG93LnRlc3QoY2xpZW50KTsKKyAgICB9CisgICAgPC9z
Y3JpcHQ+CisgICAgPC9oZWFkPgorICAgIDxib2R5PgorICAgICAgICA8cD48aWZyYW1lIHNyYz0i
cmVzb3VyY2VzL3VyaS1yZXNvbHV0aW9uLW9wZXJhLW9wZW4tMDA1LWlmcmFtZS5odG1sIiBvbmxv
YWQ9InRlc3QodGhpcykiPjwvaWZyYW1lPjwvcD4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CkluZGV4
OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3VyaS1yZXNvbHV0aW9uLW9w
ZXJhLW9wZW4tMDA2LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3htbGh0dHByZXF1ZXN0L3VyaS1yZXNvbHV0aW9uLW9wZXJhLW9wZW4tMDA2LWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJl
cXVlc3QvdXJpLXJlc29sdXRpb24tb3BlcmEtb3Blbi0wMDYtZXhwZWN0ZWQudHh0CShyZXZpc2lv
biAwKQpAQCAtMCwwICsxLDYgQEAKKworCistLS0tLS0tLQorRnJhbWU6ICc8IS0tZnJhbWVQYXRo
IC8vPCEtLWZyYW1lMC0tPi0tPicKKy0tLS0tLS0tCitQQVNTRUQKSW5kZXg6IExheW91dFRlc3Rz
L2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvdXJpLXJlc29sdXRpb24tb3BlcmEtb3Blbi0wMDYu
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0
L3VyaS1yZXNvbHV0aW9uLW9wZXJhLW9wZW4tMDA2Lmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3VyaS1yZXNvbHV0aW9uLW9wZXJhLW9w
ZW4tMDA2Lmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjEgQEAKKzwhRE9DVFlQRSBodG1s
IFBVQkxJQyAiLS8vVzNDLy9EVEQgSFRNTCA0LjAxIFRyYW5zaXRpb25hbC8vRU4iPgorPGh0bWwg
bGFuZz0iZW4iPgorICAgIDxoZWFkPgorICAgIDxzY3JpcHQ+CisgICAgZnVuY3Rpb24gdGVzdChm
cmFtZSkKKyAgICB7CisgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsK
KyAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAg
ICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBDaGlsZEZyYW1lc0FzVGV4dCgpOworICAgICAg
ICB9CisgICAgICAgIHZhciBjbGllbnQgPSBuZXcgZnJhbWUuY29udGVudFdpbmRvdy5YTUxIdHRw
UmVxdWVzdCgpOworICAgICAgICBmcmFtZS5jb250ZW50V2luZG93LnRlc3QoY2xpZW50KTsKKyAg
ICAgICAgY2xpZW50Lm9wZW4oIkdFVCIsICJ0ZXN0LXVyaS1yZXNvbHV0aW9uLnR4dCIpOworICAg
ICAgICBjbGllbnQuc2VuZCgiIik7CisgICAgfQorICAgIDwvc2NyaXB0PgorICAgIDwvaGVhZD4K
KyAgICA8Ym9keT4KKyAgICAgICAgPHA+PGlmcmFtZSBzcmM9InJlc291cmNlcy91cmktcmVzb2x1
dGlvbi1vcGVyYS1vcGVuLTAwNi1pZnJhbWUuaHRtbCIgb25sb2FkPSJ0ZXN0KHRoaXMpIj48L2lm
cmFtZT48L3A+CisgICAgPC9ib2R5PgorPC9odG1sPgoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC91cmktcmVzb2x1dGlvbi1vcGVyYS1v
cGVuLTAwNi5odG1sCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjptZXJnZWluZm8KCkluZGV4OiBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3VyaS1yZXNvbHV0aW9uLW9wZXJhLW9w
ZW4tMDA3LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3htbGh0dHByZXF1ZXN0L3VyaS1yZXNvbHV0aW9uLW9wZXJhLW9wZW4tMDA3LWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3Qv
dXJpLXJlc29sdXRpb24tb3BlcmEtb3Blbi0wMDctZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpA
QCAtMCwwICsxLDYgQEAKKworCistLS0tLS0tLQorRnJhbWU6ICc8IS0tZnJhbWVQYXRoIC8vPCEt
LWZyYW1lMC0tPi0tPicKKy0tLS0tLS0tCitQQVNTRUQKSW5kZXg6IExheW91dFRlc3RzL2h0dHAv
dGVzdHMveG1saHR0cHJlcXVlc3QvdXJpLXJlc29sdXRpb24tb3BlcmEtb3Blbi0wMDcuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3VyaS1y
ZXNvbHV0aW9uLW9wZXJhLW9wZW4tMDA3Lmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3VyaS1yZXNvbHV0aW9uLW9wZXJhLW9wZW4tMDA3
Lmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjMgQEAKKzwhRE9DVFlQRSBodG1sIFBVQkxJ
QyAiLS8vVzNDLy9EVEQgSFRNTCA0LjAxIFRyYW5zaXRpb25hbC8vRU4iPgorPGh0bWwgbGFuZz0i
ZW4iPgorICAgIDxoZWFkPgorICAgIDxzY3JpcHQ+CisgICAgZnVuY3Rpb24gdGVzdChmcmFtZSkK
KyAgICB7CisgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAg
ICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLmR1bXBDaGlsZEZyYW1lc0FzVGV4dCgpOworICAgICAgICB9Cisg
ICAgICAgIHZhciBjbGllbnQgPSBuZXcgZnJhbWUuY29udGVudFdpbmRvdy5YTUxIdHRwUmVxdWVz
dCgpOworICAgICAgICBmcmFtZS5jb250ZW50V2luZG93LnRlc3QoY2xpZW50KTsKKyAgICB9Cisg
ICAgZnVuY3Rpb24gc2VuZChjbGllbnQpCisgICAgeworICAgICAgICBjbGllbnQuc2VuZCgiIik7
CisgICAgfQorICAgIDwvc2NyaXB0PgorICAgIDwvaGVhZD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PHA+PGlmcmFtZSBzcmM9InJlc291cmNlcy91cmktcmVzb2x1dGlvbi1vcGVyYS1vcGVuLTAwNy1p
ZnJhbWUuaHRtbCIgb25sb2FkPSJ0ZXN0KHRoaXMpIj48L2lmcmFtZT48L3A+CisgICAgPC9ib2R5
PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC91
cmktcmVzb2x1dGlvbi1vcGVyYS1vcGVuLTAwOC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC91cmktcmVzb2x1dGlvbi1vcGVy
YS1vcGVuLTAwOC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3htbGh0dHByZXF1ZXN0L3VyaS1yZXNvbHV0aW9uLW9wZXJhLW9wZW4tMDA4LWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw2IEBACisKKworLS0tLS0tLS0KK0ZyYW1l
OiAnPCEtLWZyYW1lUGF0aCAvLzwhLS1mcmFtZTAtLT4tLT4nCistLS0tLS0tLQorUEFTU0VECklu
ZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3VyaS1yZXNvbHV0aW9u
LW9wZXJhLW9wZW4tMDA4Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy94bWxodHRwcmVxdWVzdC91cmktcmVzb2x1dGlvbi1vcGVyYS1vcGVuLTAwOC5odG1sCShyZXZp
c2lvbiAwKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC91cmktcmVz
b2x1dGlvbi1vcGVyYS1vcGVuLTAwOC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDI1IEBA
Cis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwgNC4wMSBUcmFuc2l0aW9u
YWwvL0VOIj4KKzxodG1sIGxhbmc9ImVuIj4KKyAgICA8aGVhZD4KKyAgICA8c2NyaXB0PgorICAg
IGZ1bmN0aW9uIHRlc3QoZnJhbWUpCisgICAgeworICAgICAgICBpZiAod2luZG93LmxheW91dFRl
c3RDb250cm9sbGVyKSB7CisgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNU
ZXh0KCk7CisgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQ2hpbGRGcmFtZXNB
c1RleHQoKTsKKyAgICAgICAgfQorICAgICAgICB2YXIgY2xpZW50ID0gZnJhbWUuY29udGVudFdp
bmRvdy5jbGllbnQoKTsKKyAgICAgICAgY2xpZW50Lm9ucmVhZHlzdGF0ZWNoYW5nZSA9IGZ1bmN0
aW9uKCkKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKGNsaWVudC5yZWFkeVN0YXRlID09IDQp
CisgICAgICAgICAgICAgICAgZnJhbWUuY29udGVudFdpbmRvdy50ZXN0KGNsaWVudCk7ICAgIAor
ICAgICAgICB9CisgICAgICAgIGNsaWVudC5vcGVuKCJHRVQiLCAidGVzdC11cmktcmVzb2x1dGlv
bi50eHQiKTsKKyAgICAgICAgY2xpZW50LnNlbmQoIiIpOworICAgIH0KKyAgICA8L3NjcmlwdD4K
KyAgICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAgIDxwPjxpZnJhbWUgc3JjPSJyZXNvdXJj
ZXMvdXJpLXJlc29sdXRpb24tb3BlcmEtb3Blbi0wMDgtaWZyYW1lLmh0bWwiIG9ubG9hZD0idGVz
dCh0aGlzKSI+PC9pZnJhbWU+PC9wPgorICAgIDwvYm9keT4KKzwvaHRtbD4KClByb3BlcnR5IGNo
YW5nZXMgb246IExheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvdXJpLXJlc29s
dXRpb24tb3BlcmEtb3Blbi0wMDguaHRtbApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46bWVyZ2VpbmZv
CgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC91cmktcmVzb2x1
dGlvbi1vcGVyYS1vcGVuLTAwOS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC91cmktcmVzb2x1dGlvbi1vcGVyYS1vcGVuLTAw
OS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ht
bGh0dHByZXF1ZXN0L3VyaS1yZXNvbHV0aW9uLW9wZXJhLW9wZW4tMDA5LWV4cGVjdGVkLnR4dAko
cmV2aXNpb24gMCkKQEAgLTAsMCArMSw2IEBACisKKworLS0tLS0tLS0KK0ZyYW1lOiAnPCEtLWZy
YW1lUGF0aCAvLzwhLS1mcmFtZTAtLT4tLT4nCistLS0tLS0tLQorUEFTU0VECkluZGV4OiBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3VyaS1yZXNvbHV0aW9uLW9wZXJhLW9w
ZW4tMDA5Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRw
cmVxdWVzdC91cmktcmVzb2x1dGlvbi1vcGVyYS1vcGVuLTAwOS5odG1sCShyZXZpc2lvbiAwKQor
KysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC91cmktcmVzb2x1dGlvbi1v
cGVyYS1vcGVuLTAwOS5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE5IEBACis8IURPQ1RZ
UEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwgNC4wMSBUcmFuc2l0aW9uYWwvL0VOIj4K
KzxodG1sIGxhbmc9ImVuIj4KKyAgICA8aGVhZD4KKyAgICA8c2NyaXB0PgorICAgIGZ1bmN0aW9u
IHRlc3QoZnJhbWUpCisgICAgeworICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9s
bGVyKSB7CisgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Cisg
ICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQ2hpbGRGcmFtZXNBc1RleHQoKTsK
KyAgICAgICAgfQorICAgICAgICB2YXIgY2xpZW50ID0gZnJhbWUuY29udGVudFdpbmRvdy5jbGll
bnQoKTsKKyAgICAgICAgY2xpZW50LnNlbmQoIiIpOworICAgIH0KKyAgICA8L3NjcmlwdD4KKyAg
ICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAgIDxwPjxpZnJhbWUgc3JjPSJyZXNvdXJjZXMv
dXJpLXJlc29sdXRpb24tb3BlcmEtb3Blbi0wMDktaWZyYW1lLmh0bWwiIG9ubG9hZD0idGVzdCh0
aGlzKSI+PC9pZnJhbWU+PC9wPgorICAgIDwvYm9keT4KKzwvaHRtbD4KClByb3BlcnR5IGNoYW5n
ZXMgb246IExheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvdXJpLXJlc29sdXRp
b24tb3BlcmEtb3Blbi0wMDkuaHRtbApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46bWVyZ2VpbmZvCgpJ
bmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC91cmktcmVzb2x1dGlv
bi1vcGVyYS1vcGVuLTAxMC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC91cmktcmVzb2x1dGlvbi1vcGVyYS1vcGVuLTAxMC1l
eHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0
dHByZXF1ZXN0L3VyaS1yZXNvbHV0aW9uLW9wZXJhLW9wZW4tMDEwLWV4cGVjdGVkLnR4dAkocmV2
aXNpb24gMCkKQEAgLTAsMCArMSw2IEBACisKKworLS0tLS0tLS0KK0ZyYW1lOiAnPCEtLWZyYW1l
UGF0aCAvLzwhLS1mcmFtZTAtLT4tLT4nCistLS0tLS0tLQorUEFTU0VECkluZGV4OiBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3VyaS1yZXNvbHV0aW9uLW9wZXJhLW9wZW4t
MDEwLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVx
dWVzdC91cmktcmVzb2x1dGlvbi1vcGVyYS1vcGVuLTAxMC5odG1sCShyZXZpc2lvbiAwKQorKysg
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC91cmktcmVzb2x1dGlvbi1vcGVy
YS1vcGVuLTAxMC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE0IEBACis8IURPQ1RZUEUg
aHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwgNC4wMSBUcmFuc2l0aW9uYWwvL0VOIj4KKzxo
dG1sIGxhbmc9ImVuIj4KKyAgICA8aGVhZD4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxzY3JpcHQ+CisgICAgICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVy
KSB7CisgICAgICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwor
ICAgICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBDaGlsZEZyYW1lc0FzVGV4
dCgpOworICAgICAgICAgICAgfQorICAgICAgICA8L3NjcmlwdD4KKyAgICAgICAgPHA+PGlmcmFt
ZSBzcmM9InJlc291cmNlcy91cmktcmVzb2x1dGlvbi1vcGVyYS1vcGVuLTAxMC1pZnJhbWUuaHRt
bCIgb25sb2FkPSJ0aGlzLmNvbnRlbnRXaW5kb3cuY2xpZW50KCkiPjwvaWZyYW1lPjwvcD4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3htbGh0dHByZXF1ZXN0L3VyaS1yZXNvbHV0aW9uLW9wZXJhLW9wZW4tMDEwLmh0bWwK
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fXwpBZGRlZDogc3ZuOm1lcmdlaW5mbwoKSW5kZXg6IExheW91dFRlc3RzL2h0dHAv
dGVzdHMveG1saHR0cHJlcXVlc3QvcmVzb3VyY2VzL3Rlc3QtdXJpLXJlc29sdXRpb24udHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvcmVzb3Vy
Y2VzL3Rlc3QtdXJpLXJlc29sdXRpb24udHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9yZXNvdXJjZXMvdGVzdC11cmktcmVzb2x1dGlvbi50
eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEgQEAKK1BBU1NFRAoKUHJvcGVydHkgY2hhbmdlcyBv
bjogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9yZXNvdXJjZXMvdGVzdC11
cmktcmVzb2x1dGlvbi50eHQKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOm1lcmdlaW5mbwoKSW5kZXg6
IExheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvcmVzb3VyY2VzL3VyaS1yZXNv
bHV0aW9uLW9wZXJhLW9wZW4tMDA0LWlmcmFtZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvcmVzb3VyY2VzL3VyaS1yZXNvbHV0aW9uLW9w
ZXJhLW9wZW4tMDA0LWlmcmFtZS5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy94bWxodHRwcmVxdWVzdC9yZXNvdXJjZXMvdXJpLXJlc29sdXRpb24tb3BlcmEtb3Bl
bi0wMDQtaWZyYW1lLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vVzNDLy9EVEQgSFRNTCA0LjAxLy9FTiIKKyAgICAgICAgImh0dHA6
Ly93d3cudzMub3JnL1RSL2h0bWw0L3N0cmljdC5kdGQiPgorPGh0bWwgbGFuZz0iZW4iPgorICAg
IDxoZWFkPgorICAgIDwvaGVhZD4KKyAgICA8Ym9keT4KKyAgICAgICAgPHA+RkFJTEVEIC0gc2Ny
aXB0IGRpZCBub3QgcnVuLjwvcD4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgdmFyIHAgPSBk
b2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgncCcpWzBdOworICAgICAgICBmdW5jdGlvbiB0
ZXN0KGNsaWVudCkKKyAgICAgICAgeworICAgICAgICAgICAgY2xpZW50Lm9ucmVhZHlzdGF0ZWNo
YW5nZSA9IGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgaWYgKGNsaWVudC5yZWFkeVN0YXRlID09
IDQpCisgICAgICAgICAgICAgICAgcC5maXJzdENoaWxkLmRhdGEgPSBjbGllbnQucmVzcG9uc2VU
ZXh0OworICAgICAgICAgICAgfQorICAgICAgICBjbGllbnQuc2VuZCgiIik7CisgICAgICAgIH0K
KyAgICAgICAgPC9zY3JpcHQ+CisgICAgPC9ib2R5PgorPC9odG1sPgoKUHJvcGVydHkgY2hhbmdl
cyBvbjogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9yZXNvdXJjZXMvdXJp
LXJlc29sdXRpb24tb3BlcmEtb3Blbi0wMDQtaWZyYW1lLmh0bWwKX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDog
c3ZuOm1lcmdlaW5mbwoKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVl
c3QvcmVzb3VyY2VzL3VyaS1yZXNvbHV0aW9uLW9wZXJhLW9wZW4tMDA1LWlmcmFtZS5odG1sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvcmVzb3Vy
Y2VzL3VyaS1yZXNvbHV0aW9uLW9wZXJhLW9wZW4tMDA1LWlmcmFtZS5odG1sCShyZXZpc2lvbiAw
KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9yZXNvdXJjZXMvdXJp
LXJlc29sdXRpb24tb3BlcmEtb3Blbi0wMDUtaWZyYW1lLmh0bWwJKHJldmlzaW9uIDApCkBAIC0w
LDAgKzEsMjEgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vVzNDLy9EVEQgSFRNTCA0LjAx
Ly9FTiIKKyAgICAgICAgImh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw0L3N0cmljdC5kdGQiPgor
PGh0bWwgbGFuZz0iZW4iPgorICAgIDxoZWFkPgorICAgIDwvaGVhZD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPHA+RkFJTEVEIC0gc2NyaXB0IGRpZCBub3QgcnVuLjwvcD4KKyAgICAgICAgPHNjcmlw
dD4KKyAgICAgICAgdmFyIHAgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgncCcpWzBd
OworICAgICAgICBmdW5jdGlvbiB0ZXN0KGNsaWVudCkKKyAgICAgICAgeworICAgICAgICAgICAg
Y2xpZW50Lm9ucmVhZHlzdGF0ZWNoYW5nZSA9IGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgaWYg
KGNsaWVudC5yZWFkeVN0YXRlID09IDQpCisgICAgICAgICAgICAgICAgcC5maXJzdENoaWxkLmRh
dGEgPSBjbGllbnQucmVzcG9uc2VUZXh0OworICAgICAgICAgICAgfQorICAgICAgICBjbGllbnQu
b3BlbigiR0VUIiwgInRlc3QtdXJpLXJlc29sdXRpb24udHh0Iik7CisgICAgICAgIGNsaWVudC5z
ZW5kKCIiKTsKKyAgICAgICAgfQorICAgICAgICA8L3NjcmlwdD4KKyAgICA8L2JvZHk+Cis8L2h0
bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3Jlc291cmNl
cy91cmktcmVzb2x1dGlvbi1vcGVyYS1vcGVuLTAwNi1pZnJhbWUuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3Jlc291cmNlcy91cmktcmVz
b2x1dGlvbi1vcGVyYS1vcGVuLTAwNi1pZnJhbWUuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91
dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvcmVzb3VyY2VzL3VyaS1yZXNvbHV0aW9u
LW9wZXJhLW9wZW4tMDA2LWlmcmFtZS5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE5IEBA
Cis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwgNC4wMS8vRU4iCisgICAg
ICAgICJodHRwOi8vd3d3LnczLm9yZy9UUi9odG1sNC9zdHJpY3QuZHRkIj4KKzxodG1sIGxhbmc9
ImVuIj4KKyAgICA8aGVhZD4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAgIDxwPkZB
SUxFRCAtIHNjcmlwdCBkaWQgbm90IHJ1bi48L3A+CisgICAgICAgIDxzY3JpcHQ+CisgICAgICAg
IHZhciBwID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3AnKVswXTsKKyAgICAgICAg
ZnVuY3Rpb24gdGVzdChjbGllbnQpCisgICAgICAgIHsKKyAgICAgICAgICAgIGNsaWVudC5vbnJl
YWR5c3RhdGVjaGFuZ2UgPSBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIGlmIChjbGllbnQucmVh
ZHlTdGF0ZSA9PSA0KQorICAgICAgICAgICAgICAgIHAuZmlyc3RDaGlsZC5kYXRhID0gY2xpZW50
LnJlc3BvbnNlVGV4dDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICA8L3Njcmlw
dD4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3Jlc291cmNlcy91cmktcmVzb2x1dGlvbi1vcGVy
YS1vcGVuLTAwNi1pZnJhbWUuaHRtbApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46bWVyZ2VpbmZvCgpJ
bmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9yZXNvdXJjZXMvdXJp
LXJlc29sdXRpb24tb3BlcmEtb3Blbi0wMDctaWZyYW1lLmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9yZXNvdXJjZXMvdXJpLXJlc29sdXRp
b24tb3BlcmEtb3Blbi0wMDctaWZyYW1lLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3Jlc291cmNlcy91cmktcmVzb2x1dGlvbi1vcGVy
YS1vcGVuLTAwNy1pZnJhbWUuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyMSBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEvL0VOIgorICAgICAgICAi
aHR0cDovL3d3dy53My5vcmcvVFIvaHRtbDQvc3RyaWN0LmR0ZCI+Cis8aHRtbCBsYW5nPSJlbiI+
CisgICAgPGhlYWQ+CisgICAgPC9oZWFkPgorICAgIDxib2R5PgorICAgICAgICA8cD5GQUlMRUQg
LSBzY3JpcHQgZGlkIG5vdCBydW4uPC9wPgorICAgICAgICA8c2NyaXB0PgorICAgICAgICB2YXIg
cCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdwJylbMF07CisgICAgICAgIGZ1bmN0
aW9uIHRlc3QoY2xpZW50KQorICAgICAgICB7CisgICAgICAgICAgICBjbGllbnQub25yZWFkeXN0
YXRlY2hhbmdlID0gZnVuY3Rpb24oKSB7CisgICAgICAgICAgICBpZiAoY2xpZW50LnJlYWR5U3Rh
dGUgPT0gNCkKKyAgICAgICAgICAgICAgICBwLmZpcnN0Q2hpbGQuZGF0YSA9IGNsaWVudC5yZXNw
b25zZVRleHQ7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBjbGllbnQub3BlbigiR0VUIiwg
InRlc3QtdXJpLXJlc29sdXRpb24udHh0Iik7CisgICAgICAgICAgICBwYXJlbnQuc2VuZChjbGll
bnQpOworICAgICAgICB9CisgICAgICAgIDwvc2NyaXB0PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
SW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvcmVzb3VyY2VzL3Vy
aS1yZXNvbHV0aW9uLW9wZXJhLW9wZW4tMDA4LWlmcmFtZS5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvcmVzb3VyY2VzL3VyaS1yZXNvbHV0
aW9uLW9wZXJhLW9wZW4tMDA4LWlmcmFtZS5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9yZXNvdXJjZXMvdXJpLXJlc29sdXRpb24tb3Bl
cmEtb3Blbi0wMDgtaWZyYW1lLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjIgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vVzNDLy9EVEQgSFRNTCA0LjAxLy9FTiIKKyAgICAgICAg
Imh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw0L3N0cmljdC5kdGQiPgorPGh0bWwgbGFuZz0iZW4i
PgorICAgIDxoZWFkPgorICAgIDwvaGVhZD4KKyAgICA8Ym9keT4KKyAgICAgICAgPHA+RkFJTEVE
IC0gc2NyaXB0IGRpZCBub3QgcnVuLjwvcD4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgdmFy
IHAgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgncCcpWzBdOworCisgICAgICAgIGZ1
bmN0aW9uIGNsaWVudCgpCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiBuZXcgWE1MSHR0
cFJlcXVlc3QoKTsKKyAgICAgICAgfQorCisgICAgICAgIGZ1bmN0aW9uIHRlc3QoY2xpZW50KQor
ICAgICAgICB7CisgICAgICAgICAgICBwLmZpcnN0Q2hpbGQuZGF0YSA9IGNsaWVudC5yZXNwb25z
ZVRleHQ7CisgICAgICAgIH0KKyAgICAgICAgPC9zY3JpcHQ+CisgICAgPC9ib2R5PgorPC9odG1s
PgoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVx
dWVzdC9yZXNvdXJjZXMvdXJpLXJlc29sdXRpb24tb3BlcmEtb3Blbi0wMDgtaWZyYW1lLmh0bWwK
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fXwpBZGRlZDogc3ZuOm1lcmdlaW5mbwoKSW5kZXg6IExheW91dFRlc3RzL2h0dHAv
dGVzdHMveG1saHR0cHJlcXVlc3QvcmVzb3VyY2VzL3VyaS1yZXNvbHV0aW9uLW9wZXJhLW9wZW4t
MDA5LWlmcmFtZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMveG1s
aHR0cHJlcXVlc3QvcmVzb3VyY2VzL3VyaS1yZXNvbHV0aW9uLW9wZXJhLW9wZW4tMDA5LWlmcmFt
ZS5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVx
dWVzdC9yZXNvdXJjZXMvdXJpLXJlc29sdXRpb24tb3BlcmEtb3Blbi0wMDktaWZyYW1lLmh0bWwJ
KHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjMgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
VzNDLy9EVEQgSFRNTCA0LjAxLy9FTiIKKyAgICAgICAgImh0dHA6Ly93d3cudzMub3JnL1RSL2h0
bWw0L3N0cmljdC5kdGQiPgorPGh0bWwgbGFuZz0iZW4iPgorICAgIDxoZWFkPgorICAgIDwvaGVh
ZD4KKyAgICA8Ym9keT4KKyAgICAgICAgPHA+RkFJTEVEIC0gc2NyaXB0IGRpZCBub3QgcnVuLjwv
cD4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgdmFyIHAgPSBkb2N1bWVudC5nZXRFbGVtZW50
c0J5VGFnTmFtZSgncCcpWzBdOworICAgICAgICBmdW5jdGlvbiBjbGllbnQoKQorICAgICAgICB7
CisgICAgICAgICAgICB2YXIgY2xpZW50ID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CisgICAgICAg
ICAgICBjbGllbnQub25yZWFkeXN0YXRlY2hhbmdlID0gZnVuY3Rpb24oKQorICAgICAgICAgICAg
eworICAgICAgICAgICAgICAgIGlmIChjbGllbnQucmVhZHlTdGF0ZSA9PSA0KQorICAgICAgICAg
ICAgICAgICAgICBwLmZpcnN0Q2hpbGQuZGF0YSA9IGNsaWVudC5yZXNwb25zZVRleHQ7CisgICAg
ICAgICAgICB9CisgICAgICAgICAgICBjbGllbnQub3BlbigiR0VUIiwgInRlc3QtdXJpLXJlc29s
dXRpb24udHh0Iik7CisgICAgICAgICAgICByZXR1cm4gY2xpZW50OworICAgICAgICB9CisgICAg
ICAgIDwvc2NyaXB0PgorICAgIDwvYm9keT4KKzwvaHRtbD4KClByb3BlcnR5IGNoYW5nZXMgb246
IExheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvcmVzb3VyY2VzL3VyaS1yZXNv
bHV0aW9uLW9wZXJhLW9wZW4tMDA5LWlmcmFtZS5odG1sCl9fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpt
ZXJnZWluZm8KCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3Jl
c291cmNlcy91cmktcmVzb2x1dGlvbi1vcGVyYS1vcGVuLTAxMC1pZnJhbWUuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3Jlc291cmNlcy91
cmktcmVzb2x1dGlvbi1vcGVyYS1vcGVuLTAxMC1pZnJhbWUuaHRtbAkocmV2aXNpb24gMCkKKysr
IExheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvcmVzb3VyY2VzL3VyaS1yZXNv
bHV0aW9uLW9wZXJhLW9wZW4tMDEwLWlmcmFtZS5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsx
LDIzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwgNC4wMS8vRU4i
CisgICAgICAgICJodHRwOi8vd3d3LnczLm9yZy9UUi9odG1sNC9zdHJpY3QuZHRkIj4KKzxodG1s
IGxhbmc9ImVuIj4KKyAgICA8aGVhZD4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxwPkZBSUxFRCAtIHNjcmlwdCBkaWQgbm90IHJ1bi48L3A+CisgICAgICAgIDxzY3JpcHQ+Cisg
ICAgICAgIHZhciBwID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3AnKVswXTsKKyAg
ICAgICAgZnVuY3Rpb24gY2xpZW50KCkKKyAgICAgICAgeworICAgICAgICAgICAgdmFyIGNsaWVu
dCA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOworICAgICAgICAgICAgY2xpZW50Lm9ucmVhZHlzdGF0
ZWNoYW5nZSA9IGZ1bmN0aW9uKCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBpZiAo
Y2xpZW50LnJlYWR5U3RhdGUgPT0gNCkKKyAgICAgICAgICAgICAgICAgICAgcC5maXJzdENoaWxk
LmRhdGEgPSBjbGllbnQucmVzcG9uc2VUZXh0OworICAgICAgICAgICAgfQorICAgICAgICAgICAg
Y2xpZW50Lm9wZW4oIkdFVCIsICJ0ZXN0LXVyaS1yZXNvbHV0aW9uLnR4dCIpOworICAgICAgICAg
ICAgY2xpZW50LnNlbmQoIiIpOworICAgICAgICB9CisgICAgICAgIDwvc2NyaXB0PgorICAgIDwv
Ym9keT4KKzwvaHRtbD4KClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2h0dHAvdGVz
dHMveG1saHR0cHJlcXVlc3QvcmVzb3VyY2VzL3VyaS1yZXNvbHV0aW9uLW9wZXJhLW9wZW4tMDEw
LWlmcmFtZS5odG1sCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjptZXJnZWluZm8KCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>