<?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>145361</bug_id>
          
          <creation_ts>2015-05-24 12:45:52 -0700</creation_ts>
          <short_desc>Array#findIndex/find should not skip holes</short_desc>
          <delta_ts>2015-05-24 20:51:34 -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>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</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>
          <dependson>132658</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jordan Harband">ljharb</reporter>
          <assigned_to name="Jordan Harband">ljharb</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1097178</commentid>
    <comment_count>0</comment_count>
    <who name="Jordan Harband">ljharb</who>
    <bug_when>2015-05-24 12:45:52 -0700</bug_when>
    <thetext>Per https://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.prototype.findindex and https://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.prototype.find, these methods should not skip holes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1097180</commentid>
    <comment_count>1</comment_count>
      <attachid>253666</attachid>
    <who name="Jordan Harband">ljharb</who>
    <bug_when>2015-05-24 13:00:22 -0700</bug_when>
    <thetext>Created attachment 253666
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1097195</commentid>
    <comment_count>2</comment_count>
      <attachid>253666</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-05-24 19:15:53 -0700</bug_when>
    <thetext>Comment on attachment 253666
Patch

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

&gt; LayoutTests/js/script-tests/array-find.js:49
&gt; +arrayWithHoles[7] = &quot;&quot;;

Coulld you add non-arrayhole `undefined` case?

&gt; LayoutTests/js/script-tests/array-findIndex.js:49
&gt; +arrayWithHoles[7] = &quot;&quot;;

Ditto</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1097197</commentid>
    <comment_count>3</comment_count>
    <who name="Jordan Harband">ljharb</who>
    <bug_when>2015-05-24 19:33:18 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Comment on attachment 253666 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=253666&amp;action=review
&gt; 
&gt; &gt; LayoutTests/js/script-tests/array-find.js:49
&gt; &gt; +arrayWithHoles[7] = &quot;&quot;;
&gt; 
&gt; Coulld you add non-arrayhole `undefined` case?
&gt; 
&gt; &gt; LayoutTests/js/script-tests/array-findIndex.js:49
&gt; &gt; +arrayWithHoles[7] = &quot;&quot;;
&gt; 
&gt; Ditto

Both of those already exist in the test files, higher up. `shouldBe(&quot;[undefined, 0, null, false, &apos;&apos;].find(passUndefined)&quot;, &quot;undefined&quot;);` and `shouldBe(&quot;[undefined, 0, null, false, &apos;&apos;].findIndex(passUndefined)&quot;, &quot;0&quot;);`</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1097199</commentid>
    <comment_count>4</comment_count>
      <attachid>253666</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-05-24 20:02:07 -0700</bug_when>
    <thetext>Comment on attachment 253666
Patch

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

&gt;&gt;&gt; LayoutTests/js/script-tests/array-find.js:49
&gt;&gt;&gt; +arrayWithHoles[7] = &quot;&quot;;
&gt;&gt; 
&gt;&gt; Coulld you add non-arrayhole `undefined` case?
&gt; 
&gt; Both of those already exist in the test files, higher up. `shouldBe(&quot;[undefined, 0, null, false, &apos;&apos;].find(passUndefined)&quot;, &quot;undefined&quot;);` and `shouldBe(&quot;[undefined, 0, null, false, &apos;&apos;].findIndex(passUndefined)&quot;, &quot;0&quot;);`

OK, make sense. Nice catch!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1097200</commentid>
    <comment_count>5</comment_count>
      <attachid>253666</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-05-24 20:51:31 -0700</bug_when>
    <thetext>Comment on attachment 253666
Patch

Clearing flags on attachment: 253666

Committed r184848: &lt;http://trac.webkit.org/changeset/184848&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1097201</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-05-24 20:51:34 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>253666</attachid>
            <date>2015-05-24 13:00:22 -0700</date>
            <delta_ts>2015-05-24 20:51:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-145361-20150524130014.patch</filename>
            <type>text/plain</type>
            <size>13175</size>
            <attacher name="Jordan Harband">ljharb</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg0ODQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA3
NDI4MWEwOWU1YzZjZjUyYjU1NTkzZTE1YjhhZjUwZjU4ODAzNjk5Li5mMjVkNjNlMzRhNjgwZDcx
YTE2YjhmMWIwYTdkN2Q3YzRiZWRkMDRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNiBAQAorMjAxNS0wNS0yNCAgSm9yZGFuIEhhcmJhbmQgIDxsamhhcmJAZ21haWwuY29t
PgorCisgICAgICAgIEFycmF5I2ZpbmRJbmRleC9maW5kIHNob3VsZCBub3Qgc2tpcCBob2xlcwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ1MzYxCisg
ICAgICAgIHBlciBodHRwczovL3Blb3BsZS5tb3ppbGxhLm9yZy9+am9yZW5kb3JmZi9lczYtZHJh
ZnQuaHRtbCNzZWMtYXJyYXkucHJvdG90eXBlLmZpbmRpbmRleAorICAgICAgICBhbmQgaHR0cHM6
Ly9wZW9wbGUubW96aWxsYS5vcmcvfmpvcmVuZG9yZmYvZXM2LWRyYWZ0Lmh0bWwjc2VjLWFycmF5
LnByb3RvdHlwZS5maW5kCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBidWlsdGlucy9BcnJheS5wcm90b3R5cGUuanM6CisgICAgICAgIChmaW5kKTog
RGVsZXRlZC4KKyAgICAgICAgKGZpbmRJbmRleCk6IERlbGV0ZWQuCisKIDIwMTUtMDUtMjMgIFl1
c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+CiAKICAgICAgICAgSW50cm9kdWNl
IFVuaXF1ZWRTdHJpbmdJbXBsIGFuZCBTeW1ib2xJbXBsIHRvIHNlcGFyYXRlIHN5bWJvbGljIHN0
cmluZ3MgZnJvbSBBdG9taWNTdHJpbmdJbXBsCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnVpbHRpbnMvQXJyYXkucHJvdG90eXBlLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J1aWx0aW5zL0FycmF5LnByb3RvdHlwZS5qcwppbmRleCA0MjEwZTMyYmE0ZWM2NzBmZjU4M2Rj
Y2FkZDg4YzE1NDE2MDU5NGU3Li4yOGIyYmJlNWI3MTI4MGFiMTI4ZTlkZWE3NjhmMzMwNGMwZTc2
MzUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQXJyYXkucHJv
dG90eXBlLmpzCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9BcnJheS5wcm90
b3R5cGUuanMKQEAgLTIwOCw4ICsyMDgsNiBAQCBmdW5jdGlvbiBmaW5kKGNhbGxiYWNrIC8qLCB0
aGlzQXJnICovKSB7CiAgICAgCiAgICAgdmFyIHRoaXNBcmcgPSBhcmd1bWVudHMubGVuZ3RoID4g
MSA/IGFyZ3VtZW50c1sxXSA6IHVuZGVmaW5lZDsKICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxl
bmd0aDsgaSsrKSB7Ci0gICAgICAgIGlmICghKGkgaW4gYXJyYXkpKQotICAgICAgICAgICAgY29u
dGludWU7CiAgICAgICAgIHZhciBrVmFsdWUgPSBhcnJheVtpXTsKICAgICAgICAgaWYgKGNhbGxi
YWNrLkBjYWxsKHRoaXNBcmcsIGtWYWx1ZSwgaSwgYXJyYXkpKQogICAgICAgICAgICAgcmV0dXJu
IGtWYWx1ZTsKQEAgLTIzMyw4ICsyMzEsNiBAQCBmdW5jdGlvbiBmaW5kSW5kZXgoY2FsbGJhY2sg
LyosIHRoaXNBcmcgKi8pIHsKICAgICAKICAgICB2YXIgdGhpc0FyZyA9IGFyZ3VtZW50cy5sZW5n
dGggPiAxID8gYXJndW1lbnRzWzFdIDogdW5kZWZpbmVkOwogICAgIGZvciAodmFyIGkgPSAwOyBp
IDwgbGVuZ3RoOyBpKyspIHsKLSAgICAgICAgaWYgKCEoaSBpbiBhcnJheSkpCi0gICAgICAgICAg
ICBjb250aW51ZTsKICAgICAgICAgaWYgKGNhbGxiYWNrLkBjYWxsKHRoaXNBcmcsIGFycmF5W2ld
LCBpLCBhcnJheSkpCiAgICAgICAgICAgICByZXR1cm4gaTsKICAgICB9CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNzI1ZmFm
OGQ4ZDExZDhlMjczZDlhZmIzMzg4OGNmN2YyM2NkZDMxNy4uNzFkOWUyNzcxM2Y2MTc0YWY0Njhm
Nzk4ZTlkY2MyMzFmZGYzMDFhNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisr
KyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE1LTA1LTI0ICBK
b3JkYW4gSGFyYmFuZCAgPGxqaGFyYkBnbWFpbC5jb20+CisKKyAgICAgICAgQXJyYXkjZmluZElu
ZGV4L2ZpbmQgc2hvdWxkIG5vdCBza2lwIGhvbGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDUzNjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIGpzL2FycmF5LWZpbmQtZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIGpzL2FycmF5LWZpbmRJbmRleC1leHBlY3RlZC50eHQ6CisgICAgICAgICoganMvc2Ny
aXB0LXRlc3RzL2FycmF5LWZpbmQuanM6CisgICAgICAgICoganMvc2NyaXB0LXRlc3RzL2FycmF5
LWZpbmRJbmRleC5qczoKKwogMjAxNS0wNS0yMyAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBs
ZS5jb20+CiAKICAgICAgICAgUGVybWFuZW50IHJlZGlyZWN0cyBzaG91bGQgaGF2ZSBsb25nIGlt
cGxpY2l0IGNhY2hlIGxpZmV0aW1lCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9hcnJheS1m
aW5kLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2pzL2FycmF5LWZpbmQtZXhwZWN0ZWQudHh0
CmluZGV4IGE2MDcyNzk3MmI0ZjYxMzQ1ZmRmNDc0YTUyNTAwODU5ZDFmYjI2NzkuLjc1Yjc3MGY5
ZTM2ZGNkYzYwMmY3N2Q4MzhjZDc5N2Y4YWRiMzJlYmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2pzL2FycmF5LWZpbmQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2pzL2FycmF5LWZp
bmQtZXhwZWN0ZWQudHh0CkBAIC0xNSw4ICsxNSw4IEBAIFBBU1MgW3VuZGVmaW5lZCwgMCwgZmFs
c2UsICcnXS5maW5kKHBhc3NOdWxsKSBpcyB1bmRlZmluZWQKIFBBU1MgW3VuZGVmaW5lZCwgMCwg
bnVsbCwgJyddLmZpbmQocGFzc0ZhbHNlKSBpcyB1bmRlZmluZWQKIFBBU1MgW3VuZGVmaW5lZCwg
MCwgbnVsbCwgZmFsc2VdLmZpbmQocGFzc0VtcHR5U3RyaW5nKSBpcyB1bmRlZmluZWQKIFBBU1Mg
W3VuZGVmaW5lZCwgbnVsbCwgZmFsc2UsICcnXS5maW5kKHBhc3NaZXJvKSBpcyB1bmRlZmluZWQK
LVBBU1MgKG5ldyBBcnJheSgyMCkpLmZpbmQocGFzc1VuZGVmaW5lZCkgaXMgdW5kZWZpbmVkCiBB
cnJheSB3aXRoIGhvbGVzCitQQVNTIChuZXcgQXJyYXkoMjApKS5maW5kKHBhc3NVbmRlZmluZWQp
IGlzIHVuZGVmaW5lZAogUEFTUyBhcnJheVdpdGhIb2xlcy5maW5kKHBhc3NVbmRlZmluZWQpIGlz
IHVuZGVmaW5lZAogUEFTUyBhcnJheVdpdGhIb2xlcy5maW5kKHBhc3NaZXJvKSBpcyAwCiBQQVNT
IGFycmF5V2l0aEhvbGVzLmZpbmQocGFzc051bGwpIGlzIG51bGwKQEAgLTUwLDEzICs1MCwxNiBA
QCBQQVNTIFtdLmZpbmQoW10pIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFycmF5LnByb3Rv
dHlwZS5maW5kIGNhbGxiYWNrIG11c3QgYgogUEFTUyBbXS5maW5kKHt9KSB0aHJldyBleGNlcHRp
b24gVHlwZUVycm9yOiBBcnJheS5wcm90b3R5cGUuZmluZCBjYWxsYmFjayBtdXN0IGJlIGEgZnVu
Y3Rpb24uCiBQQVNTIFtdLmZpbmQobnVsbCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJy
YXkucHJvdG90eXBlLmZpbmQgY2FsbGJhY2sgbXVzdCBiZSBhIGZ1bmN0aW9uLgogUEFTUyBbXS5m
aW5kKHVuZGVmaW5lZCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJyYXkucHJvdG90eXBl
LmZpbmQgY2FsbGJhY2sgbXVzdCBiZSBhIGZ1bmN0aW9uLgotQ2FsbGJhY2tzIGluIHRoZSBleHBl
Y3RlZCBvcmRlciBhbmQgc2tpcHBpbmcgaG9sZXMKLWZpbmQgY2FsbGJhY2sgY2FsbGVkIHdpdGgg
aW5kZXggMTAKLWZpbmQgY2FsbGJhY2sgY2FsbGVkIHdpdGggaW5kZXggMjAKLWZpbmQgY2FsbGJh
Y2sgY2FsbGVkIHdpdGggaW5kZXggMzAKLWZpbmQgY2FsbGJhY2sgY2FsbGVkIHdpdGggaW5kZXgg
NDAKLWZpbmQgY2FsbGJhY2sgY2FsbGVkIHdpdGggaW5kZXggNTAKLVBBU1MgbnVtYmVyT2ZDYWxs
YmFja3NJbkZpbmRJbkFycmF5V2l0aEhvbGVzKCkgaXMgNQorQ2FsbGJhY2tzIGluIHRoZSBleHBl
Y3RlZCBvcmRlciBhbmQgKm5vdCogc2tpcHBpbmcgaG9sZXMKK2ZpbmQgY2FsbGJhY2sgY2FsbGVk
IHdpdGggaW5kZXggMAorZmluZCBjYWxsYmFjayBjYWxsZWQgd2l0aCBpbmRleCAxCitmaW5kIGNh
bGxiYWNrIGNhbGxlZCB3aXRoIGluZGV4IDIKK2ZpbmQgY2FsbGJhY2sgY2FsbGVkIHdpdGggaW5k
ZXggMworZmluZCBjYWxsYmFjayBjYWxsZWQgd2l0aCBpbmRleCA0CitmaW5kIGNhbGxiYWNrIGNh
bGxlZCB3aXRoIGluZGV4IDUKK2ZpbmQgY2FsbGJhY2sgY2FsbGVkIHdpdGggaW5kZXggNgorZmlu
ZCBjYWxsYmFjayBjYWxsZWQgd2l0aCBpbmRleCA3CitQQVNTIG51bWJlck9mQ2FsbGJhY2tzSW5G
aW5kSW5BcnJheVdpdGhIb2xlcygpIGlzIDgKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvYXJyYXktZmlu
ZEluZGV4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2pzL2FycmF5LWZpbmRJbmRleC1leHBl
Y3RlZC50eHQKaW5kZXggYWIzZGRjMWQ1MmZkZTE4ZmQ3YTU5NDgzMTk4NDhlNzA3Zjk4NmI1NC4u
YzA2MjQ0YzdhMTY3MmNlMTQzMzViOTRiMGFiZGQ2ZGNjMmFhNzY5ZSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvanMvYXJyYXktZmluZEluZGV4LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9qcy9hcnJheS1maW5kSW5kZXgtZXhwZWN0ZWQudHh0CkBAIC0xNSwxNCArMTUsMTQgQEAgUEFT
UyBbdW5kZWZpbmVkLCAwLCBmYWxzZSwgJyddLmZpbmRJbmRleChwYXNzTnVsbCkgaXMgLTEKIFBB
U1MgW3VuZGVmaW5lZCwgMCwgbnVsbCwgJyddLmZpbmRJbmRleChwYXNzRmFsc2UpIGlzIC0xCiBQ
QVNTIFt1bmRlZmluZWQsIDAsIG51bGwsIGZhbHNlXS5maW5kSW5kZXgocGFzc0VtcHR5U3RyaW5n
KSBpcyAtMQogUEFTUyBbdW5kZWZpbmVkLCBudWxsLCBmYWxzZSwgJyddLmZpbmRJbmRleChwYXNz
WmVybykgaXMgLTEKLVBBU1MgKG5ldyBBcnJheSgyMCkpLmZpbmRJbmRleChwYXNzVW5kZWZpbmVk
KSBpcyAtMQogQXJyYXkgd2l0aCBob2xlcwotUEFTUyBhcnJheVdpdGhIb2xlcy5maW5kSW5kZXgo
cGFzc1VuZGVmaW5lZCkgaXMgLTEKLVBBU1MgYXJyYXlXaXRoSG9sZXMuZmluZEluZGV4KHBhc3Na
ZXJvKSBpcyAxMAotUEFTUyBhcnJheVdpdGhIb2xlcy5maW5kSW5kZXgocGFzc051bGwpIGlzIDIw
Ci1QQVNTIGFycmF5V2l0aEhvbGVzLmZpbmRJbmRleChwYXNzRmFsc2UpIGlzIDMwCi1QQVNTIGFy
cmF5V2l0aEhvbGVzLmZpbmRJbmRleChwYXNzRW1wdHlTdHJpbmcpIGlzIDQwCi1QQVNTIGFycmF5
V2l0aEhvbGVzLmZpbmRJbmRleChwYXNzVW5kZWZpbmVkKSBpcyA1MAorUEFTUyAobmV3IEFycmF5
KDIwKSkuZmluZEluZGV4KHBhc3NVbmRlZmluZWQpIGlzIDAKK1BBU1MgYXJyYXlXaXRoSG9sZXMu
ZmluZEluZGV4KHBhc3NVbmRlZmluZWQpIGlzIDAKK1BBU1MgYXJyYXlXaXRoSG9sZXMuZmluZElu
ZGV4KHBhc3NaZXJvKSBpcyAxCitQQVNTIGFycmF5V2l0aEhvbGVzLmZpbmRJbmRleChwYXNzTnVs
bCkgaXMgMworUEFTUyBhcnJheVdpdGhIb2xlcy5maW5kSW5kZXgocGFzc0ZhbHNlKSBpcyA1CitQ
QVNTIGFycmF5V2l0aEhvbGVzLmZpbmRJbmRleChwYXNzRW1wdHlTdHJpbmcpIGlzIDcKK1BBU1Mg
YXJyYXlXaXRoSG9sZXMuZmluZEluZGV4KHBhc3NVbmRlZmluZWQpIGlzIDIKIEdlbmVyaWMgT2Jq
ZWN0CiBQQVNTIHRvT2JqZWN0KFt1bmRlZmluZWQsIDAsIG51bGwsIGZhbHNlLCAnJ10pLmZpbmRJ
bmRleChwYXNzVW5kZWZpbmVkKSBpcyAwCiBQQVNTIHRvT2JqZWN0KFt1bmRlZmluZWQsIDAsIG51
bGwsIGZhbHNlLCAnJ10pLmZpbmRJbmRleChwYXNzWmVybykgaXMgMQpAQCAtMzQsNyArMzQsNyBA
QCBQQVNTIHRvT2JqZWN0KFt1bmRlZmluZWQsIDAsIGZhbHNlLCAnJ10pLmZpbmRJbmRleChwYXNz
TnVsbCkgaXMgLTEKIFBBU1MgdG9PYmplY3QoW3VuZGVmaW5lZCwgMCwgbnVsbCwgJyddKS5maW5k
SW5kZXgocGFzc0ZhbHNlKSBpcyAtMQogUEFTUyB0b09iamVjdChbdW5kZWZpbmVkLCAwLCBudWxs
LCBmYWxzZV0pLmZpbmRJbmRleChwYXNzRW1wdHlTdHJpbmcpIGlzIC0xCiBQQVNTIHRvT2JqZWN0
KFt1bmRlZmluZWQsIG51bGwsIGZhbHNlLCAnJ10pLmZpbmRJbmRleChwYXNzWmVybykgaXMgLTEK
LVBBU1MgdG9PYmplY3QobmV3IEFycmF5KDIwKSkuZmluZEluZGV4KHBhc3NVbmRlZmluZWQpIGlz
IC0xCitQQVNTIHRvT2JqZWN0KG5ldyBBcnJheSgyMCkpLmZpbmRJbmRleChwYXNzVW5kZWZpbmVk
KSBpcyAwCiBBcnJheS1saWtlIG9iamVjdCB3aXRoIGludmFsaWQgbGVuZ3RocwogUEFTUyB2YXIg
b2JqID0geyAwOiAxLCAxOiAyLCAyOiAzLCBsZW5ndGg6IDAgfTsgQXJyYXkucHJvdG90eXBlLmZp
bmRJbmRleC5jYWxsKG9iaiwgdGhyb3dFcnJvcikgaXMgLTEKIFBBU1MgdmFyIG9iaiA9IHsgMDog
MSwgMTogMiwgMjogMywgbGVuZ3RoOiAtMCB9OyBBcnJheS5wcm90b3R5cGUuZmluZEluZGV4LmNh
bGwob2JqLCB0aHJvd0Vycm9yKSBpcyAtMQpAQCAtNTEsMTMgKzUxLDE2IEBAIFBBU1MgW10uZmlu
ZEluZGV4KFtdKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcnJheS5wcm90b3R5cGUuZmlu
ZEluZGV4IGNhbGxiCiBQQVNTIFtdLmZpbmRJbmRleCh7fSkgdGhyZXcgZXhjZXB0aW9uIFR5cGVF
cnJvcjogQXJyYXkucHJvdG90eXBlLmZpbmRJbmRleCBjYWxsYmFjayBtdXN0IGJlIGEgZnVuY3Rp
b24uCiBQQVNTIFtdLmZpbmRJbmRleChudWxsKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBB
cnJheS5wcm90b3R5cGUuZmluZEluZGV4IGNhbGxiYWNrIG11c3QgYmUgYSBmdW5jdGlvbi4KIFBB
U1MgW10uZmluZEluZGV4KHVuZGVmaW5lZCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJy
YXkucHJvdG90eXBlLmZpbmRJbmRleCBjYWxsYmFjayBtdXN0IGJlIGEgZnVuY3Rpb24uCi1DYWxs
YmFja3MgaW4gdGhlIGV4cGVjdGVkIG9yZGVyIGFuZCBza2lwcGluZyBob2xlcwotZmluZCBjYWxs
YmFjayBjYWxsZWQgd2l0aCBpbmRleCAxMAotZmluZCBjYWxsYmFjayBjYWxsZWQgd2l0aCBpbmRl
eCAyMAotZmluZCBjYWxsYmFjayBjYWxsZWQgd2l0aCBpbmRleCAzMAotZmluZCBjYWxsYmFjayBj
YWxsZWQgd2l0aCBpbmRleCA0MAotZmluZCBjYWxsYmFjayBjYWxsZWQgd2l0aCBpbmRleCA1MAot
UEFTUyBudW1iZXJPZkNhbGxiYWNrc0luRmluZEluZGV4SW5BcnJheVdpdGhIb2xlcygpIGlzIDUK
K0NhbGxiYWNrcyBpbiB0aGUgZXhwZWN0ZWQgb3JkZXIgYW5kICpub3QqIHNraXBwaW5nIGhvbGVz
CitmaW5kIGNhbGxiYWNrIGNhbGxlZCB3aXRoIGluZGV4IDAKK2ZpbmQgY2FsbGJhY2sgY2FsbGVk
IHdpdGggaW5kZXggMQorZmluZCBjYWxsYmFjayBjYWxsZWQgd2l0aCBpbmRleCAyCitmaW5kIGNh
bGxiYWNrIGNhbGxlZCB3aXRoIGluZGV4IDMKK2ZpbmQgY2FsbGJhY2sgY2FsbGVkIHdpdGggaW5k
ZXggNAorZmluZCBjYWxsYmFjayBjYWxsZWQgd2l0aCBpbmRleCA1CitmaW5kIGNhbGxiYWNrIGNh
bGxlZCB3aXRoIGluZGV4IDYKK2ZpbmQgY2FsbGJhY2sgY2FsbGVkIHdpdGggaW5kZXggNworUEFT
UyBudW1iZXJPZkNhbGxiYWNrc0luRmluZEluZGV4SW5BcnJheVdpdGhIb2xlcygpIGlzIDgKIFBB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvanMvc2NyaXB0LXRlc3RzL2FycmF5LWZpbmQuanMgYi9MYXlvdXRUZXN0
cy9qcy9zY3JpcHQtdGVzdHMvYXJyYXktZmluZC5qcwppbmRleCA1NTZhZGVmYjRiMDExZDI5YjZk
NTNkMDg0OWMwMWU2YmMxNWI3NjI4Li42ZGJjZGVjZTFjZThjOWE4YjE5YmM5M2EzZDgxNzg2N2Zh
ZTI0YWVkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9qcy9zY3JpcHQtdGVzdHMvYXJyYXktZmlu
ZC5qcworKysgYi9MYXlvdXRUZXN0cy9qcy9zY3JpcHQtdGVzdHMvYXJyYXktZmluZC5qcwpAQCAt
NDMsMTEgKzQzLDEwIEBAIGZ1bmN0aW9uIGZpbmRJdGVtUmVtb3ZlZER1cmluZ1NlYXJjaChlbGVt
ZW50LCBpbmRleCwgYXJyYXkpIHsKICAgICByZXR1cm4gKGluZGV4ID09PSAwICYmIGFycmF5WzBd
ID09PSBlbGVtZW50KTsKIH0KIGFycmF5V2l0aEhvbGVzID0gW107Ci1hcnJheVdpdGhIb2xlc1sx
MF0gPSAwOwotYXJyYXlXaXRoSG9sZXNbMjBdID0gbnVsbDsKLWFycmF5V2l0aEhvbGVzWzMwXSA9
IGZhbHNlOwotYXJyYXlXaXRoSG9sZXNbNDBdID0gIiI7Ci1hcnJheVdpdGhIb2xlc1s1MF0gPSB1
bmRlZmluZWQ7CithcnJheVdpdGhIb2xlc1sxXSA9IDA7CithcnJheVdpdGhIb2xlc1szXSA9IG51
bGw7CithcnJheVdpdGhIb2xlc1s1XSA9IGZhbHNlOworYXJyYXlXaXRoSG9sZXNbN10gPSAiIjsK
IGZ1bmN0aW9uIG51bWJlck9mQ2FsbGJhY2tzSW5GaW5kSW5BcnJheVdpdGhIb2xlcygpIHsKICAg
ICB2YXIgY291bnQgPSAwOwogICAgIGFycmF5V2l0aEhvbGVzLmZpbmQoZnVuY3Rpb24oZWxlbWVu
dCwgaW5kZXgsIGFycmF5KSB7CkBAIC02Nyw5ICs2Niw5IEBAIHNob3VsZEJlKCJbdW5kZWZpbmVk
LCAwLCBmYWxzZSwgJyddLmZpbmQocGFzc051bGwpIiwgInVuZGVmaW5lZCIpOwogc2hvdWxkQmUo
Ilt1bmRlZmluZWQsIDAsIG51bGwsICcnXS5maW5kKHBhc3NGYWxzZSkiLCAidW5kZWZpbmVkIik7
CiBzaG91bGRCZSgiW3VuZGVmaW5lZCwgMCwgbnVsbCwgZmFsc2VdLmZpbmQocGFzc0VtcHR5U3Ry
aW5nKSIsICJ1bmRlZmluZWQiKTsKIHNob3VsZEJlKCJbdW5kZWZpbmVkLCBudWxsLCBmYWxzZSwg
JyddLmZpbmQocGFzc1plcm8pIiwgInVuZGVmaW5lZCIpOwotc2hvdWxkQmUoIihuZXcgQXJyYXko
MjApKS5maW5kKHBhc3NVbmRlZmluZWQpIiwgInVuZGVmaW5lZCIpOwogCiBkZWJ1ZygiQXJyYXkg
d2l0aCBob2xlcyIpCitzaG91bGRCZSgiKG5ldyBBcnJheSgyMCkpLmZpbmQocGFzc1VuZGVmaW5l
ZCkiLCAidW5kZWZpbmVkIik7CiBzaG91bGRCZSgiYXJyYXlXaXRoSG9sZXMuZmluZChwYXNzVW5k
ZWZpbmVkKSIsICJ1bmRlZmluZWQiKTsKIHNob3VsZEJlKCJhcnJheVdpdGhIb2xlcy5maW5kKHBh
c3NaZXJvKSIsICIwIik7CiBzaG91bGRCZSgiYXJyYXlXaXRoSG9sZXMuZmluZChwYXNzTnVsbCki
LCAibnVsbCIpOwpAQCAtMTExLDUgKzExMCw1IEBAIHNob3VsZFRocm93KCJbXS5maW5kKHt9KSIs
ICInVHlwZUVycm9yOiBBcnJheS5wcm90b3R5cGUuZmluZCBjYWxsYmFjayBtdXN0IGJlIGEKIHNo
b3VsZFRocm93KCJbXS5maW5kKG51bGwpIiwgIidUeXBlRXJyb3I6IEFycmF5LnByb3RvdHlwZS5m
aW5kIGNhbGxiYWNrIG11c3QgYmUgYSBmdW5jdGlvbiciKTsKIHNob3VsZFRocm93KCJbXS5maW5k
KHVuZGVmaW5lZCkiLCAiJ1R5cGVFcnJvcjogQXJyYXkucHJvdG90eXBlLmZpbmQgY2FsbGJhY2sg
bXVzdCBiZSBhIGZ1bmN0aW9uJyIpOwogCi1kZWJ1ZygiQ2FsbGJhY2tzIGluIHRoZSBleHBlY3Rl
ZCBvcmRlciBhbmQgc2tpcHBpbmcgaG9sZXMiKTsKLXNob3VsZEJlKCJudW1iZXJPZkNhbGxiYWNr
c0luRmluZEluQXJyYXlXaXRoSG9sZXMoKSIsICI1Iik7CitkZWJ1ZygiQ2FsbGJhY2tzIGluIHRo
ZSBleHBlY3RlZCBvcmRlciBhbmQgKm5vdCogc2tpcHBpbmcgaG9sZXMiKTsKK3Nob3VsZEJlKCJu
dW1iZXJPZkNhbGxiYWNrc0luRmluZEluQXJyYXlXaXRoSG9sZXMoKSIsICI4Iik7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9qcy9zY3JpcHQtdGVzdHMvYXJyYXktZmluZEluZGV4LmpzIGIvTGF5
b3V0VGVzdHMvanMvc2NyaXB0LXRlc3RzL2FycmF5LWZpbmRJbmRleC5qcwppbmRleCA1YjYzOGU0
MjE0ZTY3NDg0ZDE1NGE2NGUyNTE3MGFlOTI4NGFiMjdkLi5iNTQ2ZjFiM2RlNjE3ODhmMzQ5NzZk
NTdiYmU4YWZmZmY5NDc1ZmMxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9qcy9zY3JpcHQtdGVz
dHMvYXJyYXktZmluZEluZGV4LmpzCisrKyBiL0xheW91dFRlc3RzL2pzL3NjcmlwdC10ZXN0cy9h
cnJheS1maW5kSW5kZXguanMKQEAgLTQyLDExICs0MiwxMSBAQCBmdW5jdGlvbiBmaW5kSXRlbVJl
bW92ZWREdXJpbmdTZWFyY2goZWxlbWVudCwgaW5kZXgsIGFycmF5KSB7CiAgICAgICAgIGFycmF5
LnNoaWZ0KCk7CiAgICAgcmV0dXJuIChpbmRleCA9PT0gMCAmJiBhcnJheVswXSA9PT0gZWxlbWVu
dCk7CiB9Ci1hcnJheVdpdGhIb2xlcyA9IFtdOwotYXJyYXlXaXRoSG9sZXNbMTBdID0gMDsKLWFy
cmF5V2l0aEhvbGVzWzIwXSA9IG51bGw7Ci1hcnJheVdpdGhIb2xlc1szMF0gPSBmYWxzZTsKLWFy
cmF5V2l0aEhvbGVzWzQwXSA9ICIiOwordmFyIGFycmF5V2l0aEhvbGVzID0gW107CithcnJheVdp
dGhIb2xlc1sxXSA9IDA7CithcnJheVdpdGhIb2xlc1szXSA9IG51bGw7CithcnJheVdpdGhIb2xl
c1s1XSA9IGZhbHNlOworYXJyYXlXaXRoSG9sZXNbN10gPSAiIjsKIGZ1bmN0aW9uIG51bWJlck9m
Q2FsbGJhY2tzSW5GaW5kSW5kZXhJbkFycmF5V2l0aEhvbGVzKCkgewogICAgIHZhciBjb3VudCA9
IDA7CiAgICAgYXJyYXlXaXRoSG9sZXMuZmluZChmdW5jdGlvbihlbGVtZW50LCBpbmRleCwgYXJy
YXkpIHsKQEAgLTY2LDE2ICs2NiwxNiBAQCBzaG91bGRCZSgiW3VuZGVmaW5lZCwgMCwgZmFsc2Us
ICcnXS5maW5kSW5kZXgocGFzc051bGwpIiwgIi0xIik7CiBzaG91bGRCZSgiW3VuZGVmaW5lZCwg
MCwgbnVsbCwgJyddLmZpbmRJbmRleChwYXNzRmFsc2UpIiwgIi0xIik7CiBzaG91bGRCZSgiW3Vu
ZGVmaW5lZCwgMCwgbnVsbCwgZmFsc2VdLmZpbmRJbmRleChwYXNzRW1wdHlTdHJpbmcpIiwgIi0x
Iik7CiBzaG91bGRCZSgiW3VuZGVmaW5lZCwgbnVsbCwgZmFsc2UsICcnXS5maW5kSW5kZXgocGFz
c1plcm8pIiwgIi0xIik7Ci1zaG91bGRCZSgiKG5ldyBBcnJheSgyMCkpLmZpbmRJbmRleChwYXNz
VW5kZWZpbmVkKSIsICItMSIpOwogCiBkZWJ1ZygiQXJyYXkgd2l0aCBob2xlcyIpOwotc2hvdWxk
QmUoImFycmF5V2l0aEhvbGVzLmZpbmRJbmRleChwYXNzVW5kZWZpbmVkKSIsICItMSIpOwotc2hv
dWxkQmUoImFycmF5V2l0aEhvbGVzLmZpbmRJbmRleChwYXNzWmVybykiLCAiMTAiKTsKLXNob3Vs
ZEJlKCJhcnJheVdpdGhIb2xlcy5maW5kSW5kZXgocGFzc051bGwpIiwgIjIwIik7Ci1zaG91bGRC
ZSgiYXJyYXlXaXRoSG9sZXMuZmluZEluZGV4KHBhc3NGYWxzZSkiLCAiMzAiKTsKLXNob3VsZEJl
KCJhcnJheVdpdGhIb2xlcy5maW5kSW5kZXgocGFzc0VtcHR5U3RyaW5nKSIsICI0MCIpOwotYXJy
YXlXaXRoSG9sZXNbNTBdID0gdW5kZWZpbmVkOwotc2hvdWxkQmUoImFycmF5V2l0aEhvbGVzLmZp
bmRJbmRleChwYXNzVW5kZWZpbmVkKSIsICI1MCIpOworc2hvdWxkQmUoIihuZXcgQXJyYXkoMjAp
KS5maW5kSW5kZXgocGFzc1VuZGVmaW5lZCkiLCAiMCIpOworc2hvdWxkQmUoImFycmF5V2l0aEhv
bGVzLmZpbmRJbmRleChwYXNzVW5kZWZpbmVkKSIsICIwIik7CitzaG91bGRCZSgiYXJyYXlXaXRo
SG9sZXMuZmluZEluZGV4KHBhc3NaZXJvKSIsICIxIik7CitzaG91bGRCZSgiYXJyYXlXaXRoSG9s
ZXMuZmluZEluZGV4KHBhc3NOdWxsKSIsICIzIik7CitzaG91bGRCZSgiYXJyYXlXaXRoSG9sZXMu
ZmluZEluZGV4KHBhc3NGYWxzZSkiLCAiNSIpOworc2hvdWxkQmUoImFycmF5V2l0aEhvbGVzLmZp
bmRJbmRleChwYXNzRW1wdHlTdHJpbmcpIiwgIjciKTsKK2FycmF5V2l0aEhvbGVzWzBdID0ge307
CitzaG91bGRCZSgiYXJyYXlXaXRoSG9sZXMuZmluZEluZGV4KHBhc3NVbmRlZmluZWQpIiwgIjIi
KTsKIAogZGVidWcoIkdlbmVyaWMgT2JqZWN0Iik7CiBzaG91bGRCZSgidG9PYmplY3QoW3VuZGVm
aW5lZCwgMCwgbnVsbCwgZmFsc2UsICcnXSkuZmluZEluZGV4KHBhc3NVbmRlZmluZWQpIiwgIjAi
KTsKQEAgLTg4LDcgKzg4LDcgQEAgc2hvdWxkQmUoInRvT2JqZWN0KFt1bmRlZmluZWQsIDAsIGZh
bHNlLCAnJ10pLmZpbmRJbmRleChwYXNzTnVsbCkiLCAiLTEiKTsKIHNob3VsZEJlKCJ0b09iamVj
dChbdW5kZWZpbmVkLCAwLCBudWxsLCAnJ10pLmZpbmRJbmRleChwYXNzRmFsc2UpIiwgIi0xIik7
CiBzaG91bGRCZSgidG9PYmplY3QoW3VuZGVmaW5lZCwgMCwgbnVsbCwgZmFsc2VdKS5maW5kSW5k
ZXgocGFzc0VtcHR5U3RyaW5nKSIsICItMSIpOwogc2hvdWxkQmUoInRvT2JqZWN0KFt1bmRlZmlu
ZWQsIG51bGwsIGZhbHNlLCAnJ10pLmZpbmRJbmRleChwYXNzWmVybykiLCAiLTEiKTsKLXNob3Vs
ZEJlKCJ0b09iamVjdChuZXcgQXJyYXkoMjApKS5maW5kSW5kZXgocGFzc1VuZGVmaW5lZCkiLCAi
LTEiKTsKK3Nob3VsZEJlKCJ0b09iamVjdChuZXcgQXJyYXkoMjApKS5maW5kSW5kZXgocGFzc1Vu
ZGVmaW5lZCkiLCAiMCIpOwogCiBkZWJ1ZygiQXJyYXktbGlrZSBvYmplY3Qgd2l0aCBpbnZhbGlk
IGxlbmd0aHMiKTsKIHZhciB0aHJvd0Vycm9yID0gZnVuY3Rpb24gdGhyb3dFcnJvcigpIHsKQEAg
LTExMiw1ICsxMTIsNSBAQCBzaG91bGRUaHJvdygiW10uZmluZEluZGV4KHt9KSIsICInVHlwZUVy
cm9yOiBBcnJheS5wcm90b3R5cGUuZmluZEluZGV4IGNhbGxiYWNrCiBzaG91bGRUaHJvdygiW10u
ZmluZEluZGV4KG51bGwpIiwgIidUeXBlRXJyb3I6IEFycmF5LnByb3RvdHlwZS5maW5kSW5kZXgg
Y2FsbGJhY2sgbXVzdCBiZSBhIGZ1bmN0aW9uJyIpOwogc2hvdWxkVGhyb3coIltdLmZpbmRJbmRl
eCh1bmRlZmluZWQpIiwgIidUeXBlRXJyb3I6IEFycmF5LnByb3RvdHlwZS5maW5kSW5kZXggY2Fs
bGJhY2sgbXVzdCBiZSBhIGZ1bmN0aW9uJyIpOwogCi1kZWJ1ZygiQ2FsbGJhY2tzIGluIHRoZSBl
eHBlY3RlZCBvcmRlciBhbmQgc2tpcHBpbmcgaG9sZXMiKTsKLXNob3VsZEJlKCJudW1iZXJPZkNh
bGxiYWNrc0luRmluZEluZGV4SW5BcnJheVdpdGhIb2xlcygpIiwgIjUiKTsKK2RlYnVnKCJDYWxs
YmFja3MgaW4gdGhlIGV4cGVjdGVkIG9yZGVyIGFuZCAqbm90KiBza2lwcGluZyBob2xlcyIpOwor
c2hvdWxkQmUoIm51bWJlck9mQ2FsbGJhY2tzSW5GaW5kSW5kZXhJbkFycmF5V2l0aEhvbGVzKCki
LCAiOCIpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>