<?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>65450</bug_id>
          
          <creation_ts>2011-08-01 00:17:26 -0700</creation_ts>
          <short_desc>Refactor bugzilla.js for use by garden-o-matic</short_desc>
          <delta_ts>2011-08-01 12:25:07 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>64188</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Barth">abarth</reporter>
          <assigned_to name="Adam Barth">abarth</assigned_to>
          <cc>aroben</cc>
    
    <cc>dglazkov</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>444549</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-08-01 00:17:26 -0700</bug_when>
    <thetext>Refactor bugzilla.js for use by garden-o-matic</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>444551</commentid>
    <comment_count>1</comment_count>
      <attachid>102486</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-08-01 00:20:14 -0700</bug_when>
    <thetext>Created attachment 102486
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>444554</commentid>
    <comment_count>2</comment_count>
      <attachid>102487</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-08-01 00:29:15 -0700</bug_when>
    <thetext>Created attachment 102487
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>444765</commentid>
    <comment_count>3</comment_count>
      <attachid>102487</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-01 10:48:37 -0700</bug_when>
    <thetext>Comment on attachment 102487
Patch

Rejecting attachment 102487 from commit-queue.

Failed to run &quot;[&apos;./Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;--bot-id=ec2-cq-02&apos;, &apos;--port...&quot; exit_code: 2

Last 500 characters of output:
tml/TestFailures/garden-o-matic.html
Hunk #1 FAILED at 32.
1 out of 1 hunk FAILED -- saving rejects to file Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/garden-o-matic.html.rej
patching file Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/index.html
patching file Tools/ChangeLog
Hunk #1 succeeded at 1 with fuzz 3.

Failed to run &quot;[u&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/svn-apply&apos;, u&apos;--reviewer&apos;, u&apos;Dimitri Glazkov&apos;, u&apos;--...&quot; exit_code: 1

Full output: http://queues.webkit.org/results/9285456</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>444803</commentid>
    <comment_count>4</comment_count>
      <attachid>102487</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-08-01 12:25:03 -0700</bug_when>
    <thetext>Comment on attachment 102487
Patch

Clearing flags on attachment: 102487

Committed r92135: &lt;http://trac.webkit.org/changeset/92135&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>444804</commentid>
    <comment_count>5</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-08-01 12:25:07 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>102486</attachid>
            <date>2011-08-01 00:20:14 -0700</date>
            <delta_ts>2011-08-01 00:29:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-65450-20110801002013.patch</filename>
            <type>text/plain</type>
            <size>23638</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTIwOTUKZGlmZiAtLWdpdCBhL1Rvb2xzL0J1aWxkU2xhdmVT
dXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL1Rlc3RGYWlsdXJlcy9C
dWd6aWxsYS5qcyBiL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29u
ZmlnL3B1YmxpY19odG1sL1Rlc3RGYWlsdXJlcy9CdWd6aWxsYS5qcwppbmRleCBlMDNhY2QwOWFk
MzdhYWZjZWJmZTc5NDQzOGU4MzQxZjE5YzI2N2NkLi4xZTI2NzdiMWIzMTVhZTA5ZjFhMjA3YjFj
YjAzOTY3NmZiOGQ1Y2I1IDEwMDY0NAotLS0gYS9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWls
ZC53ZWJraXQub3JnLWNvbmZpZy9wdWJsaWNfaHRtbC9UZXN0RmFpbHVyZXMvQnVnemlsbGEuanMK
KysrIGIvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvcHVi
bGljX2h0bWwvVGVzdEZhaWx1cmVzL0J1Z3ppbGxhLmpzCkBAIC0yMyw2OSArMjMsNTIgQEAKICAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCi1mdW5jdGlvbiBCdWd6aWxs
YShiYXNlVVJMKSB7Ci0gICAgdGhpcy5iYXNlVVJMID0gYmFzZVVSTDsKLSAgICB0aGlzLl9jYWNo
ZSA9IHt9OwotfQordmFyIGJ1Z3ppbGxhID0gYnVnemlsbGEgfHwge307CiAKLUJ1Z3ppbGxhLnBy
b3RvdHlwZSA9IHsKLSAgICBxdWlja1NlYXJjaDogZnVuY3Rpb24ocXVlcnksIGNhbGxiYWNrKSB7
Ci0gICAgICAgIHZhciBjYWNoZUtleSA9ICdxdWlja1NlYXJjaF8nICsgcXVlcnk7Ci0gICAgICAg
IGlmIChjYWNoZUtleSBpbiB0aGlzLl9jYWNoZSkgewotICAgICAgICAgICAgY2FsbGJhY2sodGhp
cy5fY2FjaGVbY2FjaGVLZXldKTsKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfQorKGZ1
bmN0aW9uKCkgewogCi0gICAgICAgIHZhciBjYWxsYmFja3NDYWNoZUtleSA9ICdxdWlja1NlYXJj
aENhbGxiYWNrc18nICsgcXVlcnk7Ci0gICAgICAgIGlmIChjYWxsYmFja3NDYWNoZUtleSBpbiB0
aGlzLl9jYWNoZSkgewotICAgICAgICAgICAgdGhpcy5fY2FjaGVbY2FsbGJhY2tzQ2FjaGVLZXld
LnB1c2goY2FsbGJhY2spOwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0KLSAgICAg
ICAgdGhpcy5fY2FjaGVbY2FsbGJhY2tzQ2FjaGVLZXldID0gW2NhbGxiYWNrXTsKLQotICAgICAg
ICB2YXIgcXVlcnlQYXJhbWV0ZXJzID0gewotICAgICAgICAgICAgY3R5cGU6ICdyc3MnLAotICAg
ICAgICAgICAgb3JkZXI6ICdidWdzLmJ1Z19pZCBkZXNjJywKLSAgICAgICAgICAgIHF1aWNrc2Vh
cmNoOiBxdWVyeSwKLSAgICAgICAgfTsKLQotICAgICAgICB2YXIgc2VsZiA9IHRoaXM7Ci0gICAg
ICAgIGZldGNoUmVzb3VyY2UodGhpcy5iYXNlVVJMICsgJ2J1Z2xpc3QuY2dpJywgJ1BPU1QnLCBx
dWVyeVBhcmFtZXRlcnMsIGZ1bmN0aW9uKHhocikgewotICAgICAgICAgICAgdmFyIGVudHJpZXMg
PSB4aHIucmVzcG9uc2VYTUwuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2VudHJ5Jyk7Ci0gICAgICAg
ICAgICB2YXIgcmVzdWx0cyA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChlbnRyaWVzLCBmdW5j
dGlvbihlbnRyeSkgewotICAgICAgICAgICAgICAgIHZhciBjb250YWluZXIgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCdkaXYnKTsKLSAgICAgICAgICAgICAgICBjb250YWluZXIuaW5uZXJIVE1M
ID0gZW50cnkuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3N1bW1hcnknKVswXS50ZXh0Q29udGVudDsK
LSAgICAgICAgICAgICAgICB2YXIgc3RhdHVzUm93ID0gY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3Io
J3RyLmJ6X2ZlZWRfYnVnX3N0YXR1cycpOwotICAgICAgICAgICAgICAgIHJldHVybiB7Ci0gICAg
ICAgICAgICAgICAgICAgIHRpdGxlOiBlbnRyeS5nZXRFbGVtZW50c0J5VGFnTmFtZSgndGl0bGUn
KVswXS50ZXh0Q29udGVudCwKLSAgICAgICAgICAgICAgICAgICAgdXJsOiBlbnRyeS5nZXRFbGVt
ZW50c0J5VGFnTmFtZSgnaWQnKVswXS50ZXh0Q29udGVudCwKLSAgICAgICAgICAgICAgICAgICAg
c3RhdHVzOiBzdGF0dXNSb3cuY2VsbHNbMV0udGV4dENvbnRlbnQsCi0gICAgICAgICAgICAgICAg
fTsKLSAgICAgICAgICAgIH0pOwotCi0gICAgICAgICAgICBzZWxmLl9jYWNoZVtjYWNoZUtleV0g
PSByZXN1bHRzOwordmFyIGtPcGVuU3RhdHVzZXMgPSB7CisgICAgVU5DT05GSVJNRUQ6IHRydWUs
CisgICAgTkVXOiB0cnVlLAorICAgIEFTU0lHTkVEOiB0cnVlLAorICAgIFJFT1BFTkVEOiB0cnVl
LAorfTsKIAotICAgICAgICAgICAgdmFyIGNhbGxiYWNrcyA9IHNlbGYuX2NhY2hlW2NhbGxiYWNr
c0NhY2hlS2V5XTsKLSAgICAgICAgICAgIGRlbGV0ZSBzZWxmLl9jYWNoZVtjYWxsYmFja3NDYWNo
ZUtleV07Cit2YXIgZ19zZWFyY2hDYWNoZSA9IG5ldyBiYXNlLkFzeW5jaHJvbm91c0NhY2hlKGZ1
bmN0aW9uKHF1ZXJ5LCBjYWxsYmFjaykgeworICAgIHZhciB1cmwgPSBjb25maWcua0J1Z3NVUkwg
KyAnL2J1Z2xpc3QuY2dpPycgKyAkLnBhcmFtKHsKKyAgICAgICAgY3R5cGU6ICdyc3MnLAorICAg
ICAgICBvcmRlcjogJ2J1Z3MuYnVnX2lkIGRlc2MnLAorICAgICAgICBxdWlja3NlYXJjaDogcXVl
cnksCisgICAgfSk7CiAKLSAgICAgICAgICAgIGNhbGxiYWNrcy5mb3JFYWNoKGZ1bmN0aW9uKGNh
bGxiYWNrKSB7Ci0gICAgICAgICAgICAgICAgY2FsbGJhY2socmVzdWx0cyk7Ci0gICAgICAgICAg
ICB9KTsKKyAgICAkLmdldCh1cmwsIGZ1bmN0aW9uKHJlc3BvbnNlWE1MKSB7CisgICAgICAgIHZh
ciBlbnRyaWVzID0gcmVzcG9uc2VYTUwuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2VudHJ5Jyk7Cisg
ICAgICAgIHZhciByZXN1bHRzID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKGVudHJpZXMsIGZ1
bmN0aW9uKGVudHJ5KSB7CisgICAgICAgICAgICB2YXIgY29udGFpbmVyID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgnZGl2Jyk7CisgICAgICAgICAgICAvLyBGSVhNRTogSXMgdGhpcyBhbiBYU1Mg
cmlzaz8KKyAgICAgICAgICAgIGNvbnRhaW5lci5pbm5lckhUTUwgPSBlbnRyeS5nZXRFbGVtZW50
c0J5VGFnTmFtZSgnc3VtbWFyeScpWzBdLnRleHRDb250ZW50OworICAgICAgICAgICAgdmFyIHN0
YXR1c1JvdyA9IGNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCd0ci5iel9mZWVkX2J1Z19zdGF0dXMn
KTsKKyAgICAgICAgICAgIHJldHVybiB7CisgICAgICAgICAgICAgICAgdGl0bGU6IGVudHJ5Lmdl
dEVsZW1lbnRzQnlUYWdOYW1lKCd0aXRsZScpWzBdLnRleHRDb250ZW50LAorICAgICAgICAgICAg
ICAgIHVybDogZW50cnkuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2lkJylbMF0udGV4dENvbnRlbnQs
CisgICAgICAgICAgICAgICAgc3RhdHVzOiBzdGF0dXNSb3cuY2VsbHNbMV0udGV4dENvbnRlbnQs
CisgICAgICAgICAgICB9OwogICAgICAgICB9KTsKLSAgICB9LAotfTsKKyAgICAgICAgY2FsbGJh
Y2socmVzdWx0cyk7CisgICAgfSk7Cit9KTsKIAotQnVnemlsbGEuaXNPcGVuU3RhdHVzID0gZnVu
Y3Rpb24oc3RhdHVzKSB7Ci0gICAgY29uc3Qgb3BlblN0YXR1c2VzID0gewotICAgICAgICBVTkNP
TkZJUk1FRDogdHJ1ZSwKLSAgICAgICAgTkVXOiB0cnVlLAotICAgICAgICBBU1NJR05FRDogdHJ1
ZSwKLSAgICAgICAgUkVPUEVORUQ6IHRydWUsCitidWd6aWxsYS5xdWlja1NlYXJjaCA9IGZ1bmN0
aW9uKHF1ZXJ5LCBjYWxsYmFjaykKK3sKKyAgICBnX3NlYXJjaENhY2hlLmdldChxdWVyeSwgY2Fs
bGJhY2spOworfTsKIAotICAgIH07Ci0gICAgcmV0dXJuIHN0YXR1cyBpbiBvcGVuU3RhdHVzZXM7
CitidWd6aWxsYS5pc09wZW5TdGF0dXMgPSBmdW5jdGlvbihzdGF0dXMpCit7CisgICAgcmV0dXJu
IHN0YXR1cyBpbiBrT3BlblN0YXR1c2VzOwogfTsKIAogLy8gVGhpcyB2YWx1ZSBpcyBidWlsdC1p
biB0byBhbGwgQnVnemlsbGEgaW5zdGFsbGF0aW9ucy4gU2VlIDxodHRwOi8vd2Via2l0Lm9yZy9i
LzYxNjYwPi4KLUJ1Z3ppbGxhLm1heGltdW1CdWdUaXRsZUxlbmd0aCA9IDI1NTsKK2J1Z3ppbGxh
LmtNYXhpbXVtQnVnVGl0bGVMZW5ndGggPSAyNTU7CisKK30pKCk7CmRpZmYgLS1naXQgYS9Ub29s
cy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJsaWNfaHRtbC9U
ZXN0RmFpbHVyZXMvRmFpbGluZ1Rlc3RzQnVnRm9ybS5qcyBiL1Rvb2xzL0J1aWxkU2xhdmVTdXBw
b3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL1Rlc3RGYWlsdXJlcy9GYWls
aW5nVGVzdHNCdWdGb3JtLmpzCmluZGV4IDc3ZGUwZWQ5MGJmYzlhODY2NjQ3YTFjYjlhMjk5MzQw
MzdlYzRhNDYuLmUyODM2YTk0NmU5ZjNjOTFlNzBmZGIwZTc3MjczNzc2ZTczOTFiMGMgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3B1
YmxpY19odG1sL1Rlc3RGYWlsdXJlcy9GYWlsaW5nVGVzdHNCdWdGb3JtLmpzCisrKyBiL1Rvb2xz
L0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL1Rl
c3RGYWlsdXJlcy9GYWlsaW5nVGVzdHNCdWdGb3JtLmpzCkBAIC0yMyw4ICsyMyw4IEBACiAgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotZnVuY3Rpb24gRmFpbGluZ1Rl
c3RzQnVnRm9ybShidWd6aWxsYSwgdGVzdGVyLCBmYWlsaW5nQnVpbGROYW1lLCBwYXNzaW5nQnVp
bGROYW1lLCBmYWlsaW5nVGVzdHMpIHsKLSAgICBUZXN0UmVsYXRlZEJ1Z0Zvcm0uY2FsbCh0aGlz
LCBidWd6aWxsYSwgdGVzdGVyKTsKK2Z1bmN0aW9uIEZhaWxpbmdUZXN0c0J1Z0Zvcm0odGVzdGVy
LCBmYWlsaW5nQnVpbGROYW1lLCBwYXNzaW5nQnVpbGROYW1lLCBmYWlsaW5nVGVzdHMpIHsKKyAg
ICBUZXN0UmVsYXRlZEJ1Z0Zvcm0uY2FsbCh0aGlzLCB0ZXN0ZXIpOwogCiAgICAgdGhpcy5fZmFp
bGluZ0J1aWxkTmFtZSA9IGZhaWxpbmdCdWlsZE5hbWU7CiAgICAgdGhpcy5fcGFzc2luZ0J1aWxk
TmFtZSA9IHBhc3NpbmdCdWlsZE5hbWU7CkBAIC03OSwxOSArNzksMTkgQEAgRmFpbGluZ1Rlc3Rz
QnVnRm9ybS5wcm90b3R5cGUgPSB7CiAgICAgICAgIHZhciB0aXRsZVN1ZmZpeCA9ICcgZmFpbGlu
ZyBvbiAnICsgdGhpcy5fdGVzdGVyLm5hbWU7CiAgICAgICAgIHZhciB0aXRsZSA9IHRpdGxlUHJl
Zml4ICsgdGhpcy5fZmFpbGluZ1Rlc3RzLmpvaW4oJywgJykgKyB0aXRsZVN1ZmZpeDsKIAotICAg
ICAgICBpZiAodGl0bGUubGVuZ3RoIDw9IEJ1Z3ppbGxhLm1heGltdW1CdWdUaXRsZUxlbmd0aCkK
KyAgICAgICAgaWYgKHRpdGxlLmxlbmd0aCA8PSBidWd6aWxsYS5rTWF4aW11bUJ1Z1RpdGxlTGVu
Z3RoKQogICAgICAgICAgICAgcmV0dXJuIHRpdGxlOwogCiAgICAgICAgIHZhciBwYXRoUHJlZml4
ID0gbG9uZ2VzdENvbW1vblBhdGhQcmVmaXgodGhpcy5fZmFpbGluZ1Rlc3RzKTsKICAgICAgICAg
aWYgKHBhdGhQcmVmaXgpIHsKICAgICAgICAgICAgIHRpdGxlID0gdGl0bGVQcmVmaXggKyB0aGlz
Ll9mYWlsaW5nVGVzdHMubGVuZ3RoICsgJyAnICsgcGF0aFByZWZpeCArICcgdGVzdHMnICsgdGl0
bGVTdWZmaXg7Ci0gICAgICAgICAgICBpZiAodGl0bGUubGVuZ3RoIDw9IEJ1Z3ppbGxhLm1heGlt
dW1CdWdUaXRsZUxlbmd0aCkKKyAgICAgICAgICAgIGlmICh0aXRsZS5sZW5ndGggPD0gYnVnemls
bGEua01heGltdW1CdWdUaXRsZUxlbmd0aCkKICAgICAgICAgICAgICAgICByZXR1cm4gdGl0bGU7
CiAgICAgICAgIH0KIAogICAgICAgICB0aXRsZSA9IHRpdGxlUHJlZml4ICsgdGhpcy5fZmFpbGlu
Z1Rlc3RzLmxlbmd0aCArICcgdGVzdHMnICsgdGl0bGVTdWZmaXg7CiAKLSAgICAgICAgY29uc29s
ZS5hc3NlcnQodGl0bGUubGVuZ3RoIDw9IEJ1Z3ppbGxhLm1heGltdW1CdWdUaXRsZUxlbmd0aCk7
CisgICAgICAgIGNvbnNvbGUuYXNzZXJ0KHRpdGxlLmxlbmd0aCA8PSBidWd6aWxsYS5rTWF4aW11
bUJ1Z1RpdGxlTGVuZ3RoKTsKICAgICAgICAgcmV0dXJuIHRpdGxlOwogICAgIH0sCiAKZGlmZiAt
LWdpdCBhL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3B1
YmxpY19odG1sL1Rlc3RGYWlsdXJlcy9GYWlsaW5nVGVzdHNCdWdGb3JtX3VuaXR0ZXN0cy5qcyBi
L1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3B1YmxpY19o
dG1sL1Rlc3RGYWlsdXJlcy9GYWlsaW5nVGVzdHNCdWdGb3JtX3VuaXR0ZXN0cy5qcwppbmRleCA5
NTgwNzgxNjFhZWQwYTkwY2E1MTA2MmNhNWI0MWEyNjRmYzAwYWRjLi40MjgwNzIyMjA5ZTY3Y2Rk
OThlYzFiN2RmMjVjZGUwOWM4ZmMyN2U0IDEwMDY0NAotLS0gYS9Ub29scy9CdWlsZFNsYXZlU3Vw
cG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJsaWNfaHRtbC9UZXN0RmFpbHVyZXMvRmFp
bGluZ1Rlc3RzQnVnRm9ybV91bml0dGVzdHMuanMKKysrIGIvVG9vbHMvQnVpbGRTbGF2ZVN1cHBv
cnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvcHVibGljX2h0bWwvVGVzdEZhaWx1cmVzL0ZhaWxp
bmdUZXN0c0J1Z0Zvcm1fdW5pdHRlc3RzLmpzCkBAIC0yOCw5ICsyOCw2IEBACiBtb2R1bGUoJ0Zh
aWxpbmdUZXN0c0J1Z0Zvcm0nKTsKIAogZnVuY3Rpb24gY3JlYXRlVGVzdEZvcm0odGVzdGVyTmFt
ZSwgZmFpbGluZ0J1aWxkTmFtZSwgcGFzc2luZ0J1aWxkTmFtZSwgZmFpbGluZ1Rlc3RzKSB7Ci0g
ICAgdmFyIG1vY2tCdWd6aWxsYSA9IHt9OwotICAgIG1vY2tCdWd6aWxsYS5iYXNlVVJMID0gJ1tC
VUdaSUxMQSBCQVNFIFVSTF0nOwotCiAgICAgdmFyIG1vY2tCdWlsZGJvdCA9IHt9OwogICAgIG1v
Y2tCdWlsZGJvdC5wYXJzZUJ1aWxkTmFtZSA9IGZ1bmN0aW9uKGJ1aWxkTmFtZSkgewogICAgICAg
ICB2YXIgbWF0Y2ggPSAvKFxkKykvLmV4ZWMoYnVpbGROYW1lKTsKQEAgLTQ3LDcgKzQ0LDcgQEAg
ZnVuY3Rpb24gY3JlYXRlVGVzdEZvcm0odGVzdGVyTmFtZSwgZmFpbGluZ0J1aWxkTmFtZSwgcGFz
c2luZ0J1aWxkTmFtZSwgZmFpbGluZ1QKICAgICAgICAgcmV0dXJuICdbUkVTVUxUUyBQQUdFIFVS
TCAnICsgdGhpcy5uYW1lICsgJywgJyArIGJ1aWxkTmFtZSArICddJzsKICAgICB9CiAKLSAgICBy
ZXR1cm4gbmV3IEZhaWxpbmdUZXN0c0J1Z0Zvcm0obW9ja0J1Z3ppbGxhLCBtb2NrQnVpbGRlciwg
ZmFpbGluZ0J1aWxkTmFtZSwgcGFzc2luZ0J1aWxkTmFtZSwgZmFpbGluZ1Rlc3RzKTsKKyAgICBy
ZXR1cm4gbmV3IEZhaWxpbmdUZXN0c0J1Z0Zvcm0obW9ja0J1aWxkZXIsIGZhaWxpbmdCdWlsZE5h
bWUsIHBhc3NpbmdCdWlsZE5hbWUsIGZhaWxpbmdUZXN0cyk7CiB9CiAKIHRlc3QoJ2tleXdvcmRz
IGFyZSBzZXQnLCAxLCBmdW5jdGlvbigpIHsKZGlmZiAtLWdpdCBhL1Rvb2xzL0J1aWxkU2xhdmVT
dXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL1Rlc3RGYWlsdXJlcy9G
bGFreVRlc3RCdWdGb3JtLmpzIGIvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0
Lm9yZy1jb25maWcvcHVibGljX2h0bWwvVGVzdEZhaWx1cmVzL0ZsYWt5VGVzdEJ1Z0Zvcm0uanMK
aW5kZXggZDcwYmJkMDViZmY2ZGUwNGM1NDRhZjAzMDllNmM5N2M5Y2FlODkwMi4uNTMwZTkxOGRm
MDNmM2FjMjlkMzZlMmVkMzAxNWRiN2I5MDMzNTk1ZCAxMDA2NDQKLS0tIGEvVG9vbHMvQnVpbGRT
bGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvcHVibGljX2h0bWwvVGVzdEZhaWx1
cmVzL0ZsYWt5VGVzdEJ1Z0Zvcm0uanMKKysrIGIvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVp
bGQud2Via2l0Lm9yZy1jb25maWcvcHVibGljX2h0bWwvVGVzdEZhaWx1cmVzL0ZsYWt5VGVzdEJ1
Z0Zvcm0uanMKQEAgLTIzLDggKzIzLDggQEAKICAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KICAqLwogCi1mdW5jdGlvbiBGbGFreVRlc3RCdWdGb3JtKGJ1Z3ppbGxhLCB0ZXN0ZXIs
IGZhaWxpbmdCdWlsZE5hbWVzLCBmYWlsaW5nVGVzdCwgb2xkZXN0QW5hbHl6ZWRCdWlsZCwgbmV3
ZXN0QW5hbHl6ZWRCdWlsZCwgYW5hbHl6ZWRCdWlsZENvdW50KSB7Ci0gICAgVGVzdFJlbGF0ZWRC
dWdGb3JtLmNhbGwodGhpcywgYnVnemlsbGEsIHRlc3Rlcik7CitmdW5jdGlvbiBGbGFreVRlc3RC
dWdGb3JtKHRlc3RlciwgZmFpbGluZ0J1aWxkTmFtZXMsIGZhaWxpbmdUZXN0LCBvbGRlc3RBbmFs
eXplZEJ1aWxkLCBuZXdlc3RBbmFseXplZEJ1aWxkLCBhbmFseXplZEJ1aWxkQ291bnQpIHsKKyAg
ICBUZXN0UmVsYXRlZEJ1Z0Zvcm0uY2FsbCh0aGlzLCB0ZXN0ZXIpOwogCiAgICAgdGhpcy5fZmFp
bGluZ0J1aWxkTmFtZXMgPSBmYWlsaW5nQnVpbGROYW1lczsKICAgICB0aGlzLl9mYWlsaW5nVGVz
dCA9IGZhaWxpbmdUZXN0OwpkaWZmIC0tZ2l0IGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVp
bGQud2Via2l0Lm9yZy1jb25maWcvcHVibGljX2h0bWwvVGVzdEZhaWx1cmVzL0ZsYWt5VGVzdEJ1
Z0Zvcm1fdW5pdHRlc3RzLmpzIGIvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0
Lm9yZy1jb25maWcvcHVibGljX2h0bWwvVGVzdEZhaWx1cmVzL0ZsYWt5VGVzdEJ1Z0Zvcm1fdW5p
dHRlc3RzLmpzCmluZGV4IDM4NGFkY2ZiYTk3ODVmY2U4OWM4ZTFiMjZiODI3OGFhMmJiNzJhMTMu
LjYwZTdhZjBiZDQ5MWE1ZTA3YzQzY2U4ZGI0YzMyZDBmNzVmZDM0MDYgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1s
L1Rlc3RGYWlsdXJlcy9GbGFreVRlc3RCdWdGb3JtX3VuaXR0ZXN0cy5qcworKysgYi9Ub29scy9C
dWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJsaWNfaHRtbC9UZXN0
RmFpbHVyZXMvRmxha3lUZXN0QnVnRm9ybV91bml0dGVzdHMuanMKQEAgLTI4LDkgKzI4LDYgQEAK
IG1vZHVsZSgnRmxha3lUZXN0QnVnRm9ybScpOwogCiBmdW5jdGlvbiBjcmVhdGVUZXN0Rm9ybShm
YWlsaW5nQnVpbGROYW1lcywgZmFpbGluZ1Rlc3QsIG9sZGVzdEFuYWx5emVkQnVpbGQsIG5ld2Vz
dEFuYWx5emVkQnVpbGQsIGFuYWx5emVkQnVpbGRDb3VudCkgewotICAgIHZhciBtb2NrQnVnemls
bGEgPSB7fTsKLSAgICBtb2NrQnVnemlsbGEuYmFzZVVSTCA9ICdbQlVHWklMTEEgQkFTRSBVUkxd
JzsKLQogICAgIHZhciBtb2NrQnVpbGRib3QgPSB7fTsKICAgICBtb2NrQnVpbGRib3QucGFyc2VC
dWlsZE5hbWUgPSBmdW5jdGlvbihidWlsZE5hbWUpIHsKICAgICAgICAgdmFyIG1hdGNoID0gLyhc
ZCspLy5leGVjKGJ1aWxkTmFtZSk7CkBAIC00Nyw3ICs0NCw3IEBAIGZ1bmN0aW9uIGNyZWF0ZVRl
c3RGb3JtKGZhaWxpbmdCdWlsZE5hbWVzLCBmYWlsaW5nVGVzdCwgb2xkZXN0QW5hbHl6ZWRCdWls
ZCwgbmV3CiAgICAgICAgIHJldHVybiAnW1JFU1VMVFMgUEFHRSBVUkwgJyArIHRoaXMubmFtZSAr
ICcsICcgKyBidWlsZE5hbWUgKyAnXSc7CiAgICAgfQogCi0gICAgcmV0dXJuIG5ldyBGbGFreVRl
c3RCdWdGb3JtKG1vY2tCdWd6aWxsYSwgbW9ja0J1aWxkZXIsIGZhaWxpbmdCdWlsZE5hbWVzLCBm
YWlsaW5nVGVzdCwgb2xkZXN0QW5hbHl6ZWRCdWlsZCwgbmV3ZXN0QW5hbHl6ZWRCdWlsZCwgYW5h
bHl6ZWRCdWlsZENvdW50KTsKKyAgICByZXR1cm4gbmV3IEZsYWt5VGVzdEJ1Z0Zvcm0obW9ja0J1
aWxkZXIsIGZhaWxpbmdCdWlsZE5hbWVzLCBmYWlsaW5nVGVzdCwgb2xkZXN0QW5hbHl6ZWRCdWls
ZCwgbmV3ZXN0QW5hbHl6ZWRCdWlsZCwgYW5hbHl6ZWRCdWlsZENvdW50KTsKIH0KIAogY29uc3Qg
dGVzdENhc2VzID0gWwpkaWZmIC0tZ2l0IGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQu
d2Via2l0Lm9yZy1jb25maWcvcHVibGljX2h0bWwvVGVzdEZhaWx1cmVzL05ld0J1Z0Zvcm0uanMg
Yi9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJsaWNf
aHRtbC9UZXN0RmFpbHVyZXMvTmV3QnVnRm9ybS5qcwppbmRleCA4ODlhOWM0NjUzZjBhMjQyM2Mw
NTJhNjYzZDYwNWM1MGI0YTcyODk2Li45NGNjYTg0NmI1MTAxM2FhYmNhMjNjZWNiMmVhNWEzNzMx
MTJiMTU5IDEwMDY0NAotLS0gYS9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQu
b3JnLWNvbmZpZy9wdWJsaWNfaHRtbC9UZXN0RmFpbHVyZXMvTmV3QnVnRm9ybS5qcworKysgYi9U
b29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJsaWNfaHRt
bC9UZXN0RmFpbHVyZXMvTmV3QnVnRm9ybS5qcwpAQCAtMjMsOCArMjMsNyBAQAogICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLWZ1bmN0aW9uIE5ld0J1Z0Zvcm0oYnVn
emlsbGEpIHsKLSAgICB0aGlzLl9idWd6aWxsYSA9IGJ1Z3ppbGxhOworZnVuY3Rpb24gTmV3QnVn
Rm9ybSgpIHsKIH0KIAogTmV3QnVnRm9ybS5wcm90b3R5cGUgPSB7CkBAIC01Miw3ICs1MSw3IEBA
IE5ld0J1Z0Zvcm0ucHJvdG90eXBlID0gewogCiAgICAgICAgIHZhciBmb3JtID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgnZm9ybScpOwogICAgICAgICBmb3JtLm1ldGhvZCA9ICdQT1NUJzsKLSAg
ICAgICAgZm9ybS5hY3Rpb24gPSB0aGlzLl9idWd6aWxsYS5iYXNlVVJMICsgJ2VudGVyX2J1Zy5j
Z2knOworICAgICAgICBmb3JtLmFjdGlvbiA9IGNvbmZpZy5rQnVnemlsbGFVUkwgKyAnL2VudGVy
X2J1Zy5jZ2knOwogCiAgICAgICAgIGZvciAodmFyIGtleSBpbiBmb3JtRGF0YSkgewogICAgICAg
ICAgICAgdmFyIGlucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTsKZGlmZiAt
LWdpdCBhL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3B1
YmxpY19odG1sL1Rlc3RGYWlsdXJlcy9OZXdCdWdGb3JtX3VuaXR0ZXN0cy5qcyBiL1Rvb2xzL0J1
aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL1Rlc3RG
YWlsdXJlcy9OZXdCdWdGb3JtX3VuaXR0ZXN0cy5qcwppbmRleCBkMmFiNWRhYzc5OTRkMDcwYmI4
MzBmODZhOWVjOWNiZjg5YmQ5OWVjLi4zZGQwYmY0MTMzZTU4NjkzM2FmNGRlZDdlNGY0MTM1Nzc1
Njg4ZWQ2IDEwMDY0NAotLS0gYS9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQu
b3JnLWNvbmZpZy9wdWJsaWNfaHRtbC9UZXN0RmFpbHVyZXMvTmV3QnVnRm9ybV91bml0dGVzdHMu
anMKKysrIGIvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcv
cHVibGljX2h0bWwvVGVzdEZhaWx1cmVzL05ld0J1Z0Zvcm1fdW5pdHRlc3RzLmpzCkBAIC00MCwx
MCArNDAsNyBAQCBjb25zdCB0ZXN0Rm9ybURhdGEgPSB7CiB9OwogCiBmdW5jdGlvbiBjcmVhdGVU
ZXN0Rm9ybSgpIHsKLSAgICB2YXIgbW9ja0J1Z3ppbGxhID0ge307Ci0gICAgbW9ja0J1Z3ppbGxh
LmJhc2VVUkwgPSAnaHR0cDovL2J1Z3MuZXhhbXBsZS5jb20vJzsKLQotICAgIHZhciBmb3JtID0g
bmV3IE5ld0J1Z0Zvcm0obW9ja0J1Z3ppbGxhKTsKKyAgICB2YXIgZm9ybSA9IG5ldyBOZXdCdWdG
b3JtKCk7CiAgICAgZm9yICh2YXIga2V5IGluIHRlc3RGb3JtRGF0YSkgewogICAgICAgICBmb3Jt
W2tleV0gPSB0ZXN0Rm9ybURhdGFba2V5XS52YWx1ZTsKICAgICB9CkBAIC02Miw3ICs1OSw3IEBA
IHRlc3QoJ2RvbUVsZW1lbnQoKSBwb3N0cyB0byBlbnRlcl9idWcuY2dpJywgMywgZnVuY3Rpb24o
KSB7CiAgICAgdmFyIGZvcm1FbGVtZW50ID0gY3JlYXRlVGVzdEZvcm0oKS5kb21FbGVtZW50KCk7
CiAgICAgZXF1YWwoZm9ybUVsZW1lbnQudGFnTmFtZSwgJ0ZPUk0nKTsKICAgICBlcXVhbChmb3Jt
RWxlbWVudC5tZXRob2QsICdQT1NUJyk7Ci0gICAgZXF1YWwoZm9ybUVsZW1lbnQuYWN0aW9uLCAn
aHR0cDovL2J1Z3MuZXhhbXBsZS5jb20vZW50ZXJfYnVnLmNnaScpOworICAgIGVxdWFsKGZvcm1F
bGVtZW50LmFjdGlvbiwgJ2h0dHBzOi8vYnVncy53ZWJraXQub3JnL2VudGVyX2J1Zy5jZ2knKTsK
IH0pOwogCiB0ZXN0KCdkb21FbGVtZW50KCkgY29udGFpbnMgb25seSBoaWRkZW4gaW5wdXQgZWxl
bWVudHMnLCA5LCBmdW5jdGlvbigpIHsKZGlmZiAtLWdpdCBhL1Rvb2xzL0J1aWxkU2xhdmVTdXBw
b3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL1Rlc3RGYWlsdXJlcy9UZXN0
UmVsYXRlZEJ1Z0Zvcm0uanMgYi9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQu
b3JnLWNvbmZpZy9wdWJsaWNfaHRtbC9UZXN0RmFpbHVyZXMvVGVzdFJlbGF0ZWRCdWdGb3JtLmpz
CmluZGV4IDFlNWJmZTlkMTkyNmUzODAxNzNmOTkxN2IwMDRkODEyYmRkODFjZDMuLjk2ZjBlZTkw
MTMwN2NmZWIyMDRjMWFlM2VhN2JiODE1YmFlNTNhNGYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0J1aWxk
U2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL1Rlc3RGYWls
dXJlcy9UZXN0UmVsYXRlZEJ1Z0Zvcm0uanMKKysrIGIvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQv
YnVpbGQud2Via2l0Lm9yZy1jb25maWcvcHVibGljX2h0bWwvVGVzdEZhaWx1cmVzL1Rlc3RSZWxh
dGVkQnVnRm9ybS5qcwpAQCAtMjMsOCArMjMsOCBAQAogICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgogICovCiAKLWZ1bmN0aW9uIFRlc3RSZWxhdGVkQnVnRm9ybShidWd6aWxsYSwg
dGVzdGVyKSB7Ci0gICAgTmV3QnVnRm9ybS5jYWxsKHRoaXMsIGJ1Z3ppbGxhKTsKK2Z1bmN0aW9u
IFRlc3RSZWxhdGVkQnVnRm9ybSh0ZXN0ZXIpIHsKKyAgICBOZXdCdWdGb3JtLmNhbGwodGhpcyk7
CiAKICAgICB0aGlzLl90ZXN0ZXIgPSB0ZXN0ZXI7CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL0J1aWxk
U2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL1Rlc3RGYWls
dXJlcy9UZXN0UmVsYXRlZEJ1Z0Zvcm1fdW5pdHRlc3RzLmpzIGIvVG9vbHMvQnVpbGRTbGF2ZVN1
cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvcHVibGljX2h0bWwvVGVzdEZhaWx1cmVzL1Rl
c3RSZWxhdGVkQnVnRm9ybV91bml0dGVzdHMuanMKaW5kZXggNDUwMTZjOTI2ZmQ1MzJiOTA5NjE0
NTZiN2FlOTcyNTQwNmUxMTgxMC4uMzExZGFiMDcxNDEzMTVlNjc4ZGZjYjU2M2I5MDU1NWQyOGQz
ZGU0MSAxMDA2NDQKLS0tIGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9y
Zy1jb25maWcvcHVibGljX2h0bWwvVGVzdEZhaWx1cmVzL1Rlc3RSZWxhdGVkQnVnRm9ybV91bml0
dGVzdHMuanMKKysrIGIvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1j
b25maWcvcHVibGljX2h0bWwvVGVzdEZhaWx1cmVzL1Rlc3RSZWxhdGVkQnVnRm9ybV91bml0dGVz
dHMuanMKQEAgLTI4LDkgKzI4LDYgQEAKIG1vZHVsZSgnVGVzdFJlbGF0ZWRCdWdGb3JtJyk7CiAK
IGZ1bmN0aW9uIGNyZWF0ZVRlc3RGb3JtKHRlc3Rlck5hbWUpIHsKLSAgICB2YXIgbW9ja0J1Z3pp
bGxhID0ge307Ci0gICAgbW9ja0J1Z3ppbGxhLmJhc2VVUkwgPSAnW0JVR1pJTExBIEJBU0UgVVJM
XSc7Ci0KICAgICB2YXIgbW9ja0J1aWxkYm90ID0ge307CiAgICAgbW9ja0J1aWxkYm90LnBhcnNl
QnVpbGROYW1lID0gZnVuY3Rpb24oYnVpbGROYW1lKSB7CiAgICAgICAgIHZhciBtYXRjaCA9IC8o
XGQrKS8uZXhlYyhidWlsZE5hbWUpOwpAQCAtNDcsNyArNDQsNyBAQCBmdW5jdGlvbiBjcmVhdGVU
ZXN0Rm9ybSh0ZXN0ZXJOYW1lKSB7CiAgICAgICAgIHJldHVybiAnW1JFU1VMVFMgUEFHRSBVUkwg
JyArIHRoaXMubmFtZSArICcsICcgKyBidWlsZE5hbWUgKyAnXSc7CiAgICAgfQogCi0gICAgcmV0
dXJuIG5ldyBUZXN0UmVsYXRlZEJ1Z0Zvcm0obW9ja0J1Z3ppbGxhLCBtb2NrQnVpbGRlcik7Cisg
ICAgcmV0dXJuIG5ldyBUZXN0UmVsYXRlZEJ1Z0Zvcm0obW9ja0J1aWxkZXIpOwogfQogCiB0ZXN0
KCdjb21wb25lbnQgYW5kIGtleXdvcmRzIGFyZSBzZXQnLCAyLCBmdW5jdGlvbigpIHsKZGlmZiAt
LWdpdCBhL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3B1
YmxpY19odG1sL1Rlc3RGYWlsdXJlcy9WaWV3Q29udHJvbGxlci5qcyBiL1Rvb2xzL0J1aWxkU2xh
dmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL1Rlc3RGYWlsdXJl
cy9WaWV3Q29udHJvbGxlci5qcwppbmRleCA2NDBmOTE5MWRhNjMwNjU0ODY1NzM5NDIxNDE0NzRi
MDU1NTQyOWY2Li5lZTcwZDE3NmExZGZmNmEwZGI3ZjcyNzE4MTBmY2I5ZjdjZDI2NmE1IDEwMDY0
NAotLS0gYS9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9w
dWJsaWNfaHRtbC9UZXN0RmFpbHVyZXMvVmlld0NvbnRyb2xsZXIuanMKKysrIGIvVG9vbHMvQnVp
bGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvcHVibGljX2h0bWwvVGVzdEZh
aWx1cmVzL1ZpZXdDb250cm9sbGVyLmpzCkBAIC0yMyw5ICsyMyw4IEBACiAgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotZnVuY3Rpb24gVmlld0NvbnRyb2xsZXIoYnVp
bGRib3QsIGJ1Z3ppbGxhKSB7CitmdW5jdGlvbiBWaWV3Q29udHJvbGxlcihidWlsZGJvdCkgewog
ICAgIHRoaXMuX2J1aWxkYm90ID0gYnVpbGRib3Q7Ci0gICAgdGhpcy5fYnVnemlsbGEgPSBidWd6
aWxsYTsKICAgICB0aGlzLl9uYXZpZ2F0aW9uSUQgPSAwOwogCiAgICAgdmFyIHNlbGYgPSB0aGlz
OwpAQCAtMTAzLDcgKzEwMiw3IEBAIFZpZXdDb250cm9sbGVyLnByb3RvdHlwZSA9IHsKICAgICAg
ICAgICAgICAgICBpdGVtLmFwcGVuZENoaWxkKHNlbGYuX2RvbUZvclJlZ3Jlc3Npb25SYW5nZShi
dWlsZGVyLCBidWlsZE5hbWUsIHBhc3NpbmdCdWlsZE5hbWUsIGZhaWxpbmdUZXN0TmFtZXMpKTsK
IAogICAgICAgICAgICAgICAgIGlmIChwYXNzaW5nQnVpbGROYW1lIHx8ICFzdGlsbEZldGNoaW5n
RGF0YSkgewotICAgICAgICAgICAgICAgICAgICB2YXIgYnVnRm9ybSA9IG5ldyBGYWlsaW5nVGVz
dHNCdWdGb3JtKHNlbGYuX2J1Z3ppbGxhLCBidWlsZGVyLCBidWlsZE5hbWUsIHBhc3NpbmdCdWls
ZE5hbWUsIGZhaWxpbmdUZXN0TmFtZXMpOworICAgICAgICAgICAgICAgICAgICB2YXIgYnVnRm9y
bSA9IG5ldyBGYWlsaW5nVGVzdHNCdWdGb3JtKGJ1aWxkZXIsIGJ1aWxkTmFtZSwgcGFzc2luZ0J1
aWxkTmFtZSwgZmFpbGluZ1Rlc3ROYW1lcyk7CiAgICAgICAgICAgICAgICAgICAgIGl0ZW0uYXBw
ZW5kQ2hpbGQoc2VsZi5fZG9tRm9yTmV3QW5kRXhpc3RpbmdCdWdzKGJ1aWxkZXIsIGZhaWxpbmdU
ZXN0TmFtZXMsIGJ1Z0Zvcm0pKQogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0pOwpA
QCAtMjQ0LDkgKzI0Myw2IEBAIFZpZXdDb250cm9sbGVyLnByb3RvdHlwZSA9IHsKICAgICB9LAog
CiAgICAgX2RvbUZvckF1eGlsaWFyeVVJRWxlbWVudHM6IGZ1bmN0aW9uKCkgewotICAgICAgICBp
ZiAoIXRoaXMuX2J1Z3ppbGxhKQotICAgICAgICAgICAgcmV0dXJuIGRvY3VtZW50LmNyZWF0ZURv
Y3VtZW50RnJhZ21lbnQoKTsKLQogICAgICAgICB2YXIgYXNpZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCdhc2lkZScpOwogICAgICAgICBhc2lkZS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVh
dGVUZXh0Tm9kZSgnU29tZXRoaW5nIG5vdCB3b3JraW5nPyBIYXZlIGFuIGlkZWEgdG8gaW1wcm92
ZSB0aGlzIHBhZ2U/ICcpKTsKICAgICAgICAgdmFyIGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCdhJyk7CkBAIC0yNjEsNyArMjU3LDcgQEAgVmlld0NvbnRyb2xsZXIucHJvdG90eXBlID0g
ewogICAgICAgICAgICAgY2M6ICdhcm9iZW5AYXBwbGUuY29tJywKICAgICAgICAgICAgIHNob3J0
X2Rlc2M6ICdUZXN0RmFpbHVyZXMgcGFnZSBuZWVkcyBtb3JlIHVuaWNvcm5zIScsCiAgICAgICAg
IH07Ci0gICAgICAgIGxpbmsuaHJlZiA9IGFkZFF1ZXJ5UGFyYW1ldGVyc1RvVVJMKHRoaXMuX2J1
Z3ppbGxhLmJhc2VVUkwgKyAnZW50ZXJfYnVnLmNnaScsIHF1ZXJ5UGFyYW1ldGVycyk7CisgICAg
ICAgIGxpbmsuaHJlZiA9IGFkZFF1ZXJ5UGFyYW1ldGVyc1RvVVJMKGNvbmZpZy5rQnVnemlsbGFV
UkwgKyAnZW50ZXJfYnVnLmNnaScsIHF1ZXJ5UGFyYW1ldGVycyk7CiAgICAgICAgIGxpbmsudGFy
Z2V0ID0gJ19ibGFuayc7CiAKICAgICAgICAgcmV0dXJuIGFzaWRlOwpAQCAtMzI3LDkgKzMyMyw2
IEBAIFZpZXdDb250cm9sbGVyLnByb3RvdHlwZSA9IHsKICAgICBfZG9tRm9yTmV3QW5kRXhpc3Rp
bmdCdWdzOiBmdW5jdGlvbih0ZXN0ZXIsIGZhaWxpbmdUZXN0cywgYnVnRm9ybSkgewogICAgICAg
ICB2YXIgcmVzdWx0ID0gZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpOwogCi0gICAg
ICAgIGlmICghdGhpcy5fYnVnemlsbGEpCi0gICAgICAgICAgICByZXR1cm4gcmVzdWx0OwotCiAg
ICAgICAgIHZhciBjb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdwJyk7CiAgICAg
ICAgIHJlc3VsdC5hcHBlbmRDaGlsZChjb250YWluZXIpOwogCkBAIC0zNDAsNyArMzMzLDcgQEAg
Vmlld0NvbnRyb2xsZXIucHJvdG90eXBlID0gewogCiAgICAgICAgIGJ1Z3NDb250YWluZXIuYXBw
ZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoJ1NlYXJjaGluZyBmb3IgYnVncyByZWxh
dGVkIHRvICcgKyAoZmFpbGluZ1Rlc3RzLmxlbmd0aCA+IDEgPyAndGhlc2UgdGVzdHMnIDogJ3Ro
aXMgdGVzdCcpICsgJ1x1MjAyNicpKTsKIAotICAgICAgICB0aGlzLl9idWd6aWxsYS5xdWlja1Nl
YXJjaCgnQUxMICcgKyBmYWlsaW5nVGVzdHMuam9pbignfCcpLCBmdW5jdGlvbihidWdzKSB7Cisg
ICAgICAgIGJ1Z3ppbGxhLnF1aWNrU2VhcmNoKCdBTEwgJyArIGZhaWxpbmdUZXN0cy5qb2luKCd8
JyksIGZ1bmN0aW9uKGJ1Z3MpIHsKICAgICAgICAgICAgIGlmICghYnVncy5sZW5ndGgpIHsKICAg
ICAgICAgICAgICAgICBidWdzQ29udGFpbmVyLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoYnVnc0Nv
bnRhaW5lcik7CiAgICAgICAgICAgICAgICAgcmV0dXJuOwpAQCAtMzY3LDggKzM2MCw4IEBAIFZp
ZXdDb250cm9sbGVyLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgICAgICByZXR1cm4gaXRlbTsK
ICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgdmFyIG9wZW5CdWdzID0gYnVncy5maWx0ZXIo
ZnVuY3Rpb24oYnVnKSB7IHJldHVybiBCdWd6aWxsYS5pc09wZW5TdGF0dXMoYnVnLnN0YXR1cykg
fSk7Ci0gICAgICAgICAgICB2YXIgY2xvc2VkQnVncyA9IGJ1Z3MuZmlsdGVyKGZ1bmN0aW9uKGJ1
ZykgeyByZXR1cm4gIUJ1Z3ppbGxhLmlzT3BlblN0YXR1cyhidWcuc3RhdHVzKSB9KTsKKyAgICAg
ICAgICAgIHZhciBvcGVuQnVncyA9IGJ1Z3MuZmlsdGVyKGZ1bmN0aW9uKGJ1ZykgeyByZXR1cm4g
YnVnemlsbGEuaXNPcGVuU3RhdHVzKGJ1Zy5zdGF0dXMpIH0pOworICAgICAgICAgICAgdmFyIGNs
b3NlZEJ1Z3MgPSBidWdzLmZpbHRlcihmdW5jdGlvbihidWcpIHsgcmV0dXJuICFidWd6aWxsYS5p
c09wZW5TdGF0dXMoYnVnLnN0YXR1cykgfSk7CiAKICAgICAgICAgICAgIGxpc3QuYXBwZW5kQ2hp
bGRyZW4ob3BlbkJ1Z3MubWFwKGJ1Z1RvTGlzdEl0ZW0pKTsKIApAQCAtNDU0LDcgKzQ0Nyw3IEBA
IFZpZXdDb250cm9sbGVyLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgICAgICAgICAgfSkpOwog
CiAgICAgICAgICAgICAgICAgICAgIHZhciBmYWlsaW5nQnVpbGROYW1lcyA9IGZhaWx1cmVzLm1h
cChmdW5jdGlvbihoaXN0b3J5SXRlbSkgeyByZXR1cm4gaGlzdG9yeUl0ZW0uYnVpbGQgfSk7Ci0g
ICAgICAgICAgICAgICAgICAgIHZhciBidWdGb3JtID0gbmV3IEZsYWt5VGVzdEJ1Z0Zvcm0oc2Vs
Zi5fYnVnemlsbGEsIGJ1aWxkZXIsIGZhaWxpbmdCdWlsZE5hbWVzLCB0ZXN0TmFtZSwgYWxsQnVp
bGRzLmxhc3QoKSwgYWxsQnVpbGRzWzBdLCBhbGxCdWlsZHMubGVuZ3RoKTsKKyAgICAgICAgICAg
ICAgICAgICAgdmFyIGJ1Z0Zvcm0gPSBuZXcgRmxha3lUZXN0QnVnRm9ybShidWlsZGVyLCBmYWls
aW5nQnVpbGROYW1lcywgdGVzdE5hbWUsIGFsbEJ1aWxkcy5sYXN0KCksIGFsbEJ1aWxkc1swXSwg
YWxsQnVpbGRzLmxlbmd0aCk7CiAgICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lci5hcHBlbmRD
aGlsZChzZWxmLl9kb21Gb3JOZXdBbmRFeGlzdGluZ0J1Z3MoYnVpbGRlciwgW3Rlc3ROYW1lXSwg
YnVnRm9ybSkpOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0pOwpkaWZmIC0tZ2l0
IGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvcHVibGlj
X2h0bWwvVGVzdEZhaWx1cmVzL2NvbmZpZy5qcyBiL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1
aWxkLndlYmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL1Rlc3RGYWlsdXJlcy9jb25maWcuanMK
aW5kZXggNzI3MjA1OWQ5OWNkYzFkYzg2N2FjM2Q4Yjc2ZjUzOGViOGQ1MTRmNC4uODM1MmJlZDgx
ODI4ZjM1NTljNDEzYzEwM2ZlZTdlNGU3M2QyYmRkYSAxMDA2NDQKLS0tIGEvVG9vbHMvQnVpbGRT
bGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvcHVibGljX2h0bWwvVGVzdEZhaWx1
cmVzL2NvbmZpZy5qcworKysgYi9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQu
b3JnLWNvbmZpZy9wdWJsaWNfaHRtbC9UZXN0RmFpbHVyZXMvY29uZmlnLmpzCkBAIC0zMCw2ICsz
MCw3IEBAIGNvbmZpZy5rQnVpbGRlcnNUaGF0T25seUNvbXBpbGUgPSBbCiBdOwogCiBjb25maWcu
a1RyYWNVUkwgPSAnaHR0cDovL3RyYWMud2Via2l0Lm9yZyc7Citjb25maWcua0J1Z3ppbGxhVVJM
ID0gJ2h0dHBzOi8vYnVncy53ZWJraXQub3JnJzsKIAogY29uZmlnLmtSZXZpc2lvbkF0dHIgPSAn
ZGF0YS1yZXZpc2lvbic7CiBjb25maWcua1Rlc3ROYW1lQXR0ciA9ICdkYXRhLXRlc3QtbmFtZSc7
CmRpZmYgLS1naXQgYS9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNv
bmZpZy9wdWJsaWNfaHRtbC9UZXN0RmFpbHVyZXMvZ2FyZGVuLW8tbWF0aWMuaHRtbCBiL1Rvb2xz
L0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL1Rl
c3RGYWlsdXJlcy9nYXJkZW4tby1tYXRpYy5odG1sCmluZGV4IDEyNjE4NGIxYzZjNGZiNGRkNzI4
YjhkYjhmNTJlZjY5N2I2NTgxMTcuLmQxNzdkNmJjNjQwNWRjNTkzYzQ0ZTU4NDYxNWZkMGE1Yjlh
ZjhlYTMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5v
cmctY29uZmlnL3B1YmxpY19odG1sL1Rlc3RGYWlsdXJlcy9nYXJkZW4tby1tYXRpYy5odG1sCisr
KyBiL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3B1Ymxp
Y19odG1sL1Rlc3RGYWlsdXJlcy9nYXJkZW4tby1tYXRpYy5odG1sCkBAIC0zMiw2ICszMiw3IEBA
CiA8c2NyaXB0IHNyYz0iY29uZmlnLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSJiYXNlLmpz
Ij48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSJUcmFjLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSJCdWd6aWxsYS5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iYnVpbGRlcnMuanMiPjwvc2Ny
aXB0PgogPHNjcmlwdCBzcmM9ImNoZWNrb3V0LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSJy
ZXN1bHRzLmpzIj48L3NjcmlwdD4KZGlmZiAtLWdpdCBhL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0
L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL1Rlc3RGYWlsdXJlcy9pbmRleC5o
dG1sIGIvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvcHVi
bGljX2h0bWwvVGVzdEZhaWx1cmVzL2luZGV4Lmh0bWwKaW5kZXggYmJiODhkZjZlOGNiZjc3NGEy
Y2IwNmU1OWM3M2IzNjVkNTJiNDk2Zi4uMjQwYjVlMDIxNTFmZDY3Y2Q5Y2E3YjZkMjQ5YThmNjc2
ZmE3ZmRhMiAxMDA2NDQKLS0tIGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0
Lm9yZy1jb25maWcvcHVibGljX2h0bWwvVGVzdEZhaWx1cmVzL2luZGV4Lmh0bWwKKysrIGIvVG9v
bHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvcHVibGljX2h0bWwv
VGVzdEZhaWx1cmVzL2luZGV4Lmh0bWwKQEAgLTUyLDcgKzUyLDcgQEAgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgogICAgIDxzY3JpcHQgc3JjPSJXZWJLaXRCdWd6aWxsYS5qcyI+PC9z
Y3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IldlYktpdEJ1aWxkYm90LmpzIj48L3NjcmlwdD4KICAg
ICA8c2NyaXB0PgotICAgICAgICB2YXIgdmlld0NvbnRyb2xsZXIgPSBuZXcgVmlld0NvbnRyb2xs
ZXIobmV3IFdlYktpdEJ1aWxkYm90KCksIG5ldyBCdWd6aWxsYSgnaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvJykpOworICAgICAgICB2YXIgdmlld0NvbnRyb2xsZXIgPSBuZXcgVmlld0NvbnRyb2xs
ZXIobmV3IFdlYktpdEJ1aWxkYm90KCkpOwogICAgIDwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHk+
CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZTEz
YjUzYzUwNWUzNDdmODBlYzU1MmRjMTQ1YWRmN2QyOGQ2ZjQ1Yi4uMDNjYWNkMDkxOTliYzMwZDI4
OTIzYWFkOGQzOGVhYzUxOTQ3YjRlMSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBi
L1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ4IEBACisyMDExLTA4LTAxICBBZGFtIEJhcnRo
ICA8YWJhcnRoQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmVmYWN0b3IgYnVnemlsbGEuanMgZm9y
IHVzZSBieSBnYXJkZW4tby1tYXRpYworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NjU0NTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBUaGlzIHBhdGNoIHJlZmFjdG9ycyBidWd6aWxsYS5qcyB0byB1c2UgdGhl
IEFzeW5jaHJvbm91c0NhY2hlIGFuZAorICAgICAgICB1cGRhdGVzIHRoZSBzdHlsZSB0byB1c2Ug
YSBtb2R1bGUgaW5zdGVhZCBvZiBhbiBvYmplY3QuICBUaGlzIHBhdGNoCisgICAgICAgIHRoZW4g
Zml4ZXMgYWxsIHRoZSBleGlzdGluZyBjb2RlIHRoYXQgdXNlcyB0aGlzIGNsYXNzIHRvIHVzZSB0
aGUgbmV3CisgICAgICAgIEFQSSBzdHlsZS4KKworICAgICAgICBUaGlzIG1haW4gYmVuZWZpdCBv
ZiB0aGlzIHBhdGNoIGlzIHdlIHJlbW92ZSB0aGUgdHJpY2t5IG1hbnVhbCBjYWNoaW5nCisgICAg
ICAgIGFuZCB0aGlzIGNvZGUgaXMgbm93IGF2YWlsYWJsZSB0byB1c2UgaW4gZ2FyZGVuLW8tbWF0
aWMgKHNpbmNlIHRoZQorICAgICAgICBkZXBlbmRlbmN5IG9uIFV0aWxpdGllcy5qcyBpcyBub3cg
Z29uZSkuCisKKyAgICAgICAgSSByYW4gYWxsIHRoZSB1bml0IHRlc3RzIGFuZCBwb2tlZCBhcm91
bmQgaW4gVGVzdEZhaWx1cmVzIGEgYml0IHRvIHNlZQorICAgICAgICB0aGF0IGV2ZXJ5dGhpbmcg
c2VlbWVkIHRvIGJlIHdvcmtpbmcgcHJvcGVybHkuCisKKyAgICAgICAgKiBCdWlsZFNsYXZlU3Vw
cG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJsaWNfaHRtbC9UZXN0RmFpbHVyZXMvQnVn
emlsbGEuanM6CisgICAgICAgICogQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1j
b25maWcvcHVibGljX2h0bWwvVGVzdEZhaWx1cmVzL0ZhaWxpbmdUZXN0c0J1Z0Zvcm0uanM6Cisg
ICAgICAgIChGYWlsaW5nVGVzdHNCdWdGb3JtKToKKyAgICAgICAgKEZhaWxpbmdUZXN0c0J1Z0Zv
cm0ucHJvdG90eXBlLl9jcmVhdGVCdWdUaXRsZSk6CisgICAgICAgICogQnVpbGRTbGF2ZVN1cHBv
cnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvcHVibGljX2h0bWwvVGVzdEZhaWx1cmVzL0ZhaWxp
bmdUZXN0c0J1Z0Zvcm1fdW5pdHRlc3RzLmpzOgorICAgICAgICAqIEJ1aWxkU2xhdmVTdXBwb3J0
L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL1Rlc3RGYWlsdXJlcy9GbGFreVRl
c3RCdWdGb3JtLmpzOgorICAgICAgICAoRmxha3lUZXN0QnVnRm9ybSk6CisgICAgICAgICogQnVp
bGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvcHVibGljX2h0bWwvVGVzdEZh
aWx1cmVzL0ZsYWt5VGVzdEJ1Z0Zvcm1fdW5pdHRlc3RzLmpzOgorICAgICAgICAqIEJ1aWxkU2xh
dmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL1Rlc3RGYWlsdXJl
cy9OZXdCdWdGb3JtLmpzOgorICAgICAgICAoTmV3QnVnRm9ybSk6CisgICAgICAgIChOZXdCdWdG
b3JtLnByb3RvdHlwZS5kb21FbGVtZW50KToKKyAgICAgICAgKiBCdWlsZFNsYXZlU3VwcG9ydC9i
dWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJsaWNfaHRtbC9UZXN0RmFpbHVyZXMvTmV3QnVnRm9y
bV91bml0dGVzdHMuanM6CisgICAgICAgICogQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0
Lm9yZy1jb25maWcvcHVibGljX2h0bWwvVGVzdEZhaWx1cmVzL1Rlc3RSZWxhdGVkQnVnRm9ybS5q
czoKKyAgICAgICAgKFRlc3RSZWxhdGVkQnVnRm9ybSk6CisgICAgICAgICogQnVpbGRTbGF2ZVN1
cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvcHVibGljX2h0bWwvVGVzdEZhaWx1cmVzL1Rl
c3RSZWxhdGVkQnVnRm9ybV91bml0dGVzdHMuanM6CisgICAgICAgICogQnVpbGRTbGF2ZVN1cHBv
cnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvcHVibGljX2h0bWwvVGVzdEZhaWx1cmVzL1ZpZXdD
b250cm9sbGVyLmpzOgorICAgICAgICAoVmlld0NvbnRyb2xsZXIucHJvdG90eXBlLl9kaXNwbGF5
QnVpbGRlci5zdGFydCk6CisgICAgICAgIChWaWV3Q29udHJvbGxlci5wcm90b3R5cGUuX2Rpc3Bs
YXlCdWlsZGVyKToKKyAgICAgICAgKFZpZXdDb250cm9sbGVyLnByb3RvdHlwZS5fZG9tRm9yQXV4
aWxpYXJ5VUlFbGVtZW50cyk6CisgICAgICAgIChWaWV3Q29udHJvbGxlci5wcm90b3R5cGUuX2Rv
bUZvck5ld0FuZEV4aXN0aW5nQnVncy5idWd6aWxsYS5xdWlja1NlYXJjaCk6CisgICAgICAgIChW
aWV3Q29udHJvbGxlci5wcm90b3R5cGUuX2RvbUZvclBvc3NpYmx5Rmxha3lUZXN0cy5mbGFreUxp
c3QuYXBwZW5kQ2hpbGRyZW4pOgorICAgICAgICAoVmlld0NvbnRyb2xsZXIucHJvdG90eXBlLl9k
b21Gb3JQb3NzaWJseUZsYWt5VGVzdHMpOgorICAgICAgICAqIEJ1aWxkU2xhdmVTdXBwb3J0L2J1
aWxkLndlYmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL1Rlc3RGYWlsdXJlcy9jb25maWcuanM6
CisgICAgICAgICogQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvcHVi
bGljX2h0bWwvVGVzdEZhaWx1cmVzL2dhcmRlbi1vLW1hdGljLmh0bWw6CisgICAgICAgICogQnVp
bGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvcHVibGljX2h0bWwvVGVzdEZh
aWx1cmVzL2luZGV4Lmh0bWw6CisKIDIwMTEtMDctMzEgIEFkYW0gQmFydGggIDxhYmFydGhAd2Vi
a2l0Lm9yZz4KIAogICAgICAgICB3ZWJraXQtcGF0Y2ggbmVlZHMgdG8gYmUgYWJsZSB0byAib3B0
aW1pemUiIHRoZSBzdG9yYWdlIG9mIGJhc2VsaW5lcyBvbiBkaXNrCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>102487</attachid>
            <date>2011-08-01 00:29:15 -0700</date>
            <delta_ts>2011-08-01 12:25:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-65450-20110801002914.patch</filename>
            <type>text/plain</type>
            <size>23642</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTIwOTUKZGlmZiAtLWdpdCBhL1Rvb2xzL0J1aWxkU2xhdmVT
dXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL1Rlc3RGYWlsdXJlcy9C
dWd6aWxsYS5qcyBiL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29u
ZmlnL3B1YmxpY19odG1sL1Rlc3RGYWlsdXJlcy9CdWd6aWxsYS5qcwppbmRleCBlMDNhY2QwOWFk
MzdhYWZjZWJmZTc5NDQzOGU4MzQxZjE5YzI2N2NkLi42ODliM2ZjMjZlMzAyZGYyZWM1YmFmMjhl
YmU2YTZkMzczZDI1ZmNkIDEwMDY0NAotLS0gYS9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWls
ZC53ZWJraXQub3JnLWNvbmZpZy9wdWJsaWNfaHRtbC9UZXN0RmFpbHVyZXMvQnVnemlsbGEuanMK
KysrIGIvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvcHVi
bGljX2h0bWwvVGVzdEZhaWx1cmVzL0J1Z3ppbGxhLmpzCkBAIC0yMyw2OSArMjMsNTIgQEAKICAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCi1mdW5jdGlvbiBCdWd6aWxs
YShiYXNlVVJMKSB7Ci0gICAgdGhpcy5iYXNlVVJMID0gYmFzZVVSTDsKLSAgICB0aGlzLl9jYWNo
ZSA9IHt9OwotfQordmFyIGJ1Z3ppbGxhID0gYnVnemlsbGEgfHwge307CiAKLUJ1Z3ppbGxhLnBy
b3RvdHlwZSA9IHsKLSAgICBxdWlja1NlYXJjaDogZnVuY3Rpb24ocXVlcnksIGNhbGxiYWNrKSB7
Ci0gICAgICAgIHZhciBjYWNoZUtleSA9ICdxdWlja1NlYXJjaF8nICsgcXVlcnk7Ci0gICAgICAg
IGlmIChjYWNoZUtleSBpbiB0aGlzLl9jYWNoZSkgewotICAgICAgICAgICAgY2FsbGJhY2sodGhp
cy5fY2FjaGVbY2FjaGVLZXldKTsKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfQorKGZ1
bmN0aW9uKCkgewogCi0gICAgICAgIHZhciBjYWxsYmFja3NDYWNoZUtleSA9ICdxdWlja1NlYXJj
aENhbGxiYWNrc18nICsgcXVlcnk7Ci0gICAgICAgIGlmIChjYWxsYmFja3NDYWNoZUtleSBpbiB0
aGlzLl9jYWNoZSkgewotICAgICAgICAgICAgdGhpcy5fY2FjaGVbY2FsbGJhY2tzQ2FjaGVLZXld
LnB1c2goY2FsbGJhY2spOwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0KLSAgICAg
ICAgdGhpcy5fY2FjaGVbY2FsbGJhY2tzQ2FjaGVLZXldID0gW2NhbGxiYWNrXTsKLQotICAgICAg
ICB2YXIgcXVlcnlQYXJhbWV0ZXJzID0gewotICAgICAgICAgICAgY3R5cGU6ICdyc3MnLAotICAg
ICAgICAgICAgb3JkZXI6ICdidWdzLmJ1Z19pZCBkZXNjJywKLSAgICAgICAgICAgIHF1aWNrc2Vh
cmNoOiBxdWVyeSwKLSAgICAgICAgfTsKLQotICAgICAgICB2YXIgc2VsZiA9IHRoaXM7Ci0gICAg
ICAgIGZldGNoUmVzb3VyY2UodGhpcy5iYXNlVVJMICsgJ2J1Z2xpc3QuY2dpJywgJ1BPU1QnLCBx
dWVyeVBhcmFtZXRlcnMsIGZ1bmN0aW9uKHhocikgewotICAgICAgICAgICAgdmFyIGVudHJpZXMg
PSB4aHIucmVzcG9uc2VYTUwuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2VudHJ5Jyk7Ci0gICAgICAg
ICAgICB2YXIgcmVzdWx0cyA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChlbnRyaWVzLCBmdW5j
dGlvbihlbnRyeSkgewotICAgICAgICAgICAgICAgIHZhciBjb250YWluZXIgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCdkaXYnKTsKLSAgICAgICAgICAgICAgICBjb250YWluZXIuaW5uZXJIVE1M
ID0gZW50cnkuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3N1bW1hcnknKVswXS50ZXh0Q29udGVudDsK
LSAgICAgICAgICAgICAgICB2YXIgc3RhdHVzUm93ID0gY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3Io
J3RyLmJ6X2ZlZWRfYnVnX3N0YXR1cycpOwotICAgICAgICAgICAgICAgIHJldHVybiB7Ci0gICAg
ICAgICAgICAgICAgICAgIHRpdGxlOiBlbnRyeS5nZXRFbGVtZW50c0J5VGFnTmFtZSgndGl0bGUn
KVswXS50ZXh0Q29udGVudCwKLSAgICAgICAgICAgICAgICAgICAgdXJsOiBlbnRyeS5nZXRFbGVt
ZW50c0J5VGFnTmFtZSgnaWQnKVswXS50ZXh0Q29udGVudCwKLSAgICAgICAgICAgICAgICAgICAg
c3RhdHVzOiBzdGF0dXNSb3cuY2VsbHNbMV0udGV4dENvbnRlbnQsCi0gICAgICAgICAgICAgICAg
fTsKLSAgICAgICAgICAgIH0pOwotCi0gICAgICAgICAgICBzZWxmLl9jYWNoZVtjYWNoZUtleV0g
PSByZXN1bHRzOwordmFyIGtPcGVuU3RhdHVzZXMgPSB7CisgICAgVU5DT05GSVJNRUQ6IHRydWUs
CisgICAgTkVXOiB0cnVlLAorICAgIEFTU0lHTkVEOiB0cnVlLAorICAgIFJFT1BFTkVEOiB0cnVl
LAorfTsKIAotICAgICAgICAgICAgdmFyIGNhbGxiYWNrcyA9IHNlbGYuX2NhY2hlW2NhbGxiYWNr
c0NhY2hlS2V5XTsKLSAgICAgICAgICAgIGRlbGV0ZSBzZWxmLl9jYWNoZVtjYWxsYmFja3NDYWNo
ZUtleV07Cit2YXIgZ19zZWFyY2hDYWNoZSA9IG5ldyBiYXNlLkFzeW5jaHJvbm91c0NhY2hlKGZ1
bmN0aW9uKHF1ZXJ5LCBjYWxsYmFjaykgeworICAgIHZhciB1cmwgPSBjb25maWcua0J1Z3ppbGxh
VVJMICsgJy9idWdsaXN0LmNnaT8nICsgJC5wYXJhbSh7CisgICAgICAgIGN0eXBlOiAncnNzJywK
KyAgICAgICAgb3JkZXI6ICdidWdzLmJ1Z19pZCBkZXNjJywKKyAgICAgICAgcXVpY2tzZWFyY2g6
IHF1ZXJ5LAorICAgIH0pOwogCi0gICAgICAgICAgICBjYWxsYmFja3MuZm9yRWFjaChmdW5jdGlv
bihjYWxsYmFjaykgewotICAgICAgICAgICAgICAgIGNhbGxiYWNrKHJlc3VsdHMpOwotICAgICAg
ICAgICAgfSk7CisgICAgJC5nZXQodXJsLCBmdW5jdGlvbihyZXNwb25zZVhNTCkgeworICAgICAg
ICB2YXIgZW50cmllcyA9IHJlc3BvbnNlWE1MLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdlbnRyeScp
OworICAgICAgICB2YXIgcmVzdWx0cyA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChlbnRyaWVz
LCBmdW5jdGlvbihlbnRyeSkgeworICAgICAgICAgICAgdmFyIGNvbnRhaW5lciA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOworICAgICAgICAgICAgLy8gRklYTUU6IElzIHRoaXMgYW4g
WFNTIHJpc2s/CisgICAgICAgICAgICBjb250YWluZXIuaW5uZXJIVE1MID0gZW50cnkuZ2V0RWxl
bWVudHNCeVRhZ05hbWUoJ3N1bW1hcnknKVswXS50ZXh0Q29udGVudDsKKyAgICAgICAgICAgIHZh
ciBzdGF0dXNSb3cgPSBjb250YWluZXIucXVlcnlTZWxlY3RvcigndHIuYnpfZmVlZF9idWdfc3Rh
dHVzJyk7CisgICAgICAgICAgICByZXR1cm4geworICAgICAgICAgICAgICAgIHRpdGxlOiBlbnRy
eS5nZXRFbGVtZW50c0J5VGFnTmFtZSgndGl0bGUnKVswXS50ZXh0Q29udGVudCwKKyAgICAgICAg
ICAgICAgICB1cmw6IGVudHJ5LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdpZCcpWzBdLnRleHRDb250
ZW50LAorICAgICAgICAgICAgICAgIHN0YXR1czogc3RhdHVzUm93LmNlbGxzWzFdLnRleHRDb250
ZW50LAorICAgICAgICAgICAgfTsKICAgICAgICAgfSk7Ci0gICAgfSwKLX07CisgICAgICAgIGNh
bGxiYWNrKHJlc3VsdHMpOworICAgIH0pOworfSk7CiAKLUJ1Z3ppbGxhLmlzT3BlblN0YXR1cyA9
IGZ1bmN0aW9uKHN0YXR1cykgewotICAgIGNvbnN0IG9wZW5TdGF0dXNlcyA9IHsKLSAgICAgICAg
VU5DT05GSVJNRUQ6IHRydWUsCi0gICAgICAgIE5FVzogdHJ1ZSwKLSAgICAgICAgQVNTSUdORUQ6
IHRydWUsCi0gICAgICAgIFJFT1BFTkVEOiB0cnVlLAorYnVnemlsbGEucXVpY2tTZWFyY2ggPSBm
dW5jdGlvbihxdWVyeSwgY2FsbGJhY2spCit7CisgICAgZ19zZWFyY2hDYWNoZS5nZXQocXVlcnks
IGNhbGxiYWNrKTsKK307CiAKLSAgICB9OwotICAgIHJldHVybiBzdGF0dXMgaW4gb3BlblN0YXR1
c2VzOworYnVnemlsbGEuaXNPcGVuU3RhdHVzID0gZnVuY3Rpb24oc3RhdHVzKQoreworICAgIHJl
dHVybiBzdGF0dXMgaW4ga09wZW5TdGF0dXNlczsKIH07CiAKIC8vIFRoaXMgdmFsdWUgaXMgYnVp
bHQtaW4gdG8gYWxsIEJ1Z3ppbGxhIGluc3RhbGxhdGlvbnMuIFNlZSA8aHR0cDovL3dlYmtpdC5v
cmcvYi82MTY2MD4uCi1CdWd6aWxsYS5tYXhpbXVtQnVnVGl0bGVMZW5ndGggPSAyNTU7CitidWd6
aWxsYS5rTWF4aW11bUJ1Z1RpdGxlTGVuZ3RoID0gMjU1OworCit9KSgpOwpkaWZmIC0tZ2l0IGEv
VG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvcHVibGljX2h0
bWwvVGVzdEZhaWx1cmVzL0ZhaWxpbmdUZXN0c0J1Z0Zvcm0uanMgYi9Ub29scy9CdWlsZFNsYXZl
U3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJsaWNfaHRtbC9UZXN0RmFpbHVyZXMv
RmFpbGluZ1Rlc3RzQnVnRm9ybS5qcwppbmRleCA3N2RlMGVkOTBiZmM5YTg2NjY0N2ExY2I5YTI5
OTM0MDM3ZWM0YTQ2Li5lMjgzNmE5NDZlOWYzYzkxZTcwZmRiMGU3NzI3Mzc3NmU3MzkxYjBjIDEw
MDY0NAotLS0gYS9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZp
Zy9wdWJsaWNfaHRtbC9UZXN0RmFpbHVyZXMvRmFpbGluZ1Rlc3RzQnVnRm9ybS5qcworKysgYi9U
b29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJsaWNfaHRt
bC9UZXN0RmFpbHVyZXMvRmFpbGluZ1Rlc3RzQnVnRm9ybS5qcwpAQCAtMjMsOCArMjMsOCBAQAog
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLWZ1bmN0aW9uIEZhaWxp
bmdUZXN0c0J1Z0Zvcm0oYnVnemlsbGEsIHRlc3RlciwgZmFpbGluZ0J1aWxkTmFtZSwgcGFzc2lu
Z0J1aWxkTmFtZSwgZmFpbGluZ1Rlc3RzKSB7Ci0gICAgVGVzdFJlbGF0ZWRCdWdGb3JtLmNhbGwo
dGhpcywgYnVnemlsbGEsIHRlc3Rlcik7CitmdW5jdGlvbiBGYWlsaW5nVGVzdHNCdWdGb3JtKHRl
c3RlciwgZmFpbGluZ0J1aWxkTmFtZSwgcGFzc2luZ0J1aWxkTmFtZSwgZmFpbGluZ1Rlc3RzKSB7
CisgICAgVGVzdFJlbGF0ZWRCdWdGb3JtLmNhbGwodGhpcywgdGVzdGVyKTsKIAogICAgIHRoaXMu
X2ZhaWxpbmdCdWlsZE5hbWUgPSBmYWlsaW5nQnVpbGROYW1lOwogICAgIHRoaXMuX3Bhc3NpbmdC
dWlsZE5hbWUgPSBwYXNzaW5nQnVpbGROYW1lOwpAQCAtNzksMTkgKzc5LDE5IEBAIEZhaWxpbmdU
ZXN0c0J1Z0Zvcm0ucHJvdG90eXBlID0gewogICAgICAgICB2YXIgdGl0bGVTdWZmaXggPSAnIGZh
aWxpbmcgb24gJyArIHRoaXMuX3Rlc3Rlci5uYW1lOwogICAgICAgICB2YXIgdGl0bGUgPSB0aXRs
ZVByZWZpeCArIHRoaXMuX2ZhaWxpbmdUZXN0cy5qb2luKCcsICcpICsgdGl0bGVTdWZmaXg7CiAK
LSAgICAgICAgaWYgKHRpdGxlLmxlbmd0aCA8PSBCdWd6aWxsYS5tYXhpbXVtQnVnVGl0bGVMZW5n
dGgpCisgICAgICAgIGlmICh0aXRsZS5sZW5ndGggPD0gYnVnemlsbGEua01heGltdW1CdWdUaXRs
ZUxlbmd0aCkKICAgICAgICAgICAgIHJldHVybiB0aXRsZTsKIAogICAgICAgICB2YXIgcGF0aFBy
ZWZpeCA9IGxvbmdlc3RDb21tb25QYXRoUHJlZml4KHRoaXMuX2ZhaWxpbmdUZXN0cyk7CiAgICAg
ICAgIGlmIChwYXRoUHJlZml4KSB7CiAgICAgICAgICAgICB0aXRsZSA9IHRpdGxlUHJlZml4ICsg
dGhpcy5fZmFpbGluZ1Rlc3RzLmxlbmd0aCArICcgJyArIHBhdGhQcmVmaXggKyAnIHRlc3RzJyAr
IHRpdGxlU3VmZml4OwotICAgICAgICAgICAgaWYgKHRpdGxlLmxlbmd0aCA8PSBCdWd6aWxsYS5t
YXhpbXVtQnVnVGl0bGVMZW5ndGgpCisgICAgICAgICAgICBpZiAodGl0bGUubGVuZ3RoIDw9IGJ1
Z3ppbGxhLmtNYXhpbXVtQnVnVGl0bGVMZW5ndGgpCiAgICAgICAgICAgICAgICAgcmV0dXJuIHRp
dGxlOwogICAgICAgICB9CiAKICAgICAgICAgdGl0bGUgPSB0aXRsZVByZWZpeCArIHRoaXMuX2Zh
aWxpbmdUZXN0cy5sZW5ndGggKyAnIHRlc3RzJyArIHRpdGxlU3VmZml4OwogCi0gICAgICAgIGNv
bnNvbGUuYXNzZXJ0KHRpdGxlLmxlbmd0aCA8PSBCdWd6aWxsYS5tYXhpbXVtQnVnVGl0bGVMZW5n
dGgpOworICAgICAgICBjb25zb2xlLmFzc2VydCh0aXRsZS5sZW5ndGggPD0gYnVnemlsbGEua01h
eGltdW1CdWdUaXRsZUxlbmd0aCk7CiAgICAgICAgIHJldHVybiB0aXRsZTsKICAgICB9LAogCmRp
ZmYgLS1naXQgYS9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZp
Zy9wdWJsaWNfaHRtbC9UZXN0RmFpbHVyZXMvRmFpbGluZ1Rlc3RzQnVnRm9ybV91bml0dGVzdHMu
anMgYi9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJs
aWNfaHRtbC9UZXN0RmFpbHVyZXMvRmFpbGluZ1Rlc3RzQnVnRm9ybV91bml0dGVzdHMuanMKaW5k
ZXggOTU4MDc4MTYxYWVkMGE5MGNhNTEwNjJjYTViNDFhMjY0ZmMwMGFkYy4uNDI4MDcyMjIwOWU2
N2NkZDk4ZWMxYjdkZjI1Y2RlMDljOGZjMjdlNCAxMDA2NDQKLS0tIGEvVG9vbHMvQnVpbGRTbGF2
ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvcHVibGljX2h0bWwvVGVzdEZhaWx1cmVz
L0ZhaWxpbmdUZXN0c0J1Z0Zvcm1fdW5pdHRlc3RzLmpzCisrKyBiL1Rvb2xzL0J1aWxkU2xhdmVT
dXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL1Rlc3RGYWlsdXJlcy9G
YWlsaW5nVGVzdHNCdWdGb3JtX3VuaXR0ZXN0cy5qcwpAQCAtMjgsOSArMjgsNiBAQAogbW9kdWxl
KCdGYWlsaW5nVGVzdHNCdWdGb3JtJyk7CiAKIGZ1bmN0aW9uIGNyZWF0ZVRlc3RGb3JtKHRlc3Rl
ck5hbWUsIGZhaWxpbmdCdWlsZE5hbWUsIHBhc3NpbmdCdWlsZE5hbWUsIGZhaWxpbmdUZXN0cykg
ewotICAgIHZhciBtb2NrQnVnemlsbGEgPSB7fTsKLSAgICBtb2NrQnVnemlsbGEuYmFzZVVSTCA9
ICdbQlVHWklMTEEgQkFTRSBVUkxdJzsKLQogICAgIHZhciBtb2NrQnVpbGRib3QgPSB7fTsKICAg
ICBtb2NrQnVpbGRib3QucGFyc2VCdWlsZE5hbWUgPSBmdW5jdGlvbihidWlsZE5hbWUpIHsKICAg
ICAgICAgdmFyIG1hdGNoID0gLyhcZCspLy5leGVjKGJ1aWxkTmFtZSk7CkBAIC00Nyw3ICs0NCw3
IEBAIGZ1bmN0aW9uIGNyZWF0ZVRlc3RGb3JtKHRlc3Rlck5hbWUsIGZhaWxpbmdCdWlsZE5hbWUs
IHBhc3NpbmdCdWlsZE5hbWUsIGZhaWxpbmdUCiAgICAgICAgIHJldHVybiAnW1JFU1VMVFMgUEFH
RSBVUkwgJyArIHRoaXMubmFtZSArICcsICcgKyBidWlsZE5hbWUgKyAnXSc7CiAgICAgfQogCi0g
ICAgcmV0dXJuIG5ldyBGYWlsaW5nVGVzdHNCdWdGb3JtKG1vY2tCdWd6aWxsYSwgbW9ja0J1aWxk
ZXIsIGZhaWxpbmdCdWlsZE5hbWUsIHBhc3NpbmdCdWlsZE5hbWUsIGZhaWxpbmdUZXN0cyk7Cisg
ICAgcmV0dXJuIG5ldyBGYWlsaW5nVGVzdHNCdWdGb3JtKG1vY2tCdWlsZGVyLCBmYWlsaW5nQnVp
bGROYW1lLCBwYXNzaW5nQnVpbGROYW1lLCBmYWlsaW5nVGVzdHMpOwogfQogCiB0ZXN0KCdrZXl3
b3JkcyBhcmUgc2V0JywgMSwgZnVuY3Rpb24oKSB7CmRpZmYgLS1naXQgYS9Ub29scy9CdWlsZFNs
YXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJsaWNfaHRtbC9UZXN0RmFpbHVy
ZXMvRmxha3lUZXN0QnVnRm9ybS5qcyBiL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndl
YmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL1Rlc3RGYWlsdXJlcy9GbGFreVRlc3RCdWdGb3Jt
LmpzCmluZGV4IGQ3MGJiZDA1YmZmNmRlMDRjNTQ0YWYwMzA5ZTZjOTdjOWNhZTg5MDIuLjUzMGU5
MThkZjAzZjNhYzI5ZDM2ZTJlZDMwMTVkYjdiOTAzMzU5NWQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0J1
aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL1Rlc3RG
YWlsdXJlcy9GbGFreVRlc3RCdWdGb3JtLmpzCisrKyBiL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0
L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL1Rlc3RGYWlsdXJlcy9GbGFreVRl
c3RCdWdGb3JtLmpzCkBAIC0yMyw4ICsyMyw4IEBACiAgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCiAgKi8KIAotZnVuY3Rpb24gRmxha3lUZXN0QnVnRm9ybShidWd6aWxsYSwgdGVz
dGVyLCBmYWlsaW5nQnVpbGROYW1lcywgZmFpbGluZ1Rlc3QsIG9sZGVzdEFuYWx5emVkQnVpbGQs
IG5ld2VzdEFuYWx5emVkQnVpbGQsIGFuYWx5emVkQnVpbGRDb3VudCkgewotICAgIFRlc3RSZWxh
dGVkQnVnRm9ybS5jYWxsKHRoaXMsIGJ1Z3ppbGxhLCB0ZXN0ZXIpOworZnVuY3Rpb24gRmxha3lU
ZXN0QnVnRm9ybSh0ZXN0ZXIsIGZhaWxpbmdCdWlsZE5hbWVzLCBmYWlsaW5nVGVzdCwgb2xkZXN0
QW5hbHl6ZWRCdWlsZCwgbmV3ZXN0QW5hbHl6ZWRCdWlsZCwgYW5hbHl6ZWRCdWlsZENvdW50KSB7
CisgICAgVGVzdFJlbGF0ZWRCdWdGb3JtLmNhbGwodGhpcywgdGVzdGVyKTsKIAogICAgIHRoaXMu
X2ZhaWxpbmdCdWlsZE5hbWVzID0gZmFpbGluZ0J1aWxkTmFtZXM7CiAgICAgdGhpcy5fZmFpbGlu
Z1Rlc3QgPSBmYWlsaW5nVGVzdDsKZGlmZiAtLWdpdCBhL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0
L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL1Rlc3RGYWlsdXJlcy9GbGFreVRl
c3RCdWdGb3JtX3VuaXR0ZXN0cy5qcyBiL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndl
YmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL1Rlc3RGYWlsdXJlcy9GbGFreVRlc3RCdWdGb3Jt
X3VuaXR0ZXN0cy5qcwppbmRleCAzODRhZGNmYmE5Nzg1ZmNlODljOGUxYjI2YjgyNzhhYTJiYjcy
YTEzLi42MGU3YWYwYmQ0OTFhNWUwN2M0M2NlOGRiNGMzMmQwZjc1ZmQzNDA2IDEwMDY0NAotLS0g
YS9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJsaWNf
aHRtbC9UZXN0RmFpbHVyZXMvRmxha3lUZXN0QnVnRm9ybV91bml0dGVzdHMuanMKKysrIGIvVG9v
bHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvcHVibGljX2h0bWwv
VGVzdEZhaWx1cmVzL0ZsYWt5VGVzdEJ1Z0Zvcm1fdW5pdHRlc3RzLmpzCkBAIC0yOCw5ICsyOCw2
IEBACiBtb2R1bGUoJ0ZsYWt5VGVzdEJ1Z0Zvcm0nKTsKIAogZnVuY3Rpb24gY3JlYXRlVGVzdEZv
cm0oZmFpbGluZ0J1aWxkTmFtZXMsIGZhaWxpbmdUZXN0LCBvbGRlc3RBbmFseXplZEJ1aWxkLCBu
ZXdlc3RBbmFseXplZEJ1aWxkLCBhbmFseXplZEJ1aWxkQ291bnQpIHsKLSAgICB2YXIgbW9ja0J1
Z3ppbGxhID0ge307Ci0gICAgbW9ja0J1Z3ppbGxhLmJhc2VVUkwgPSAnW0JVR1pJTExBIEJBU0Ug
VVJMXSc7Ci0KICAgICB2YXIgbW9ja0J1aWxkYm90ID0ge307CiAgICAgbW9ja0J1aWxkYm90LnBh
cnNlQnVpbGROYW1lID0gZnVuY3Rpb24oYnVpbGROYW1lKSB7CiAgICAgICAgIHZhciBtYXRjaCA9
IC8oXGQrKS8uZXhlYyhidWlsZE5hbWUpOwpAQCAtNDcsNyArNDQsNyBAQCBmdW5jdGlvbiBjcmVh
dGVUZXN0Rm9ybShmYWlsaW5nQnVpbGROYW1lcywgZmFpbGluZ1Rlc3QsIG9sZGVzdEFuYWx5emVk
QnVpbGQsIG5ldwogICAgICAgICByZXR1cm4gJ1tSRVNVTFRTIFBBR0UgVVJMICcgKyB0aGlzLm5h
bWUgKyAnLCAnICsgYnVpbGROYW1lICsgJ10nOwogICAgIH0KIAotICAgIHJldHVybiBuZXcgRmxh
a3lUZXN0QnVnRm9ybShtb2NrQnVnemlsbGEsIG1vY2tCdWlsZGVyLCBmYWlsaW5nQnVpbGROYW1l
cywgZmFpbGluZ1Rlc3QsIG9sZGVzdEFuYWx5emVkQnVpbGQsIG5ld2VzdEFuYWx5emVkQnVpbGQs
IGFuYWx5emVkQnVpbGRDb3VudCk7CisgICAgcmV0dXJuIG5ldyBGbGFreVRlc3RCdWdGb3JtKG1v
Y2tCdWlsZGVyLCBmYWlsaW5nQnVpbGROYW1lcywgZmFpbGluZ1Rlc3QsIG9sZGVzdEFuYWx5emVk
QnVpbGQsIG5ld2VzdEFuYWx5emVkQnVpbGQsIGFuYWx5emVkQnVpbGRDb3VudCk7CiB9CiAKIGNv
bnN0IHRlc3RDYXNlcyA9IFsKZGlmZiAtLWdpdCBhL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1
aWxkLndlYmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL1Rlc3RGYWlsdXJlcy9OZXdCdWdGb3Jt
LmpzIGIvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvcHVi
bGljX2h0bWwvVGVzdEZhaWx1cmVzL05ld0J1Z0Zvcm0uanMKaW5kZXggODg5YTljNDY1M2YwYTI0
MjNjMDUyYTY2M2Q2MDVjNTBiNGE3Mjg5Ni4uOTRjY2E4NDZiNTEwMTNhYWJjYTIzY2VjYjJlYTVh
MzczMTEyYjE1OSAxMDA2NDQKLS0tIGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Vi
a2l0Lm9yZy1jb25maWcvcHVibGljX2h0bWwvVGVzdEZhaWx1cmVzL05ld0J1Z0Zvcm0uanMKKysr
IGIvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvcHVibGlj
X2h0bWwvVGVzdEZhaWx1cmVzL05ld0J1Z0Zvcm0uanMKQEAgLTIzLDggKzIzLDcgQEAKICAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCi1mdW5jdGlvbiBOZXdCdWdGb3Jt
KGJ1Z3ppbGxhKSB7Ci0gICAgdGhpcy5fYnVnemlsbGEgPSBidWd6aWxsYTsKK2Z1bmN0aW9uIE5l
d0J1Z0Zvcm0oKSB7CiB9CiAKIE5ld0J1Z0Zvcm0ucHJvdG90eXBlID0gewpAQCAtNTIsNyArNTEs
NyBAQCBOZXdCdWdGb3JtLnByb3RvdHlwZSA9IHsKIAogICAgICAgICB2YXIgZm9ybSA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoJ2Zvcm0nKTsKICAgICAgICAgZm9ybS5tZXRob2QgPSAnUE9TVCc7
Ci0gICAgICAgIGZvcm0uYWN0aW9uID0gdGhpcy5fYnVnemlsbGEuYmFzZVVSTCArICdlbnRlcl9i
dWcuY2dpJzsKKyAgICAgICAgZm9ybS5hY3Rpb24gPSBjb25maWcua0J1Z3ppbGxhVVJMICsgJy9l
bnRlcl9idWcuY2dpJzsKIAogICAgICAgICBmb3IgKHZhciBrZXkgaW4gZm9ybURhdGEpIHsKICAg
ICAgICAgICAgIHZhciBpbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7CmRp
ZmYgLS1naXQgYS9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZp
Zy9wdWJsaWNfaHRtbC9UZXN0RmFpbHVyZXMvTmV3QnVnRm9ybV91bml0dGVzdHMuanMgYi9Ub29s
cy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJsaWNfaHRtbC9U
ZXN0RmFpbHVyZXMvTmV3QnVnRm9ybV91bml0dGVzdHMuanMKaW5kZXggZDJhYjVkYWM3OTk0ZDA3
MGJiODMwZjg2YTllYzljYmY4OWJkOTllYy4uM2RkMGJmNDEzM2U1ODY5MzNhZjRkZWQ3ZTRmNDEz
NTc3NTY4OGVkNiAxMDA2NDQKLS0tIGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Vi
a2l0Lm9yZy1jb25maWcvcHVibGljX2h0bWwvVGVzdEZhaWx1cmVzL05ld0J1Z0Zvcm1fdW5pdHRl
c3RzLmpzCisrKyBiL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29u
ZmlnL3B1YmxpY19odG1sL1Rlc3RGYWlsdXJlcy9OZXdCdWdGb3JtX3VuaXR0ZXN0cy5qcwpAQCAt
NDAsMTAgKzQwLDcgQEAgY29uc3QgdGVzdEZvcm1EYXRhID0gewogfTsKIAogZnVuY3Rpb24gY3Jl
YXRlVGVzdEZvcm0oKSB7Ci0gICAgdmFyIG1vY2tCdWd6aWxsYSA9IHt9OwotICAgIG1vY2tCdWd6
aWxsYS5iYXNlVVJMID0gJ2h0dHA6Ly9idWdzLmV4YW1wbGUuY29tLyc7Ci0KLSAgICB2YXIgZm9y
bSA9IG5ldyBOZXdCdWdGb3JtKG1vY2tCdWd6aWxsYSk7CisgICAgdmFyIGZvcm0gPSBuZXcgTmV3
QnVnRm9ybSgpOwogICAgIGZvciAodmFyIGtleSBpbiB0ZXN0Rm9ybURhdGEpIHsKICAgICAgICAg
Zm9ybVtrZXldID0gdGVzdEZvcm1EYXRhW2tleV0udmFsdWU7CiAgICAgfQpAQCAtNjIsNyArNTks
NyBAQCB0ZXN0KCdkb21FbGVtZW50KCkgcG9zdHMgdG8gZW50ZXJfYnVnLmNnaScsIDMsIGZ1bmN0
aW9uKCkgewogICAgIHZhciBmb3JtRWxlbWVudCA9IGNyZWF0ZVRlc3RGb3JtKCkuZG9tRWxlbWVu
dCgpOwogICAgIGVxdWFsKGZvcm1FbGVtZW50LnRhZ05hbWUsICdGT1JNJyk7CiAgICAgZXF1YWwo
Zm9ybUVsZW1lbnQubWV0aG9kLCAnUE9TVCcpOwotICAgIGVxdWFsKGZvcm1FbGVtZW50LmFjdGlv
biwgJ2h0dHA6Ly9idWdzLmV4YW1wbGUuY29tL2VudGVyX2J1Zy5jZ2knKTsKKyAgICBlcXVhbChm
b3JtRWxlbWVudC5hY3Rpb24sICdodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9lbnRlcl9idWcuY2dp
Jyk7CiB9KTsKIAogdGVzdCgnZG9tRWxlbWVudCgpIGNvbnRhaW5zIG9ubHkgaGlkZGVuIGlucHV0
IGVsZW1lbnRzJywgOSwgZnVuY3Rpb24oKSB7CmRpZmYgLS1naXQgYS9Ub29scy9CdWlsZFNsYXZl
U3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJsaWNfaHRtbC9UZXN0RmFpbHVyZXMv
VGVzdFJlbGF0ZWRCdWdGb3JtLmpzIGIvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Vi
a2l0Lm9yZy1jb25maWcvcHVibGljX2h0bWwvVGVzdEZhaWx1cmVzL1Rlc3RSZWxhdGVkQnVnRm9y
bS5qcwppbmRleCAxZTViZmU5ZDE5MjZlMzgwMTczZjk5MTdiMDA0ZDgxMmJkZDgxY2QzLi45NmYw
ZWU5MDEzMDdjZmViMjA0YzFhZTNlYTdiYjgxNWJhZTUzYTRmIDEwMDY0NAotLS0gYS9Ub29scy9C
dWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJsaWNfaHRtbC9UZXN0
RmFpbHVyZXMvVGVzdFJlbGF0ZWRCdWdGb3JtLmpzCisrKyBiL1Rvb2xzL0J1aWxkU2xhdmVTdXBw
b3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL1Rlc3RGYWlsdXJlcy9UZXN0
UmVsYXRlZEJ1Z0Zvcm0uanMKQEAgLTIzLDggKzIzLDggQEAKICAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KICAqLwogCi1mdW5jdGlvbiBUZXN0UmVsYXRlZEJ1Z0Zvcm0oYnVnemls
bGEsIHRlc3RlcikgewotICAgIE5ld0J1Z0Zvcm0uY2FsbCh0aGlzLCBidWd6aWxsYSk7CitmdW5j
dGlvbiBUZXN0UmVsYXRlZEJ1Z0Zvcm0odGVzdGVyKSB7CisgICAgTmV3QnVnRm9ybS5jYWxsKHRo
aXMpOwogCiAgICAgdGhpcy5fdGVzdGVyID0gdGVzdGVyOwogCmRpZmYgLS1naXQgYS9Ub29scy9C
dWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJsaWNfaHRtbC9UZXN0
RmFpbHVyZXMvVGVzdFJlbGF0ZWRCdWdGb3JtX3VuaXR0ZXN0cy5qcyBiL1Rvb2xzL0J1aWxkU2xh
dmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL1Rlc3RGYWlsdXJl
cy9UZXN0UmVsYXRlZEJ1Z0Zvcm1fdW5pdHRlc3RzLmpzCmluZGV4IDQ1MDE2YzkyNmZkNTMyYjkw
OTYxNDU2YjdhZTk3MjU0MDZlMTE4MTAuLjMxMWRhYjA3MTQxMzE1ZTY3OGRmY2I1NjNiOTA1NTVk
MjhkM2RlNDEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtp
dC5vcmctY29uZmlnL3B1YmxpY19odG1sL1Rlc3RGYWlsdXJlcy9UZXN0UmVsYXRlZEJ1Z0Zvcm1f
dW5pdHRlc3RzLmpzCisrKyBiL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5v
cmctY29uZmlnL3B1YmxpY19odG1sL1Rlc3RGYWlsdXJlcy9UZXN0UmVsYXRlZEJ1Z0Zvcm1fdW5p
dHRlc3RzLmpzCkBAIC0yOCw5ICsyOCw2IEBACiBtb2R1bGUoJ1Rlc3RSZWxhdGVkQnVnRm9ybScp
OwogCiBmdW5jdGlvbiBjcmVhdGVUZXN0Rm9ybSh0ZXN0ZXJOYW1lKSB7Ci0gICAgdmFyIG1vY2tC
dWd6aWxsYSA9IHt9OwotICAgIG1vY2tCdWd6aWxsYS5iYXNlVVJMID0gJ1tCVUdaSUxMQSBCQVNF
IFVSTF0nOwotCiAgICAgdmFyIG1vY2tCdWlsZGJvdCA9IHt9OwogICAgIG1vY2tCdWlsZGJvdC5w
YXJzZUJ1aWxkTmFtZSA9IGZ1bmN0aW9uKGJ1aWxkTmFtZSkgewogICAgICAgICB2YXIgbWF0Y2gg
PSAvKFxkKykvLmV4ZWMoYnVpbGROYW1lKTsKQEAgLTQ3LDcgKzQ0LDcgQEAgZnVuY3Rpb24gY3Jl
YXRlVGVzdEZvcm0odGVzdGVyTmFtZSkgewogICAgICAgICByZXR1cm4gJ1tSRVNVTFRTIFBBR0Ug
VVJMICcgKyB0aGlzLm5hbWUgKyAnLCAnICsgYnVpbGROYW1lICsgJ10nOwogICAgIH0KIAotICAg
IHJldHVybiBuZXcgVGVzdFJlbGF0ZWRCdWdGb3JtKG1vY2tCdWd6aWxsYSwgbW9ja0J1aWxkZXIp
OworICAgIHJldHVybiBuZXcgVGVzdFJlbGF0ZWRCdWdGb3JtKG1vY2tCdWlsZGVyKTsKIH0KIAog
dGVzdCgnY29tcG9uZW50IGFuZCBrZXl3b3JkcyBhcmUgc2V0JywgMiwgZnVuY3Rpb24oKSB7CmRp
ZmYgLS1naXQgYS9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZp
Zy9wdWJsaWNfaHRtbC9UZXN0RmFpbHVyZXMvVmlld0NvbnRyb2xsZXIuanMgYi9Ub29scy9CdWls
ZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJsaWNfaHRtbC9UZXN0RmFp
bHVyZXMvVmlld0NvbnRyb2xsZXIuanMKaW5kZXggNjQwZjkxOTFkYTYzMDY1NDg2NTczOTQyMTQx
NDc0YjA1NTU0MjlmNi4uZWU3MGQxNzZhMWRmZjZhMGRiN2Y3MjcxODEwZmNiOWY3Y2QyNjZhNSAx
MDA2NDQKLS0tIGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25m
aWcvcHVibGljX2h0bWwvVGVzdEZhaWx1cmVzL1ZpZXdDb250cm9sbGVyLmpzCisrKyBiL1Rvb2xz
L0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL1Rl
c3RGYWlsdXJlcy9WaWV3Q29udHJvbGxlci5qcwpAQCAtMjMsOSArMjMsOCBAQAogICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLWZ1bmN0aW9uIFZpZXdDb250cm9sbGVy
KGJ1aWxkYm90LCBidWd6aWxsYSkgeworZnVuY3Rpb24gVmlld0NvbnRyb2xsZXIoYnVpbGRib3Qp
IHsKICAgICB0aGlzLl9idWlsZGJvdCA9IGJ1aWxkYm90OwotICAgIHRoaXMuX2J1Z3ppbGxhID0g
YnVnemlsbGE7CiAgICAgdGhpcy5fbmF2aWdhdGlvbklEID0gMDsKIAogICAgIHZhciBzZWxmID0g
dGhpczsKQEAgLTEwMyw3ICsxMDIsNyBAQCBWaWV3Q29udHJvbGxlci5wcm90b3R5cGUgPSB7CiAg
ICAgICAgICAgICAgICAgaXRlbS5hcHBlbmRDaGlsZChzZWxmLl9kb21Gb3JSZWdyZXNzaW9uUmFu
Z2UoYnVpbGRlciwgYnVpbGROYW1lLCBwYXNzaW5nQnVpbGROYW1lLCBmYWlsaW5nVGVzdE5hbWVz
KSk7CiAKICAgICAgICAgICAgICAgICBpZiAocGFzc2luZ0J1aWxkTmFtZSB8fCAhc3RpbGxGZXRj
aGluZ0RhdGEpIHsKLSAgICAgICAgICAgICAgICAgICAgdmFyIGJ1Z0Zvcm0gPSBuZXcgRmFpbGlu
Z1Rlc3RzQnVnRm9ybShzZWxmLl9idWd6aWxsYSwgYnVpbGRlciwgYnVpbGROYW1lLCBwYXNzaW5n
QnVpbGROYW1lLCBmYWlsaW5nVGVzdE5hbWVzKTsKKyAgICAgICAgICAgICAgICAgICAgdmFyIGJ1
Z0Zvcm0gPSBuZXcgRmFpbGluZ1Rlc3RzQnVnRm9ybShidWlsZGVyLCBidWlsZE5hbWUsIHBhc3Np
bmdCdWlsZE5hbWUsIGZhaWxpbmdUZXN0TmFtZXMpOwogICAgICAgICAgICAgICAgICAgICBpdGVt
LmFwcGVuZENoaWxkKHNlbGYuX2RvbUZvck5ld0FuZEV4aXN0aW5nQnVncyhidWlsZGVyLCBmYWls
aW5nVGVzdE5hbWVzLCBidWdGb3JtKSkKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9
KTsKQEAgLTI0NCw5ICsyNDMsNiBAQCBWaWV3Q29udHJvbGxlci5wcm90b3R5cGUgPSB7CiAgICAg
fSwKIAogICAgIF9kb21Gb3JBdXhpbGlhcnlVSUVsZW1lbnRzOiBmdW5jdGlvbigpIHsKLSAgICAg
ICAgaWYgKCF0aGlzLl9idWd6aWxsYSkKLSAgICAgICAgICAgIHJldHVybiBkb2N1bWVudC5jcmVh
dGVEb2N1bWVudEZyYWdtZW50KCk7Ci0KICAgICAgICAgdmFyIGFzaWRlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgnYXNpZGUnKTsKICAgICAgICAgYXNpZGUuYXBwZW5kQ2hpbGQoZG9jdW1lbnQu
Y3JlYXRlVGV4dE5vZGUoJ1NvbWV0aGluZyBub3Qgd29ya2luZz8gSGF2ZSBhbiBpZGVhIHRvIGlt
cHJvdmUgdGhpcyBwYWdlPyAnKSk7CiAgICAgICAgIHZhciBsaW5rID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgnYScpOwpAQCAtMjYxLDcgKzI1Nyw3IEBAIFZpZXdDb250cm9sbGVyLnByb3RvdHlw
ZSA9IHsKICAgICAgICAgICAgIGNjOiAnYXJvYmVuQGFwcGxlLmNvbScsCiAgICAgICAgICAgICBz
aG9ydF9kZXNjOiAnVGVzdEZhaWx1cmVzIHBhZ2UgbmVlZHMgbW9yZSB1bmljb3JucyEnLAogICAg
ICAgICB9OwotICAgICAgICBsaW5rLmhyZWYgPSBhZGRRdWVyeVBhcmFtZXRlcnNUb1VSTCh0aGlz
Ll9idWd6aWxsYS5iYXNlVVJMICsgJ2VudGVyX2J1Zy5jZ2knLCBxdWVyeVBhcmFtZXRlcnMpOwor
ICAgICAgICBsaW5rLmhyZWYgPSBhZGRRdWVyeVBhcmFtZXRlcnNUb1VSTChjb25maWcua0J1Z3pp
bGxhVVJMICsgJ2VudGVyX2J1Zy5jZ2knLCBxdWVyeVBhcmFtZXRlcnMpOwogICAgICAgICBsaW5r
LnRhcmdldCA9ICdfYmxhbmsnOwogCiAgICAgICAgIHJldHVybiBhc2lkZTsKQEAgLTMyNyw5ICsz
MjMsNiBAQCBWaWV3Q29udHJvbGxlci5wcm90b3R5cGUgPSB7CiAgICAgX2RvbUZvck5ld0FuZEV4
aXN0aW5nQnVnczogZnVuY3Rpb24odGVzdGVyLCBmYWlsaW5nVGVzdHMsIGJ1Z0Zvcm0pIHsKICAg
ICAgICAgdmFyIHJlc3VsdCA9IGRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTsKIAot
ICAgICAgICBpZiAoIXRoaXMuX2J1Z3ppbGxhKQotICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsK
LQogICAgICAgICB2YXIgY29udGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgncCcpOwog
ICAgICAgICByZXN1bHQuYXBwZW5kQ2hpbGQoY29udGFpbmVyKTsKIApAQCAtMzQwLDcgKzMzMyw3
IEBAIFZpZXdDb250cm9sbGVyLnByb3RvdHlwZSA9IHsKIAogICAgICAgICBidWdzQ29udGFpbmVy
LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCdTZWFyY2hpbmcgZm9yIGJ1Z3Mg
cmVsYXRlZCB0byAnICsgKGZhaWxpbmdUZXN0cy5sZW5ndGggPiAxID8gJ3RoZXNlIHRlc3RzJyA6
ICd0aGlzIHRlc3QnKSArICdcdTIwMjYnKSk7CiAKLSAgICAgICAgdGhpcy5fYnVnemlsbGEucXVp
Y2tTZWFyY2goJ0FMTCAnICsgZmFpbGluZ1Rlc3RzLmpvaW4oJ3wnKSwgZnVuY3Rpb24oYnVncykg
eworICAgICAgICBidWd6aWxsYS5xdWlja1NlYXJjaCgnQUxMICcgKyBmYWlsaW5nVGVzdHMuam9p
bignfCcpLCBmdW5jdGlvbihidWdzKSB7CiAgICAgICAgICAgICBpZiAoIWJ1Z3MubGVuZ3RoKSB7
CiAgICAgICAgICAgICAgICAgYnVnc0NvbnRhaW5lci5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGJ1
Z3NDb250YWluZXIpOwogICAgICAgICAgICAgICAgIHJldHVybjsKQEAgLTM2Nyw4ICszNjAsOCBA
QCBWaWV3Q29udHJvbGxlci5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICAgICAgcmV0dXJuIGl0
ZW07CiAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIHZhciBvcGVuQnVncyA9IGJ1Z3MuZmls
dGVyKGZ1bmN0aW9uKGJ1ZykgeyByZXR1cm4gQnVnemlsbGEuaXNPcGVuU3RhdHVzKGJ1Zy5zdGF0
dXMpIH0pOwotICAgICAgICAgICAgdmFyIGNsb3NlZEJ1Z3MgPSBidWdzLmZpbHRlcihmdW5jdGlv
bihidWcpIHsgcmV0dXJuICFCdWd6aWxsYS5pc09wZW5TdGF0dXMoYnVnLnN0YXR1cykgfSk7Cisg
ICAgICAgICAgICB2YXIgb3BlbkJ1Z3MgPSBidWdzLmZpbHRlcihmdW5jdGlvbihidWcpIHsgcmV0
dXJuIGJ1Z3ppbGxhLmlzT3BlblN0YXR1cyhidWcuc3RhdHVzKSB9KTsKKyAgICAgICAgICAgIHZh
ciBjbG9zZWRCdWdzID0gYnVncy5maWx0ZXIoZnVuY3Rpb24oYnVnKSB7IHJldHVybiAhYnVnemls
bGEuaXNPcGVuU3RhdHVzKGJ1Zy5zdGF0dXMpIH0pOwogCiAgICAgICAgICAgICBsaXN0LmFwcGVu
ZENoaWxkcmVuKG9wZW5CdWdzLm1hcChidWdUb0xpc3RJdGVtKSk7CiAKQEAgLTQ1NCw3ICs0NDcs
NyBAQCBWaWV3Q29udHJvbGxlci5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICAgICAgICAgIH0p
KTsKIAogICAgICAgICAgICAgICAgICAgICB2YXIgZmFpbGluZ0J1aWxkTmFtZXMgPSBmYWlsdXJl
cy5tYXAoZnVuY3Rpb24oaGlzdG9yeUl0ZW0pIHsgcmV0dXJuIGhpc3RvcnlJdGVtLmJ1aWxkIH0p
OwotICAgICAgICAgICAgICAgICAgICB2YXIgYnVnRm9ybSA9IG5ldyBGbGFreVRlc3RCdWdGb3Jt
KHNlbGYuX2J1Z3ppbGxhLCBidWlsZGVyLCBmYWlsaW5nQnVpbGROYW1lcywgdGVzdE5hbWUsIGFs
bEJ1aWxkcy5sYXN0KCksIGFsbEJ1aWxkc1swXSwgYWxsQnVpbGRzLmxlbmd0aCk7CisgICAgICAg
ICAgICAgICAgICAgIHZhciBidWdGb3JtID0gbmV3IEZsYWt5VGVzdEJ1Z0Zvcm0oYnVpbGRlciwg
ZmFpbGluZ0J1aWxkTmFtZXMsIHRlc3ROYW1lLCBhbGxCdWlsZHMubGFzdCgpLCBhbGxCdWlsZHNb
MF0sIGFsbEJ1aWxkcy5sZW5ndGgpOwogICAgICAgICAgICAgICAgICAgICBjb250YWluZXIuYXBw
ZW5kQ2hpbGQoc2VsZi5fZG9tRm9yTmV3QW5kRXhpc3RpbmdCdWdzKGJ1aWxkZXIsIFt0ZXN0TmFt
ZV0sIGJ1Z0Zvcm0pKTsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9KTsKZGlmZiAt
LWdpdCBhL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3B1
YmxpY19odG1sL1Rlc3RGYWlsdXJlcy9jb25maWcuanMgYi9Ub29scy9CdWlsZFNsYXZlU3VwcG9y
dC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJsaWNfaHRtbC9UZXN0RmFpbHVyZXMvY29uZmln
LmpzCmluZGV4IDcyNzIwNTlkOTljZGMxZGM4NjdhYzNkOGI3NmY1MzhlYjhkNTE0ZjQuLjgzNTJi
ZWQ4MTgyOGYzNTU5YzQxM2MxMDNmZWU3ZTRlNzNkMmJkZGEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0J1
aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL1Rlc3RG
YWlsdXJlcy9jb25maWcuanMKKysrIGIvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Vi
a2l0Lm9yZy1jb25maWcvcHVibGljX2h0bWwvVGVzdEZhaWx1cmVzL2NvbmZpZy5qcwpAQCAtMzAs
NiArMzAsNyBAQCBjb25maWcua0J1aWxkZXJzVGhhdE9ubHlDb21waWxlID0gWwogXTsKIAogY29u
ZmlnLmtUcmFjVVJMID0gJ2h0dHA6Ly90cmFjLndlYmtpdC5vcmcnOworY29uZmlnLmtCdWd6aWxs
YVVSTCA9ICdodHRwczovL2J1Z3Mud2Via2l0Lm9yZyc7CiAKIGNvbmZpZy5rUmV2aXNpb25BdHRy
ID0gJ2RhdGEtcmV2aXNpb24nOwogY29uZmlnLmtUZXN0TmFtZUF0dHIgPSAnZGF0YS10ZXN0LW5h
bWUnOwpkaWZmIC0tZ2l0IGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9y
Zy1jb25maWcvcHVibGljX2h0bWwvVGVzdEZhaWx1cmVzL2dhcmRlbi1vLW1hdGljLmh0bWwgYi9U
b29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJsaWNfaHRt
bC9UZXN0RmFpbHVyZXMvZ2FyZGVuLW8tbWF0aWMuaHRtbAppbmRleCAxMjYxODRiMWM2YzRmYjRk
ZDcyOGI4ZGI4ZjUyZWY2OTdiNjU4MTE3Li5kMTc3ZDZiYzY0MDVkYzU5M2M0NGU1ODQ2MTVmZDBh
NWI5YWY4ZWEzIDEwMDY0NAotLS0gYS9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJr
aXQub3JnLWNvbmZpZy9wdWJsaWNfaHRtbC9UZXN0RmFpbHVyZXMvZ2FyZGVuLW8tbWF0aWMuaHRt
bAorKysgYi9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9w
dWJsaWNfaHRtbC9UZXN0RmFpbHVyZXMvZ2FyZGVuLW8tbWF0aWMuaHRtbApAQCAtMzIsNiArMzIs
NyBAQAogPHNjcmlwdCBzcmM9ImNvbmZpZy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iYmFz
ZS5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iVHJhYy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iQnVnemlsbGEuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9ImJ1aWxkZXJzLmpzIj48
L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSJjaGVja291dC5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNy
Yz0icmVzdWx0cy5qcyI+PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9Ub29scy9CdWlsZFNsYXZlU3Vw
cG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJsaWNfaHRtbC9UZXN0RmFpbHVyZXMvaW5k
ZXguaHRtbCBiL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmln
L3B1YmxpY19odG1sL1Rlc3RGYWlsdXJlcy9pbmRleC5odG1sCmluZGV4IGJiYjg4ZGY2ZThjYmY3
NzRhMmNiMDZlNTljNzNiMzY1ZDUyYjQ5NmYuLjI0MGI1ZTAyMTUxZmQ2N2NkOWNhN2I2ZDI0OWE4
ZjY3NmZhN2ZkYTIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndl
YmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL1Rlc3RGYWlsdXJlcy9pbmRleC5odG1sCisrKyBi
L1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3B1YmxpY19o
dG1sL1Rlc3RGYWlsdXJlcy9pbmRleC5odG1sCkBAIC01Miw3ICs1Miw3IEBAIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KICAgICA8c2NyaXB0IHNyYz0iV2ViS2l0QnVnemlsbGEuanMi
Pjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJXZWJLaXRCdWlsZGJvdC5qcyI+PC9zY3JpcHQ+
CiAgICAgPHNjcmlwdD4KLSAgICAgICAgdmFyIHZpZXdDb250cm9sbGVyID0gbmV3IFZpZXdDb250
cm9sbGVyKG5ldyBXZWJLaXRCdWlsZGJvdCgpLCBuZXcgQnVnemlsbGEoJ2h0dHBzOi8vYnVncy53
ZWJraXQub3JnLycpKTsKKyAgICAgICAgdmFyIHZpZXdDb250cm9sbGVyID0gbmV3IFZpZXdDb250
cm9sbGVyKG5ldyBXZWJLaXRCdWlsZGJvdCgpKTsKICAgICA8L3NjcmlwdD4KIDwvaGVhZD4KIDxi
b2R5PgpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4
IGUxM2I1M2M1MDVlMzQ3ZjgwZWM1NTJkYzE0NWFkZjdkMjhkNmY0NWIuLjAzY2FjZDA5MTk5YmMz
MGQyODkyM2FhZDhkMzhlYWM1MTk0N2I0ZTEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZwor
KysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0OCBAQAorMjAxMS0wOC0wMSAgQWRhbSBC
YXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgorCisgICAgICAgIFJlZmFjdG9yIGJ1Z3ppbGxhLmpz
IGZvciB1c2UgYnkgZ2FyZGVuLW8tbWF0aWMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTY1NDUwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCByZWZhY3RvcnMgYnVnemlsbGEuanMgdG8gdXNl
IHRoZSBBc3luY2hyb25vdXNDYWNoZSBhbmQKKyAgICAgICAgdXBkYXRlcyB0aGUgc3R5bGUgdG8g
dXNlIGEgbW9kdWxlIGluc3RlYWQgb2YgYW4gb2JqZWN0LiAgVGhpcyBwYXRjaAorICAgICAgICB0
aGVuIGZpeGVzIGFsbCB0aGUgZXhpc3RpbmcgY29kZSB0aGF0IHVzZXMgdGhpcyBjbGFzcyB0byB1
c2UgdGhlIG5ldworICAgICAgICBBUEkgc3R5bGUuCisKKyAgICAgICAgVGhpcyBtYWluIGJlbmVm
aXQgb2YgdGhpcyBwYXRjaCBpcyB3ZSByZW1vdmUgdGhlIHRyaWNreSBtYW51YWwgY2FjaGluZwor
ICAgICAgICBhbmQgdGhpcyBjb2RlIGlzIG5vdyBhdmFpbGFibGUgdG8gdXNlIGluIGdhcmRlbi1v
LW1hdGljIChzaW5jZSB0aGUKKyAgICAgICAgZGVwZW5kZW5jeSBvbiBVdGlsaXRpZXMuanMgaXMg
bm93IGdvbmUpLgorCisgICAgICAgIEkgcmFuIGFsbCB0aGUgdW5pdCB0ZXN0cyBhbmQgcG9rZWQg
YXJvdW5kIGluIFRlc3RGYWlsdXJlcyBhIGJpdCB0byBzZWUKKyAgICAgICAgdGhhdCBldmVyeXRo
aW5nIHNlZW1lZCB0byBiZSB3b3JraW5nIHByb3Blcmx5LgorCisgICAgICAgICogQnVpbGRTbGF2
ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvcHVibGljX2h0bWwvVGVzdEZhaWx1cmVz
L0J1Z3ppbGxhLmpzOgorICAgICAgICAqIEJ1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5v
cmctY29uZmlnL3B1YmxpY19odG1sL1Rlc3RGYWlsdXJlcy9GYWlsaW5nVGVzdHNCdWdGb3JtLmpz
OgorICAgICAgICAoRmFpbGluZ1Rlc3RzQnVnRm9ybSk6CisgICAgICAgIChGYWlsaW5nVGVzdHNC
dWdGb3JtLnByb3RvdHlwZS5fY3JlYXRlQnVnVGl0bGUpOgorICAgICAgICAqIEJ1aWxkU2xhdmVT
dXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL1Rlc3RGYWlsdXJlcy9G
YWlsaW5nVGVzdHNCdWdGb3JtX3VuaXR0ZXN0cy5qczoKKyAgICAgICAgKiBCdWlsZFNsYXZlU3Vw
cG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJsaWNfaHRtbC9UZXN0RmFpbHVyZXMvRmxh
a3lUZXN0QnVnRm9ybS5qczoKKyAgICAgICAgKEZsYWt5VGVzdEJ1Z0Zvcm0pOgorICAgICAgICAq
IEJ1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL1Rl
c3RGYWlsdXJlcy9GbGFreVRlc3RCdWdGb3JtX3VuaXR0ZXN0cy5qczoKKyAgICAgICAgKiBCdWls
ZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJsaWNfaHRtbC9UZXN0RmFp
bHVyZXMvTmV3QnVnRm9ybS5qczoKKyAgICAgICAgKE5ld0J1Z0Zvcm0pOgorICAgICAgICAoTmV3
QnVnRm9ybS5wcm90b3R5cGUuZG9tRWxlbWVudCk6CisgICAgICAgICogQnVpbGRTbGF2ZVN1cHBv
cnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvcHVibGljX2h0bWwvVGVzdEZhaWx1cmVzL05ld0J1
Z0Zvcm1fdW5pdHRlc3RzLmpzOgorICAgICAgICAqIEJ1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndl
YmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL1Rlc3RGYWlsdXJlcy9UZXN0UmVsYXRlZEJ1Z0Zv
cm0uanM6CisgICAgICAgIChUZXN0UmVsYXRlZEJ1Z0Zvcm0pOgorICAgICAgICAqIEJ1aWxkU2xh
dmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL1Rlc3RGYWlsdXJl
cy9UZXN0UmVsYXRlZEJ1Z0Zvcm1fdW5pdHRlc3RzLmpzOgorICAgICAgICAqIEJ1aWxkU2xhdmVT
dXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL1Rlc3RGYWlsdXJlcy9W
aWV3Q29udHJvbGxlci5qczoKKyAgICAgICAgKFZpZXdDb250cm9sbGVyLnByb3RvdHlwZS5fZGlz
cGxheUJ1aWxkZXIuc3RhcnQpOgorICAgICAgICAoVmlld0NvbnRyb2xsZXIucHJvdG90eXBlLl9k
aXNwbGF5QnVpbGRlcik6CisgICAgICAgIChWaWV3Q29udHJvbGxlci5wcm90b3R5cGUuX2RvbUZv
ckF1eGlsaWFyeVVJRWxlbWVudHMpOgorICAgICAgICAoVmlld0NvbnRyb2xsZXIucHJvdG90eXBl
Ll9kb21Gb3JOZXdBbmRFeGlzdGluZ0J1Z3MuYnVnemlsbGEucXVpY2tTZWFyY2gpOgorICAgICAg
ICAoVmlld0NvbnRyb2xsZXIucHJvdG90eXBlLl9kb21Gb3JQb3NzaWJseUZsYWt5VGVzdHMuZmxh
a3lMaXN0LmFwcGVuZENoaWxkcmVuKToKKyAgICAgICAgKFZpZXdDb250cm9sbGVyLnByb3RvdHlw
ZS5fZG9tRm9yUG9zc2libHlGbGFreVRlc3RzKToKKyAgICAgICAgKiBCdWlsZFNsYXZlU3VwcG9y
dC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJsaWNfaHRtbC9UZXN0RmFpbHVyZXMvY29uZmln
LmpzOgorICAgICAgICAqIEJ1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmln
L3B1YmxpY19odG1sL1Rlc3RGYWlsdXJlcy9nYXJkZW4tby1tYXRpYy5odG1sOgorICAgICAgICAq
IEJ1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL1Rl
c3RGYWlsdXJlcy9pbmRleC5odG1sOgorCiAyMDExLTA3LTMxICBBZGFtIEJhcnRoICA8YWJhcnRo
QHdlYmtpdC5vcmc+CiAKICAgICAgICAgd2Via2l0LXBhdGNoIG5lZWRzIHRvIGJlIGFibGUgdG8g
Im9wdGltaXplIiB0aGUgc3RvcmFnZSBvZiBiYXNlbGluZXMgb24gZGlzawo=
</data>

          </attachment>
      

    </bug>

</bugzilla>