<?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>154065</bug_id>
          
          <creation_ts>2016-02-10 02:32:00 -0800</creation_ts>
          <short_desc>Use Testharness.js for the MathML script tests</short_desc>
          <delta_ts>2016-02-11 02:40:09 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>MathML</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://testthewebforward.org/docs/testharness.html</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="Frédéric Wang Nélar">fred.wang</reporter>
          <assigned_to name="Frédéric Wang Nélar">fred.wang</assigned_to>
          <cc>alex</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbarton</cc>
    
    <cc>jfernandez</cc>
    
    <cc>mrobinson</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1163434</commentid>
    <comment_count>0</comment_count>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2016-02-10 02:32:00 -0800</bug_when>
    <thetext>We currently have 5 MathML &quot;script&quot; tests with a similar structure (definition of some testing functions, creation of a testing report, dumping this report as text etc). All of this can just be done using the API of Testharness.js so that we avoid duplicating code. This will also make the tests more easily portable to other rendering engines.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1163436</commentid>
    <comment_count>1</comment_count>
      <attachid>270984</attachid>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2016-02-10 02:39:44 -0800</bug_when>
    <thetext>Created attachment 270984
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1163728</commentid>
    <comment_count>2</comment_count>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2016-02-11 02:40:09 -0800</bug_when>
    <thetext>Committed r196417: &lt;http://trac.webkit.org/changeset/196417&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>270984</attachid>
            <date>2016-02-10 02:39:44 -0800</date>
            <delta_ts>2016-02-10 09:34:26 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-154065-20160210113922.patch</filename>
            <type>text/plain</type>
            <size>22101</size>
            <attacher name="Frédéric Wang Nélar">fred.wang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk2MzY0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZDhlMmZjNGE2NTY1NDE2NWQzY2Fk
ZWQ0ZWRmNDlhY2I1MjY4NGJiYS4uNjRkZDc2MTBmNDQ5MWY5NjRhZDlkYWJmNGNhNjkzNzkzNjc4
MjZlNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE2LTAyLTEwICBGcmVkZXJpYyBXYW5nICA8
ZnJlZC53YW5nQGZyZWUuZnI+CisKKyAgICAgICAgVXNlIFRlc3RoYXJuZXNzLmpzIGZvciB0aGUg
TWF0aE1MIHNjcmlwdCB0ZXN0cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTU0MDY1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBtYXRobWwvb3BlbnR5cGUvbGFyZ2Utb3BlcmF0b3JzLW11bmRlcm92ZXIt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIG1hdGhtbC9vcGVudHlwZS9sYXJnZS1vcGVyYXRvcnMt
bXVuZGVyb3Zlci5odG1sOgorICAgICAgICAqIG1hdGhtbC9wcmVzZW50YXRpb24vaW5mZXJyZWQt
bXJvdy1iYXNlbGluZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogbWF0aG1sL3ByZXNlbnRhdGlv
bi9pbmZlcnJlZC1tcm93LWJhc2VsaW5lLmh0bWw6CisgICAgICAgICogbWF0aG1sL3ByZXNlbnRh
dGlvbi9pbmZlcnJlZC1tcm93LXN0cmV0Y2h5LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBtYXRo
bWwvcHJlc2VudGF0aW9uL2luZmVycmVkLW1yb3ctc3RyZXRjaHkuaHRtbDoKKyAgICAgICAgKiBt
YXRobWwvcHJlc2VudGF0aW9uL3N0cmV0Y2h5LWRlcHRoLWhlaWdodC1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogbWF0aG1sL3ByZXNlbnRhdGlvbi9zdHJldGNoeS1kZXB0aC1oZWlnaHQtc3ltbWV0
cmljLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBtYXRobWwvcHJlc2VudGF0aW9uL3N0cmV0Y2h5
LWRlcHRoLWhlaWdodC1zeW1tZXRyaWMuaHRtbDoKKyAgICAgICAgKiBtYXRobWwvcHJlc2VudGF0
aW9uL3N0cmV0Y2h5LWRlcHRoLWhlaWdodC5odG1sOgorCiAyMDE2LTAyLTA5ICBOYW4gV2FuZyAg
PG5fd2FuZ0BhcHBsZS5jb20+CiAKICAgICAgICAgQVg6IEltcGxlbWVudCB3b3JkIHJlbGF0ZWQg
dGV4dCBtYXJrZXIgZnVuY3Rpb25zIHVzaW5nIFRleHRJdGVyYXRvcgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvbWF0aG1sL29wZW50eXBlL2xhcmdlLW9wZXJhdG9ycy1tdW5kZXJvdmVyLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL21hdGhtbC9vcGVudHlwZS9sYXJnZS1vcGVyYXRvcnMtbXVu
ZGVyb3Zlci1leHBlY3RlZC50eHQKaW5kZXggYTM1NDRiODg4MTE5Njg1N2JlMWRiZWE1NWUzM2Vm
MGNhYThhOGIzYS4uNTRjZmQxYjYwODZlNzQ3YWI5NTFlNWQ0ZDE0ZWQyZWExMTRkYWJkMCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvbWF0aG1sL29wZW50eXBlL2xhcmdlLW9wZXJhdG9ycy1tdW5k
ZXJvdmVyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9tYXRobWwvb3BlbnR5cGUvbGFy
Z2Utb3BlcmF0b3JzLW11bmRlcm92ZXItZXhwZWN0ZWQudHh0CkBAIC0xLDcgKzEsOCBAQAogVGhp
cyB0ZXN0IHBhc3NlcyBpZiB5b3Ugc2VlIGEgbGFyZ2UgYmxhY2sgc3F1YXJlIHdpdGggYSBncmVl
biBiYXIgb3ZlcnNjcmlwdCBhbmQgYSByZWQgYmFyIHVuZGVyc2NyaXB0LgogCi1sYXJnZW9wIHdp
ZHRoOiBQQVNTCi1sYXJnZW9wIGhlaWdodDogUEFTUwotZ3JlZW4gYmFyIGlzIGFib3ZlOiBQQVNT
Ci1yZWQgYmFyIGlzIGJlbG93OiBQQVNTCisKK1BBU1MgbGFyZ2VvcCB3aWR0aCAKK1BBU1MgbGFy
Z2VvcCBoZWlnaHQgCitQQVNTIGdyZWVuIGJhciBpcyBhYm92ZSAKK1BBU1MgcmVkIGJhciBpcyBi
ZWxvdyAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWF0aG1sL29wZW50eXBlL2xhcmdlLW9w
ZXJhdG9ycy1tdW5kZXJvdmVyLmh0bWwgYi9MYXlvdXRUZXN0cy9tYXRobWwvb3BlbnR5cGUvbGFy
Z2Utb3BlcmF0b3JzLW11bmRlcm92ZXIuaHRtbAppbmRleCAwMzQ0MjY4MmI4OTc5MjYzYTQ1ODc5
MzA3NWE0MGY1YjJmYzZhY2JlLi4yNDQyNGQ5YmQwYWZlYzhkYzA4YjUwZTIzMzkzMDIwMzNlM2M1
MjRkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9tYXRobWwvb3BlbnR5cGUvbGFyZ2Utb3BlcmF0
b3JzLW11bmRlcm92ZXIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9tYXRobWwvb3BlbnR5cGUvbGFy
Z2Utb3BlcmF0b3JzLW11bmRlcm92ZXIuaHRtbApAQCAtMTMsMzQgKzEzLDM1IEBACiAgICAgICAg
IGZvbnQtZmFtaWx5OiBzdHJldGNoeTsKICAgICAgIH0KICAgICA8L3N0eWxlPgorICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgogICAgIDxzY3JpcHQ+Ci0gICAgICB2YXIgcmVzdWx0OwogICAgICAgdmFyIGVwc2lsb24gPSAx
OwotICAgICAgZnVuY3Rpb24gYWxtb3N0RXF1YWwoeCwgeSkgewotICAgICAgICByZXR1cm4gTWF0
aC5hYnMoeCAtIHkpIDwgZXBzaWxvbjsKLSAgICAgIH0KLSAgICAgIGZ1bmN0aW9uIGFzc2VydCh0
ZXh0LCBjb25kaXRpb24pIHsKLSAgICAgICAgcmVzdWx0ICs9IHRleHQgKyAiOiAiICsgKGNvbmRp
dGlvbiA/ICJQQVNTIiA6ICJGQUlMIikgKyAiXG4iOwotICAgICAgfQotICAgICAgZnVuY3Rpb24g
dGVzdCgpIHsKLSAgICAgICAgcmVzdWx0ID0gIiI7CisgICAgICBzZXR1cCh7ICJleHBsaWNpdF9k
b25lIjogdHJ1ZSB9KTsKKyAgICAgIGZ1bmN0aW9uIHJ1bigpIHsKICAgICAgICAgLy8gZm9udCBl
bSBpcyAxMDI0LCBzaXplIG9mIGdseXBoIEw4IGlzIDgzODkgYW5kIGZvbnQtc2l6ZSBpcyAxNnB4
CiAgICAgICAgIHZhciBsYXJnZW9wID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxhcmdlb3Ai
KS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKICAgICAgICAgdmFyIGdyZWVuID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImdyZWVuIikuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7CiAgICAgICAg
IHZhciByZWQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVkIikuZ2V0Qm91bmRpbmdDbGll
bnRSZWN0KCk7CiAgICAgICAgIHZhciBzaXplID0gKDgzODkvMTAyNCkqMTY7CiAKLSAgICAgICAg
YXNzZXJ0KCJsYXJnZW9wIHdpZHRoIiwgYWxtb3N0RXF1YWwobGFyZ2VvcC53aWR0aCwgc2l6ZSkp
OwotICAgICAgICBhc3NlcnQoImxhcmdlb3AgaGVpZ2h0IiwgYWxtb3N0RXF1YWwobGFyZ2VvcC5o
ZWlnaHQsIHNpemUpKTsKLSAgICAgICAgYXNzZXJ0KCJncmVlbiBiYXIgaXMgYWJvdmUiLCBncmVl
bi5ib3R0b20gPD0gbGFyZ2VvcC50b3ApOwotICAgICAgICBhc3NlcnQoInJlZCBiYXIgaXMgYmVs
b3ciLCByZWQudG9wID49IGxhcmdlb3AuYm90dG9tKTsKLSAgICAgICAgZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInJlc3VsdCIpLmlubmVyVGV4dCA9IHJlc3VsdDsKLSAgICAgICAgaWYgKHdpbmRv
dy50ZXN0UnVubmVyKQotICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAgICAg
ICB0ZXN0KGZ1bmN0aW9uKCkgeworICAgICAgICAgIGFzc2VydF9hcHByb3hfZXF1YWxzKGxhcmdl
b3Aud2lkdGgsIHNpemUsIGVwc2lsb24pOworICAgICAgICB9LCAibGFyZ2VvcCB3aWR0aCIpOwor
ICAgICAgICB0ZXN0KGZ1bmN0aW9uKCkgeworICAgICAgICAgIGFzc2VydF9hcHByb3hfZXF1YWxz
KGxhcmdlb3AuaGVpZ2h0LCBzaXplLCBlcHNpbG9uKTsKKyAgICAgICAgfSwgImxhcmdlb3AgaGVp
Z2h0Iik7CisgICAgICAgIHRlc3QoZnVuY3Rpb24oKSB7CisgICAgICAgICAgYXNzZXJ0X2xlc3Nf
dGhhbl9lcXVhbChncmVlbi5ib3R0b20sIGxhcmdlb3AudG9wKTsKKyAgICAgICAgfSwgImdyZWVu
IGJhciBpcyBhYm92ZSIpOworICAgICAgICB0ZXN0KGZ1bmN0aW9uKCkgeworICAgICAgICAgIGFz
c2VydF9ncmVhdGVyX3RoYW5fZXF1YWwocmVkLnRvcCwgbGFyZ2VvcC5ib3R0b20pOworICAgICAg
ICB9LCAicmVkIGJhciBpcyBiZWxvdyIpOworICAgICAgICBkb25lKCk7CiAgICAgICB9CiAgICAg
PC9zY3JpcHQ+CiAgIDwvaGVhZD4KLSAgPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgorICA8Ym9keSBv
bmxvYWQ9InJ1bigpIj4KICAgICA8cD5UaGlzIHRlc3QgcGFzc2VzIGlmIHlvdSBzZWUgYSBsYXJn
ZSBibGFjayBzcXVhcmUgd2l0aCBhIGdyZWVuIGJhciBvdmVyc2NyaXB0IGFuZCBhIHJlZCBiYXIg
dW5kZXJzY3JpcHQuPC9wPgogICAgIDxtYXRoIGRpc3BsYXk9ImJsb2NrIj4KICAgICAgIDxtdW5k
ZXJvdmVyPgpAQCAtNDksNiArNTAsNSBAQAogICAgICAgICA8bXNwYWNlIGlkPSJncmVlbiIgd2lk
dGg9IjI1MHB4IiBoZWlnaHQ9IjEwcHgiIGRlcHRoPSIxMHB4IiBtYXRoYmFja2dyb3VuZD0iZ3Jl
ZW4iLz4KICAgICAgIDwvbXVuZGVyb3Zlcj4KICAgICA8L21hdGg+Ci0gICAgPGRpdiBpZD0icmVz
dWx0Ij48L2Rpdj4KICAgPC9ib2R5PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
bWF0aG1sL3ByZXNlbnRhdGlvbi9pbmZlcnJlZC1tcm93LWJhc2VsaW5lLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL21hdGhtbC9wcmVzZW50YXRpb24vaW5mZXJyZWQtbXJvdy1iYXNlbGluZS1l
eHBlY3RlZC50eHQKaW5kZXggODEzZDllZDI3NzllYjQ1MTk1OTZiYjZhMjk0YmIzNWRmN2EyNWM5
OC4uYmE0Nzg2Nzc1YmI0MGY0MTNmMjlmZjA3ZTIzYWFhMjliODJkODJkNCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvbWF0aG1sL3ByZXNlbnRhdGlvbi9pbmZlcnJlZC1tcm93LWJhc2VsaW5lLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9tYXRobWwvcHJlc2VudGF0aW9uL2luZmVycmVk
LW1yb3ctYmFzZWxpbmUtZXhwZWN0ZWQudHh0CkBAIC03LDExICs3LDEyIEBAIFRoaXMgdGVzdCBw
YXNzZXMgaWYgcmVjdGFuZ2xlcyBhcmUgY29ycmVjdGx5IGFsaWduZWQgd2l0aCByZXNwZWN0IHRv
IHRoZSBiYXNlbGluCiAgCiAgCiAKLU1yb3c6IFBBU1MKLVNxcnQ6IFBBU1MKLVN0eWxlOiBQQVNT
Ci1FcnJvcjogUEFTUwotUGhhbnRvbTogUEFTUwotTWF0aDogUEFTUwotTWVuY2xvc2U6IFBBU1MK
KworUEFTUyBiYXNlbGluZSBhbGlnbm1lbnQgaW5zaWRlIE1yb3cgCitQQVNTIGJhc2VsaW5lIGFs
aWdubWVudCBpbnNpZGUgU3FydCAKK1BBU1MgYmFzZWxpbmUgYWxpZ25tZW50IGluc2lkZSBTdHls
ZSAKK1BBU1MgYmFzZWxpbmUgYWxpZ25tZW50IGluc2lkZSBFcnJvciAKK1BBU1MgYmFzZWxpbmUg
YWxpZ25tZW50IGluc2lkZSBQaGFudG9tIAorUEFTUyBiYXNlbGluZSBhbGlnbm1lbnQgaW5zaWRl
IE1hdGggCitQQVNTIGJhc2VsaW5lIGFsaWdubWVudCBpbnNpZGUgTWVuY2xvc2UgCiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL21hdGhtbC9wcmVzZW50YXRpb24vaW5mZXJyZWQtbXJvdy1iYXNl
bGluZS5odG1sIGIvTGF5b3V0VGVzdHMvbWF0aG1sL3ByZXNlbnRhdGlvbi9pbmZlcnJlZC1tcm93
LWJhc2VsaW5lLmh0bWwKaW5kZXggZmQ2NTc3NDBiNzc4OWUxMWNjNWZkM2M3MmEwNDRlMGVmNDUy
OTE1MS4uYTMyNzg5ZDBlMjNkYzQ1YWU2Y2VmMDY0NTA5NTg1OGIwNjA0YTc1NiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvbWF0aG1sL3ByZXNlbnRhdGlvbi9pbmZlcnJlZC1tcm93LWJhc2VsaW5l
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvbWF0aG1sL3ByZXNlbnRhdGlvbi9pbmZlcnJlZC1tcm93
LWJhc2VsaW5lLmh0bWwKQEAgLTIsMjUgKzIsMjYgQEAKICAgPGhlYWQ+CiAgICAgPHRpdGxlPmlu
ZmVycmVkIG1yb3dzPC90aXRsZT4KICAgICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CisgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CisgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotICAgICAgZnVuY3Rpb24g
dGVzdCgpCisgICAgICBzZXR1cCh7ICJleHBsaWNpdF9kb25lIjogdHJ1ZSB9KTsKKyAgICAgIGZ1
bmN0aW9uIHJ1bigpCiAgICAgICB7CiAgICAgICAgIHZhciB0YWdzID0gWyJNcm93IiwgIlNxcnQi
LCAiU3R5bGUiLCAiRXJyb3IiLCAiUGhhbnRvbSIsICJNYXRoIiwgIk1lbmNsb3NlIl07Ci0gICAg
ICAgIHZhciByZXN1bHQgPSAiIjsKICAgICAgICAgZm9yICh2YXIgaSBpbiB0YWdzKSB7CiAgICAg
ICAgICAgdmFyIHRhZyA9IHRhZ3NbaV07CiAgICAgICAgICAgdmFyIHggPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiYWJvdmUiICsgdGFnKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKICAgICAg
ICAgICB2YXIgeSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJiZWxvdyIgKyB0YWcpLmdldEJv
dW5kaW5nQ2xpZW50UmVjdCgpOwotICAgICAgICAgIHJlc3VsdCArPSB0YWcgKyAiOiAiICsgKHgu
Ym90dG9tID09IHkudG9wID8gIlBBU1MiIDogIkZBSUwiKSArICJcbiI7CisgICAgICAgICAgdGVz
dChmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoeC5ib3R0b20sIHkudG9w
KTsKKyAgICAgICAgICB9LCAiYmFzZWxpbmUgYWxpZ25tZW50IGluc2lkZSAiICsgdGFnKTsKICAg
ICAgICAgfQotICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0IikuaW5uZXJU
ZXh0ID0gcmVzdWx0OwotICAKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAg
ICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAgICAgICBkb25lKCk7CiAgICAgICB9CiAg
ICAgPC9zY3JpcHQ+CiAgIDwvaGVhZD4KLSAgPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgorICA8Ym9k
eSBvbmxvYWQ9InJ1bigpIj4KIAogICAgIDxwPlRoaXMgdGVzdCBwYXNzZXMgaWYgcmVjdGFuZ2xl
cyBhcmUgY29ycmVjdGx5IGFsaWduZWQgd2l0aCByZXNwZWN0IHRvIHRoZSBiYXNlbGluZS48L3A+
CiAKQEAgLTQwLDcgKzQxLDUgQEAKICAgICAgIDxtYXRoPjxtZW5jbG9zZSBub3RhdGlvbj0iYm94
Ij48bXNwYWNlIGlkPSJhYm92ZU1lbmNsb3NlIiB3aWR0aD0iMTBweCIgaGVpZ2h0PSIzMHB4IiBt
YXRoYmFja2dyb3VuZD0icmVkIj48L21zcGFjZT48bXNwYWNlIGlkPSJiZWxvd01lbmNsb3NlIiB3
aWR0aD0iMTBweCIgZGVwdGg9IjMwcHgiIG1hdGhiYWNrZ3JvdW5kPSJibHVlIj48L21zcGFjZT48
L21lbmNsb3NlPjwvbWF0aD4KICAgICA8L3A+CiAKLSAgICA8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2
PgotCiAgIDwvYm9keT4KIDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21hdGhtbC9w
cmVzZW50YXRpb24vaW5mZXJyZWQtbXJvdy1zdHJldGNoeS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9tYXRobWwvcHJlc2VudGF0aW9uL2luZmVycmVkLW1yb3ctc3RyZXRjaHktZXhwZWN0ZWQu
dHh0CmluZGV4IGQ2ODgxZmJiNjM4ZTk0OTdmZmVlNGUzYmJjMjEyM2M4OGM4NDdjNjEuLjVkNjkw
MjEzZTcyNDg2OGNiMDE5ZWY2ZTU1OWI2MGRmOTFkYTkxMGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL21hdGhtbC9wcmVzZW50YXRpb24vaW5mZXJyZWQtbXJvdy1zdHJldGNoeS1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvbWF0aG1sL3ByZXNlbnRhdGlvbi9pbmZlcnJlZC1tcm93LXN0
cmV0Y2h5LWV4cGVjdGVkLnR4dApAQCAtNywxMSArNywxMiBAQCBUaGlzIHRlc3QgcGFzc2VzIGlm
IGFsbCB0aGUgdmVydGljYWwgYmFycyBzdHJldGNoLgogIAogIAogCi1Ncm93OiBQQVNTCi1TcXJ0
OiBQQVNTCi1TdHlsZTogUEFTUwotRXJyb3I6IFBBU1MKLVBoYW50b206IFBBU1MKLU1hdGg6IFBB
U1MKLU1lbmNsb3NlOiBQQVNTCisKK1BBU1Mgb3BlcmF0b3Igc3RyZXRjaGluZyBpbnNpZGUgTXJv
dyAKK1BBU1Mgb3BlcmF0b3Igc3RyZXRjaGluZyBpbnNpZGUgU3FydCAKK1BBU1Mgb3BlcmF0b3Ig
c3RyZXRjaGluZyBpbnNpZGUgU3R5bGUgCitQQVNTIG9wZXJhdG9yIHN0cmV0Y2hpbmcgaW5zaWRl
IEVycm9yIAorUEFTUyBvcGVyYXRvciBzdHJldGNoaW5nIGluc2lkZSBQaGFudG9tIAorUEFTUyBv
cGVyYXRvciBzdHJldGNoaW5nIGluc2lkZSBNYXRoIAorUEFTUyBvcGVyYXRvciBzdHJldGNoaW5n
IGluc2lkZSBNZW5jbG9zZSAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWF0aG1sL3ByZXNl
bnRhdGlvbi9pbmZlcnJlZC1tcm93LXN0cmV0Y2h5Lmh0bWwgYi9MYXlvdXRUZXN0cy9tYXRobWwv
cHJlc2VudGF0aW9uL2luZmVycmVkLW1yb3ctc3RyZXRjaHkuaHRtbAppbmRleCBhNmM1NzRjYzMy
MWMyOTUzNDkxY2NkODFlMGM5MTc2YTIzZDVmNzg4Li5iNDI5ZWZiNGVkNjJiYjJlZmEyOTVjNmM0
OGE5Y2VjMmY5NWUwYmY4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9tYXRobWwvcHJlc2VudGF0
aW9uL2luZmVycmVkLW1yb3ctc3RyZXRjaHkuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9tYXRobWwv
cHJlc2VudGF0aW9uL2luZmVycmVkLW1yb3ctc3RyZXRjaHkuaHRtbApAQCAtMiwyNCArMiwyNSBA
QAogICA8aGVhZD4KICAgICA8dGl0bGU+aW5mZXJyZWQgbXJvd3M8L3RpdGxlPgogICAgIDxtZXRh
IGNoYXJzZXQ9InV0Zi04Ij4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2
YXNjcmlwdCI+Ci0gICAgICBmdW5jdGlvbiB0ZXN0KCkKKyAgICAgIHNldHVwKHsgImV4cGxpY2l0
X2RvbmUiOiB0cnVlIH0pOworICAgICAgZnVuY3Rpb24gcnVuKCkKICAgICAgIHsKICAgICAgICAg
dmFyIHRhZ3MgPSBbIk1yb3ciLCAiU3FydCIsICJTdHlsZSIsICJFcnJvciIsICJQaGFudG9tIiwg
Ik1hdGgiLCAiTWVuY2xvc2UiXTsKLSAgICAgICAgdmFyIHJlc3VsdCA9ICIiOwogICAgICAgICBm
b3IgKHZhciBpIGluIHRhZ3MpIHsKICAgICAgICAgICB2YXIgdGFnID0gdGFnc1tpXTsKICAgICAg
ICAgICB2YXIgbW8gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibW8iICsgdGFnKTsKLSAgICAg
ICAgICByZXN1bHQgKz0gdGFnICsgIjogIiArIChtby5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5o
ZWlnaHQgPj0gNjAgPyAiUEFTUyIgOiAiRkFJTCIpICsgIlxuIjsKKyAgICAgICAgICB0ZXN0KGZ1
bmN0aW9uKCkgeworICAgICAgICAgICAgYXNzZXJ0X2dyZWF0ZXJfdGhhbl9lcXVhbChtby5nZXRC
b3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQsIDYwKTsKKyAgICAgICAgICB9LCAib3BlcmF0b3Ig
c3RyZXRjaGluZyBpbnNpZGUgIiArIHRhZyk7CiAgICAgICAgIH0KLSAgICAgICAgZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInJlc3VsdCIpLmlubmVyVGV4dCA9IHJlc3VsdDsKLSAgCi0gICAgICAg
IGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQo
KTsKKyAgICAgICAgZG9uZSgpOwogICAgICAgfQogICAgIDwvc2NyaXB0PgogICA8L2hlYWQ+Ci0g
IDxib2R5IG9ubG9hZD0idGVzdCgpIj4KKyAgPGJvZHkgb25sb2FkPSJydW4oKSI+CiAKICAgICA8
cD5UaGlzIHRlc3QgcGFzc2VzIGlmIGFsbCB0aGUgdmVydGljYWwgYmFycyBzdHJldGNoLjwvcD4K
IApAQCAtMzMsNyArMzQsNSBAQAogICAgICAgPG1hdGg+PG1lbmNsb3NlIG5vdGF0aW9uPSJib3gi
PjxtbyBpZD0ibW9NZW5jbG9zZSI+fDwvbW8+PG1zcGFjZSB3aWR0aD0iMXB4IiBoZWlnaHQ9IjMw
cHgiIGRlcHRoPSIzMHB4IiBtYXRoYmFja2dyb3VuZD0icmVkIj48L21zcGFjZT48L21lbmNsb3Nl
PjwvbWF0aD4KICAgICA8L3A+CiAKLSAgICA8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgotCiAgIDwv
Ym9keT4KIDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21hdGhtbC9wcmVzZW50YXRp
b24vc3RyZXRjaHktZGVwdGgtaGVpZ2h0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL21hdGht
bC9wcmVzZW50YXRpb24vc3RyZXRjaHktZGVwdGgtaGVpZ2h0LWV4cGVjdGVkLnR4dAppbmRleCA5
ODU0M2MzYWQ1NWU1MDhjNjVlY2JkNjQzZjEzODIxYTMxNDI0ZDJkLi5mOTg1YTM5Y2RhYmVjOTBl
NjM2NTAzYzc5OTQxMWVhYWM1MTUzYTI4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9tYXRobWwv
cHJlc2VudGF0aW9uL3N0cmV0Y2h5LWRlcHRoLWhlaWdodC1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvbWF0aG1sL3ByZXNlbnRhdGlvbi9zdHJldGNoeS1kZXB0aC1oZWlnaHQtZXhwZWN0
ZWQudHh0CkBAIC00MiwxMyArNDIsMTIgQEAgeAl5CXoKICAKICAKIAotc3ltbWV0cmljIHN0cmV0
Y2hpbmc6IFBBU1MKLWxhcmdlIGRlcHRoOiBQQVNTCi1sYXJnZSBoZWlnaHQ6IFBBU1MKLW10YWJs
ZTogUEFTUwotc2V2ZXJhbCBzaWJsaW5ncyB3aXRoIGRpZmZlcmVudCBoZWlnaHRzL2RlcHRoczog
UEFTUwotdGVzdGluZyBzZXZlcmFsIG9wZXJhdG9ycyBpbiBvbmUgbXJvdyAob3BlcmF0b3IgMSk6
IFBBU1MKLXRlc3Rpbmcgc2V2ZXJhbCBvcGVyYXRvcnMgaW4gb25lIG1yb3cgKG9wZXJhdG9yIDIp
OiBQQVNTCi10ZXN0aW5nIHNldmVyYWwgb3BlcmF0b3JzIGluIG9uZSBtcm93IChvcGVyYXRvciAz
KTogUEFTUwotdGVzdGluZyB3aXRoIG5vbi1zdHJldGNoeSBtbzogUEFTUworCitQQVNTIHN5bW1l
dHJpYyBzdHJldGNoaW5nIAorUEFTUyBsYXJnZSBkZXB0aCAKK1BBU1MgbGFyZ2UgaGVpZ2h0IAor
UEFTUyBtdGFibGUgCitQQVNTIHNldmVyYWwgc2libGluZ3Mgd2l0aCBkaWZmZXJlbnQgaGVpZ2h0
cy9kZXB0aHMgCitQQVNTIHRlc3Rpbmcgc2V2ZXJhbCBvcGVyYXRvcnMgaW4gb25lIG1yb3cgCitQ
QVNTIHRlc3Rpbmcgd2l0aCBub24tc3RyZXRjaHkgbW8gCiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL21hdGhtbC9wcmVzZW50YXRpb24vc3RyZXRjaHktZGVwdGgtaGVpZ2h0LXN5bW1ldHJpYy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9tYXRobWwvcHJlc2VudGF0aW9uL3N0cmV0Y2h5LWRl
cHRoLWhlaWdodC1zeW1tZXRyaWMtZXhwZWN0ZWQudHh0CmluZGV4IDVmNjg0MjFmNTNhNzM5Y2M5
Y2I5MTVhMjE3MGQ0NjdhMmZiM2I5YTIuLjk2ZDNhN2JkODZmNmM5NDRjMDI2YzQwMmRjNzFmZDBl
ODQ0MmVmMTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL21hdGhtbC9wcmVzZW50YXRpb24vc3Ry
ZXRjaHktZGVwdGgtaGVpZ2h0LXN5bW1ldHJpYy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvbWF0aG1sL3ByZXNlbnRhdGlvbi9zdHJldGNoeS1kZXB0aC1oZWlnaHQtc3ltbWV0cmljLWV4
cGVjdGVkLnR4dApAQCAtNCw4ICs0LDkgQEAgVGhpcyB0ZXN0IHBhc3NlcyBpZiB0aGUgYnJhY2Ug
c3RyZXRjaGVzIHN5bW1ldHJpY2FsbHkgYW5kIGlzIGxhcmdlIGVub3VnaCB0byBjb3YKICAKICAK
IAotbGFyZ2UgZGVwdGg6IFBBU1MKLWxhcmdlIGRlcHRoIChleHBsaWNpdCBzeW1tZXRyaWMgYXR0
cmlidXRlKTogUEFTUwotbGFyZ2UgaGVpZ2h0OiBQQVNTCi1sYXJnZSBoZWlnaHQgKGV4cGxpY2l0
IHN5bW1ldHJpYyBhdHRyaWJ1dGUpOiBQQVNTCisKK1BBU1MgbGFyZ2UgZGVwdGggCitQQVNTIGxh
cmdlIGRlcHRoIChleHBsaWNpdCBzeW1tZXRyaWMgYXR0cmlidXRlKSAKK1BBU1MgbGFyZ2UgaGVp
Z2h0IAorUEFTUyBsYXJnZSBoZWlnaHQgKGV4cGxpY2l0IHN5bW1ldHJpYyBhdHRyaWJ1dGUpIAog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tYXRobWwvcHJlc2VudGF0aW9uL3N0cmV0Y2h5LWRl
cHRoLWhlaWdodC1zeW1tZXRyaWMuaHRtbCBiL0xheW91dFRlc3RzL21hdGhtbC9wcmVzZW50YXRp
b24vc3RyZXRjaHktZGVwdGgtaGVpZ2h0LXN5bW1ldHJpYy5odG1sCmluZGV4IGNmZWUzMGQ5MWRh
ZjVjYzRjNjlhZTAzNTEzZmZhZGNkYjFkZGJkZjAuLjAwNDg3NTFiMjg0YTZjMGRmOTY0NGVkMjI1
YjU2YjExY2FhNzRlZjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL21hdGhtbC9wcmVzZW50YXRp
b24vc3RyZXRjaHktZGVwdGgtaGVpZ2h0LXN5bW1ldHJpYy5odG1sCisrKyBiL0xheW91dFRlc3Rz
L21hdGhtbC9wcmVzZW50YXRpb24vc3RyZXRjaHktZGVwdGgtaGVpZ2h0LXN5bW1ldHJpYy5odG1s
CkBAIC0yLDU0ICsyLDU3IEBACiAgIDxoZWFkPgogICAgIDx0aXRsZT5zdHJldGNoIGRlcHRoL2hl
aWdodDwvdGl0bGU+CiAgICAgPG1ldGEgY2hhcnNldD0idXRmLTgiPgorICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgogICAg
IDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KLSAgICAgIHZhciByZXN1bHQ7CisgICAg
ICBzZXR1cCh7ICJleHBsaWNpdF9kb25lIjogdHJ1ZSB9KTsKICAgICAgIHZhciBlcHNpbG9uID0g
MjsKIAotICAgICAgZnVuY3Rpb24gYWxtb3N0RXF1YWwoeCwgeSkgewotICAgICAgICAgIHJldHVy
biBNYXRoLmFicyh4IC0geSkgPCBlcHNpbG9uOwotICAgICAgfQotCi0gICAgICBmdW5jdGlvbiBh
c3NlcnQodGV4dCwgY29uZGl0aW9uKSB7Ci0gICAgICAgICAgcmVzdWx0ICs9IHRleHQgKyAiOiAi
ICsgKGNvbmRpdGlvbiA/ICJQQVNTIiA6ICJGQUlMIikgKyAiXG4iOwotICAgICAgfQotCiAgICAg
ICBmdW5jdGlvbiBnZXRBeGlzKGlkKSB7CiAgICAgICAgICAgdmFyIGZyYWMgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZnJhYyIgKyBpZCkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7CiAgICAg
ICAgICAgdmFyIHNwYWNlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNwYWNlIiArIGlkKS5n
ZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKICAgICAgICAgICByZXR1cm4gc3BhY2UuYm90dG9tIC0g
KGZyYWMudG9wICsgZnJhYy5ib3R0b20pIC8gMjsKICAgICAgIH0KIAotICAgICAgZnVuY3Rpb24g
dGVzdCgpIHsKLSAgICAgICAgICByZXN1bHQgPSAiIjsKKyAgICAgIGZ1bmN0aW9uIHJ1bigpIHsK
KworICAgICAgICAgIHRlc3QoZnVuY3Rpb24oKSB7CisgICAgICAgICAgICB2YXIgYXhpczEgPSBn
ZXRBeGlzKCIxIik7CisgICAgICAgICAgICB2YXIgczEgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiczEiKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKKyAgICAgICAgICAgIHZhciBjMSA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjMXJlZiIpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOwor
ICAgICAgICAgICAgYXNzZXJ0X2FwcHJveF9lcXVhbHMoczEudG9wLCBjMS50b3AsIGVwc2lsb24p
OworICAgICAgICAgICAgYXNzZXJ0X2FwcHJveF9lcXVhbHMoczEuaGVpZ2h0LCAoYzEuaGVpZ2h0
IC0gYXhpczEpICogMiwgZXBzaWxvbik7CisgICAgICAgICAgfSwgImxhcmdlIGRlcHRoIik7CiAK
LSAgICAgICAgICB2YXIgYXhpczEgPSBnZXRBeGlzKCIxIik7Ci0gICAgICAgICAgdmFyIHMxID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInMxIikuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7Ci0g
ICAgICAgICAgdmFyIGMxID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImMxcmVmIikuZ2V0Qm91
bmRpbmdDbGllbnRSZWN0KCk7Ci0gICAgICAgICAgYXNzZXJ0KCJsYXJnZSBkZXB0aCIsIGFsbW9z
dEVxdWFsKHMxLnRvcCwgYzEudG9wKSAmJiBhbG1vc3RFcXVhbChzMS5oZWlnaHQsIChjMS5oZWln
aHQgLSBheGlzMSkgKiAyKSk7CisgICAgICAgICAgdGVzdChmdW5jdGlvbigpIHsKKyAgICAgICAg
ICAgIHZhciBheGlzMWEgPSBnZXRBeGlzKCIxYSIpOworICAgICAgICAgICAgdmFyIHMxYSA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzMWEiKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKKyAg
ICAgICAgICAgIHZhciBjMWEgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYzFyZWZhIikuZ2V0
Qm91bmRpbmdDbGllbnRSZWN0KCk7CisgICAgICAgICAgICBhc3NlcnRfYXBwcm94X2VxdWFscyhz
MWEudG9wLCBjMWEudG9wLCBlcHNpbG9uKTsKKyAgICAgICAgICAgIGFzc2VydF9hcHByb3hfZXF1
YWxzKHMxYS5oZWlnaHQsIChjMWEuaGVpZ2h0IC0gYXhpczFhKSAqIDIsIGVwc2lsb24pOworICAg
ICAgICAgIH0sICJsYXJnZSBkZXB0aCAoZXhwbGljaXQgc3ltbWV0cmljIGF0dHJpYnV0ZSkiKTsK
IAotICAgICAgICAgIHZhciBheGlzMWEgPSBnZXRBeGlzKCIxYSIpOwotICAgICAgICAgIHZhciBz
MWEgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiczFhIikuZ2V0Qm91bmRpbmdDbGllbnRSZWN0
KCk7Ci0gICAgICAgICAgdmFyIGMxYSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjMXJlZmEi
KS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKLSAgICAgICAgICBhc3NlcnQoImxhcmdlIGRlcHRo
IChleHBsaWNpdCBzeW1tZXRyaWMgYXR0cmlidXRlKSIsIGFsbW9zdEVxdWFsKHMxYS50b3AsIGMx
YS50b3ApICYmIGFsbW9zdEVxdWFsKHMxYS5oZWlnaHQsIChjMWEuaGVpZ2h0IC0gYXhpczFhKSAq
IDIpKTsKKyAgICAgICAgICB0ZXN0KGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgdmFyIGF4aXMy
ID0gZ2V0QXhpcygiMiIpOworICAgICAgICAgICAgdmFyIHMyID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInMyIikuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7CisgICAgICAgICAgICB2YXIgYzIg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYzJyZWYiKS5nZXRCb3VuZGluZ0NsaWVudFJlY3Qo
KTsKKyAgICAgICAgICAgIGFzc2VydF9hcHByb3hfZXF1YWxzKHMyLmJvdHRvbSwgYzIuYm90dG9t
LCBlcHNpbG9uKTsKKyAgICAgICAgICAgIGFzc2VydF9hcHByb3hfZXF1YWxzKHMyLmhlaWdodCwg
KGMyLmhlaWdodCArIGF4aXMyKSAqIDIsIGVwc2lsb24pOworICAgICAgICAgIH0sICJsYXJnZSBo
ZWlnaHQiKTsKIAotICAgICAgICAgIHZhciBheGlzMiA9IGdldEF4aXMoIjIiKTsKLSAgICAgICAg
ICB2YXIgczIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiczIiKS5nZXRCb3VuZGluZ0NsaWVu
dFJlY3QoKTsKLSAgICAgICAgICB2YXIgYzIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYzJy
ZWYiKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKLSAgICAgICAgICBhc3NlcnQoImxhcmdlIGhl
aWdodCIsIGFsbW9zdEVxdWFsKHMyLmJvdHRvbSwgYzIuYm90dG9tKSAmJiBhbG1vc3RFcXVhbChz
Mi5oZWlnaHQsIChjMi5oZWlnaHQgKyBheGlzMikgKiAyKSk7CisgICAgICAgICAgdGVzdChmdW5j
dGlvbigpIHsKKyAgICAgICAgICAgIHZhciBheGlzMmEgPSBnZXRBeGlzKCIyYSIpOworICAgICAg
ICAgICAgdmFyIHMyYSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzMmEiKS5nZXRCb3VuZGlu
Z0NsaWVudFJlY3QoKTsKKyAgICAgICAgICAgIHZhciBjMmEgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiYzJyZWZhIikuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7CisgICAgICAgICAgICBhc3Nl
cnRfYXBwcm94X2VxdWFscyhzMmEuYm90dG9tLCBjMmEuYm90dG9tLCBlcHNpbG9uKTsKKyAgICAg
ICAgICAgIGFzc2VydF9hcHByb3hfZXF1YWxzKHMyYS5oZWlnaHQsIChjMmEuaGVpZ2h0ICsgYXhp
czJhKSAqIDIsIGVwc2lsb24pOworICAgICAgICAgIH0sICJsYXJnZSBoZWlnaHQgKGV4cGxpY2l0
IHN5bW1ldHJpYyBhdHRyaWJ1dGUpIik7CiAKLSAgICAgICAgICB2YXIgYXhpczJhID0gZ2V0QXhp
cygiMmEiKTsKLSAgICAgICAgICB2YXIgczJhID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInMy
YSIpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOwotICAgICAgICAgIHZhciBjMmEgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiYzJyZWZhIikuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7Ci0gICAg
ICAgICAgYXNzZXJ0KCJsYXJnZSBoZWlnaHQgKGV4cGxpY2l0IHN5bW1ldHJpYyBhdHRyaWJ1dGUp
IiwgYWxtb3N0RXF1YWwoczJhLmJvdHRvbSwgYzJhLmJvdHRvbSkgJiYgYWxtb3N0RXF1YWwoczJh
LmhlaWdodCwgKGMyYS5oZWlnaHQgKyBheGlzMmEpICogMikpOwotICAgICAgICAgIGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJyZXN1bHQiKS5pbm5lclRleHQgPSByZXN1bHQ7Ci0gIAotICAgICAg
ICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFz
VGV4dCgpOworICAgICAgICAgIGRvbmUoKTsKICAgICAgIH0KICAgICA8L3NjcmlwdD4KICAgPC9o
ZWFkPgotICA8Ym9keSBvbmxvYWQ9InRlc3QoKSI+CisgIDxib2R5IG9ubG9hZD0icnVuKCkiPgog
CiAgICAgPHA+VGhpcyB0ZXN0IHBhc3NlcyBpZiB0aGUgYnJhY2Ugc3RyZXRjaGVzIHN5bW1ldHJp
Y2FsbHkgYW5kIGlzIGxhcmdlIGVub3VnaCB0byBjb3ZlciBpdHMgc2libGluZy48L3A+CiAKQEAg
LTEwNCw3ICsxMDcsNSBAQAogICAgICAgPC9tYXRoPgogICAgIDwvcD4KIAotICAgIDxkaXYgaWQ9
InJlc3VsdCI+PC9kaXY+Ci0KICAgPC9ib2R5PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvbWF0aG1sL3ByZXNlbnRhdGlvbi9zdHJldGNoeS1kZXB0aC1oZWlnaHQuaHRtbCBiL0xh
eW91dFRlc3RzL21hdGhtbC9wcmVzZW50YXRpb24vc3RyZXRjaHktZGVwdGgtaGVpZ2h0Lmh0bWwK
aW5kZXggYjg1MWZkMTI5Y2NlZDI0YTE0ZGY2ZjRlYmMxZTk1ZTBjZjA3ZjdjOC4uNmY3NTUxMzYx
NTZiN2VjMDI2MzUyZGIxMDE2ZjRlMWY2NWI2MjFkNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
bWF0aG1sL3ByZXNlbnRhdGlvbi9zdHJldGNoeS1kZXB0aC1oZWlnaHQuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9tYXRobWwvcHJlc2VudGF0aW9uL3N0cmV0Y2h5LWRlcHRoLWhlaWdodC5odG1sCkBA
IC0yLDY1ICsyLDc2IEBACiAgIDxoZWFkPgogICAgIDx0aXRsZT5zdHJldGNoIGRlcHRoL2hlaWdo
dDwvdGl0bGU+CiAgICAgPG1ldGEgY2hhcnNldD0idXRmLTgiPgorICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgogICAgIDxz
Y3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KLSAgICAgIHZhciByZXN1bHQ7CisgICAgICBz
ZXR1cCh7ICJleHBsaWNpdF9kb25lIjogdHJ1ZSB9KTsKICAgICAgIHZhciBlcHNpbG9uID0gMTsK
IAotICAgICAgZnVuY3Rpb24gYWxtb3N0RXF1YWwoeCwgeSkgewotICAgICAgICAgIHJldHVybiBN
YXRoLmFicyh4IC0geSkgPCBlcHNpbG9uOwotICAgICAgfQotCi0gICAgICBmdW5jdGlvbiBhc3Nl
cnQodGV4dCwgY29uZGl0aW9uKSB7Ci0gICAgICAgICAgcmVzdWx0ICs9IHRleHQgKyAiOiAiICsg
KGNvbmRpdGlvbiA/ICJQQVNTIiA6ICJGQUlMIikgKyAiXG4iOwotICAgICAgfQotCi0gICAgICBm
dW5jdGlvbiB0ZXN0KCkgewotICAgICAgICAgIHJlc3VsdCA9ICIiOwotCisgICAgICBmdW5jdGlv
biBydW4oKSB7CisgICAgICAgIHRlc3QoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgdmFyIHMxID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInMxIikuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7CiAg
ICAgICAgICAgdmFyIGMxID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImMxIikuZ2V0Qm91bmRp
bmdDbGllbnRSZWN0KCk7Ci0gICAgICAgICAgYXNzZXJ0KCJzeW1tZXRyaWMgc3RyZXRjaGluZyIs
IGFsbW9zdEVxdWFsKHMxLnRvcCwgYzEudG9wKSAmJiBhbG1vc3RFcXVhbChzMS5ib3R0b20sIGMx
LmJvdHRvbSkpOworICAgICAgICAgIGFzc2VydF9hcHByb3hfZXF1YWxzKHMxLnRvcCwgYzEudG9w
LCBlcHNpbG9uKTsKKyAgICAgICAgICBhc3NlcnRfYXBwcm94X2VxdWFscyhzMS5ib3R0b20sIGMx
LmJvdHRvbSwgZXBzaWxvbik7CisgICAgICAgIH0sICJzeW1tZXRyaWMgc3RyZXRjaGluZyIpOwog
CisgICAgICAgIHRlc3QoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgdmFyIHMyID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInMyIikuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7CiAgICAgICAgICAg
dmFyIGMyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImMyIikuZ2V0Qm91bmRpbmdDbGllbnRS
ZWN0KCk7Ci0gICAgICAgICAgYXNzZXJ0KCJsYXJnZSBkZXB0aCIsIGFsbW9zdEVxdWFsKHMyLnRv
cCwgYzIudG9wKSAmJiBhbG1vc3RFcXVhbChzMi5ib3R0b20sIGMyLmJvdHRvbSkpOworICAgICAg
ICAgIGFzc2VydF9hcHByb3hfZXF1YWxzKHMyLnRvcCwgYzIudG9wLCBlcHNpbG9uKTsKKyAgICAg
ICAgICBhc3NlcnRfYXBwcm94X2VxdWFscyhzMi5ib3R0b20sIGMyLmJvdHRvbSwgZXBzaWxvbik7
CisgICAgICAgIH0sICJsYXJnZSBkZXB0aCIpOwogCisgICAgICAgIHRlc3QoZnVuY3Rpb24oKSB7
CiAgICAgICAgICAgdmFyIHMzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInMzIikuZ2V0Qm91
bmRpbmdDbGllbnRSZWN0KCk7CiAgICAgICAgICAgdmFyIGMzID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImMzIikuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7Ci0gICAgICAgICAgYXNzZXJ0KCJs
YXJnZSBoZWlnaHQiLCBhbG1vc3RFcXVhbChzMy50b3AsIGMzLnRvcCkgJiYgYWxtb3N0RXF1YWwo
czMuYm90dG9tLCBjMy5ib3R0b20pKTsKKyAgICAgICAgICBhc3NlcnRfYXBwcm94X2VxdWFscyhz
My50b3AsIGMzLnRvcCwgZXBzaWxvbik7CisgICAgICAgICAgYXNzZXJ0X2FwcHJveF9lcXVhbHMo
czMuYm90dG9tLCBjMy5ib3R0b20sIGVwc2lsb24pOworICAgICAgICB9LCAibGFyZ2UgaGVpZ2h0
Iik7CiAKKyAgICAgICAgdGVzdChmdW5jdGlvbigpIHsKICAgICAgICAgICB2YXIgczQgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiczQiKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKICAgICAg
ICAgICB2YXIgYzQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYzQiKS5nZXRCb3VuZGluZ0Ns
aWVudFJlY3QoKTsKLSAgICAgICAgICBhc3NlcnQoIm10YWJsZSIsIGFsbW9zdEVxdWFsKHM0LnRv
cCwgYzQudG9wKSAmJiBhbG1vc3RFcXVhbChzNC5ib3R0b20sIGM0LmJvdHRvbSkpOworICAgICAg
ICAgIGFzc2VydF9hcHByb3hfZXF1YWxzKHM0LnRvcCwgYzQudG9wLCBlcHNpbG9uKTsKKyAgICAg
ICAgICBhc3NlcnRfYXBwcm94X2VxdWFscyhzNC5ib3R0b20sIGM0LmJvdHRvbSwgZXBzaWxvbik7
CisgICAgICAgIH0sICJtdGFibGUiKTsKIAorICAgICAgICB0ZXN0KGZ1bmN0aW9uKCkgewogICAg
ICAgICAgIHZhciBzNSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzNSIpLmdldEJvdW5kaW5n
Q2xpZW50UmVjdCgpOwogICAgICAgICAgIHZhciBjNW1heGhlaWdodCA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjNW1heGhlaWdodCIpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOwogICAgICAg
ICAgIHZhciBjNW1heGRlcHRoID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImM1bWF4ZGVwdGgi
KS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKLSAgICAgICAgICBhc3NlcnQoInNldmVyYWwgc2li
bGluZ3Mgd2l0aCBkaWZmZXJlbnQgaGVpZ2h0cy9kZXB0aHMiLCBhbG1vc3RFcXVhbChzNS50b3As
IGM1bWF4aGVpZ2h0LnRvcCkgJiYgYWxtb3N0RXF1YWwoczUuYm90dG9tLCBjNW1heGRlcHRoLmJv
dHRvbSkpOwotCisgICAgICAgICAgYXNzZXJ0X2FwcHJveF9lcXVhbHMoczUudG9wLCBjNW1heGhl
aWdodC50b3AsIGVwc2lsb24pOworICAgICAgICAgIGFzc2VydF9hcHByb3hfZXF1YWxzKHM1LmJv
dHRvbSwgYzVtYXhkZXB0aC5ib3R0b20sIGVwc2lsb24pOworICAgICAgICB9LCAic2V2ZXJhbCBz
aWJsaW5ncyB3aXRoIGRpZmZlcmVudCBoZWlnaHRzL2RlcHRocyIpOwogCisgICAgICAgIHRlc3Qo
ZnVuY3Rpb24oKSB7CiAgICAgICAgICAgdmFyIGM2bWF4aGVpZ2h0ID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImM2bWF4aGVpZ2h0IikuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7CiAgICAgICAg
ICAgdmFyIGM2bWF4ZGVwdGggPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYzZtYXhkZXB0aCIp
LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOwogICAgICAgICAgIGZvciAodmFyIGkgPSAxOyBpIDw9
IDM7IGkrKykgewotICAgICAgICAgICAgICB2YXIgczYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiczZfIiArIGkpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOwotICAgICAgICAgICAgICBhc3Nl
cnQoInRlc3Rpbmcgc2V2ZXJhbCBvcGVyYXRvcnMgaW4gb25lIG1yb3cgKG9wZXJhdG9yICIgKyBp
ICsgIikiLCBhbG1vc3RFcXVhbChzNi50b3AsIGM2bWF4aGVpZ2h0LnRvcCkgJiYgYWxtb3N0RXF1
YWwoczYuYm90dG9tLCBjNm1heGRlcHRoLmJvdHRvbSkpOworICAgICAgICAgICAgdmFyIHM2ID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInM2XyIgKyBpKS5nZXRCb3VuZGluZ0NsaWVudFJlY3Qo
KTsKKyAgICAgICAgICAgIGFzc2VydF9hcHByb3hfZXF1YWxzKHM2LnRvcCwgYzZtYXhoZWlnaHQu
dG9wLCBlcHNpbG9uLCAidG9wIG9mIG9wZXJhdG9yIiArIGkpOworICAgICAgICAgICAgYXNzZXJ0
X2FwcHJveF9lcXVhbHMoczYuYm90dG9tLCBjNm1heGRlcHRoLmJvdHRvbSwgYzZtYXhoZWlnaHQu
dG9wLCBlcHNpbG9uLCAiYm90dG9tIG9mIG9wZXJhdG9yIiArIGkpOwogICAgICAgICAgIH0KKyAg
ICAgICAgfSwgInRlc3Rpbmcgc2V2ZXJhbCBvcGVyYXRvcnMgaW4gb25lIG1yb3ciKTsKIAorICAg
ICAgICB0ZXN0KGZ1bmN0aW9uKCkgewogICAgICAgICAgIHZhciBzNzEgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiczcxIikuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7CiAgICAgICAgICAgdmFy
IGM3MSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjNzEiKS5nZXRCb3VuZGluZ0NsaWVudFJl
Y3QoKTsKICAgICAgICAgICB2YXIgczcyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInM3MiIp
LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOwogICAgICAgICAgIHZhciBjNzIgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiYzcyIikuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7CiAKLSAgICAgICAg
ICBhc3NlcnQoInRlc3Rpbmcgd2l0aCBub24tc3RyZXRjaHkgbW8iLCBhbG1vc3RFcXVhbChzNzEu
dG9wLCBjNzEudG9wKSAmJiBhbG1vc3RFcXVhbChzNzEuYm90dG9tLCBjNzEuYm90dG9tKSAmJiBh
bG1vc3RFcXVhbChzNzIudG9wLCBjNzIudG9wKSAmJiBhbG1vc3RFcXVhbChzNzIuYm90dG9tLCBj
NzIuYm90dG9tKSk7CisgICAgICAgICAgICBhc3NlcnRfYXBwcm94X2VxdWFscyhzNzEudG9wLCBj
NzEudG9wLCBlcHNpbG9uKTsKKyAgICAgICAgICAgIGFzc2VydF9hcHByb3hfZXF1YWxzKHM3MS5i
b3R0b20sIGM3MS5ib3R0b20sIGVwc2lsb24pOworICAgICAgICAgICAgYXNzZXJ0X2FwcHJveF9l
cXVhbHMoczcyLnRvcCwgYzcyLnRvcCwgZXBzaWxvbik7CisgICAgICAgICAgICBhc3NlcnRfYXBw
cm94X2VxdWFscyhzNzIuYm90dG9tLCBjNzIuYm90dG9tLCBlcHNpbG9uKTsKKyAgICAgICAgfSwg
InRlc3Rpbmcgd2l0aCBub24tc3RyZXRjaHkgbW8iKTsKIAotICAgICAgICAgIGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJyZXN1bHQiKS5pbm5lclRleHQgPSByZXN1bHQ7Ci0gIAotICAgICAgICAg
IGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNU
ZXh0KCk7CisgICAgICAgIGRvbmUoKTsKICAgICAgIH0KICAgICA8L3NjcmlwdD4KICAgPC9oZWFk
PgotICA8Ym9keSBvbmxvYWQ9InRlc3QoKSI+CisgIDxib2R5IG9ubG9hZD0icnVuKCkiPgogCiAg
ICAgPHA+VGhpcyB0ZXN0IHBhc3NlcyBpZiB0aGUgZGVwdGggYW5kIGhlaWdodCBvZiBicmFjZXMg
bWF0Y2ggdGhlIG1heGltdW0gZGVwdGggYW5kIGhlaWdodCBvZiBpdHMgc2libGluZ3MuPC9wPgog
CkBAIC0yMTgsNyArMjI5LDUgQEAKICAgICAgIDwvbWF0aD4KICAgICA8L3A+CiAKLSAgICA8ZGl2
IGlkPSJyZXN1bHQiPjwvZGl2PgotCiAgIDwvYm9keT4KIDwvaHRtbD4K
</data>
<flag name="review"
          id="295830"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>