<?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>15921</bug_id>
          
          <creation_ts>2007-11-09 07:26:13 -0800</creation_ts>
          <short_desc>Changing a Range should change a Selection previously set to this Range</short_desc>
          <delta_ts>2020-02-17 15:10:26 -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>HTML Editing</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>DUPLICATE</resolution>
          <dup_id>145212</dup_id>
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P3</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexey Proskuryakov">ap</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>alex</cc>
    
    <cc>ayg</cc>
    
    <cc>clopez</cc>
    
    <cc>db</cc>
    
    <cc>eric</cc>
    
    <cc>jparent</cc>
    
    <cc>michael.vm</cc>
    
    <cc>ojan</cc>
    
    <cc>syoichi</cc>
    
    <cc>tkent</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>60775</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2007-11-09 07:26:13 -0800</bug_when>
    <thetext>In Firefox, any change to the range automatically changes the selection. Not so in WebKit.

Of course, our implementation of addRange() already deviates from Firefox original a lot, because we don&apos;t support disjoint selections.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>60776</commentid>
    <comment_count>1</comment_count>
      <attachid>17155</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2007-11-09 07:26:38 -0800</bug_when>
    <thetext>Created attachment 17155
test case</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>60779</commentid>
    <comment_count>2</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2007-11-09 08:02:55 -0800</bug_when>
    <thetext>If this is fixed, then it will make sense to implement Selection.removeRange(), which unbreaks the link.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>109303</commentid>
    <comment_count>3</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2009-02-11 08:19:40 -0800</bug_when>
    <thetext>*** Bug 23885 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>109395</commentid>
    <comment_count>4</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-02-11 16:42:04 -0800</bug_when>
    <thetext>Ok, I&apos;ve investigated Gecko&apos;s Selection more closely.  Attaching a test case in a minute.

FF&apos;s getRangeAt(x) functions on live range objects (as we knew already).  When addRange(range) is called, a range is appended to the range list.  The range list is kept sorted first by document order of the start positions, then by length of the ranges.

The focus and anchor are set to the start/end of the last range added.  If the last range added would be sorted to somewhere other than the end of the list, it still becomes the new focus/anchor.  If that range is later removed, then the last sorted range in the range list becomes the new focus/anchor.

I think we want to design our own API.  This one seems kinda screwy to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>109396</commentid>
    <comment_count>5</comment_count>
      <attachid>27579</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-02-11 16:47:14 -0800</bug_when>
    <thetext>Created attachment 27579
JS for test case (ignore the PASS/FAIL values) which shows FF&apos;s screwy behavior

note that the PASS/FAIL values for this test do not correspond to any browser or desired behavior.  I have just been using this to test what FF/WebKit do, and planned to update it to match the desired behavior if we chose to match FF&apos;s Selection API, which I don&apos;t think we really should do.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1325063</commentid>
    <comment_count>6</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2017-07-03 01:48:45 -0700</bug_when>
    <thetext>Chromium fixed this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1527719</commentid>
    <comment_count>7</comment_count>
    <who name="Danilo">db</who>
    <bug_when>2019-04-16 06:05:07 -0700</bug_when>
    <thetext>This is probably a duplicate of https://bugs.webkit.org/show_bug.cgi?id=145212, right? (This ticket is older than 145212, but that other issue describes the root issue more clearly.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1619923</commentid>
    <comment_count>8</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2020-02-17 15:10:26 -0800</bug_when>
    <thetext>(In reply to Danilo from comment #7)
&gt; This is probably a duplicate of
&gt; https://bugs.webkit.org/show_bug.cgi?id=145212, right? (This ticket is older
&gt; than 145212, but that other issue describes the root issue more clearly.)

I also think its the same issue. Let&apos;s close this as duplicate even if its older for what you comment (more clearly described on the other bug)

*** This bug has been marked as a duplicate of bug 145212 ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>17155</attachid>
            <date>2007-11-09 07:26:38 -0800</date>
            <delta_ts>2007-11-09 07:26:38 -0800</delta_ts>
            <desc>test case</desc>
            <filename>addRange.html</filename>
            <type>text/html</type>
            <size>320</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">PGh0bWw+Cjxib2R5Pgo8ZGl2IGlkPSJ0ZXN0Ij5UaGlzIHRleHQgc2hvdWxkIGJlIHNlbGVjdGVk
LjwvZGl2Pgo8c2NyaXB0Pgp2YXIgcyA9IHdpbmRvdy5nZXRTZWxlY3Rpb24oKTsKdmFyIHRlc3RE
aXYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVzdCIpOwp2YXIgciA9IGRvY3VtZW50LmNy
ZWF0ZVJhbmdlKCk7CgpyLnNldFN0YXJ0KHRlc3REaXYsIDApOwpyLnNldEVuZCh0ZXN0RGl2LCAw
KTsKcy5hZGRSYW5nZShyKTsKCnIuc2V0U3RhcnQodGVzdERpdiwgMCk7CnIuc2V0RW5kKHRlc3RE
aXYsIDEpOwoKPC9zY3JpcHQ+CjwvYm9keT4KPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>27579</attachid>
            <date>2009-02-11 16:47:14 -0800</date>
            <delta_ts>2009-02-11 16:47:14 -0800</delta_ts>
            <desc>JS for test case (ignore the PASS/FAIL values) which shows FF&apos;s screwy behavior</desc>
            <filename>multi-range.js</filename>
            <type>application/x-javascript</type>
            <size>9392</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">ZGVzY3JpcHRpb24oIlRlc3QgaG93IHNlbGVjdGlvbnMgYmVoYXZlIHdpdGggbXVsdGlwbGUgcmFu
Z2VzLiIpCgp2YXIgdGVzdERpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwpkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHRlc3REaXYpOwp2YXIgdGV4dE5vZGUgPSBkb2N1bWVudC5j
cmVhdGVUZXh0Tm9kZSgiYWJjIik7CnRlc3REaXYuYXBwZW5kQ2hpbGQodGV4dE5vZGUpOwp2YXIg
dGV4dE5vZGUyID0gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoImRlZiIpOwp2YXIgc3BhbiA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTsKc3Bhbi5hcHBlbmRDaGlsZCh0ZXh0Tm9kZTIp
Owp0ZXN0RGl2LmFwcGVuZENoaWxkKHNwYW4pOwoKdmFyIHNlbCA9IHdpbmRvdy5nZXRTZWxlY3Rp
b24oKTsKCmZ1bmN0aW9uIG1ha2VSYW5nZShzdGFydENvbnRhaW5lciwgc3RhcnRPZmZzZXQsIGVu
ZENvbnRhaW5lciwgZW5kT2Zmc2V0KQp7CiAgICB2YXIgcmFuZ2UgPSBkb2N1bWVudC5jcmVhdGVS
YW5nZSgpOwogICAgcmFuZ2Uuc2V0U3RhcnQoc3RhcnRDb250YWluZXIsIHN0YXJ0T2Zmc2V0KTsK
ICAgIHJhbmdlLnNldEVuZChlbmRDb250YWluZXIsIGVuZE9mZnNldCk7CiAgICByZXR1cm4gcmFu
Z2U7Cn0KCmZ1bmN0aW9uIG1ha2VSYW5nZUluTm9kZShzdGFydENvbnRhaW5lciwgc3RhcnRPZmZz
ZXQsIGVuZE9mZnNldCkKewogICAgcmV0dXJuIG1ha2VSYW5nZShzdGFydENvbnRhaW5lciwgc3Rh
cnRPZmZzZXQsIHN0YXJ0Q29udGFpbmVyLCBlbmRPZmZzZXQpOwp9CgpmdW5jdGlvbiBzZXRTZWxl
Y3Rpb25Ub1JhbmdlcyhyYW5nZXMpCnsKICAgIHNlbC5yZW1vdmVBbGxSYW5nZXMoKTsKICAgIGZv
ciAodmFyIHggPSAwOyB4IDwgcmFuZ2VzLmxlbmd0aDsgeCsrKSB7CiAgICAgICAgc2VsLmFkZFJh
bmdlKHJhbmdlc1t4XSk7CiAgICB9Cn0KCmZ1bmN0aW9uIHBvc2l0aW9uQXNTdHJpbmcobm9kZSwg
b2Zmc2V0KQp7CiAgICByZXR1cm4gIigiICsgbm9kZSArICIsICIgKyBvZmZzZXQgKyAiKSI7Cn0K
CmZ1bmN0aW9uIHJhbmdlQXNTdHJpbmcocmFuZ2UpCnsKICAgIHJldHVybiAiWyIgKyBwb3NpdGlv
bkFzU3RyaW5nKHJhbmdlLnN0YXJ0Q29udGFpbmVyLCByYW5nZS5zdGFydE9mZnNldCkgKyAiLCAi
ICsgcG9zaXRpb25Bc1N0cmluZyhyYW5nZS5lbmRDb250YWluZXIsIHJhbmdlLmVuZE9mZnNldCkg
KyAiXSI7Cn0KCmZ1bmN0aW9uIHJhbmdlc0VxdWFsKHJhbmdlMSwgcmFuZ2UyKQp7CiAgICBpZiAo
cmFuZ2UxLnN0YXJ0Q29udGFpbmVyICE9IHJhbmdlMi5zdGFydENvbnRhaW5lcikKICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAgICBpZiAocmFuZ2UxLnN0YXJ0T2Zmc2V0ICE9IHJhbmdlMi5zdGFydE9m
ZnNldCkKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICBpZiAocmFuZ2UxLmVuZENvbnRhaW5lciAh
PSByYW5nZTIuZW5kQ29udGFpbmVyKQogICAgICAgIHJldHVybiBmYWxzZTsKICAgIGlmIChyYW5n
ZTEuZW5kT2Zmc2V0ICE9IHJhbmdlMi5lbmRPZmZzZXQpCiAgICAgICAgcmV0dXJuIGZhbHNlOwog
ICAgaWYgKHJhbmdlMS5jb2xsYXBzZWQgIT0gcmFuZ2UyLmNvbGxhcHNlZCkgewogICAgICAgIHRl
c3RGYWlsZWQoIlNvbWV0aGluZyBpcyB2ZXJ5IGJyb2tlbiwgdHdvIHJhbmdlcyB3aGljaCBhcmUg
b3RoZXJ3aXNlIGVxdWFsIGFyZSBub3QgZXF1YWxseSBjb2xsYXBzZWQhIik7CiAgICAgICAgcmV0
dXJuIGZhbHNlOwogICAgfQogICAgcmV0dXJuIHRydWU7Cn0KCmZ1bmN0aW9uIHJhbmdlc1Nob3Vs
ZEJlRXF1YWwocmFuZ2UsIGV4cGVjdGVkUmFuZ2UsIHJhbmdlV2FzU3RyaW5nKQp7CiAgICBpZiAo
IXJhbmdlV2FzU3RyaW5nKQogICAgICAgIHJhbmdlV2FzU3RyaW5nID0gInJhbmdlIjsKCiAgICBp
ZiAocmFuZ2VzRXF1YWwocmFuZ2UsIGV4cGVjdGVkUmFuZ2UpKSB7CiAgICAgICAgdGVzdFBhc3Nl
ZChyYW5nZVdhc1N0cmluZyArICIgaXMgIiArIHJhbmdlQXNTdHJpbmcocmFuZ2UpKTsKICAgIH0g
ZWxzZSB7CiAgICAgICAgdGVzdEZhaWxlZChyYW5nZVdhc1N0cmluZyArICIgaXMgIiArIHJhbmdl
QXNTdHJpbmcocmFuZ2UpICsgIiBleHBlY3RlZCAiICsgcmFuZ2VBc1N0cmluZyhleHBlY3RlZFJh
bmdlKSk7CiAgICB9Cn0KCmZ1bmN0aW9uIHRlc3RHZXRSYW5nZUF0U2FtZVBvaW50ZXJzKCkKewog
ICAgdmFyIGV4cGVjdGVkUmFuZ2UgPSBtYWtlUmFuZ2VJbk5vZGUodGV4dE5vZGUsIDAsIDEpOwog
ICAgc2VsLnJlbW92ZUFsbFJhbmdlcygpOwogICAgc2VsLmFkZFJhbmdlKGV4cGVjdGVkUmFuZ2Up
OwogICAgdmFyIHJhbmdlID0gc2VsLmdldFJhbmdlQXQoMCk7CiAgICB2YXIgcmFuZ2VOYW1lID0g
InNlbGVjdGlvbi5nZXRSYW5nZUF0KDApIjsKICAgIGRlYnVnKCJUZXN0IHRoYXQgYSByYW5nZSBh
ZGRlZCBieSBhZGRSYW5nZSBpcyBpZGVudGljYWwgdG8gdGhlIHNhbWUgcmFuZ2UgcmV0dXJuZWQg
ZnJvbSBnZXRSYW5nZUF0IikKICAgIHJhbmdlc1Nob3VsZEJlRXF1YWwocmFuZ2UsIGV4cGVjdGVk
UmFuZ2UsIHJhbmdlTmFtZSk7CgogICAgaWYgKHJhbmdlICE9PSBleHBlY3RlZFJhbmdlKSB7CiAg
ICAgICAgdGVzdFBhc3NlZChyYW5nZU5hbWUgKyAiIGlzICE9PSAiICsgcmFuZ2VBc1N0cmluZyhy
YW5nZSkpOwogICAgfSBlbHNlIHsKICAgICAgICB0ZXN0RmFpbGVkKHJhbmdlTmFtZSArICIgaXMg
PT09ICIgKyByYW5nZUFzU3RyaW5nKHJhbmdlKSArICIgYnV0IGl0IHNob3VsZG4ndCBiZSB0aGUg
c2FtZSBvYmplY3QhIik7CiAgICB9CgogICAgcmFuZ2Uuc2V0RW5kKHRleHROb2RlLCAyKTsKICAg
IGlmIChzZWwuZm9jdXNPZmZzZXQgPT0gMSkgewogICAgICAgIHRlc3RQYXNzZWQoInNlbGVjdGlv
bi5nZXRSYW5nZUF0KDApLnNldEVuZCBkaWQgbm90IG1vZGlmeSB0aGUgc2VsZWN0aW9uIik7CiAg
ICB9IGVsc2UgewogICAgICAgIHRlc3RGYWlsZWQoInNlbGVjdGlvbi5nZXRSYW5nZUF0KDApLnNl
dEVuZCBtb2RpZmllZCB0aGUgc2VsZWN0aW9uISIpOwogICAgfQp9CgpmdW5jdGlvbiBzZWxlY3Rp
b25TaG91bGRIYXZlUmFuZ2VzKHJhbmdlcykKewogICAgaWYgKHJhbmdlcy5sZW5ndGggPT0gc2Vs
LnJhbmdlQ291bnQpIHsKICAgICAgICB0ZXN0UGFzc2VkKCJzZWxlY3Rpb24ucmFuZ2VDb3VudCBp
cyAiICsgc2VsLnJhbmdlQ291bnQpOwogICAgfSBlbHNlIHsKICAgICAgICB0ZXN0RmFpbGVkKCJz
ZWxlY3Rpb24ucmFuZ2VDb3VudCBpcyAiICsgc2VsLnJhbmdlQ291bnQgKyAiIGV4cGVjdGVkICIg
KyByYW5nZXMubGVuZ3RoKTsKICAgIH0KICAgIGZvciAodmFyIHggPSAwOyB4IDwgc2VsLnJhbmdl
Q291bnQ7IHgrKykgewogICAgICAgIHZhciBleHBlY3RlZFJhbmdlID0gcmFuZ2VzW3hdOwogICAg
ICAgIHZhciByYW5nZTsKICAgICAgICB0cnkgewogICAgICAgICAgICByYW5nZSA9IHNlbC5nZXRS
YW5nZUF0KHgpOwogICAgICAgIH0gY2F0Y2goZSkgewogICAgICAgICAgICB0ZXN0RmFpbGVkKCJz
ZWxlY3Rpb24uZ2V0UmFuZ2VBdCgiICsgeCArICIpIHRocmV3IGV4Y2VwdGlvbjogIiArIGUpOwog
ICAgICAgICAgICBjb250aW51ZTsKICAgICAgICB9CiAgICAgICAgdmFyIHJhbmdlTmFtZSA9ICJz
ZWxlY3Rpb24uZ2V0UmFuZ2VBdCgiICsgeCArICIpIjsKICAgICAgICByYW5nZXNTaG91bGRCZUVx
dWFsKHJhbmdlLCBleHBlY3RlZFJhbmdlLCByYW5nZU5hbWUpOwogICAgfQp9Cgp2YXIgYW5jaG9y
Tm9kZUhhY2ssIGFuY2hvck9mZnNldEhhY2ssIGZvY3VzTm9kZUhhY2ssIGZvY3VzT2Zmc2V0SGFj
azsKZnVuY3Rpb24gc2VsZWN0aW9uU2hvdWxkSGF2ZUFuY2hvckFuZEZvY3VzKGFuY2hvck5vZGUs
IGFuY2hvck9mZnNldCwgZm9jdXNOb2RlLCBmb2N1c09mZnNldCkKewogICAgc2hvdWxkQmUoInNl
bC5hbmNob3JOb2RlIiwgYW5jaG9yTm9kZSk7CiAgICBzaG91bGRCZSgic2VsLmFuY2hvck9mZnNl
dCIsIGFuY2hvck9mZnNldCk7CiAgICBzaG91bGRCZSgic2VsLmZvY3VzTm9kZSIsIGZvY3VzTm9k
ZSk7CiAgICBzaG91bGRCZSgic2VsLmZvY3VzT2Zmc2V0IiwgZm9jdXNPZmZzZXQpOwp9CgpkZWJ1
ZygiVGVzdCBiYXNpYyBtdWx0aS1yYW5nZSBzdXBwb3J0Iik7CnZhciByYW5nZTEgPSBtYWtlUmFu
Z2VJbk5vZGUodGV4dE5vZGUsIDAsIDEpOwp2YXIgcmFuZ2UyID0gbWFrZVJhbmdlSW5Ob2RlKHRl
eHROb2RlMiwgMiwgMyk7CnZhciByYW5nZXMgPSBbcmFuZ2UxLCByYW5nZTJdOwpzZXRTZWxlY3Rp
b25Ub1JhbmdlcyhyYW5nZXMpOwpzZWxlY3Rpb25TaG91bGRIYXZlUmFuZ2VzKHJhbmdlcyk7Cgov
LyBUZXN0IG11bHRpcGxlIHJhbmdlcywgd2hhdCBpcyB0aGUgYW5jaG9yIGFuZCBmb2N1cz8KZGVi
dWcoIldoYXQgaXMgdGhlIGFuY2hvci9mb2N1cyBvbiBhIG11bHRpLXJhbmdlIHNlbGVjdGlvbj8i
KTsKc2hvdWxkQmUoInNlbC5hbmNob3JOb2RlIiwgInRleHROb2RlIik7CnNob3VsZEJlKCJzZWwu
YW5jaG9yT2Zmc2V0IiwgIjAiKTsKc2hvdWxkQmUoInNlbC5mb2N1c05vZGUiLCAidGV4dE5vZGUy
Iik7CnNob3VsZEJlKCJzZWwuZm9jdXNPZmZzZXQiLCAiMSIpOwoKCmRlYnVnKCJUZXN0IG11bHRp
LXJhbmdlIHN1cHBvcnQgd2hlcmUgcmFuZ2VzIGFyZSBhZGRlZCBpbiByZXZlcnNlIGRvY3VtZW50
IG9yZGVyIik7Ci8vIEZGIHNlZW1zIHRvIHNvcnQgdGhlbS4gIFdlYktpdCBvbmx5IHN1cHBvcnRz
IG9uZSByYW5nZSBhdCBhIHRpbWUsIHNvIHVzZXMgdGhlIGxhc3Qgb25lCnZhciByYW5nZTEgPSBt
YWtlUmFuZ2VJbk5vZGUodGV4dE5vZGUyLCAyLCAzKTsKdmFyIHJhbmdlMiA9IG1ha2VSYW5nZUlu
Tm9kZSh0ZXh0Tm9kZSwgMCwgMSk7CnZhciByYW5nZXMgPSBbcmFuZ2UxLCByYW5nZTJdOwpzZXRT
ZWxlY3Rpb25Ub1JhbmdlcyhyYW5nZXMpOwpzZWxlY3Rpb25TaG91bGRIYXZlUmFuZ2VzKHJhbmdl
cyk7CgovLyBUZXN0IG11bHRpcGxlIHJhbmdlcywgd2hhdCBpcyB0aGUgYW5jaG9yIGFuZCBmb2N1
cz8KZGVidWcoIkFuZCB3aGF0J3MgdGhlIGFuY2hvci9mb2N1cyBub3c/Iik7CnNlbGVjdGlvblNo
b3VsZEhhdmVBbmNob3JBbmRGb2N1cygidGV4dE5vZGUiLCAiMCIsICJ0ZXh0Tm9kZTIiLCAiMSIp
OwoKLy8gVGVzdCB0byBzZWUgaWYgd2UgcmV0dXJuICJsaXZlIiByYW5nZSBvYmplY3RzIHdoaWNo
IGNhbiBtdXRhdGUgdGhlIHNlbGVjdGlvbi4KLy8gSWYgeW91IGdldCBhIHJhbmdlIGZyb20gdGhl
IHNlbGVjdGlvbiB0d2ljZSwgYXJlIHRoZXkgZXF1YWw/CnRlc3RHZXRSYW5nZUF0U2FtZVBvaW50
ZXJzKCk7CgovLyBNYWtlIHN1cmUgdGhhdCBSYW5nZXMgYXJlIHNhbmUsIGVtcHR5IHJhbmdlcyBh
cmUgY29sbGFwc2VkCmRlYnVnKCJUZXN0IGZvciBiYXNpYyBSYW5nZSBmdW5jdGlvbmFsaXR5IikK
c2hvdWxkQmVUcnVlKCJtYWtlUmFuZ2VJbk5vZGUodGV4dE5vZGUsIDAsIDApLmNvbGxhcHNlZCIp
OwoKLy8gVGVzdCB0byBtYWtlIHN1cmUgcmFuZ2VzIGNhbiBuZXZlciBiZSAiYmFja3dhcmRzIgp2
YXIgZXhwZWN0ZWRSYW5nZSA9IG1ha2VSYW5nZUluTm9kZSh0ZXh0Tm9kZSwgMCwgMCk7CnZhciBy
YW5nZSA9IGRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7CnJhbmdlLnNldFN0YXJ0KHRleHROb2RlLCAx
KTsKcmFuZ2Uuc2V0RW5kKHRleHROb2RlLCAwKTsKaWYgKHJhbmdlc0VxdWFsKHJhbmdlLCBleHBl
Y3RlZFJhbmdlKSkgewogICAgdGVzdFBhc3NlZCgic2V0dGluZyBhbiBlbmQgcG9pbnQgYmVmb3Jl
IGEgc3RhcnQgb24gYSByYW5nZSBjb2xsYXBzZXMgdGhlIHJhbmdlIHRvIHRoZSBlbmQiKTsKfSBl
bHNlIHsKICAgIHRlc3RGYWlsZWQoInNldHRpbmcgYW4gZW5kIHBvaW50IGJlZm9yZSBhIHN0YXJ0
IG9uIGEgcmFuZ2Ugc2hvdWxkIGNvbGxhcHNlIHRoZSByYW5nZSB0byB0aGUgZW5kLiAgcmVzdWx0
OiAiICsgcmFuZ2VBc1N0cmluZyhyYW5nZSkgKyAiIGV4cGVjdGVkOiAiICsgcmFuZ2VBc1N0cmlu
ZyhleHBlY3RlZFJhbmdlKSk7Cn0KdmFyIGV4cGVjdGVkUmFuZ2UgPSBtYWtlUmFuZ2VJbk5vZGUo
dGV4dE5vZGUsIDEsIDEpOwp2YXIgcmFuZ2UgPSBkb2N1bWVudC5jcmVhdGVSYW5nZSgpOwpyYW5n
ZS5zZXRFbmQodGV4dE5vZGUsIDApOwpyYW5nZS5zZXRTdGFydCh0ZXh0Tm9kZSwgMSk7CmlmIChy
YW5nZXNFcXVhbChyYW5nZSwgZXhwZWN0ZWRSYW5nZSkpIHsKICAgIHRlc3RQYXNzZWQoInNldHRp
bmcgYW4gc3RhcnQgcG9pbnQgYWZ0ZXIgZW5kIG9uIGEgcmFuZ2UgY29sbGFwc2VzIHRoZSByYW5n
ZSB0byB0aGUgc3RhcnQiKTsKfSBlbHNlIHsKICAgIHRlc3RGYWlsZWQoInNldHRpbmcgYW4gc3Rh
cnQgcG9pbnQgYWZ0ZXIgZW5kIG9uIGEgcmFuZ2Ugc2hvdWxkIGNvbGxhcHNlIHRoZSByYW5nZSB0
byB0aGUgc3RhcnQuICByZXN1bHQ6ICIgKyByYW5nZUFzU3RyaW5nKHJhbmdlKSArICIgZXhwZWN0
ZWQ6ICIgKyByYW5nZUFzU3RyaW5nKGV4cGVjdGVkUmFuZ2UpKTsKfQoKLy8gVGVzdCBhZGRpbmcg
YSBjb250aWdpb3VzIHJhbmdlLCBkbyB0aGV5IGdldCBzcXVhc2hlZD8KZGVidWcoIkRvIGNvbnRp
Z2lvdXMgcmFuZ2VzIGdldCBzcXVhc2hlZD8iKQp2YXIgcmFuZ2UxID0gbWFrZVJhbmdlSW5Ob2Rl
KHRleHROb2RlLCAwLCAxKTsKdmFyIHJhbmdlMiA9IG1ha2VSYW5nZUluTm9kZSh0ZXh0Tm9kZSwg
MSwgMik7CnZhciByYW5nZXMgPSBbcmFuZ2UxLCByYW5nZTJdOwpzZXRTZWxlY3Rpb25Ub1Jhbmdl
cyhyYW5nZXMpOwpzZWxlY3Rpb25TaG91bGRIYXZlUmFuZ2VzKHJhbmdlcyk7CnNlbGVjdGlvblNo
b3VsZEhhdmVBbmNob3JBbmRGb2N1cygidGV4dE5vZGUiLCAiMCIsICJ0ZXh0Tm9kZSIsICIyIik7
CgpkZWJ1ZygiV2hhdCBhYm91dCByYW5nZXMgd2hpY2ggb3ZlcmxhcD8iKQp2YXIgcmFuZ2UxID0g
bWFrZVJhbmdlSW5Ob2RlKHRleHROb2RlLCAwLCAyKTsKdmFyIHJhbmdlMiA9IG1ha2VSYW5nZUlu
Tm9kZSh0ZXh0Tm9kZSwgMSwgMyk7CnZhciByYW5nZXMgPSBbcmFuZ2UxLCByYW5nZTJdOwpzZXRT
ZWxlY3Rpb25Ub1JhbmdlcyhyYW5nZXMpOwpzZWxlY3Rpb25TaG91bGRIYXZlUmFuZ2VzKHJhbmdl
cyk7CnNlbGVjdGlvblNob3VsZEhhdmVBbmNob3JBbmRGb2N1cygidGV4dE5vZGUiLCAiMCIsICJ0
ZXh0Tm9kZSIsICIzIik7CgpkZWJ1ZygiV2hhdCBpZiB0aGUgc2Vjb25kIHJhbmdlIGlzIGNvbnRh
aW5lZCBpbiB0aGUgZmlyc3Q/IikKdmFyIHJhbmdlMSA9IG1ha2VSYW5nZUluTm9kZSh0ZXh0Tm9k
ZSwgMCwgMyk7CnZhciByYW5nZTIgPSBtYWtlUmFuZ2VJbk5vZGUodGV4dE5vZGUsIDEsIDIpOwp2
YXIgcmFuZ2VzID0gW3JhbmdlMSwgcmFuZ2UyXTsKc2V0U2VsZWN0aW9uVG9SYW5nZXMocmFuZ2Vz
KTsKc2VsZWN0aW9uU2hvdWxkSGF2ZVJhbmdlcyhyYW5nZXMpOwpzZWxlY3Rpb25TaG91bGRIYXZl
QW5jaG9yQW5kRm9jdXMoInRleHROb2RlIiwgIjAiLCAidGV4dE5vZGUiLCAiMyIpOwoKZGVidWco
IldoYXQgaWYgdGhlIGZpcnN0IHJhbmdlIGlzIGNvbnRhaW5lZCBpbiB0aGUgZmlyc3Q/IikKdmFy
IHJhbmdlMSA9IG1ha2VSYW5nZUluTm9kZSh0ZXh0Tm9kZSwgMSwgMik7CnZhciByYW5nZTIgPSBt
YWtlUmFuZ2VJbk5vZGUodGV4dE5vZGUsIDAsIDMpOwp2YXIgcmFuZ2VzID0gW3JhbmdlMSwgcmFu
Z2UyXTsKc2V0U2VsZWN0aW9uVG9SYW5nZXMocmFuZ2VzKTsKc2VsZWN0aW9uU2hvdWxkSGF2ZVJh
bmdlcyhyYW5nZXMpOwpzZWxlY3Rpb25TaG91bGRIYXZlQW5jaG9yQW5kRm9jdXMoInRleHROb2Rl
IiwgIjAiLCAidGV4dE5vZGUiLCAiMyIpOwoKZGVidWcoIldoYXQgYWJvdXQgcmFuZ2VzIHdoaWNo
IG9ubHkgZGlmZmVyIGJ5IGVuZHBvaW50cz8iKQovLyBGRiBzZWVtcyB0byBzb3J0IGZpcnN0IGJ5
IHN0YXJ0IHBvc2l0aW9uLCBmb2xsb3dlZCBieSByYW5nZSBzaXplCnZhciByYW5nZTEgPSBtYWtl
UmFuZ2VJbk5vZGUodGV4dE5vZGUsIDAsIDMpOwp2YXIgcmFuZ2UyID0gbWFrZVJhbmdlSW5Ob2Rl
KHRleHROb2RlLCAwLCAyKTsKdmFyIHJhbmdlcyA9IFtyYW5nZTEsIHJhbmdlMl07CnNldFNlbGVj
dGlvblRvUmFuZ2VzKHJhbmdlcyk7CnNlbGVjdGlvblNob3VsZEhhdmVSYW5nZXMocmFuZ2VzKTsK
c2VsZWN0aW9uU2hvdWxkSGF2ZUFuY2hvckFuZEZvY3VzKCJ0ZXh0Tm9kZSIsICIwIiwgInRleHRO
b2RlIiwgIjMiKTsKCmRlYnVnKCJXaGF0IGFib3V0IGFkZGluZyBhIGNvbnRpZ291cyByYW5nZSBh
cyB0aGUgM3JkIHJhbmdlPyIpCnZhciByYW5nZTEgPSBtYWtlUmFuZ2VJbk5vZGUodGV4dE5vZGUs
IDAsIDEpOwp2YXIgcmFuZ2UyID0gbWFrZVJhbmdlSW5Ob2RlKHRleHROb2RlLCAyLCAzKTsKdmFy
IHJhbmdlMyA9IG1ha2VSYW5nZUluTm9kZSh0ZXh0Tm9kZSwgMSwgMik7CnZhciByYW5nZXMgPSBb
cmFuZ2UxLCByYW5nZTIsIHJhbmdlM107CnNldFNlbGVjdGlvblRvUmFuZ2VzKHJhbmdlcyk7CnNl
bGVjdGlvblNob3VsZEhhdmVSYW5nZXMocmFuZ2VzKTsKc2VsZWN0aW9uU2hvdWxkSGF2ZUFuY2hv
ckFuZEZvY3VzKCJ0ZXh0Tm9kZSIsICIwIiwgInRleHROb2RlIiwgIjMiKTsKCi8vIFRlc3QgcmVt
b3ZpbmcgdGhlIGp1c3QgYWRkZWQgKGFuZCBub3cgc29ydGVkKSByYW5nZSwgd2hhdCBoYXBwZW5z
IHRvIHRoZSBmb2N1cy9hbmNob3I/CmRlYnVnKCJSZW1vdmUgdGhlIGp1c3QgYWRkZWQgKGFuZCBu
b3cgc29ydGVkKSByYW5nZSIpCnNlbC5yZW1vdmVSYW5nZShyYW5nZTMpOwpzZWxlY3Rpb25TaG91
bGRIYXZlUmFuZ2VzKFtyYW5nZTEsIHJhbmdlMl0pOwpzZWxlY3Rpb25TaG91bGRIYXZlQW5jaG9y
QW5kRm9jdXMoInRleHROb2RlIiwgIjAiLCAidGV4dE5vZGUiLCAiMyIpOwoKLy8gVGVzdCBhZGRp
bmcgYSBjb2xsYXBzZWQgcmFuZ2UgdG8gbWFrZSBhIG11bHRpLXJhbmdlIHNlbGVjdGlvbgpkZWJ1
ZygiQWRkaW5nIGEgY29sbGFwc2VkIHJhbmdlIHRvIGEgbXVsdGktcmFuZ2Ugc2VsZWN0aW9uOiIp
CnZhciByYW5nZTEgPSBtYWtlUmFuZ2VJbk5vZGUodGV4dE5vZGUsIDAsIDEpOwp2YXIgcmFuZ2Uy
ID0gbWFrZVJhbmdlSW5Ob2RlKHRleHROb2RlMiwgMCwgMCk7CnZhciByYW5nZXMgPSBbcmFuZ2Ux
LCByYW5nZTJdOwpzZXRTZWxlY3Rpb25Ub1JhbmdlcyhyYW5nZXMpOwpzZWxlY3Rpb25TaG91bGRI
YXZlUmFuZ2VzKHJhbmdlcyk7CgovLyBEb2VzIGRlbGV0ZUZyb21Eb2N1bWVudCBjbGVhciB0aGUg
c2VsZWN0aW9uPwovLyBXaGF0IGlmIGl0J3MgYSBjYXJldD8KCi8vIFdoYXQgaXMgdGhlIGZvY3Vz
IGFuZCBhbmNob3IgaW4gYSBtdWx0aS1yYW5nZSBzZWxlY3Rpb24/Ci8vIElmIHlvdSBjYWxsIG1v
ZGlmaWNhdGlvbiBmdW5jdGlvbnMsIGRvZXMgaXQgY29ycmVjdGx5IGNoYW5nZSB0aGUgcmFuZ2Ug
Y29udGFpbmluZyB0aGUgZm9jdXMgb3IgYW5jaG9yPwoKZG9jdW1lbnQuYm9keS5yZW1vdmVDaGls
ZCh0ZXN0RGl2KTsKCnZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>