<?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>55685</bug_id>
          
          <creation_ts>2011-03-03 09:35:57 -0800</creation_ts>
          <short_desc>Web Inspector: [Text editor] Do bisect to find visible chunks</short_desc>
          <delta_ts>2011-03-04 06:41:18 -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>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Andrey Adaikin">aandrey</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>podivilov</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>361684</commentid>
    <comment_count>0</comment_count>
    <who name="Andrey Adaikin">aandrey</who>
    <bug_when>2011-03-03 09:35:57 -0800</bug_when>
    <thetext>We should do a bisect to find chunks in the visible area instead of a linear search.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>361689</commentid>
    <comment_count>1</comment_count>
      <attachid>84576</attachid>
    <who name="Andrey Adaikin">aandrey</who>
    <bug_when>2011-03-03 09:40:17 -0800</bug_when>
    <thetext>Created attachment 84576
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>362375</commentid>
    <comment_count>2</comment_count>
      <attachid>84576</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-03-04 02:01:17 -0800</bug_when>
    <thetext>Comment on attachment 84576
Patch

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

&gt; Source/WebCore/inspector/front-end/TextViewer.js:408
&gt; +    _findVisibleChunks: function(visibleFrom, visibleTo)

You should use insertionIndexForObjectInListSortedByFunction from utilities.js (and you can rename it to binarySearch).

&gt; Source/WebCore/inspector/front-end/TextViewer.js:661
&gt; +        return this._expandedLineRows ? this._expandedLineRows[0].offsetTop : this.element.offsetTop;

What does this logic do?

&gt; Source/WebCore/inspector/front-end/TextViewer.js:1580
&gt; +        return this._expandedLineRows ? this._expandedLineRows[0].offsetTop : this.element.offsetTop;

ditto. Also, I see that gutter chunk and main chunk have a lot in common. This does not sound right.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>362437</commentid>
    <comment_count>3</comment_count>
      <attachid>84576</attachid>
    <who name="Andrey Adaikin">aandrey</who>
    <bug_when>2011-03-04 05:31:45 -0800</bug_when>
    <thetext>Comment on attachment 84576
Patch

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

&gt;&gt; Source/WebCore/inspector/front-end/TextViewer.js:408
&gt;&gt; +    _findVisibleChunks: function(visibleFrom, visibleTo)
&gt; 
&gt; You should use insertionIndexForObjectInListSortedByFunction from utilities.js (and you can rename it to binarySearch).

done

&gt;&gt; Source/WebCore/inspector/front-end/TextViewer.js:661
&gt;&gt; +        return this._expandedLineRows ? this._expandedLineRows[0].offsetTop : this.element.offsetTop;
&gt; 
&gt; What does this logic do?

this calculates offsetTop of the chunk, that is offsetTop of the first DOM node controlled by the chunk

&gt;&gt; Source/WebCore/inspector/front-end/TextViewer.js:1580
&gt;&gt; +        return this._expandedLineRows ? this._expandedLineRows[0].offsetTop : this.element.offsetTop;
&gt; 
&gt; ditto. Also, I see that gutter chunk and main chunk have a lot in common. This does not sound right.

there is even more code duplication now. I am planning to address this when doing the redesign with a ChunkedModel (as we discussed earlier)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>362439</commentid>
    <comment_count>4</comment_count>
      <attachid>84731</attachid>
    <who name="Andrey Adaikin">aandrey</who>
    <bug_when>2011-03-04 05:36:07 -0800</bug_when>
    <thetext>Created attachment 84731
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>362464</commentid>
    <comment_count>5</comment_count>
      <attachid>84731</attachid>
    <who name="Pavel Podivilov">podivilov</who>
    <bug_when>2011-03-04 06:41:09 -0800</bug_when>
    <thetext>Comment on attachment 84731
Patch

Clearing flags on attachment: 84731

Committed r80347: &lt;http://trac.webkit.org/changeset/80347&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>362466</commentid>
    <comment_count>6</comment_count>
    <who name="Pavel Podivilov">podivilov</who>
    <bug_when>2011-03-04 06:41:18 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>84576</attachid>
            <date>2011-03-03 09:40:17 -0800</date>
            <delta_ts>2011-03-04 05:36:01 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-55685-20110303204015.patch</filename>
            <type>text/plain</type>
            <size>5136</size>
            <attacher name="Andrey Adaikin">aandrey</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODAxMjEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBiODIzMzY0M2I3Y2M1NzQ3
NzhmMTI3NTEyODBlNDY2NTIyMDM2YWFlLi45ZWVhN2VlZjJhYWU2OWE5Y2Y1MTE4MGY5NzRjMGIy
MjUxNGRhYWRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTEtMDMtMDMgIEFuZHJl
eSBBZGFpa2luICA8YWFuZHJleUBnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IFtUZXh0IGVkaXRvcl0gRG8g
YmlzZWN0IHRvIGZpbmQgdmlzaWJsZSBjaHVua3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTU1Njg1CisKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQt
ZW5kL1RleHRWaWV3ZXIuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGV4dEVkaXRvckNodW5r
ZWRQYW5lbC5wcm90b3R5cGUuX2ZpbmRWaXNpYmxlQ2h1bmtzKToKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5UZXh0RWRpdG9yQ2h1bmtlZFBhbmVsLnByb3RvdHlwZS5fcmVwYWludEFsbCk6CisgICAg
ICAgIChXZWJJbnNwZWN0b3IuVGV4dEVkaXRvckd1dHRlckNodW5rLnByb3RvdHlwZS5nZXQgb2Zm
c2V0VG9wKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UZXh0RWRpdG9yTWFpblBhbmVsLnByb3Rv
dHlwZS5fdXBkYXRlSGlnaGxpZ2h0c0ZvclJhbmdlKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5U
ZXh0RWRpdG9yTWFpbkNodW5rLnByb3RvdHlwZS5nZXQgb2Zmc2V0VG9wKToKKwogMjAxMS0wMy0w
MSAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBi
eSBEYXJpbiBBZGxlci4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvVGV4dFZpZXdlci5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
VGV4dFZpZXdlci5qcwppbmRleCA5OGNkMGUxOTk5NTEyMjRiMGU0ZDA5MDMwMWU4ZGJkNWEyODkx
NjBhLi5mNDJhNTEyNWNjYmY5MGM3YTZkNDY4YzNjNzQ1NjcxZWU5NzY1NjgzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RleHRWaWV3ZXIuanMKKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UZXh0Vmlld2VyLmpzCkBAIC00MDUs
NiArNDA1LDI1IEBAIFdlYkluc3BlY3Rvci5UZXh0RWRpdG9yQ2h1bmtlZFBhbmVsLnByb3RvdHlw
ZSA9IHsKICAgICAgICAgcmV0dXJuIHRoaXMuX3RleHRDaHVua3NbdGhpcy5fY2h1bmtOdW1iZXJG
b3JMaW5lKGxpbmVOdW1iZXIpXTsKICAgICB9LAogCisgICAgX2ZpbmRWaXNpYmxlQ2h1bmtzOiBm
dW5jdGlvbih2aXNpYmxlRnJvbSwgdmlzaWJsZVRvKQorICAgIHsKKyAgICAgICAgLy8gQmlzZWN0
LgorICAgICAgICB2YXIgZnJvbSA9IDA7CisgICAgICAgIHZhciB0byA9IHRoaXMuX3RleHRDaHVu
a3MubGVuZ3RoIC0gMTsKKyAgICAgICAgd2hpbGUgKGZyb20gPCB0bykgeworICAgICAgICAgICAg
dmFyIG1pZCA9IE1hdGguZmxvb3IoKGZyb20gKyB0byArIDEpIC8gMik7CisgICAgICAgICAgICBp
ZiAodGhpcy5fdGV4dENodW5rc1ttaWRdLm9mZnNldFRvcCA8PSB2aXNpYmxlRnJvbSkKKyAgICAg
ICAgICAgICAgICBmcm9tID0gbWlkOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAg
IHRvID0gbWlkIC0gMTsKKyAgICAgICAgfQorICAgICAgICBmb3IgKHRvID0gZnJvbSArIDE7IHRv
IDwgdGhpcy5fdGV4dENodW5rcy5sZW5ndGg7ICsrdG8pIHsKKyAgICAgICAgICAgIGlmICh0aGlz
Ll90ZXh0Q2h1bmtzW3RvXS5vZmZzZXRUb3AgPj0gdmlzaWJsZVRvKQorICAgICAgICAgICAgICAg
IGJyZWFrOworICAgICAgICB9CisgICAgICAgIHJldHVybiB7IHN0YXJ0OiBmcm9tLCBlbmQ6IHRv
IH07CisgICAgfSwKKwogICAgIF9yZXBhaW50QWxsOiBmdW5jdGlvbigpCiAgICAgewogICAgICAg
ICBkZWxldGUgdGhpcy5fcmVwYWludEFsbFRpbWVyOwpAQCAtNDE4LDI1ICs0MzcsMTAgQEAgV2Vi
SW5zcGVjdG9yLlRleHRFZGl0b3JDaHVua2VkUGFuZWwucHJvdG90eXBlID0gewogICAgICAgICB2
YXIgdmlzaWJsZUZyb20gPSB0aGlzLmVsZW1lbnQuc2Nyb2xsVG9wOwogICAgICAgICB2YXIgdmlz
aWJsZVRvID0gdGhpcy5lbGVtZW50LnNjcm9sbFRvcCArIHRoaXMuZWxlbWVudC5jbGllbnRIZWln
aHQ7CiAKLSAgICAgICAgdmFyIG9mZnNldCA9IDA7Ci0gICAgICAgIHZhciBmcm9tSW5kZXggPSAt
MTsKLSAgICAgICAgdmFyIHRvSW5kZXggPSAwOwotICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8
IHRoaXMuX3RleHRDaHVua3MubGVuZ3RoOyArK2kpIHsKLSAgICAgICAgICAgIHZhciBjaHVuayA9
IHRoaXMuX3RleHRDaHVua3NbaV07Ci0gICAgICAgICAgICB2YXIgY2h1bmtIZWlnaHQgPSBjaHVu
ay5oZWlnaHQ7Ci0gICAgICAgICAgICBpZiAob2Zmc2V0ICsgY2h1bmtIZWlnaHQgPiB2aXNpYmxl
RnJvbSAmJiBvZmZzZXQgPCB2aXNpYmxlVG8pIHsKLSAgICAgICAgICAgICAgICBpZiAoZnJvbUlu
ZGV4ID09PSAtMSkKLSAgICAgICAgICAgICAgICAgICAgZnJvbUluZGV4ID0gaTsKLSAgICAgICAg
ICAgICAgICB0b0luZGV4ID0gaSArIDE7Ci0gICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAg
ICAgICAgIGlmIChvZmZzZXQgPj0gdmlzaWJsZVRvKQotICAgICAgICAgICAgICAgICAgICBicmVh
azsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIG9mZnNldCArPSBjaHVua0hlaWdodDsKKyAg
ICAgICAgaWYgKHZpc2libGVUbykgeworICAgICAgICAgICAgdmFyIHJlc3VsdCA9IHRoaXMuX2Zp
bmRWaXNpYmxlQ2h1bmtzKHZpc2libGVGcm9tLCB2aXNpYmxlVG8pOworICAgICAgICAgICAgdGhp
cy5fZXhwYW5kQ2h1bmtzKHJlc3VsdC5zdGFydCwgcmVzdWx0LmVuZCk7CiAgICAgICAgIH0KLQot
ICAgICAgICBpZiAodG9JbmRleCkKLSAgICAgICAgICAgIHRoaXMuX2V4cGFuZENodW5rcyhmcm9t
SW5kZXgsIHRvSW5kZXgpOwogICAgIH0sCiAKICAgICBfdG90YWxIZWlnaHQ6IGZ1bmN0aW9uKGZp
cnN0RWxlbWVudCwgbGFzdEVsZW1lbnQpCkBAIC02NTIsNiArNjU2LDExIEBAIFdlYkluc3BlY3Rv
ci5UZXh0RWRpdG9yR3V0dGVyQ2h1bmsucHJvdG90eXBlID0gewogICAgICAgICByZXR1cm4gdGhp
cy5fdGV4dFZpZXdlci5fdG90YWxIZWlnaHQodGhpcy5fZXhwYW5kZWRMaW5lUm93c1swXSwgdGhp
cy5fZXhwYW5kZWRMaW5lUm93c1t0aGlzLl9leHBhbmRlZExpbmVSb3dzLmxlbmd0aCAtIDFdKTsK
ICAgICB9LAogCisgICAgZ2V0IG9mZnNldFRvcCgpCisgICAgeworICAgICAgICByZXR1cm4gdGhp
cy5fZXhwYW5kZWRMaW5lUm93cyA/IHRoaXMuX2V4cGFuZGVkTGluZVJvd3NbMF0ub2Zmc2V0VG9w
IDogdGhpcy5lbGVtZW50Lm9mZnNldFRvcDsKKyAgICB9LAorCiAgICAgX2NyZWF0ZVJvdzogZnVu
Y3Rpb24obGluZU51bWJlcikKICAgICB7CiAgICAgICAgIHZhciBsaW5lUm93ID0gdGhpcy5fdGV4
dFZpZXdlci5fY2FjaGVkUm93cy5wb3AoKSB8fCBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYi
KTsKQEAgLTEzODksMTcgKzEzOTgsOSBAQCBXZWJJbnNwZWN0b3IuVGV4dEVkaXRvck1haW5QYW5l
bC5wcm90b3R5cGUgPSB7CiAgICAgICAgIHZhciB2aXNpYmxlRnJvbSA9IHRoaXMuZWxlbWVudC5z
Y3JvbGxUb3A7CiAgICAgICAgIHZhciB2aXNpYmxlVG8gPSB0aGlzLmVsZW1lbnQuc2Nyb2xsVG9w
ICsgdGhpcy5lbGVtZW50LmNsaWVudEhlaWdodDsKIAotICAgICAgICB2YXIgb2Zmc2V0ID0gMDsK
LSAgICAgICAgdmFyIGxhc3RWaXNpYmxlTGluZSA9IDA7Ci0gICAgICAgIGZvciAodmFyIGkgPSAw
OyBpIDwgdGhpcy5fdGV4dENodW5rcy5sZW5ndGg7ICsraSkgewotICAgICAgICAgICAgdmFyIGNo
dW5rID0gdGhpcy5fdGV4dENodW5rc1tpXTsKLSAgICAgICAgICAgIHZhciBjaHVua0hlaWdodCA9
IGNodW5rLmhlaWdodDsKLSAgICAgICAgICAgIGlmIChvZmZzZXQgKyBjaHVua0hlaWdodCA+IHZp
c2libGVGcm9tICYmIG9mZnNldCA8IHZpc2libGVUbykKLSAgICAgICAgICAgICAgICBsYXN0Vmlz
aWJsZUxpbmUgPSBjaHVuay5zdGFydExpbmUgKyBjaHVuay5saW5lc0NvdW50OwotICAgICAgICAg
ICAgZWxzZSBpZiAob2Zmc2V0ID49IHZpc2libGVUbykKLSAgICAgICAgICAgICAgICBicmVhazsK
LSAgICAgICAgICAgIG9mZnNldCArPSBjaHVua0hlaWdodDsKLSAgICAgICAgfQorICAgICAgICB2
YXIgcmVzdWx0ID0gdGhpcy5fZmluZFZpc2libGVDaHVua3ModmlzaWJsZUZyb20sIHZpc2libGVU
byk7CisgICAgICAgIHZhciBjaHVuayA9IHRoaXMuX3RleHRDaHVua3NbcmVzdWx0LmVuZCAtIDFd
OworICAgICAgICB2YXIgbGFzdFZpc2libGVMaW5lID0gY2h1bmsuc3RhcnRMaW5lICsgY2h1bmsu
bGluZXNDb3VudDsKIAogICAgICAgICBsYXN0VmlzaWJsZUxpbmUgPSBNYXRoLm1heChsYXN0Vmlz
aWJsZUxpbmUsIHJhbmdlLmVuZExpbmUpOwogCkBAIC0xNTc0LDYgKzE1NzUsMTEgQEAgV2ViSW5z
cGVjdG9yLlRleHRFZGl0b3JNYWluQ2h1bmsucHJvdG90eXBlID0gewogICAgICAgICByZXR1cm4g
dGhpcy5fdGV4dFZpZXdlci5fdG90YWxIZWlnaHQodGhpcy5fZXhwYW5kZWRMaW5lUm93c1swXSwg
dGhpcy5fZXhwYW5kZWRMaW5lUm93c1t0aGlzLl9leHBhbmRlZExpbmVSb3dzLmxlbmd0aCAtIDFd
KTsKICAgICB9LAogCisgICAgZ2V0IG9mZnNldFRvcCgpCisgICAgeworICAgICAgICByZXR1cm4g
dGhpcy5fZXhwYW5kZWRMaW5lUm93cyA/IHRoaXMuX2V4cGFuZGVkTGluZVJvd3NbMF0ub2Zmc2V0
VG9wIDogdGhpcy5lbGVtZW50Lm9mZnNldFRvcDsKKyAgICB9LAorCiAgICAgX2NyZWF0ZVJvdzog
ZnVuY3Rpb24obGluZU51bWJlcikKICAgICB7CiAgICAgICAgIHZhciBsaW5lUm93ID0gdGhpcy5f
dGV4dFZpZXdlci5fY2FjaGVkUm93cy5wb3AoKSB8fCBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJk
aXYiKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>84731</attachid>
            <date>2011-03-04 05:36:07 -0800</date>
            <delta_ts>2011-03-04 06:41:09 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-55685-20110304163605.patch</filename>
            <type>text/plain</type>
            <size>5983</size>
            <attacher name="Andrey Adaikin">aandrey</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODAxMjEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBiODIzMzY0M2I3Y2M1NzQ3
NzhmMTI3NTEyODBlNDY2NTIyMDM2YWFlLi5mNjgzZmE5Y2U5MDg4YjM5NzE3Nzk0NDU3YzE0OGEx
MDdiZmVkYTgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTEtMDMtMDMgIEFuZHJl
eSBBZGFpa2luICA8YWFuZHJleUBnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IFtUZXh0IGVkaXRvcl0gRG8g
YmlzZWN0IHRvIGZpbmQgdmlzaWJsZSBjaHVua3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTU1Njg1CisKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQt
ZW5kL1RleHRWaWV3ZXIuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGV4dEVkaXRvckNodW5r
ZWRQYW5lbC5wcm90b3R5cGUuX2NodW5rTnVtYmVyRm9yTGluZSk6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuVGV4dEVkaXRvckNodW5rZWRQYW5lbC5wcm90b3R5cGUuX2ZpbmRWaXNpYmxlQ2h1bmtz
KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UZXh0RWRpdG9yQ2h1bmtlZFBhbmVsLnByb3RvdHlw
ZS5fcmVwYWludEFsbCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGV4dEVkaXRvckd1dHRlckNo
dW5rLnByb3RvdHlwZS5nZXQgb2Zmc2V0VG9wKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UZXh0
RWRpdG9yTWFpblBhbmVsLnByb3RvdHlwZS5fdXBkYXRlSGlnaGxpZ2h0c0ZvclJhbmdlKToKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5UZXh0RWRpdG9yTWFpbkNodW5rLnByb3RvdHlwZS5nZXQgb2Zm
c2V0VG9wKToKKwogMjAxMS0wMy0wMSAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4K
IAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGV4dFZpZXdlci5qcyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvVGV4dFZpZXdlci5qcwppbmRleCA5OGNkMGUxOTk5NTEyMjRi
MGU0ZDA5MDMwMWU4ZGJkNWEyODkxNjBhLi43YTAzMjFhYzhjY2M3ZTg4NWFiNDViZTc1NTdjNTM5
ZTZiODZmYmFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L1RleHRWaWV3ZXIuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9U
ZXh0Vmlld2VyLmpzCkBAIC0zODcsMTcgKzM4NywxMiBAQCBXZWJJbnNwZWN0b3IuVGV4dEVkaXRv
ckNodW5rZWRQYW5lbC5wcm90b3R5cGUgPSB7CiAKICAgICBfY2h1bmtOdW1iZXJGb3JMaW5lOiBm
dW5jdGlvbihsaW5lTnVtYmVyKQogICAgIHsKLSAgICAgICAgLy8gQmlzZWN0LgotICAgICAgICB2
YXIgZnJvbSA9IDA7Ci0gICAgICAgIHZhciB0byA9IHRoaXMuX3RleHRDaHVua3MubGVuZ3RoIC0g
MTsKLSAgICAgICAgd2hpbGUgKGZyb20gPCB0bykgewotICAgICAgICAgICAgdmFyIG1pZCA9IE1h
dGguZmxvb3IoKGZyb20gKyB0byArIDEpIC8gMik7Ci0gICAgICAgICAgICBpZiAodGhpcy5fdGV4
dENodW5rc1ttaWRdLnN0YXJ0TGluZSA8PSBsaW5lTnVtYmVyKQotICAgICAgICAgICAgICAgIGZy
b20gPSBtaWQ7Ci0gICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgdG8gPSBtaWQgLSAx
OworICAgICAgICBmdW5jdGlvbiBjb21wYXJlTGluZU51bWJlcnModmFsdWUsIGNodW5rKQorICAg
ICAgICB7CisgICAgICAgICAgICByZXR1cm4gdmFsdWUgPCBjaHVuay5zdGFydExpbmUgPyAtMSA6
IDE7CiAgICAgICAgIH0KLSAgICAgICAgcmV0dXJuIGZyb207CisgICAgICAgIHZhciBpbnNlcnRC
ZWZvcmUgPSBpbnNlcnRpb25JbmRleEZvck9iamVjdEluTGlzdFNvcnRlZEJ5RnVuY3Rpb24obGlu
ZU51bWJlciwgdGhpcy5fdGV4dENodW5rcywgY29tcGFyZUxpbmVOdW1iZXJzKTsKKyAgICAgICAg
cmV0dXJuIGluc2VydEJlZm9yZSAtIDE7CiAgICAgfSwKIAogICAgIGNodW5rRm9yTGluZTogZnVu
Y3Rpb24obGluZU51bWJlcikKQEAgLTQwNSw2ICs0MDAsMjIgQEAgV2ViSW5zcGVjdG9yLlRleHRF
ZGl0b3JDaHVua2VkUGFuZWwucHJvdG90eXBlID0gewogICAgICAgICByZXR1cm4gdGhpcy5fdGV4
dENodW5rc1t0aGlzLl9jaHVua051bWJlckZvckxpbmUobGluZU51bWJlcildOwogICAgIH0sCiAK
KyAgICBfZmluZFZpc2libGVDaHVua3M6IGZ1bmN0aW9uKHZpc2libGVGcm9tLCB2aXNpYmxlVG8p
CisgICAgeworICAgICAgICBmdW5jdGlvbiBjb21wYXJlT2Zmc2V0VG9wcyh2YWx1ZSwgY2h1bmsp
CisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiB2YWx1ZSA8IGNodW5rLm9mZnNldFRvcCA/
IC0xIDogMTsKKyAgICAgICAgfQorICAgICAgICB2YXIgaW5zZXJ0QmVmb3JlID0gaW5zZXJ0aW9u
SW5kZXhGb3JPYmplY3RJbkxpc3RTb3J0ZWRCeUZ1bmN0aW9uKHZpc2libGVGcm9tLCB0aGlzLl90
ZXh0Q2h1bmtzLCBjb21wYXJlT2Zmc2V0VG9wcyk7CisKKyAgICAgICAgdmFyIGZyb20gPSBpbnNl
cnRCZWZvcmUgLSAxOworICAgICAgICBmb3IgKHZhciB0byA9IGZyb20gKyAxOyB0byA8IHRoaXMu
X3RleHRDaHVua3MubGVuZ3RoOyArK3RvKSB7CisgICAgICAgICAgICBpZiAodGhpcy5fdGV4dENo
dW5rc1t0b10ub2Zmc2V0VG9wID49IHZpc2libGVUbykKKyAgICAgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgfQorICAgICAgICByZXR1cm4geyBzdGFydDogZnJvbSwgZW5kOiB0byB9OworICAg
IH0sCisKICAgICBfcmVwYWludEFsbDogZnVuY3Rpb24oKQogICAgIHsKICAgICAgICAgZGVsZXRl
IHRoaXMuX3JlcGFpbnRBbGxUaW1lcjsKQEAgLTQxOCwyNSArNDI5LDEwIEBAIFdlYkluc3BlY3Rv
ci5UZXh0RWRpdG9yQ2h1bmtlZFBhbmVsLnByb3RvdHlwZSA9IHsKICAgICAgICAgdmFyIHZpc2li
bGVGcm9tID0gdGhpcy5lbGVtZW50LnNjcm9sbFRvcDsKICAgICAgICAgdmFyIHZpc2libGVUbyA9
IHRoaXMuZWxlbWVudC5zY3JvbGxUb3AgKyB0aGlzLmVsZW1lbnQuY2xpZW50SGVpZ2h0OwogCi0g
ICAgICAgIHZhciBvZmZzZXQgPSAwOwotICAgICAgICB2YXIgZnJvbUluZGV4ID0gLTE7Ci0gICAg
ICAgIHZhciB0b0luZGV4ID0gMDsKLSAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLl90
ZXh0Q2h1bmtzLmxlbmd0aDsgKytpKSB7Ci0gICAgICAgICAgICB2YXIgY2h1bmsgPSB0aGlzLl90
ZXh0Q2h1bmtzW2ldOwotICAgICAgICAgICAgdmFyIGNodW5rSGVpZ2h0ID0gY2h1bmsuaGVpZ2h0
OwotICAgICAgICAgICAgaWYgKG9mZnNldCArIGNodW5rSGVpZ2h0ID4gdmlzaWJsZUZyb20gJiYg
b2Zmc2V0IDwgdmlzaWJsZVRvKSB7Ci0gICAgICAgICAgICAgICAgaWYgKGZyb21JbmRleCA9PT0g
LTEpCi0gICAgICAgICAgICAgICAgICAgIGZyb21JbmRleCA9IGk7Ci0gICAgICAgICAgICAgICAg
dG9JbmRleCA9IGkgKyAxOwotICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICBp
ZiAob2Zmc2V0ID49IHZpc2libGVUbykKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAg
ICAgICAgICB9Ci0gICAgICAgICAgICBvZmZzZXQgKz0gY2h1bmtIZWlnaHQ7CisgICAgICAgIGlm
ICh2aXNpYmxlVG8pIHsKKyAgICAgICAgICAgIHZhciByZXN1bHQgPSB0aGlzLl9maW5kVmlzaWJs
ZUNodW5rcyh2aXNpYmxlRnJvbSwgdmlzaWJsZVRvKTsKKyAgICAgICAgICAgIHRoaXMuX2V4cGFu
ZENodW5rcyhyZXN1bHQuc3RhcnQsIHJlc3VsdC5lbmQpOwogICAgICAgICB9Ci0KLSAgICAgICAg
aWYgKHRvSW5kZXgpCi0gICAgICAgICAgICB0aGlzLl9leHBhbmRDaHVua3MoZnJvbUluZGV4LCB0
b0luZGV4KTsKICAgICB9LAogCiAgICAgX3RvdGFsSGVpZ2h0OiBmdW5jdGlvbihmaXJzdEVsZW1l
bnQsIGxhc3RFbGVtZW50KQpAQCAtNjUyLDYgKzY0OCwxMSBAQCBXZWJJbnNwZWN0b3IuVGV4dEVk
aXRvckd1dHRlckNodW5rLnByb3RvdHlwZSA9IHsKICAgICAgICAgcmV0dXJuIHRoaXMuX3RleHRW
aWV3ZXIuX3RvdGFsSGVpZ2h0KHRoaXMuX2V4cGFuZGVkTGluZVJvd3NbMF0sIHRoaXMuX2V4cGFu
ZGVkTGluZVJvd3NbdGhpcy5fZXhwYW5kZWRMaW5lUm93cy5sZW5ndGggLSAxXSk7CiAgICAgfSwK
IAorICAgIGdldCBvZmZzZXRUb3AoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRoaXMuX2V4cGFu
ZGVkTGluZVJvd3MgPyB0aGlzLl9leHBhbmRlZExpbmVSb3dzWzBdLm9mZnNldFRvcCA6IHRoaXMu
ZWxlbWVudC5vZmZzZXRUb3A7CisgICAgfSwKKwogICAgIF9jcmVhdGVSb3c6IGZ1bmN0aW9uKGxp
bmVOdW1iZXIpCiAgICAgewogICAgICAgICB2YXIgbGluZVJvdyA9IHRoaXMuX3RleHRWaWV3ZXIu
X2NhY2hlZFJvd3MucG9wKCkgfHwgZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CkBAIC0x
Mzg5LDE3ICsxMzkwLDkgQEAgV2ViSW5zcGVjdG9yLlRleHRFZGl0b3JNYWluUGFuZWwucHJvdG90
eXBlID0gewogICAgICAgICB2YXIgdmlzaWJsZUZyb20gPSB0aGlzLmVsZW1lbnQuc2Nyb2xsVG9w
OwogICAgICAgICB2YXIgdmlzaWJsZVRvID0gdGhpcy5lbGVtZW50LnNjcm9sbFRvcCArIHRoaXMu
ZWxlbWVudC5jbGllbnRIZWlnaHQ7CiAKLSAgICAgICAgdmFyIG9mZnNldCA9IDA7Ci0gICAgICAg
IHZhciBsYXN0VmlzaWJsZUxpbmUgPSAwOwotICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRo
aXMuX3RleHRDaHVua3MubGVuZ3RoOyArK2kpIHsKLSAgICAgICAgICAgIHZhciBjaHVuayA9IHRo
aXMuX3RleHRDaHVua3NbaV07Ci0gICAgICAgICAgICB2YXIgY2h1bmtIZWlnaHQgPSBjaHVuay5o
ZWlnaHQ7Ci0gICAgICAgICAgICBpZiAob2Zmc2V0ICsgY2h1bmtIZWlnaHQgPiB2aXNpYmxlRnJv
bSAmJiBvZmZzZXQgPCB2aXNpYmxlVG8pCi0gICAgICAgICAgICAgICAgbGFzdFZpc2libGVMaW5l
ID0gY2h1bmsuc3RhcnRMaW5lICsgY2h1bmsubGluZXNDb3VudDsKLSAgICAgICAgICAgIGVsc2Ug
aWYgKG9mZnNldCA+PSB2aXNpYmxlVG8pCi0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAg
ICAgICBvZmZzZXQgKz0gY2h1bmtIZWlnaHQ7Ci0gICAgICAgIH0KKyAgICAgICAgdmFyIHJlc3Vs
dCA9IHRoaXMuX2ZpbmRWaXNpYmxlQ2h1bmtzKHZpc2libGVGcm9tLCB2aXNpYmxlVG8pOworICAg
ICAgICB2YXIgY2h1bmsgPSB0aGlzLl90ZXh0Q2h1bmtzW3Jlc3VsdC5lbmQgLSAxXTsKKyAgICAg
ICAgdmFyIGxhc3RWaXNpYmxlTGluZSA9IGNodW5rLnN0YXJ0TGluZSArIGNodW5rLmxpbmVzQ291
bnQ7CiAKICAgICAgICAgbGFzdFZpc2libGVMaW5lID0gTWF0aC5tYXgobGFzdFZpc2libGVMaW5l
LCByYW5nZS5lbmRMaW5lKTsKIApAQCAtMTU3NCw2ICsxNTY3LDExIEBAIFdlYkluc3BlY3Rvci5U
ZXh0RWRpdG9yTWFpbkNodW5rLnByb3RvdHlwZSA9IHsKICAgICAgICAgcmV0dXJuIHRoaXMuX3Rl
eHRWaWV3ZXIuX3RvdGFsSGVpZ2h0KHRoaXMuX2V4cGFuZGVkTGluZVJvd3NbMF0sIHRoaXMuX2V4
cGFuZGVkTGluZVJvd3NbdGhpcy5fZXhwYW5kZWRMaW5lUm93cy5sZW5ndGggLSAxXSk7CiAgICAg
fSwKIAorICAgIGdldCBvZmZzZXRUb3AoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRoaXMuX2V4
cGFuZGVkTGluZVJvd3MgPyB0aGlzLl9leHBhbmRlZExpbmVSb3dzWzBdLm9mZnNldFRvcCA6IHRo
aXMuZWxlbWVudC5vZmZzZXRUb3A7CisgICAgfSwKKwogICAgIF9jcmVhdGVSb3c6IGZ1bmN0aW9u
KGxpbmVOdW1iZXIpCiAgICAgewogICAgICAgICB2YXIgbGluZVJvdyA9IHRoaXMuX3RleHRWaWV3
ZXIuX2NhY2hlZFJvd3MucG9wKCkgfHwgZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>