<?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>141011</bug_id>
          
          <creation_ts>2015-01-28 14:45:52 -0800</creation_ts>
          <short_desc>Web Inspector: Make BasicBlockAnnotator lessen the saturation of syntax highlighting instead of graying out unexecuted code</short_desc>
          <delta_ts>2015-01-29 20:03:16 -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</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Saam Barati">saam</reporter>
          <assigned_to name="Saam Barati">saam</assigned_to>
          <cc>graouts</cc>
    
    <cc>joepeck</cc>
    
    <cc>jonowells</cc>
    
    <cc>mattbaker</cc>
    
    <cc>nvasilyev</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1065034</commentid>
    <comment_count>0</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2015-01-28 14:45:52 -0800</bug_when>
    <thetext>This provides a nicer user experience.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1065035</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2015-01-28 14:46:10 -0800</bug_when>
    <thetext>&lt;rdar://problem/19638077&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1065295</commentid>
    <comment_count>2</comment_count>
      <attachid>245635</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2015-01-29 11:21:19 -0800</bug_when>
    <thetext>Created attachment 245635
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1065310</commentid>
    <comment_count>3</comment_count>
      <attachid>245635</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2015-01-29 12:32:29 -0800</bug_when>
    <thetext>Comment on attachment 245635
patch

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

&gt; Source/WebInspectorUI/UserInterface/Controllers/BasicBlockAnnotator.js:-106
&gt; -        if (this._isTextRangeOnlyWhitespace(startPosition, endPosition) || this._isTextRangeOnlyClosingBrace(startPosition, endPosition))
&gt; -            return null;

Should we keep the _isTextRangeOnlyClosingBrace check?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1065406</commentid>
    <comment_count>4</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2015-01-29 16:24:17 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; Comment on attachment 245635 [details]
&gt; patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=245635&amp;action=review
&gt; 
&gt; &gt; Source/WebInspectorUI/UserInterface/Controllers/BasicBlockAnnotator.js:-106
&gt; &gt; -        if (this._isTextRangeOnlyWhitespace(startPosition, endPosition) || this._isTextRangeOnlyClosingBrace(startPosition, endPosition))
&gt; &gt; -            return null;
&gt; 
&gt; Should we keep the _isTextRangeOnlyClosingBrace check?

I don&apos;t think it&apos;s necessary. It shouldn&apos;t affect the UI in any way with the risk that it complicates the code and also uses more computation resources because that regexp will execute every time because if a range is white space only, we won&apos;t cache it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1065409</commentid>
    <comment_count>5</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2015-01-29 16:25:04 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; (In reply to comment #3)
&gt; &gt; Comment on attachment 245635 [details]
&gt; &gt; patch
&gt; &gt; 
&gt; &gt; View in context:
&gt; &gt; https://bugs.webkit.org/attachment.cgi?id=245635&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/WebInspectorUI/UserInterface/Controllers/BasicBlockAnnotator.js:-106
&gt; &gt; &gt; -        if (this._isTextRangeOnlyWhitespace(startPosition, endPosition) || this._isTextRangeOnlyClosingBrace(startPosition, endPosition))
&gt; &gt; &gt; -            return null;
&gt; &gt; 
&gt; &gt; Should we keep the _isTextRangeOnlyClosingBrace check?
&gt; 
&gt; I don&apos;t think it&apos;s necessary. It shouldn&apos;t affect the UI in any way with the
&gt; risk that it complicates the code and also uses more computation resources
&gt; because that regexp will execute every time because if a range is white
&gt; space only, we won&apos;t cache it.

read: ... the UI in any way and has the risk ...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1065418</commentid>
    <comment_count>6</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2015-01-29 16:50:35 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; Comment on attachment 245635 [details]
&gt; patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=245635&amp;action=review
&gt; 
&gt; &gt; Source/WebInspectorUI/UserInterface/Controllers/BasicBlockAnnotator.js:-106
&gt; &gt; -        if (this._isTextRangeOnlyWhitespace(startPosition, endPosition) || this._isTextRangeOnlyClosingBrace(startPosition, endPosition))
&gt; &gt; -            return null;
&gt; 
&gt; Should we keep the _isTextRangeOnlyClosingBrace check?

I totally misread this as keep _isTextRangeOnlyWhitespace.

We do want to keep the _isTextRangeOnlyClosingBrace check.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1065462</commentid>
    <comment_count>7</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2015-01-29 20:03:16 -0800</bug_when>
    <thetext>landed in:
http://trac.webkit.org/changeset/179390</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>245635</attachid>
            <date>2015-01-29 11:21:19 -0800</date>
            <delta_ts>2015-01-29 12:32:29 -0800</delta_ts>
            <desc>patch</desc>
            <filename>patch.diff</filename>
            <type>text/plain</type>
            <size>12183</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwkocmV2aXNpb24gMTc5MzQ3KQorKysgU291cmNl
L1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQxIEBA
CisyMDE1LTAxLTI5ICBTYWFtIEJhcmF0aSAgPHNhYW1iYXJhdGkxQGdtYWlsLmNvbT4KKworICAg
ICAgICBXZWIgSW5zcGVjdG9yOiBNYWtlIEJhc2ljQmxvY2tBbm5vdGF0b3IgbGVzc2VuIHRoZSBz
YXR1cmF0aW9uIG9mIHN5bnRheCBoaWdobGlnaHRpbmcgaW5zdGVhZCBvZiBncmF5aW5nIG91dCB1
bmV4ZWN1dGVkIGNvZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE0MTAxMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFRoaXMgcGF0Y2ggcmVtb3ZlcyBhIGxvdCBvZiB0aGUgY29tcGxpY2F0ZWQgbG9naWMg
YXNzb2NpYXRlZCBhcm91bmQgCisgICAgICAgIGRldGVybWluaW5nIHdoaWNoIGNvZGUgY2FuIGJl
IGdyYXllZCBvdXQgYnkgdGhlIEJhc2ljQmxvY2tBbm5vdGF0b3IuIAorICAgICAgICBJbnN0ZWFk
LCB0aGUgQmFzaWNCbG9ja0Fubm90YXRvciBub3cgYXBwbGllcyBhIENTUyBjbGFzcyB0byBhbGwg
dGhlCisgICAgICAgIGNvZGUgdGhhdCBoYXMgbm90IGV4ZWN1dGVkIHdoaWNoIGxlc3NlbnMgdGhl
IHNhdHVyYXRpb24gb2YgdGhlIAorICAgICAgICBzeW50YXggY29sb3JpbmcgZm9yIHRoZSBjb2Rl
LiBUaGlzIGNyZWF0ZXMgYm90aCBhIG5pY2VyIHVzZXIKKyAgICAgICAgaW50ZXJmYWNlIGFuZCBh
IG5pY2VyIHVzZXIgZXhwZXJpZW5jZSBiZWNhdXNlIGl0IG1ha2VzIHJlYWRpbmcKKyAgICAgICAg
c291cmNlIGNvZGUgd2l0aCB0aGUgQmFzaWNCbG9ja0Fubm90YXRvciBlbmFibGVkIG1vcmUgcGxl
YXNhbnQuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL0Jhc2ljQmxvY2tB
bm5vdGF0b3IuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQmFzaWNCbG9ja0Fubm90YXRvci5w
cm90b3R5cGUuX2Fubm90YXRlQmFzaWNCbG9ja0V4ZWN1dGlvblJhbmdlcy4pOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLkJhc2ljQmxvY2tBbm5vdGF0b3IucHJvdG90eXBlLl9hbm5vdGF0ZUJhc2lj
QmxvY2tFeGVjdXRpb25SYW5nZXMpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkJhc2ljQmxvY2tB
bm5vdGF0b3IucHJvdG90eXBlLnNldCBfaGlnaGxpZ2h0VGV4dEZvckJhc2ljQmxvY2spOgorICAg
ICAgICAoV2ViSW5zcGVjdG9yLkJhc2ljQmxvY2tBbm5vdGF0b3IucHJvdG90eXBlLl9pc1RleHRS
YW5nZU9ubHlXaGl0ZXNwYWNlKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkluc3BlY3Rvci5CYXNp
Y0Jsb2NrQW5ub3RhdG9yLnByb3RvdHlwZS5faXNUZXh0UmFuZ2VPbmx5Q2xvc2luZ0JyYWNlKTog
RGVsZXRlZC4KKyAgICAgICAgKF9jYW5HcmF5T3V0RW50aXJlTGluZSk6IERlbGV0ZWQuCisgICAg
ICAgIChfZ3JheU91dExpbmUpOiBEZWxldGVkLgorICAgICAgICAoX2NsZWFyUmFuZ2VGb3JCYXNp
Y0Jsb2NrTWFya2VyLmdldCBtYXJrZXIpOiBEZWxldGVkLgorICAgICAgICAoX2NsZWFyUmFuZ2VG
b3JCYXNpY0Jsb2NrTWFya2VyKTogRGVsZXRlZC4KKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1Zp
ZXdzL1NvdXJjZUNvZGVUZXh0RWRpdG9yLmNzczoKKyAgICAgICAgKC5ob3Zlci1tZW51LmNvbG9y
ID4gaW1nKToKKyAgICAgICAgKC5iYXNpYy1ibG9jay1oYXMtbm90LWV4ZWN1dGVkKTogRGVsZXRl
ZC4KKyAgICAgICAgKC5iYXNpYy1ibG9jay1oYXMtbm90LWV4ZWN1dGVkLXByZXBlbmQ6OmJlZm9y
ZSk6IERlbGV0ZWQuCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9TeW50YXhIaWdobGln
aHRpbmdEZWZhdWx0VGhlbWUuY3NzOgorICAgICAgICAoLmNtLXMtZGVmYXVsdCAuYmFzaWMtYmxv
Y2staGFzLW5vdC1leGVjdXRlZCk6CisgICAgICAgICguY20tcy1kZWZhdWx0IC5iYXNpYy1ibG9j
ay1oYXMtbm90LWV4ZWN1dGVkLmNtLWNvbW1lbnQpOgorICAgICAgICAoLmNtLXMtZGVmYXVsdCAu
YmFzaWMtYmxvY2staGFzLW5vdC1leGVjdXRlZC5jbS1tLWNzczptYXRjaGVzKC5jbS1hdG9tLCAu
Y20tbWV0YSwgLmNtLXZhcmlhYmxlLTMsIC5jbS1wcm9wZXJ0eSkpOgorICAgICAgICAoLmNtLXMt
ZGVmYXVsdCAuYmFzaWMtYmxvY2staGFzLW5vdC1leGVjdXRlZDptYXRjaGVzKC5jbS1udW1iZXIs
IC5jbS1hdG9tLmNtLWhleC1jb2xvcikpOgorICAgICAgICAoLmNtLXMtZGVmYXVsdCAuYmFzaWMt
YmxvY2staGFzLW5vdC1leGVjdXRlZC5jbS1zdHJpbmcpOgorICAgICAgICAoLmNtLXMtZGVmYXVs
dCAuYmFzaWMtYmxvY2staGFzLW5vdC1leGVjdXRlZC5jbS1tLXhtbC5jbS1tZXRhKToKKyAgICAg
ICAgKC5jbS1zLWRlZmF1bHQgLmJhc2ljLWJsb2NrLWhhcy1ub3QtZXhlY3V0ZWQuY20tbS14bWwu
Y20tYXR0cmlidXRlKToKKwogMjAxNS0wMS0yOCAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9A
YXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IENoYW5nZSBNYWluIEZyYW1lIFN0
YXR1cyBCdXR0b25zIHdoZW4gZGVidWdnaW5nIEF1Z21lbnRlZCBKU0NvbnRleHQKSW5kZXg6IFNv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL0Jhc2ljQmxvY2tB
bm5vdGF0b3IuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvQ29udHJvbGxlcnMvQmFzaWNCbG9ja0Fubm90YXRvci5qcwkocmV2aXNpb24gMTc5MzQ3
KQorKysgU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvQmFz
aWNCbG9ja0Fubm90YXRvci5qcwkod29ya2luZyBjb3B5KQpAQCAtMzMsNyArMzMsNiBAQCBXZWJJ
bnNwZWN0b3IuQmFzaWNCbG9ja0Fubm90YXRvciA9IGZ1bmN0CiB9OwogCiBXZWJJbnNwZWN0b3Iu
QmFzaWNCbG9ja0Fubm90YXRvci5IYXNOb3RFeGVjdXRlZENsYXNzTmFtZSA9ICJiYXNpYy1ibG9j
ay1oYXMtbm90LWV4ZWN1dGVkIjsKLVdlYkluc3BlY3Rvci5CYXNpY0Jsb2NrQW5ub3RhdG9yLkhh
c05vdEV4ZWN1dGVkUHJlcGVuZENsYXNzTmFtZSA9ICJiYXNpYy1ibG9jay1oYXMtbm90LWV4ZWN1
dGVkLXByZXBlbmQiOwogCiBXZWJJbnNwZWN0b3IuQmFzaWNCbG9ja0Fubm90YXRvci5wcm90b3R5
cGUgPSB7CiAgICAgY29uc3RydWN0b3I6IFdlYkluc3BlY3Rvci5CYXNpY0Jsb2NrQW5ub3RhdG9y
LApAQCAtNzIsNyArNzEsNyBAQCBXZWJJbnNwZWN0b3IuQmFzaWNCbG9ja0Fubm90YXRvci5wcm90
b3R5CiAKICAgICAgICAgICAgIHZhciB7c3RhcnRPZmZzZXQsIGVuZE9mZnNldH0gPSB0aGlzLnNv
dXJjZUNvZGVUZXh0RWRpdG9yLnZpc2libGVSYW5nZU9mZnNldHMoKTsKICAgICAgICAgICAgIGJh
c2ljQmxvY2tzID0gYmFzaWNCbG9ja3MuZmlsdGVyKGZ1bmN0aW9uKGJsb2NrKSB7Ci0gICAgICAg
ICAgICAgICAgcmV0dXJuIGJsb2NrLnN0YXJ0T2Zmc2V0ID49IHN0YXJ0T2Zmc2V0ICYmIGJsb2Nr
LnN0YXJ0T2Zmc2V0IDw9IGVuZE9mZnNldDsKKyAgICAgICAgICAgICAgICByZXR1cm4gKGJsb2Nr
LnN0YXJ0T2Zmc2V0ID49IHN0YXJ0T2Zmc2V0ICYmIGJsb2NrLnN0YXJ0T2Zmc2V0IDw9IGVuZE9m
ZnNldCkgfHwgKGJsb2NrLnN0YXJ0T2Zmc2V0IDw9IHN0YXJ0T2Zmc2V0ICYmIGJsb2NrLmVuZE9m
ZnNldCA+PSBlbmRPZmZzZXQpOwogICAgICAgICAgICAgfSk7CiAKICAgICAgICAgICAgIGZvciAo
dmFyIGJsb2NrIG9mIGJhc2ljQmxvY2tzKSB7CkBAIC04MiwxNCArODEsMTMgQEAgV2ViSW5zcGVj
dG9yLkJhc2ljQmxvY2tBbm5vdGF0b3IucHJvdG90eQogICAgICAgICAgICAgICAgIGlmIChoYXNL
ZXkgJiYgaGFzRXhlY3V0ZWQpCiAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2NsZWFyUmFuZ2VG
b3JCYXNpY0Jsb2NrTWFya2VyKGtleSk7CiAgICAgICAgICAgICAgICAgZWxzZSBpZiAoIWhhc0tl
eSAmJiAhaGFzRXhlY3V0ZWQpIHsKLSAgICAgICAgICAgICAgICAgICAgdmFyIGJhc2ljQmxvY2tN
YXJrZXIgPSB0aGlzLl9oaWdobGlnaHRUZXh0Rm9yQmFzaWNCbG9jayhibG9jayk7Ci0gICAgICAg
ICAgICAgICAgICAgIGlmIChiYXNpY0Jsb2NrTWFya2VyKQotICAgICAgICAgICAgICAgICAgICAg
ICAgdGhpcy5fYmFzaWNCbG9ja01hcmtlcnMuc2V0KGtleSwgYmFzaWNCbG9ja01hcmtlcik7Ci0g
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICB2YXIgbWFya2VyID0gdGhpcy5f
aGlnaGxpZ2h0VGV4dEZvckJhc2ljQmxvY2soYmxvY2spOworICAgICAgICAgICAgICAgICAgICB0
aGlzLl9iYXNpY0Jsb2NrTWFya2Vycy5zZXQoa2V5LCBtYXJrZXIpOworICAgICAgICAgICAgICAg
IH0gCiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIHZhciB0b3RhbFRpbWUgPSBEYXRlLm5v
dygpIC0gc3RhcnRUaW1lOwotICAgICAgICAgICAgdmFyIHRpbWVvdXRUaW1lID0gTWF0aC5taW4o
TWF0aC5tYXgoNjUwMCwgdG90YWxUaW1lKSwgMTUgKiB0b3RhbFRpbWUpOworICAgICAgICAgICAg
dmFyIHRpbWVvdXRUaW1lID0gTWF0aC5taW4oTWF0aC5tYXgoNjUwMCwgdG90YWxUaW1lKSwgMzAg
KiB0b3RhbFRpbWUpOwogICAgICAgICAgICAgdGhpcy5fdGltZW91dElkZW50aWZpZXIgPSBzZXRU
aW1lb3V0KHRoaXMuaW5zZXJ0QW5ub3RhdGlvbnMuYmluZCh0aGlzKSwgdGltZW91dFRpbWUpOwog
ICAgICAgICB9LmJpbmQodGhpcykpOwogICAgIH0sCkBAIC0xMDIsOTEgKzEwMCwxNSBAQCBXZWJJ
bnNwZWN0b3IuQmFzaWNCbG9ja0Fubm90YXRvci5wcm90b3R5CiAgICAgICAgIHZhciBzdGFydFBv
c2l0aW9uID0gdGhpcy5zb3VyY2VDb2RlVGV4dEVkaXRvci5vcmlnaW5hbE9mZnNldFRvQ3VycmVu
dFBvc2l0aW9uKGJhc2ljQmxvY2suc3RhcnRPZmZzZXQpOwogICAgICAgICB2YXIgZW5kUG9zaXRp
b24gPSB0aGlzLnNvdXJjZUNvZGVUZXh0RWRpdG9yLm9yaWdpbmFsT2Zmc2V0VG9DdXJyZW50UG9z
aXRpb24oYmFzaWNCbG9jay5lbmRPZmZzZXQpOwogCi0gICAgICAgIGlmICh0aGlzLl9pc1RleHRS
YW5nZU9ubHlXaGl0ZXNwYWNlKHN0YXJ0UG9zaXRpb24sIGVuZFBvc2l0aW9uKSB8fCB0aGlzLl9p
c1RleHRSYW5nZU9ubHlDbG9zaW5nQnJhY2Uoc3RhcnRQb3NpdGlvbiwgZW5kUG9zaXRpb24pKQot
ICAgICAgICAgICAgcmV0dXJuIG51bGw7Ci0KLSAgICAgICAgLy8gR3JheSBvdXQgdGhlIHRleHQg
cmFuZ2UuCiAgICAgICAgIHZhciBtYXJrZXIgPSB0aGlzLnNvdXJjZUNvZGVUZXh0RWRpdG9yLmFk
ZFN0eWxlVG9UZXh0UmFuZ2Uoc3RhcnRQb3NpdGlvbiwgZW5kUG9zaXRpb24sIFdlYkluc3BlY3Rv
ci5CYXNpY0Jsb2NrQW5ub3RhdG9yLkhhc05vdEV4ZWN1dGVkQ2xhc3NOYW1lKTsKLQotICAgICAg
ICAvLyBXaGVuIGFkZGluZyBhIHN0eWxlIHRvIHRoZSBjb2RlIHJhbmdlIGluIENvZGVNaXJyb3Is
IHN1Y2ggYXMgYSBiYWNrZ3JvdW5kIGNvbG9yLCBpdCB3aWxsIG9ubHkgYXBwbHkgdGhlIHN0eWxl
Ci0gICAgICAgIC8vIHRvIHRoZSBhcmVhIHdoZXJlIHRleHQgaXMsIG5vdCB0byB0aGUgc3R5bGUg
b2YgYW4gZW50aXJlIGxpbmUuIEJ1dCwgZnJvbSBhIHVzZXIgaW50ZXJmYWNlIHBlcnNwZWN0aXZl
LCBpdCBsb29rcwotICAgICAgICAvLyBjbGVhbmVyIHRvIGhhdmUgZW50aXJlIGxpbmVzIGhpZ2hs
aWdodGVkLiBUaGUgZm9sbG93aW5nIGxvZ2ljIGdyYXlzIG91dCBlbnRpcmUgbGluZXMgd2hlbiB0
aGUgbGluZSdzIHJhbmdlIGlzCi0gICAgICAgIC8vIG5vdCBhY3Jvc3MgYmFzaWMgYmxvY2sgYm91
bmRhcmllcy4KLSAgICAgICAgdmFyIGxpbmVTdHlsZXMgPSBbXTsKLSAgICAgICAgaWYgKGVuZFBv
c2l0aW9uLmxpbmUgPiBzdGFydFBvc2l0aW9uLmxpbmUpIHsKLSAgICAgICAgICAgIHZhciBzdGFy
dExpbmVFbmRQb3NpdGlvbiA9IHtsaW5lOiBzdGFydFBvc2l0aW9uLmxpbmUsIGNoOiB0aGlzLnNv
dXJjZUNvZGVUZXh0RWRpdG9yLmxpbmUoc3RhcnRQb3NpdGlvbi5saW5lKS5sZW5ndGh9OwotICAg
ICAgICAgICAgaWYgKHRoaXMuX2NhbkdyYXlPdXRFbnRpcmVMaW5lKHN0YXJ0UG9zaXRpb24ubGlu
ZSwgc3RhcnRQb3NpdGlvbiwgc3RhcnRMaW5lRW5kUG9zaXRpb24pKSB7Ci0gICAgICAgICAgICAg
ICAgdGhpcy5fZ3JheU91dExpbmUoc3RhcnRQb3NpdGlvbi5saW5lKTsKLSAgICAgICAgICAgICAg
ICBsaW5lU3R5bGVzLnB1c2goe2xpbmU6IHN0YXJ0UG9zaXRpb24ubGluZSwgY2xhc3NOYW1lOiBX
ZWJJbnNwZWN0b3IuQmFzaWNCbG9ja0Fubm90YXRvci5IYXNOb3RFeGVjdXRlZENsYXNzTmFtZX0p
OwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICB2YXIgZW5kTGluZVN0YXJ0UG9zaXRpb24g
PSB7bGluZTogZW5kUG9zaXRpb24ubGluZSwgY2g6IDB9OwotICAgICAgICAgICAgIAotICAgICAg
ICAgICAgaWYgKHRoaXMuX2NhbkdyYXlPdXRFbnRpcmVMaW5lKGVuZFBvc2l0aW9uLmxpbmUsIGVu
ZExpbmVTdGFydFBvc2l0aW9uLCBlbmRQb3NpdGlvbikpIHsKLSAgICAgICAgICAgICAgICB0aGlz
Ll9ncmF5T3V0TGluZShlbmRQb3NpdGlvbi5saW5lKTsKLSAgICAgICAgICAgICAgICBsaW5lU3R5
bGVzLnB1c2goe2xpbmU6IGVuZFBvc2l0aW9uLmxpbmUsIGNsYXNzTmFtZTogV2ViSW5zcGVjdG9y
LkJhc2ljQmxvY2tBbm5vdGF0b3IuSGFzTm90RXhlY3V0ZWRDbGFzc05hbWV9KTsKLSAgICAgICAg
ICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgdGhpcy5zb3VyY2VDb2RlVGV4dEVkaXRvci5h
ZGRTdHlsZUNsYXNzVG9MaW5lKGVuZFBvc2l0aW9uLmxpbmUsIFdlYkluc3BlY3Rvci5CYXNpY0Js
b2NrQW5ub3RhdG9yLkhhc05vdEV4ZWN1dGVkUHJlcGVuZENsYXNzTmFtZSk7Ci0gICAgICAgICAg
ICAgICAgbGluZVN0eWxlcy5wdXNoKHtsaW5lOiBlbmRQb3NpdGlvbi5saW5lLCBjbGFzc05hbWU6
IFdlYkluc3BlY3Rvci5CYXNpY0Jsb2NrQW5ub3RhdG9yLkhhc05vdEV4ZWN1dGVkUHJlcGVuZENs
YXNzTmFtZX0pOwotICAgICAgICAgICAgfQotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAg
Y29uc29sZS5hc3NlcnQoZW5kUG9zaXRpb24ubGluZSA9PT0gc3RhcnRQb3NpdGlvbi5saW5lKTsK
LSAgICAgICAgICAgIGlmICh0aGlzLl9jYW5HcmF5T3V0RW50aXJlTGluZShzdGFydFBvc2l0aW9u
LmxpbmUsIHN0YXJ0UG9zaXRpb24sIGVuZFBvc2l0aW9uKSkgewotICAgICAgICAgICAgICAgIHRo
aXMuX2dyYXlPdXRMaW5lKHN0YXJ0UG9zaXRpb24ubGluZSk7Ci0gICAgICAgICAgICAgICAgbGlu
ZVN0eWxlcy5wdXNoKHtsaW5lOiBzdGFydFBvc2l0aW9uLmxpbmUsIGNsYXNzTmFtZTogV2ViSW5z
cGVjdG9yLkJhc2ljQmxvY2tBbm5vdGF0b3IuSGFzTm90RXhlY3V0ZWRDbGFzc05hbWV9KTsKLSAg
ICAgICAgICAgIH0gZWxzZSBpZiAoc3RhcnRQb3NpdGlvbi5jaCA9PT0gMCkgewotICAgICAgICAg
ICAgICAgIHRoaXMuc291cmNlQ29kZVRleHRFZGl0b3IuYWRkU3R5bGVDbGFzc1RvTGluZShlbmRQ
b3NpdGlvbi5saW5lLCBXZWJJbnNwZWN0b3IuQmFzaWNCbG9ja0Fubm90YXRvci5IYXNOb3RFeGVj
dXRlZFByZXBlbmRDbGFzc05hbWUpOwotICAgICAgICAgICAgICAgIGxpbmVTdHlsZXMucHVzaCh7
bGluZTogc3RhcnRQb3NpdGlvbi5saW5lLCBjbGFzc05hbWU6IFdlYkluc3BlY3Rvci5CYXNpY0Js
b2NrQW5ub3RhdG9yLkhhc05vdEV4ZWN1dGVkUHJlcGVuZENsYXNzTmFtZX0pOwotICAgICAgICAg
ICAgfQotICAgICAgICB9Ci0KLSAgICAgICAgaWYgKGVuZFBvc2l0aW9uLmxpbmUgLSBzdGFydFBv
c2l0aW9uLmxpbmUgPj0gMikgewotICAgICAgICAgICAgLy8gVGhlcmUgaXMgYXQgbGVhc3Qgb25l
IGVudGlyZSBsaW5lIHRvIGJlIGdyYXllZCBvdXQgYmV0d2VlbiB0aGUgc3RhcnQgYW5kIGVuZCBw
b3NpdGlvbiBvZiB0aGUgYmFzaWMgYmxvY2s6Ci0gICAgICAgICAgICAvLyBuICA6IC4uLgotICAg
ICAgICAgICAgLy8gbisxOiAuLi4gKFRoaXMgZW50aXJlIGxpbmUgY2FuIHNhZmVseSBiZSBncmF5
ZWQgb3V0KS4KLSAgICAgICAgICAgIC8vIG4rMjogLi4uCi0gICAgICAgICAgICBmb3IgKHZhciBs
aW5lTnVtYmVyID0gc3RhcnRQb3NpdGlvbi5saW5lICsgMTsgbGluZU51bWJlciA8IGVuZFBvc2l0
aW9uLmxpbmU7IGxpbmVOdW1iZXIrKykgewotICAgICAgICAgICAgICAgIHRoaXMuX2dyYXlPdXRM
aW5lKGxpbmVOdW1iZXIpOwotICAgICAgICAgICAgICAgIGxpbmVTdHlsZXMucHVzaCh7bGluZTog
bGluZU51bWJlciwgY2xhc3NOYW1lOiBXZWJJbnNwZWN0b3IuQmFzaWNCbG9ja0Fubm90YXRvci5I
YXNOb3RFeGVjdXRlZENsYXNzTmFtZX0pOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0KLSAg
ICAgICAgcmV0dXJuIHttYXJrZXI6IG1hcmtlciwgbGluZVN0eWxlczogbGluZVN0eWxlc307Ci0g
ICAgfSwKLQotICAgIF9pc1RleHRSYW5nZU9ubHlXaGl0ZXNwYWNlOiBmdW5jdGlvbihzdGFydFBv
c2l0aW9uLCBlbmRQb3NpdGlvbikKLSAgICB7Ci0gICAgICAgIHZhciBpc09ubHlXaGl0ZXNwYWNl
ID0gL15ccyskLzsKLSAgICAgICAgcmV0dXJuIGlzT25seVdoaXRlc3BhY2UudGVzdCh0aGlzLnNv
dXJjZUNvZGVUZXh0RWRpdG9yLmdldFRleHRJblJhbmdlKHN0YXJ0UG9zaXRpb24sIGVuZFBvc2l0
aW9uKSk7Ci0gICAgfSwKLQotICAgIF9pc1RleHRSYW5nZU9ubHlDbG9zaW5nQnJhY2U6IGZ1bmN0
aW9uKHN0YXJ0UG9zaXRpb24sIGVuZFBvc2l0aW9uKQotICAgIHsKLSAgICAgICAgdmFyIGlzT25s
eUNsb3NpbmdCcmFjZSA9IC9eXHMqXH0kLzsKLSAgICAgICAgcmV0dXJuIGlzT25seUNsb3NpbmdC
cmFjZS50ZXN0KHRoaXMuc291cmNlQ29kZVRleHRFZGl0b3IuZ2V0VGV4dEluUmFuZ2Uoc3RhcnRQ
b3NpdGlvbiwgZW5kUG9zaXRpb24pKTsKLSAgICB9LAotCi0gICAgX2NhbkdyYXlPdXRFbnRpcmVM
aW5lOiBmdW5jdGlvbihsaW5lTnVtYmVyLCBzdGFydFBvc2l0aW9uLCBlbmRQb3NpdGlvbikKLSAg
ICB7Ci0gICAgICAgIGNvbnNvbGUuYXNzZXJ0KHN0YXJ0UG9zaXRpb24ubGluZSA9PT0gZW5kUG9z
aXRpb24ubGluZSk7Ci0gICAgICAgIHZhciBsaW5lVGV4dCA9IHRoaXMuc291cmNlQ29kZVRleHRF
ZGl0b3IubGluZShsaW5lTnVtYmVyKTsKLSAgICAgICAgdmFyIGJsb2NrVGV4dCA9IHRoaXMuc291
cmNlQ29kZVRleHRFZGl0b3IuZ2V0VGV4dEluUmFuZ2Uoc3RhcnRQb3NpdGlvbiwgZW5kUG9zaXRp
b24pOwotICAgICAgICByZXR1cm4gbGluZVRleHQudHJpbSgpID09PSBibG9ja1RleHQudHJpbSgp
OwotICAgIH0sCi0KLSAgICBfZ3JheU91dExpbmU6IGZ1bmN0aW9uKGxpbmVOdW1iZXIpCi0gICAg
ewotICAgICAgICB2YXIgY2xhc3NOYW1lID0gV2ViSW5zcGVjdG9yLkJhc2ljQmxvY2tBbm5vdGF0
b3IuSGFzTm90RXhlY3V0ZWRDbGFzc05hbWU7Ci0gICAgICAgIHRoaXMuc291cmNlQ29kZVRleHRF
ZGl0b3IuYWRkU3R5bGVDbGFzc1RvTGluZShsaW5lTnVtYmVyLCBjbGFzc05hbWUpOworICAgICAg
ICByZXR1cm4gbWFya2VyOwogICAgIH0sCiAKICAgICBfY2xlYXJSYW5nZUZvckJhc2ljQmxvY2tN
YXJrZXI6IGZ1bmN0aW9uKGtleSkKICAgICB7CiAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KHRoaXMu
X2Jhc2ljQmxvY2tNYXJrZXJzLmhhcyhrZXkpKTsKLSAgICAgICAgdmFyIHttYXJrZXIsIGxpbmVT
dHlsZXN9ID0gdGhpcy5fYmFzaWNCbG9ja01hcmtlcnMuZ2V0KGtleSk7CisgICAgICAgIHZhciBt
YXJrZXIgPSB0aGlzLl9iYXNpY0Jsb2NrTWFya2Vycy5nZXQoa2V5KTsKICAgICAgICAgbWFya2Vy
LmNsZWFyKCk7Ci0gICAgICAgIGZvciAodmFyIHtsaW5lLCBjbGFzc05hbWV9IG9mIGxpbmVTdHls
ZXMpCi0gICAgICAgICAgICB0aGlzLnNvdXJjZUNvZGVUZXh0RWRpdG9yLnJlbW92ZVN0eWxlQ2xh
c3NGcm9tTGluZShsaW5lLCBjbGFzc05hbWUpOwogICAgICAgICB0aGlzLl9iYXNpY0Jsb2NrTWFy
a2Vycy5kZWxldGUoa2V5KTsKICAgICB9CiB9OwpJbmRleDogU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvU291cmNlQ29kZVRleHRFZGl0b3IuY3NzCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NvdXJjZUNvZGVU
ZXh0RWRpdG9yLmNzcwkocmV2aXNpb24gMTc5MzQ3KQorKysgU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvU291cmNlQ29kZVRleHRFZGl0b3IuY3NzCSh3b3JraW5nIGNv
cHkpCkBAIC03NiwxNiArNzYsMyBAQAogCiAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0
ZVkoMXB4KTsKIH0KLQotLmJhc2ljLWJsb2NrLWhhcy1ub3QtZXhlY3V0ZWQgewotICAgIGJhY2tn
cm91bmQtY29sb3I6IHJnYigyNDAsIDI0MCwgMjQwKTsKLX0KLQotLmJhc2ljLWJsb2NrLWhhcy1u
b3QtZXhlY3V0ZWQtcHJlcGVuZDo6YmVmb3JlIHsKLSAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2Io
MjQwLCAyNDAsIDI0MCk7Ci0gICAgcG9zaXRpb246IGFic29sdXRlOwotICAgIGNvbnRlbnQ6ICIi
OyAKLSAgICBoZWlnaHQ6IDEzcHg7Ci0gICAgbGVmdDogMHB4OwotICAgIHdpZHRoOiA3cHg7Ci19
CkluZGV4OiBTb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TeW50YXhI
aWdobGlnaHRpbmdEZWZhdWx0VGhlbWUuY3NzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1N5bnRheEhpZ2hsaWdodGluZ0RlZmF1bHRUaGVt
ZS5jc3MJKHJldmlzaW9uIDE3OTM0NykKKysrIFNvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1ZpZXdzL1N5bnRheEhpZ2hsaWdodGluZ0RlZmF1bHRUaGVtZS5jc3MJKHdvcmtpbmcg
Y29weSkKQEAgLTkwLDMgKzkwLDMyIEBACiAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMzUs
IDIxNSwgMzgsIDAuMik7CiAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYigyMzcsIDIw
MiwgNzEpOwogfQorCisuY20tcy1kZWZhdWx0IC5iYXNpYy1ibG9jay1oYXMtbm90LWV4ZWN1dGVk
IHsKKyAgICBjb2xvcjogcmdiKDE1MywgMTUzLCAxNTMpOworfQorCisuY20tcy1kZWZhdWx0IC5i
YXNpYy1ibG9jay1oYXMtbm90LWV4ZWN1dGVkLmNtLWNvbW1lbnQgeworICAgIGNvbG9yOiBoc2wo
MTQzLCAxOTEsIDE0Myk7Cit9CisKKy5jbS1zLWRlZmF1bHQgLmJhc2ljLWJsb2NrLWhhcy1ub3Qt
ZXhlY3V0ZWQ6bWF0Y2hlcyguY20tdGFnLCAuY20tYnJhY2tldCwgLmNtLWF0b20sIC5jbS1rZXl3
b3JkLCAuY20tbS1qYXZhc2NyaXB0LmNtLWJ1aWx0aW4pLAorLmNtLXMtZGVmYXVsdCAuYmFzaWMt
YmxvY2staGFzLW5vdC1leGVjdXRlZC5jbS1tLWNzczptYXRjaGVzKC5jbS1hdG9tLCAuY20tbWV0
YSwgLmNtLXZhcmlhYmxlLTMsIC5jbS1wcm9wZXJ0eSkgeworICAgIGNvbG9yOiByZ2IoMTk2LCAx
NjQsIDE5MSk7Cit9CisKKy5jbS1zLWRlZmF1bHQgLmJhc2ljLWJsb2NrLWhhcy1ub3QtZXhlY3V0
ZWQ6bWF0Y2hlcyguY20tbnVtYmVyLCAuY20tYXRvbS5jbS1oZXgtY29sb3IpIHsKKyAgICBjb2xv
cjogcmdiKDE4MCwgMTcyLCAyMjkpOworfQorCisuY20tcy1kZWZhdWx0IC5iYXNpYy1ibG9jay1o
YXMtbm90LWV4ZWN1dGVkLmNtLXN0cmluZyB7CisgICAgY29sb3I6IHJnYigyMDQsIDE1NCwgMTUz
KTsKK30KKworLmNtLXMtZGVmYXVsdCAuYmFzaWMtYmxvY2staGFzLW5vdC1leGVjdXRlZC5jbS1t
LXhtbC5jbS1tZXRhIHsKKyAgICBjb2xvcjogcmdiKDIxMCwgMjEwLCAyMTApOworfQorCisuY20t
cy1kZWZhdWx0IC5iYXNpYy1ibG9jay1oYXMtbm90LWV4ZWN1dGVkLmNtLW0teG1sLmNtLWF0dHJp
YnV0ZSB7CisgICAgY29sb3I6IHJnYigyMDEsIDE5MiwgMTY2KTsKK30K
</data>
<flag name="review"
          id="270577"
          type_id="1"
          status="+"
          setter="timothy"
    />
          </attachment>
      

    </bug>

</bugzilla>