<?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>21285</bug_id>
          
          <creation_ts>2008-10-01 14:26:54 -0700</creation_ts>
          <short_desc>XPath search in Web Inspector hangs Safari (when searching for //*)</short_desc>
          <delta_ts>2008-10-04 13:37:32 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>http://www.whatwg.org/specs/web-apps/current-work/</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="Sam Sneddon [:gsnedders]">gsnedders</reporter>
          <assigned_to name="Timothy Hatcher">timothy</assigned_to>
          <cc>ap</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>93604</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Sneddon [:gsnedders]">gsnedders</who>
    <bug_when>2008-10-01 14:26:54 -0700</bug_when>
    <thetext>If you start typing an XPath query in the search box in the web inspector, it attempts to evaluate the search on every time a character is entered. If the query begins with &quot;//*&quot;, this hangs WebKit (56k elements does that…). Perhaps it should have a slight delay, but ultimately XPath should probably be optimized itself.

In short: searching for //* hangs WebKit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>93606</commentid>
    <comment_count>1</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2008-10-01 14:28:45 -0700</bug_when>
    <thetext>&lt;rdar://problem/6262055&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>94029</commentid>
    <comment_count>2</comment_count>
      <attachid>24079</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2008-10-03 20:49:16 -0700</bug_when>
    <thetext>Created attachment 24079
Proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>94101</commentid>
    <comment_count>3</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2008-10-04 13:37:32 -0700</bug_when>
    <thetext>Landed in r37287.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>24079</attachid>
            <date>2008-10-03 20:49:16 -0700</date>
            <delta_ts>2008-10-04 00:09:05 -0700</delta_ts>
            <desc>Proposed patch</desc>
            <filename>0001--Changes-how-searching-works-in-the-Web-Inspe.patch</filename>
            <type>text/plain</type>
            <size>13653</size>
            <attacher name="Timothy Hatcher">timothy</attacher>
            
              <data encoding="base64">RnJvbSA5ZTMwNjVmNTFmOGViYzYyYzhhZjY2NzIzNWJhNGRhNWQwMWQ2NmM5IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBUaW1vdGh5IEhhdGNoZXIgPHRpbW90aHlAYXBwbGUuY29tPgpE
YXRlOiBGcmksIDMgT2N0IDIwMDggMjA6MzI6MjQgLTA3MDAKU3ViamVjdDogW1BBVENIXSAgICAg
ICAgIENoYW5nZXMgaG93IHNlYXJjaGluZyB3b3JrcyBpbiB0aGUgV2ViIEluc3BlY3RvcidzIEVs
ZW1lbnRzCiAgICAgICAgIHBhbmVsLiBUaGUgc2VhcmNoIHRhc2tzIGFyZSBkaXZpZGVkIGludG8g
Y2h1bmtzIHRoYXQgYXJlIHNtYWxsCiAgICAgICAgIHVuaXRzIG9mIHdvcmsgdGhhdCBhcmUgcGVy
Zm9ybWVkIGF0IGEgdGltZSBpbnRlcnZhbC4gVGhpcwogICAgICAgICBjaGFuZ2UgYWxzbyBwcmV2
ZW50cyBxdWVyaWVzIHRoYXQgd2lsbCBzZWxlY3QgYWxsIGVsZW1lbnRzLAogICAgICAgICBzaW5j
ZSB0aGF0IGlzbid0IHVzZWZ1bC4KCiAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIxMjg1CgogICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoK
ICAgICAgICAqIHBhZ2UvaW5zcGVjdG9yL0VsZW1lbnRzUGFuZWwuanM6CiAgICAgICAgKFdlYklu
c3BlY3Rvci5FbGVtZW50c1BhbmVsLnByb3RvdHlwZS5zZWFyY2hDYW5jbGVkKToKICAgICAgICBS
ZW1vdmUgdGhlIHNlYXJjaFJlc3VsdHNQcm9wZXJ0eSBmb3JtIHJlc3VsdHMgc2luY2UgdGhlcmUg
bWlnaHQKICAgICAgICBiZSBhbiB1bmZpbmlzaGVkIHNlYXJjaC4KICAgICAgICAoV2ViSW5zcGVj
dG9yLkVsZW1lbnRzUGFuZWwucHJvdG90eXBlLnBlcmZvcm1TZWFyY2gpOiBEaXZpZGUgdGhlCiAg
ICAgICAgZG9jdW1lbnRzIGFuZCBzZWFyY2ggZnVuY3Rpb25zIGludG8gY2h1bmtzIHRoYXQgYXJl
IHBlcmZvcm1lZCBvbgogICAgICAgIGEgaW50ZXJ2YWwgb2YgMjVtcy4gUHJldmVudCBzZWFyY2hl
cyBmb3IgIi8vKiIgYW5kICIqIi4KLS0tCiBXZWJDb3JlL0NoYW5nZUxvZyAgICAgICAgICAgICAg
ICAgICAgICAgfCAgIDIwICsrKysKIFdlYkNvcmUvcGFnZS9pbnNwZWN0b3IvRWxlbWVudHNQYW5l
bC5qcyB8ICAxNzYgKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLQogMiBmaWxlcyBjaGFu
Z2VkLCAxNTQgaW5zZXJ0aW9ucygrKSwgNDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBiNDFhMjYxLi44NjRmMGRi
IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDIzIEBACisyMDA4LTEwLTAzICBUaW1vdGh5IEhhdGNoZXIgIDx0aW1vdGh5QGFw
cGxlLmNvbT4KKworICAgICAgICBDaGFuZ2VzIGhvdyBzZWFyY2hpbmcgd29ya3MgaW4gdGhlIFdl
YiBJbnNwZWN0b3IncyBFbGVtZW50cworICAgICAgICBwYW5lbC4gVGhlIHNlYXJjaCB0YXNrcyBh
cmUgZGl2aWRlZCBpbnRvIGNodW5rcyB0aGF0IGFyZSBzbWFsbAorICAgICAgICB1bml0cyBvZiB3
b3JrIHRoYXQgYXJlIHBlcmZvcm1lZCBhdCBhIHRpbWUgaW50ZXJ2YWwuIFRoaXMKKyAgICAgICAg
Y2hhbmdlIGFsc28gcHJldmVudHMgcXVlcmllcyB0aGF0IHdpbGwgc2VsZWN0IGFsbCBlbGVtZW50
cywKKyAgICAgICAgc2luY2UgdGhhdCBpc24ndCB1c2VmdWwuCisKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMjg1CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwYWdlL2luc3BlY3Rvci9FbGVtZW50c1Bh
bmVsLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkVsZW1lbnRzUGFuZWwucHJvdG90eXBlLnNl
YXJjaENhbmNsZWQpOgorICAgICAgICBSZW1vdmUgdGhlIHNlYXJjaFJlc3VsdHNQcm9wZXJ0eSBm
b3JtIHJlc3VsdHMgc2luY2UgdGhlcmUgbWlnaHQKKyAgICAgICAgYmUgYW4gdW5maW5pc2hlZCBz
ZWFyY2guCisgICAgICAgIChXZWJJbnNwZWN0b3IuRWxlbWVudHNQYW5lbC5wcm90b3R5cGUucGVy
Zm9ybVNlYXJjaCk6IERpdmlkZSB0aGUKKyAgICAgICAgZG9jdW1lbnRzIGFuZCBzZWFyY2ggZnVu
Y3Rpb25zIGludG8gY2h1bmtzIHRoYXQgYXJlIHBlcmZvcm1lZCBvbgorICAgICAgICBhIGludGVy
dmFsIG9mIDI1bXMuIFByZXZlbnQgc2VhcmNoZXMgZm9yICIvLyoiIGFuZCAiKiIuCisKIDIwMDgt
MTAtMDMgIEFyaXlhIEhpZGF5YXQgIDxhcml5YS5oaWRheWF0QHRyb2xsdGVjaC5jb20+CiAKICAg
ICAgICAgQnVpbGQgZml4LgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL2luc3BlY3Rvci9FbGVt
ZW50c1BhbmVsLmpzIGIvV2ViQ29yZS9wYWdlL2luc3BlY3Rvci9FbGVtZW50c1BhbmVsLmpzCmlu
ZGV4IGIxZjQ2YTkuLmM5MThiYjkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9pbnNwZWN0b3Iv
RWxlbWVudHNQYW5lbC5qcworKysgYi9XZWJDb3JlL3BhZ2UvaW5zcGVjdG9yL0VsZW1lbnRzUGFu
ZWwuanMKQEAgLTIxNywxMSArMjE3LDE4IEBAIFdlYkluc3BlY3Rvci5FbGVtZW50c1BhbmVsLnBy
b3RvdHlwZSA9IHsKICAgICAgICAgfQogICAgIH0sCiAKKyAgICBpbmNsdWRlZEluU2VhcmNoUmVz
dWx0c1Byb3BlcnR5TmFtZTogIl9faW5jbHVkZWRJbkluc3BlY3RvclNlYXJjaFJlc3VsdHMiLAor
CiAgICAgc2VhcmNoQ2FuY2VsZWQ6IGZ1bmN0aW9uKCkKICAgICB7CiAgICAgICAgIGlmICh0aGlz
Ll9zZWFyY2hSZXN1bHRzKSB7CisgICAgICAgICAgICBjb25zdCBzZWFyY2hSZXN1bHRzUHJvcGVy
dHkgPSB0aGlzLmluY2x1ZGVkSW5TZWFyY2hSZXN1bHRzUHJvcGVydHlOYW1lOwogICAgICAgICAg
ICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLl9zZWFyY2hSZXN1bHRzLmxlbmd0aDsgKytpKSB7
CiAgICAgICAgICAgICAgICAgdmFyIG5vZGUgPSB0aGlzLl9zZWFyY2hSZXN1bHRzW2ldOworCisg
ICAgICAgICAgICAgICAgLy8gUmVtb3ZlIHRoZSBzZWFyY2hSZXN1bHRzUHJvcGVydHkgc2luY2Ug
dGhlcmUgbWlnaHQgYmUgYW4gdW5maW5pc2hlZCBzZWFyY2guCisgICAgICAgICAgICAgICAgZGVs
ZXRlIG5vZGVbc2VhcmNoUmVzdWx0c1Byb3BlcnR5XTsKKwogICAgICAgICAgICAgICAgIHZhciB0
cmVlRWxlbWVudCA9IHRoaXMudHJlZU91dGxpbmUuZmluZFRyZWVFbGVtZW50KG5vZGUpOwogICAg
ICAgICAgICAgICAgIGlmICh0cmVlRWxlbWVudCkKICAgICAgICAgICAgICAgICAgICAgdHJlZUVs
ZW1lbnQuaGlnaGxpZ2h0ZWQgPSBmYWxzZTsKQEAgLTIzMCw2ICsyMzcsMTEgQEAgV2ViSW5zcGVj
dG9yLkVsZW1lbnRzUGFuZWwucHJvdG90eXBlID0gewogCiAgICAgICAgIFdlYkluc3BlY3Rvci51
cGRhdGVTZWFyY2hNYXRjaGVzQ291bnQoMCwgdGhpcyk7CiAKKyAgICAgICAgaWYgKHRoaXMuX2N1
cnJlbnRTZWFyY2hDaHVua0ludGVydmFsSWRlbnRpZmllcikgeworICAgICAgICAgICAgY2xlYXJJ
bnRlcnZhbCh0aGlzLl9jdXJyZW50U2VhcmNoQ2h1bmtJbnRlcnZhbElkZW50aWZpZXIpOworICAg
ICAgICAgICAgZGVsZXRlIHRoaXMuX2N1cnJlbnRTZWFyY2hDaHVua0ludGVydmFsSWRlbnRpZmll
cjsKKyAgICAgICAgfQorCiAgICAgICAgIHRoaXMuX2N1cnJlbnRTZWFyY2hSZXN1bHRJbmRleCA9
IDA7CiAgICAgICAgIHRoaXMuX3NlYXJjaFJlc3VsdHMgPSBbXTsKICAgICB9LApAQCAtMjM5LDgx
ICsyNTEsMTYxIEBAIFdlYkluc3BlY3Rvci5FbGVtZW50c1BhbmVsLnByb3RvdHlwZSA9IHsKICAg
ICAgICAgLy8gQ2FsbCBzZWFyY2hDYW5jZWxlZCBzaW5jZSBpdCB3aWxsIHJlc2V0IGV2ZXJ5dGhp
bmcgd2UgbmVlZCBiZWZvcmUgZG9pbmcgYSBuZXcgc2VhcmNoLgogICAgICAgICB0aGlzLnNlYXJj
aENhbmNlbGVkKCk7CiAKLSAgICAgICAgdmFyIGVzY2FwZWRRdWVyeSA9IHF1ZXJ5LmVzY2FwZUNo
YXJhY3RlcnMoIiciKTsKLSAgICAgICAgdmFyIHBsYWluVGV4dFhQYXRoUXVlcnkgPSAiLy8qW2Nv
bnRhaW5zKG5hbWUoKSwnIiArIGVzY2FwZWRRdWVyeSArICInKSBvciBjb250YWlucyhAKiwnIiAr
IGVzY2FwZWRRdWVyeSArICInKV0gfCAvL3RleHQoKVtjb250YWlucyguLCciICsgZXNjYXBlZFF1
ZXJ5ICsgIicpXSB8IC8vY29tbWVudCgpW2NvbnRhaW5zKC4sJyIgKyBlc2NhcGVkUXVlcnkgKyAi
JyldIjsKKyAgICAgICAgY29uc3Qgd2hpdGVzcGFjZVRyaW1tZWRRdWVyeSA9IHF1ZXJ5LnRyaW1X
aGl0ZXNwYWNlKCk7CisgICAgICAgIGlmICghd2hpdGVzcGFjZVRyaW1tZWRRdWVyeS5sZW5ndGgp
CisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgY29uc3QgZXNjYXBlZFF1ZXJ5ID0gcXVl
cnkuZXNjYXBlQ2hhcmFjdGVycygiJyIpOworICAgICAgICBjb25zdCBlc2NhcGVkV2hpdGVzcGFj
ZVRyaW1tZWRRdWVyeSA9IHdoaXRlc3BhY2VUcmltbWVkUXVlcnkuZXNjYXBlQ2hhcmFjdGVycygi
JyIpOworICAgICAgICBjb25zdCBzZWFyY2hSZXN1bHRzUHJvcGVydHkgPSB0aGlzLmluY2x1ZGVk
SW5TZWFyY2hSZXN1bHRzUHJvcGVydHlOYW1lOwogCi0gICAgICAgIHZhciBldmFsdWF0ZUZ1bmN0
aW9uID0gSW5zcGVjdG9yQ29udHJvbGxlci5pbnNwZWN0ZWRXaW5kb3coKS5Eb2N1bWVudC5wcm90
b3R5cGUuZXZhbHVhdGU7Ci0gICAgICAgIHZhciBxdWVyeVNlbGVjdG9yQWxsRnVuY3Rpb24gPSBJ
bnNwZWN0b3JDb250cm9sbGVyLmluc3BlY3RlZFdpbmRvdygpLkRvY3VtZW50LnByb3RvdHlwZS5x
dWVyeVNlbGVjdG9yQWxsOworICAgICAgICB2YXIgdXBkYXRlZE1hdGNoQ291bnRPbmNlID0gZmFs
c2U7CisgICAgICAgIHZhciBtYXRjaGVzQ291bnRVcGRhdGVUaW1lb3V0ID0gbnVsbDsKKworICAg
ICAgICBmdW5jdGlvbiB1cGRhdGVNYXRjaGVzQ291bnQoKQorICAgICAgICB7CisgICAgICAgICAg
ICBXZWJJbnNwZWN0b3IudXBkYXRlU2VhcmNoTWF0Y2hlc0NvdW50KHRoaXMuX3NlYXJjaFJlc3Vs
dHMubGVuZ3RoLCB0aGlzKTsKKyAgICAgICAgICAgIG1hdGNoZXNDb3VudFVwZGF0ZVRpbWVvdXQg
PSBudWxsOworICAgICAgICAgICAgdXBkYXRlZE1hdGNoQ291bnRPbmNlID0gdHJ1ZTsKKyAgICAg
ICAgfQorCisgICAgICAgIGZ1bmN0aW9uIHVwZGF0ZU1hdGNoZXNDb3VudFNvb24oKQorICAgICAg
ICB7CisgICAgICAgICAgICBpZiAoIXVwZGF0ZWRNYXRjaENvdW50T25jZSkKKyAgICAgICAgICAg
ICAgICByZXR1cm4gdXBkYXRlTWF0Y2hlc0NvdW50LmNhbGwodGhpcyk7CisgICAgICAgICAgICBp
ZiAobWF0Y2hlc0NvdW50VXBkYXRlVGltZW91dCkKKyAgICAgICAgICAgICAgICByZXR1cm47Cisg
ICAgICAgICAgICAvLyBVcGRhdGUgdGhlIG1hdGNoZXMgY291bnQgZXZlcnkgaGFsZi1zZWNvbmQg
c28gaXQgZG9lc24ndCBmZWVsIHR3aXRjaHkuCisgICAgICAgICAgICBtYXRjaGVzQ291bnRVcGRh
dGVUaW1lb3V0ID0gc2V0VGltZW91dCh1cGRhdGVNYXRjaGVzQ291bnQuYmluZCh0aGlzKSwgNTAw
KTsKKyAgICAgICAgfQogCi0gICAgICAgIGNvbnN0IHNlYXJjaFJlc3VsdHNQcm9wZXJ0eSA9ICJf
X2luY2x1ZGVkSW5JbnNwZWN0b3JTZWFyY2hSZXN1bHRzIjsKICAgICAgICAgZnVuY3Rpb24gYWRk
Tm9kZXNUb1Jlc3VsdHMobm9kZXMsIGxlbmd0aCwgZ2V0SXRlbSkKICAgICAgICAgeworICAgICAg
ICAgICAgaWYgKCFsZW5ndGgpCisgICAgICAgICAgICAgICAgcmV0dXJuOworCiAgICAgICAgICAg
ICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbmd0aDsgKytpKSB7Ci0gICAgICAgICAgICAgICAgdmFy
IG5vZGUgPSBnZXRJdGVtKG5vZGVzLCBpKTsKKyAgICAgICAgICAgICAgICB2YXIgbm9kZSA9IGdl
dEl0ZW0uY2FsbChub2RlcywgaSk7CiAgICAgICAgICAgICAgICAgLy8gU2tpcCB0aGlzIG5vZGUg
aWYgaXQgYWxyZWFkeSBoYXMgdGhlIHByb3BlcnR5LgogICAgICAgICAgICAgICAgIGlmIChzZWFy
Y2hSZXN1bHRzUHJvcGVydHkgaW4gbm9kZSkKICAgICAgICAgICAgICAgICAgICAgY29udGludWU7
CisKKyAgICAgICAgICAgICAgICBpZiAoIXRoaXMuX3NlYXJjaFJlc3VsdHMubGVuZ3RoKSB7Cisg
ICAgICAgICAgICAgICAgICAgIHRoaXMuX2N1cnJlbnRTZWFyY2hSZXN1bHRJbmRleCA9IDA7Cisg
ICAgICAgICAgICAgICAgICAgIHRoaXMuZm9jdXNlZERPTU5vZGUgPSBub2RlOworICAgICAgICAg
ICAgICAgIH0KKwogICAgICAgICAgICAgICAgIG5vZGVbc2VhcmNoUmVzdWx0c1Byb3BlcnR5XSA9
IHRydWU7CiAgICAgICAgICAgICAgICAgdGhpcy5fc2VhcmNoUmVzdWx0cy5wdXNoKG5vZGUpOwor
CisgICAgICAgICAgICAgICAgLy8gSGlnaGxpZ2h0IHRoZSB0cmVlIGVsZW1lbnQgdG8gc2hvdyBp
dCBtYXRjaGVkIHRoZSBzZWFyY2guCisgICAgICAgICAgICAgICAgLy8gRklYTUU6IGhpZ2hsaWdo
dCB0aGUgc3Vic3RyaW5ncyBpbiB0ZXh0IG5vZGVzIGFuZCBhdHRyaWJ1dGVzLgorICAgICAgICAg
ICAgICAgIHZhciB0cmVlRWxlbWVudCA9IHRoaXMudHJlZU91dGxpbmUuZmluZFRyZWVFbGVtZW50
KG5vZGUpOworICAgICAgICAgICAgICAgIGlmICh0cmVlRWxlbWVudCkKKyAgICAgICAgICAgICAg
ICAgICAgdHJlZUVsZW1lbnQuaGlnaGxpZ2h0ZWQgPSB0cnVlOwogICAgICAgICAgICAgfQorCisg
ICAgICAgICAgICB1cGRhdGVNYXRjaGVzQ291bnRTb29uLmNhbGwodGhpcyk7CiAgICAgICAgIH0K
IAotICAgICAgICBmdW5jdGlvbiBzZWFyY2hEb2N1bWVudChkb2MpCisgICAgICAgIGZ1bmN0aW9u
IG1hdGNoUGFydGlhbFRhZ05hbWVzQW5kQXR0cmlidXRlVmFsdWVzKGRvYykKICAgICAgICAgewot
ICAgICAgICAgICAgdHJ5IHsKLSAgICAgICAgICAgICAgICB2YXIgcmVzdWx0ID0gZXZhbHVhdGVG
dW5jdGlvbi5jYWxsKGRvYywgcGxhaW5UZXh0WFBhdGhRdWVyeSwgZG9jLCBudWxsLCBYUGF0aFJl
c3VsdC5PUkRFUkVEX05PREVfU05BUFNIT1RfVFlQRSk7Ci0gICAgICAgICAgICAgICAgYWRkTm9k
ZXNUb1Jlc3VsdHMuY2FsbCh0aGlzLCByZXN1bHQsIHJlc3VsdC5zbmFwc2hvdExlbmd0aCwgZnVu
Y3Rpb24obCwgaSkgeyByZXR1cm4gbC5zbmFwc2hvdEl0ZW0oaSk7IH0pOwotICAgICAgICAgICAg
fSBjYXRjaChlcnIpIHsKLSAgICAgICAgICAgICAgICAvLyBpZ25vcmUgYW55IGV4Y2VwdGlvbnMu
IHRoZSBxdWVyeSBtaWdodCBiZSBtYWxmb3JtZWQsIGJ1dCB3ZSBhbGxvdyB0aGF0LgotICAgICAg
ICAgICAgfQorICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gZG9jLl9fcHJvdG9fXy5ldmFsdWF0
ZS5jYWxsKGRvYywgIi8vKltjb250YWlucyhuYW1lKCksICciICsgZXNjYXBlZFdoaXRlc3BhY2VU
cmltbWVkUXVlcnkgKyAiJykgb3IgY29udGFpbnMoQCosICciICsgZXNjYXBlZFF1ZXJ5ICsgIicp
XSIsIGRvYywgbnVsbCwgWFBhdGhSZXN1bHQuT1JERVJFRF9OT0RFX1NOQVBTSE9UX1RZUEUpOwor
ICAgICAgICAgICAgYWRkTm9kZXNUb1Jlc3VsdHMuY2FsbCh0aGlzLCByZXN1bHQsIHJlc3VsdC5z
bmFwc2hvdExlbmd0aCwgcmVzdWx0LnNuYXBzaG90SXRlbSk7CisgICAgICAgIH0KIAotICAgICAg
ICAgICAgdHJ5IHsKLSAgICAgICAgICAgICAgICB2YXIgcmVzdWx0ID0gZXZhbHVhdGVGdW5jdGlv
bi5jYWxsKGRvYywgcXVlcnksIGRvYywgbnVsbCwgWFBhdGhSZXN1bHQuT1JERVJFRF9OT0RFX1NO
QVBTSE9UX1RZUEUpOwotICAgICAgICAgICAgICAgIGFkZE5vZGVzVG9SZXN1bHRzLmNhbGwodGhp
cywgcmVzdWx0LCByZXN1bHQuc25hcHNob3RMZW5ndGgsIGZ1bmN0aW9uKGwsIGkpIHsgcmV0dXJu
IGwuc25hcHNob3RJdGVtKGkpOyB9KTsKLSAgICAgICAgICAgIH0gY2F0Y2goZXJyKSB7Ci0gICAg
ICAgICAgICAgICAgLy8gaWdub3JlIGFueSBleGNlcHRpb25zLiB0aGUgcXVlcnkgbWlnaHQgYmUg
bWFsZm9ybWVkLCBidXQgd2UgYWxsb3cgdGhhdC4KLSAgICAgICAgICAgIH0KKyAgICAgICAgZnVu
Y3Rpb24gbWF0Y2hQYXJ0aWFsQXR0cmlidXRlVmFsdWVzKGRvYykKKyAgICAgICAgeworICAgICAg
ICAgICAgY29uc3QgcmVzdWx0ID0gZG9jLl9fcHJvdG9fXy5ldmFsdWF0ZS5jYWxsKGRvYywgIi8v
Kltjb250YWlucyhAKiwgJyIgKyBlc2NhcGVkUXVlcnkgKyAiJyldIiwgZG9jLCBudWxsLCBYUGF0
aFJlc3VsdC5PUkRFUkVEX05PREVfU05BUFNIT1RfVFlQRSk7CisgICAgICAgICAgICBhZGROb2Rl
c1RvUmVzdWx0cy5jYWxsKHRoaXMsIHJlc3VsdCwgcmVzdWx0LnNuYXBzaG90TGVuZ3RoLCByZXN1
bHQuc25hcHNob3RJdGVtKTsKKyAgICAgICAgfQogCi0gICAgICAgICAgICB0cnkgewotICAgICAg
ICAgICAgICAgIHZhciByZXN1bHQgPSBxdWVyeVNlbGVjdG9yQWxsRnVuY3Rpb24uY2FsbChkb2Ms
IHF1ZXJ5KTsKLSAgICAgICAgICAgICAgICBhZGROb2Rlc1RvUmVzdWx0cy5jYWxsKHRoaXMsIHJl
c3VsdCwgcmVzdWx0Lmxlbmd0aCwgZnVuY3Rpb24obCwgaSkgeyByZXR1cm4gbC5pdGVtKGkpOyB9
KTsKLSAgICAgICAgICAgIH0gY2F0Y2goZXJyKSB7Ci0gICAgICAgICAgICAgICAgLy8gaWdub3Jl
IGFueSBleGNlcHRpb25zLiB0aGUgcXVlcnkgaXNuJ3QgbmVjZXNzYXJpbHkgYSB2YWxpZCBzZWxl
Y3Rvci4KLSAgICAgICAgICAgIH0KKyAgICAgICAgZnVuY3Rpb24gbWF0Y2hTdHlsZVNlbGVjdG9y
KGRvYykKKyAgICAgICAgeworICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gZG9jLl9fcHJvdG9f
Xy5xdWVyeVNlbGVjdG9yQWxsLmNhbGwoZG9jLCB3aGl0ZXNwYWNlVHJpbW1lZFF1ZXJ5KTsKKyAg
ICAgICAgICAgIGFkZE5vZGVzVG9SZXN1bHRzLmNhbGwodGhpcywgcmVzdWx0LCByZXN1bHQubGVu
Z3RoLCByZXN1bHQuaXRlbSk7CisgICAgICAgIH0KKworICAgICAgICBmdW5jdGlvbiBtYXRjaFBs
YWluVGV4dChkb2MpCisgICAgICAgIHsKKyAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IGRvYy5f
X3Byb3RvX18uZXZhbHVhdGUuY2FsbChkb2MsICIvL3RleHQoKVtjb250YWlucyguLCAnIiArIGVz
Y2FwZWRRdWVyeSArICInKV0gfCAvL2NvbW1lbnQoKVtjb250YWlucyguLCAnIiArIGVzY2FwZWRR
dWVyeSArICInKV0iLCBkb2MsIG51bGwsIFhQYXRoUmVzdWx0Lk9SREVSRURfTk9ERV9TTkFQU0hP
VF9UWVBFKTsKKyAgICAgICAgICAgIGFkZE5vZGVzVG9SZXN1bHRzLmNhbGwodGhpcywgcmVzdWx0
LCByZXN1bHQuc25hcHNob3RMZW5ndGgsIHJlc3VsdC5zbmFwc2hvdEl0ZW0pOworICAgICAgICB9
CisKKyAgICAgICAgZnVuY3Rpb24gbWF0Y2hYUGF0aFF1ZXJ5KGRvYykKKyAgICAgICAgeworICAg
ICAgICAgICAgY29uc3QgcmVzdWx0ID0gZG9jLl9fcHJvdG9fXy5ldmFsdWF0ZS5jYWxsKGRvYywg
d2hpdGVzcGFjZVRyaW1tZWRRdWVyeSwgZG9jLCBudWxsLCBYUGF0aFJlc3VsdC5PUkRFUkVEX05P
REVfU05BUFNIT1RfVFlQRSk7CisgICAgICAgICAgICBhZGROb2Rlc1RvUmVzdWx0cy5jYWxsKHRo
aXMsIHJlc3VsdCwgcmVzdWx0LnNuYXBzaG90TGVuZ3RoLCByZXN1bHQuc25hcHNob3RJdGVtKTsK
KyAgICAgICAgfQogCisgICAgICAgIGZ1bmN0aW9uIGZpbmlzaGVkU2VhcmNoaW5nKCkKKyAgICAg
ICAgewogICAgICAgICAgICAgLy8gUmVtb3ZlIHRoZSBzZWFyY2hSZXN1bHRzUHJvcGVydHkgbm93
IHRoYXQgdGhlIHNlYXJjaCBpcyBmaW5pc2hlZC4KICAgICAgICAgICAgIGZvciAodmFyIGkgPSAw
OyBpIDwgdGhpcy5fc2VhcmNoUmVzdWx0cy5sZW5ndGg7ICsraSkKICAgICAgICAgICAgICAgICBk
ZWxldGUgdGhpcy5fc2VhcmNoUmVzdWx0c1tpXVtzZWFyY2hSZXN1bHRzUHJvcGVydHldOwogICAg
ICAgICB9CiAKLSAgICAgICAgdmFyIG1haW5GcmFtZURvY3VtZW50ID0gSW5zcGVjdG9yQ29udHJv
bGxlci5pbnNwZWN0ZWRXaW5kb3coKS5kb2N1bWVudDsKKyAgICAgICAgY29uc3QgbWFpbkZyYW1l
RG9jdW1lbnQgPSBJbnNwZWN0b3JDb250cm9sbGVyLmluc3BlY3RlZFdpbmRvdygpLmRvY3VtZW50
OworICAgICAgICBjb25zdCBzZWFyY2hEb2N1bWVudHMgPSBbbWFpbkZyYW1lRG9jdW1lbnRdOwog
Ci0gICAgICAgIHNlYXJjaERvY3VtZW50LmNhbGwodGhpcywgbWFpbkZyYW1lRG9jdW1lbnQpOwor
ICAgICAgICBpZiAod2hpdGVzcGFjZVRyaW1tZWRRdWVyeSA9PT0gIi8vKiIgfHwgd2hpdGVzcGFj
ZVRyaW1tZWRRdWVyeSA9PT0gIioiKSB7CisgICAgICAgICAgICAvLyBUaGVzZSBxdWVyaWVzIHdp
bGwgbWF0Y2ggZXZlcnkgbm9kZS4gTWF0Y2hpbmcgZXZlcnl0aGluZyBpc24ndCB1c2VmdWwgYW5k
IGNhbiBiZSBzbG93IGZvciBsYXJnZSBwYWdlcywKKyAgICAgICAgICAgIC8vIHNvIGxpbWl0IHRo
ZSBzZWFyY2ggZnVuY3Rpb25zIGxpc3QgdG8gcGxhaW4gdGV4dCBhbmQgYXR0cmlidXRlIG1hdGNo
aW5nLgorICAgICAgICAgICAgY29uc3Qgc2VhcmNoRnVuY3Rpb25zID0gW21hdGNoUGFydGlhbEF0
dHJpYnV0ZVZhbHVlcywgbWF0Y2hQbGFpblRleHRdOworICAgICAgICB9IGVsc2UKKyAgICAgICAg
ICAgIGNvbnN0IHNlYXJjaEZ1bmN0aW9ucyA9IFttYXRjaFN0eWxlU2VsZWN0b3IsIG1hdGNoUGFy
dGlhbFRhZ05hbWVzQW5kQXR0cmlidXRlVmFsdWVzLCBtYXRjaFBsYWluVGV4dCwgbWF0Y2hYUGF0
aFF1ZXJ5XTsKIAogICAgICAgICAvLyBGaW5kIGFsbCBmcmFtZXMsIGlmcmFtZXMgYW5kIG9iamVj
dCBlbGVtZW50cyB0byBzZWFyY2ggdGhlaXIgZG9jdW1lbnRzLgotICAgICAgICB2YXIgc3ViZG9j
dW1lbnRRdWVyeSA9ICIvL2lmcmFtZSB8IC8vZnJhbWUgfCAvL29iamVjdCI7Ci0gICAgICAgIHZh
ciBzdWJkb2N1bWVudFJlc3VsdCA9IGV2YWx1YXRlRnVuY3Rpb24uY2FsbChtYWluRnJhbWVEb2N1
bWVudCwgc3ViZG9jdW1lbnRRdWVyeSwgbWFpbkZyYW1lRG9jdW1lbnQsIG51bGwsIFhQYXRoUmVz
dWx0Lk9SREVSRURfTk9ERV9TTkFQU0hPVF9UWVBFKTsKKyAgICAgICAgY29uc3QgcXVlcnlTZWxl
Y3RvckFsbEZ1bmN0aW9uID0gSW5zcGVjdG9yQ29udHJvbGxlci5pbnNwZWN0ZWRXaW5kb3coKS5E
b2N1bWVudC5wcm90b3R5cGUucXVlcnlTZWxlY3RvckFsbDsKKyAgICAgICAgY29uc3Qgc3ViZG9j
dW1lbnRSZXN1bHQgPSBxdWVyeVNlbGVjdG9yQWxsRnVuY3Rpb24uY2FsbChtYWluRnJhbWVEb2N1
bWVudCwgImlmcmFtZSwgZnJhbWUsIG9iamVjdCIpOwogCi0gICAgICAgIGZvciAodmFyIGkgPSAw
OyBpIDwgc3ViZG9jdW1lbnRSZXN1bHQuc25hcHNob3RMZW5ndGg7ICsraSkgewotICAgICAgICAg
ICAgdmFyIGVsZW1lbnQgPSBzdWJkb2N1bWVudFJlc3VsdC5zbmFwc2hvdEl0ZW0oaSk7CisgICAg
ICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc3ViZG9jdW1lbnRSZXN1bHQubGVuZ3RoOyArK2kpIHsK
KyAgICAgICAgICAgIHZhciBlbGVtZW50ID0gc3ViZG9jdW1lbnRSZXN1bHQuaXRlbShpKTsKICAg
ICAgICAgICAgIGlmIChlbGVtZW50LmNvbnRlbnREb2N1bWVudCkKLSAgICAgICAgICAgICAgICBz
ZWFyY2hEb2N1bWVudC5jYWxsKHRoaXMsIGVsZW1lbnQuY29udGVudERvY3VtZW50KTsKKyAgICAg
ICAgICAgICAgICBzZWFyY2hEb2N1bWVudHMucHVzaChlbGVtZW50LmNvbnRlbnREb2N1bWVudCk7
CiAgICAgICAgIH0KIAotICAgICAgICBpZiAoIXRoaXMuX3NlYXJjaFJlc3VsdHMubGVuZ3RoKQot
ICAgICAgICAgICAgcmV0dXJuOworICAgICAgICBjb25zdCBwYW5lbCA9IHRoaXM7CisgICAgICAg
IHZhciBkb2N1bWVudEluZGV4ID0gMDsKKyAgICAgICAgdmFyIHNlYXJjaEZ1bmN0aW9uSW5kZXgg
PSAwOworICAgICAgICB2YXIgY2h1bmtJbnRlcnZhbElkZW50aWZpZXIgPSBudWxsOworCisgICAg
ICAgIC8vIFNwbGl0IHVwIHRoZSB3b3JrIGludG8gY2h1bmtzIHNvIHdlIGRvbid0IGJsb2NrIHRo
ZSBVSSB0aHJlYWQgd2hpbGUgcHJvY2Vzc2luZy4KKworICAgICAgICBmdW5jdGlvbiBwcm9jZXNz
Q2h1bmsoKQorICAgICAgICB7CisgICAgICAgICAgICB2YXIgc2VhcmNoRG9jdW1lbnQgPSBzZWFy
Y2hEb2N1bWVudHNbZG9jdW1lbnRJbmRleF07CisgICAgICAgICAgICB2YXIgc2VhcmNoRnVuY3Rp
b24gPSBzZWFyY2hGdW5jdGlvbnNbc2VhcmNoRnVuY3Rpb25JbmRleF07CisKKyAgICAgICAgICAg
IGlmICgrK3NlYXJjaEZ1bmN0aW9uSW5kZXggPiBzZWFyY2hGdW5jdGlvbnMubGVuZ3RoKSB7Cisg
ICAgICAgICAgICAgICAgc2VhcmNoRnVuY3Rpb24gPSBzZWFyY2hGdW5jdGlvbnNbMF07CisgICAg
ICAgICAgICAgICAgc2VhcmNoRnVuY3Rpb25JbmRleCA9IDA7CisKKyAgICAgICAgICAgICAgICBp
ZiAoKytkb2N1bWVudEluZGV4ID4gc2VhcmNoRG9jdW1lbnRzLmxlbmd0aCkgeworICAgICAgICAg
ICAgICAgICAgICBpZiAocGFuZWwuX2N1cnJlbnRTZWFyY2hDaHVua0ludGVydmFsSWRlbnRpZmll
ciA9PT0gY2h1bmtJbnRlcnZhbElkZW50aWZpZXIpCisgICAgICAgICAgICAgICAgICAgICAgICBk
ZWxldGUgcGFuZWwuX2N1cnJlbnRTZWFyY2hDaHVua0ludGVydmFsSWRlbnRpZmllcjsKKyAgICAg
ICAgICAgICAgICAgICAgY2xlYXJJbnRlcnZhbChjaHVua0ludGVydmFsSWRlbnRpZmllcik7Cisg
ICAgICAgICAgICAgICAgICAgIGZpbmlzaGVkU2VhcmNoaW5nLmNhbGwocGFuZWwpOworICAgICAg
ICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAg
ICAgc2VhcmNoRG9jdW1lbnQgPSBzZWFyY2hEb2N1bWVudHNbZG9jdW1lbnRJbmRleF07CisgICAg
ICAgICAgICB9CiAKLSAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLl9zZWFyY2hSZXN1
bHRzLmxlbmd0aDsgKytpKSB7Ci0gICAgICAgICAgICB2YXIgbm9kZSA9IHRoaXMuX3NlYXJjaFJl
c3VsdHNbaV07Ci0gICAgICAgICAgICB2YXIgdHJlZUVsZW1lbnQgPSB0aGlzLnRyZWVPdXRsaW5l
LmZpbmRUcmVlRWxlbWVudChub2RlKTsKLSAgICAgICAgICAgIGlmICh0cmVlRWxlbWVudCkKLSAg
ICAgICAgICAgICAgICB0cmVlRWxlbWVudC5oaWdobGlnaHRlZCA9IHRydWU7CisgICAgICAgICAg
ICBpZiAoIXNlYXJjaERvY3VtZW50IHx8ICFzZWFyY2hGdW5jdGlvbikKKyAgICAgICAgICAgICAg
ICByZXR1cm47CisKKyAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgc2VhcmNoRnVu
Y3Rpb24uY2FsbChwYW5lbCwgc2VhcmNoRG9jdW1lbnQpOworICAgICAgICAgICAgfSBjYXRjaChl
cnIpIHsKKyAgICAgICAgICAgICAgICAvLyBpZ25vcmUgYW55IGV4Y2VwdGlvbnMuIHRoZSBxdWVy
eSBtaWdodCBiZSBtYWxmb3JtZWQsIGJ1dCB3ZSBhbGxvdyB0aGF0LgorICAgICAgICAgICAgfQog
ICAgICAgICB9CiAKLSAgICAgICAgV2ViSW5zcGVjdG9yLnVwZGF0ZVNlYXJjaE1hdGNoZXNDb3Vu
dCh0aGlzLl9zZWFyY2hSZXN1bHRzLmxlbmd0aCwgdGhpcyk7CisgICAgICAgIHByb2Nlc3NDaHVu
aygpOwogCi0gICAgICAgIHRoaXMuX2N1cnJlbnRTZWFyY2hSZXN1bHRJbmRleCA9IDA7Ci0gICAg
ICAgIHRoaXMuZm9jdXNlZERPTU5vZGUgPSB0aGlzLl9zZWFyY2hSZXN1bHRzWzBdOworICAgICAg
ICBjaHVua0ludGVydmFsSWRlbnRpZmllciA9IHNldEludGVydmFsKHByb2Nlc3NDaHVuaywgMjUp
OworICAgICAgICB0aGlzLl9jdXJyZW50U2VhcmNoQ2h1bmtJbnRlcnZhbElkZW50aWZpZXIgPSBj
aHVua0ludGVydmFsSWRlbnRpZmllcjsKICAgICB9LAogCiAgICAganVtcFRvTmV4dFNlYXJjaFJl
c3VsdDogZnVuY3Rpb24oKQotLSAKMS42LjAuMgoK
</data>
<flag name="review"
          id="10914"
          type_id="1"
          status="+"
          setter="oliver"
    />
          </attachment>
      

    </bug>

</bugzilla>