<?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>158754</bug_id>
          
          <creation_ts>2016-06-14 14:25:25 -0700</creation_ts>
          <short_desc>The Array species constructor watchpoints should be created the first time they are needed rather than on creation</short_desc>
          <delta_ts>2016-06-14 15:32:33 -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>New Bugs</component>
          <version>WebKit 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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Keith Miller">keith_miller</reporter>
          <assigned_to name="Keith Miller">keith_miller</assigned_to>
          <cc>benjamin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1202313</commentid>
    <comment_count>0</comment_count>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2016-06-14 14:25:25 -0700</bug_when>
    <thetext>The Array species constructor watchpoints should be created the first time they are needed rather than on creation</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1202321</commentid>
    <comment_count>1</comment_count>
      <attachid>281281</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2016-06-14 14:41:32 -0700</bug_when>
    <thetext>Created attachment 281281
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1202322</commentid>
    <comment_count>2</comment_count>
      <attachid>281282</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2016-06-14 14:42:28 -0700</bug_when>
    <thetext>Created attachment 281282
Micro-benchmark results</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1202333</commentid>
    <comment_count>3</comment_count>
      <attachid>281281</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2016-06-14 14:59:08 -0700</bug_when>
    <thetext>Comment on attachment 281281
Patch

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

&gt; Source/JavaScriptCore/runtime/ArrayPrototype.cpp:1110
&gt; +    // And that Array[Symbol.species] is the primordial GetterSetter.

And -&gt; and</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1202335</commentid>
    <comment_count>4</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2016-06-14 15:00:19 -0700</bug_when>
    <thetext>Maybe add 2 tests where you warm up with-the-original-constructor/without-species, then modify, and run a loop again verifying the changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1202360</commentid>
    <comment_count>5</comment_count>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2016-06-14 15:32:33 -0700</bug_when>
    <thetext>Committed r202067: &lt;http://trac.webkit.org/changeset/202067&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>281281</attachid>
            <date>2016-06-14 14:41:32 -0700</date>
            <delta_ts>2016-06-14 14:59:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-158754-20160614144308.patch</filename>
            <type>text/plain</type>
            <size>19161</size>
            <attacher name="Keith Miller">keith_miller</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAyMDA0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAx
YzU2MjFkNzZlYjQ0MDY4NGMxNzM3YTcyNTA4NTViZGY0ZDNmZjc3Li4wNTFmODA3NjBmYTMwYTJj
MzA4NjE5MDZhYzhhMDdkM2U5OGE5OTc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0MSBAQAorMjAxNi0wNi0xNCAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxl
LmNvbT4KKworICAgICAgICBUaGUgQXJyYXkgc3BlY2llcyBjb25zdHJ1Y3RvciB3YXRjaHBvaW50
cyBzaG91bGQgYmUgY3JlYXRlZCB0aGUgZmlyc3QgdGltZSB0aGV5IGFyZSBuZWVkZWQgcmF0aGVy
IHRoYW4gb24gY3JlYXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE1ODc1NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFdlIHVzZSBhZGFwdGl2ZSB3YXRjaHBvaW50cyBmb3Igc29tZSBBcnJheSBwcm90
b3R5cGUgZnVuY3Rpb25zIHRvCisgICAgICAgIGVuc3VyZSB0aGF0IHRoZSB1c2VyIGhhcyBub3Qg
b3ZlcnJpZGRlbiB0aGUgdmFsdWUgb2YgdGhlCisgICAgICAgIEFycmF5LnByb3RvdHlwZS5jb25z
dHJ1Y3RvciBvciBBcnJheVtTeW1ib2wuc3BlY2llc10uIFRoaXMgcGF0Y2gKKyAgICAgICAgY2hh
bmdlcyB3aGVuIHRoZSBBcnJheSBzcGVjaWVzIGNvbnN0cnVjdG9yIHdhdGNocG9pbnRzIGFyZQor
ICAgICAgICBpbml0aWFsaXplZC4gQmVmb3JlLCB0aG9zZSB3YXRjaHBvaW50cyB3b3VsZCBiZSBj
cmVhdGVkIHdoZW4gdGhlCisgICAgICAgIGdsb2JhbCBvYmplY3QgaXMgaW5pdGlhbGl6ZWQuIFRo
aXMgaGFkIHRoZSBhZHZhbnRhZ2UgdGhhdCBpdCBkaWQKKyAgICAgICAgbm90IHJlcXVpcmUgdmFs
aWRhdGluZyB0aGUgY29uc3RydWN0b3IgYW5kIFN5bWJvbC5zcGVjaWVzCisgICAgICAgIHByb3Bl
cnRpZXMuIE9uIHRoZSBvdGhlciBoYW5kLCBpdCBhbHNvIG1lYW50IHRoYXQgaWYgdGhlIHVzZXIg
d2VyZQorICAgICAgICB0byByZWNvbmZpZ3VyZSBwcm9wZXJ0aWVzIEFycmF5LnByb3RvdHlwZSwg
d2hpY2ggd291bGQgY2F1c2UgdGhlCisgICAgICAgIHN0cnVjdHVyZSBvZiB0aGUgcHJvcGVydHkg
dG8gYmVjb21lIGFuIHVuY2FjaGFibGUgZGljdGlvbmFyeSwKKyAgICAgICAgcHJpb3IgdG8gcnVu
bmluZyBjb2RlIHRoYXQgdGhlIHdhdGNocG9pbnRzIHdvdWxkIGJlCisgICAgICAgIGludmFsaWRh
dGVkLiBJdCB0dXJucyBvdXQgdGhhdCBKU0JlbmNoIGFtYXpvbiwgZm9yIGluc3RhbmNlLCBkb2Vz
CisgICAgICAgIHJlY29uZmlndXJlIHNvbWUgb2YgQXJyYXkucHJvdG90eXBlJ3MgcHJvcGVydGll
cy4gVGhpcyBwYXRjaAorICAgICAgICBpbml0aWFsaXplcyB0aGUgd2F0Y2hwb2ludHMgdGhlIGZp
cnN0IHRpbWUgdGhleSBhcmUgbmVlZGVkLiBTaW5jZQorICAgICAgICB3ZSBvbmx5IGluaXRpYWxp
emUgb25jZSB3ZSBhbHNvIGZsYXR0ZW4gdGhlIHN0cnVjdHVyZSBvZiBBcnJheSBhbmQKKyAgICAg
ICAgQXJyYXkucHJvdG90eXBlLgorCisgICAgICAgICogcnVudGltZS9BcnJheVByb3RvdHlwZS5j
cHA6CisgICAgICAgIChKU0M6OnNwZWNpZXNDb25zdHJ1Y3RBcnJheSk6CisgICAgICAgIChKU0M6
OkFycmF5UHJvdG90eXBlOjphdHRlbXB0VG9Jbml0aWFsaXplU3BlY2llc1dhdGNocG9pbnQpOgor
ICAgICAgICAoSlNDOjpBcnJheVByb3RvdHlwZUFkYXB0aXZlSW5mZXJyZWRQcm9wZXJ0eVdhdGNo
cG9pbnQ6OmhhbmRsZUZpcmUpOgorICAgICAgICAoSlNDOjpBcnJheVByb3RvdHlwZTo6c2V0Q29u
c3RydWN0b3IpOiBEZWxldGVkLgorICAgICAgICAqIHJ1bnRpbWUvQXJyYXlQcm90b3R5cGUuaDoK
KyAgICAgICAgKEpTQzo6QXJyYXlQcm90b3R5cGU6OnNwZWNpZXNXYXRjaHBvaW50U3RhdHVzKToK
KyAgICAgICAgKEpTQzo6QXJyYXlQcm90b3R5cGU6OmRpZENoYW5nZUNvbnN0cnVjdG9yT3JTcGVj
aWVzUHJvcGVydGllcyk6IERlbGV0ZWQuCisgICAgICAgICogcnVudGltZS9KU0dsb2JhbE9iamVj
dC5jcHA6CisgICAgICAgIChKU0M6OkpTR2xvYmFsT2JqZWN0Ojppbml0KToKKyAgICAgICAgKiBy
dW50aW1lL0pTR2xvYmFsT2JqZWN0Lmg6CisgICAgICAgIChKU0M6OkpTR2xvYmFsT2JqZWN0Ojpz
cGVjaWVzR2V0dGVyU2V0dGVyKToKKyAgICAgICAgKEpTQzo6SlNHbG9iYWxPYmplY3Q6OmFycmF5
Q29uc3RydWN0b3IpOgorCiAyMDE2LTA2LTEzICBLZWl0aCBNaWxsZXIgIDxrZWl0aF9taWxsZXJA
YXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIENsb29wIGJ1aWxkIGZpeC4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcAppbmRleCAy
ZjFkMjNkOWYxOWQwOTA4MTdjZWUzODM3YmJiZjUxYzQ1N2Y2ZTY0Li43YWI4NDgzMDYwZDhmYWJi
NGM0YjI4OGY5Y2M2YWM2MDkzYWJhMTYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9BcnJheVByb3RvdHlwZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwCkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSAi
Q29kZUJsb2NrLmgiCiAjaW5jbHVkZSAiQ29waWVkU3BhY2VJbmxpbmVzLmgiCiAjaW5jbHVkZSAi
RXJyb3IuaCIKKyNpbmNsdWRlICJHZXR0ZXJTZXR0ZXIuaCIKICNpbmNsdWRlICJJbnRlcnByZXRl
ci5oIgogI2luY2x1ZGUgIkpJVC5oIgogI2luY2x1ZGUgIkpTQXJyYXlJdGVyYXRvci5oIgpAQCAt
MTgzLDExICsxODQsMTYgQEAgc3RhdGljIEFMV0FZU19JTkxJTkUgc3RkOjpwYWlyPFNwZWNpZXND
b25zdHJ1Y3RSZXN1bHQsIEpTT2JqZWN0Kj4gc3BlY2llc0NvbnN0cnUKICAgICAvLyBFQ01BIDku
NC4yLjM6IGh0dHBzOi8vdGMzOS5naXRodWIuaW8vZWNtYTI2Mi8jc2VjLWFycmF5c3BlY2llc2Ny
ZWF0ZQogICAgIEpTVmFsdWUgY29uc3RydWN0b3IgPSBqc1VuZGVmaW5lZCgpOwogICAgIGlmIChM
SUtFTFkoaXNBcnJheShleGVjLCB0aGlzT2JqZWN0KSkpIHsKKyAgICAgICAgQXJyYXlQcm90b3R5
cGUqIGFycmF5UHJvdG90eXBlID0gdGhpc09iamVjdC0+Z2xvYmFsT2JqZWN0KCktPmFycmF5UHJv
dG90eXBlKCk7CisgICAgICAgIEFycmF5UHJvdG90eXBlOjpTcGVjaWVzV2F0Y2hwb2ludFN0YXR1
cyBzdGF0dXMgPSBhcnJheVByb3RvdHlwZS0+c3BlY2llc1dhdGNocG9pbnRTdGF0dXMoKTsKKyAg
ICAgICAgaWYgKFVOTElLRUxZKHN0YXR1cyA9PSBBcnJheVByb3RvdHlwZTo6U3BlY2llc1dhdGNo
cG9pbnRTdGF0dXM6OlVuaW5pdGlhbGl6ZWQpKQorICAgICAgICAgICAgc3RhdHVzID0gYXJyYXlQ
cm90b3R5cGUtPmF0dGVtcHRUb0luaXRpYWxpemVTcGVjaWVzV2F0Y2hwb2ludChleGVjKTsKKyAg
ICAgICAgQVNTRVJUKHN0YXR1cyAhPSBBcnJheVByb3RvdHlwZTo6U3BlY2llc1dhdGNocG9pbnRT
dGF0dXM6OlVuaW5pdGlhbGl6ZWQpOwogICAgICAgICAvLyBGYXN0IHBhdGggaW4gdGhlIG5vcm1h
bCBjYXNlIHdoZXJlIHRoZSB1c2VyIGhhcyBub3Qgc2V0IGFuIG93biBjb25zdHJ1Y3RvciBhbmQg
dGhlIEFycmF5LnByb3RvdHlwZS5jb25zdHJ1Y3RvciBpcyBub3JtYWwuCiAgICAgICAgIC8vIFdl
IG5lZWQgcHJvdG90eXBlIGNoZWNrIGZvciBzdWJjbGFzc2VzIG9mIEFycmF5LCB3aGljaCBhcmUg
QXJyYXkgb2JqZWN0cyBidXQgaGF2ZSBhIGRpZmZlcmVudCBwcm90b3R5cGUgYnkgZGVmYXVsdC4K
ICAgICAgICAgaWYgKExJS0VMWSghdGhpc09iamVjdC0+aGFzQ3VzdG9tUHJvcGVydGllcygpCi0g
ICAgICAgICAgICAmJiB0aGlzT2JqZWN0LT5nbG9iYWxPYmplY3QoKS0+YXJyYXlQcm90b3R5cGUo
KSA9PSB0aGlzT2JqZWN0LT5nZXRQcm90b3R5cGVEaXJlY3QoKQotICAgICAgICAgICAgJiYgIXRo
aXNPYmplY3QtPmdsb2JhbE9iamVjdCgpLT5hcnJheVByb3RvdHlwZSgpLT5kaWRDaGFuZ2VDb25z
dHJ1Y3Rvck9yU3BlY2llc1Byb3BlcnRpZXMoKSkpCisgICAgICAgICAgICAmJiBhcnJheVByb3Rv
dHlwZSA9PSB0aGlzT2JqZWN0LT5nZXRQcm90b3R5cGVEaXJlY3QoKQorICAgICAgICAgICAgJiYg
c3RhdHVzID09IEFycmF5UHJvdG90eXBlOjpTcGVjaWVzV2F0Y2hwb2ludFN0YXR1czo6SW5pdGlh
bGl6ZWQpKQogICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bWFrZV9wYWlyKFNwZWNpZXNDb25zdHJ1
Y3RSZXN1bHQ6OkZhc3RQYXRoLCBudWxscHRyKTsKIAogICAgICAgICBjb25zdHJ1Y3RvciA9IHRo
aXNPYmplY3QtPmdldChleGVjLCBleGVjLT5wcm9wZXJ0eU5hbWVzKCkuY29uc3RydWN0b3IpOwpA
QCAtMTA3OSw2ICsxMDg1LDggQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBhcnJheVBy
b3RvRnVuY0xhc3RJbmRleE9mKEV4ZWNTdGF0ZSogZXhlYykKIAogLy8gLS0tLS0tLS0tLS0tLS0t
LS0tLS0gQXJyYXlQcm90b3R5cGUuY29uc3RydWN0b3IgV2F0Y2hwb2ludCAtLS0tLS0tLS0tLS0t
LS0tLS0KIAorc3RhdGljIGJvb2wgdmVyYm9zZSA9IGZhbHNlOworCiBjbGFzcyBBcnJheVByb3Rv
dHlwZUFkYXB0aXZlSW5mZXJyZWRQcm9wZXJ0eVdhdGNocG9pbnQgOiBwdWJsaWMgQWRhcHRpdmVJ
bmZlcnJlZFByb3BlcnR5VmFsdWVXYXRjaHBvaW50QmFzZSB7CiBwdWJsaWM6CiAgICAgdHlwZWRl
ZiBBZGFwdGl2ZUluZmVycmVkUHJvcGVydHlWYWx1ZVdhdGNocG9pbnRCYXNlIEJhc2U7CkBAIC0x
MDkwLDMyICsxMDk4LDYxIEBAIHByaXZhdGU6CiAgICAgQXJyYXlQcm90b3R5cGUqIG1fYXJyYXlQ
cm90b3R5cGU7CiB9OwogCi12b2lkIEFycmF5UHJvdG90eXBlOjpzZXRDb25zdHJ1Y3RvcihWTSYg
dm0sIEpTT2JqZWN0KiBjb25zdHJ1Y3RvclByb3BlcnR5LCB1bnNpZ25lZCBhdHRyaWJ1dGVzKQor
QXJyYXlQcm90b3R5cGU6OlNwZWNpZXNXYXRjaHBvaW50U3RhdHVzIEFycmF5UHJvdG90eXBlOjph
dHRlbXB0VG9Jbml0aWFsaXplU3BlY2llc1dhdGNocG9pbnQoRXhlY1N0YXRlKiBleGVjKQogewot
ICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5jb25z
dHJ1Y3RvciwgY29uc3RydWN0b3JQcm9wZXJ0eSwgYXR0cmlidXRlcyk7Ci0KLSAgICAvLyBEbyB0
aGUgd2F0Y2hwb2ludCBvbiBvdXIgY29uc3RydWN0b3IgcHJvcGVydHkKLSAgICBQcm9wZXJ0eU9m
ZnNldCBvZmZzZXQgPSB0aGlzLT5zdHJ1Y3R1cmUoKS0+Z2V0KHZtLCB2bS5wcm9wZXJ0eU5hbWVz
LT5jb25zdHJ1Y3Rvcik7Ci0gICAgQVNTRVJUKGlzVmFsaWRPZmZzZXQob2Zmc2V0KSk7Ci0gICAg
dGhpcy0+c3RydWN0dXJlKCktPnN0YXJ0V2F0Y2hpbmdQcm9wZXJ0eUZvclJlcGxhY2VtZW50cyh2
bSwgb2Zmc2V0KTsKKyAgICBBU1NFUlQobV9zcGVjaWVzV2F0Y2hwb2ludFN0YXR1cyA9PSBTcGVj
aWVzV2F0Y2hwb2ludFN0YXR1czo6VW5pbml0aWFsaXplZCk7CiAKLSAgICBPYmplY3RQcm9wZXJ0
eUNvbmRpdGlvbiBjb25kaXRpb24gPSBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvbjo6ZXF1aXZhbGVu
Y2Uodm0sIHRoaXMsIHRoaXMsIHZtLnByb3BlcnR5TmFtZXMtPmNvbnN0cnVjdG9yLmltcGwoKSwg
Y29uc3RydWN0b3JQcm9wZXJ0eSk7Ci0gICAgQVNTRVJUKGNvbmRpdGlvbi5pc1dhdGNoYWJsZSgp
KTsKKyAgICBWTSYgdm0gPSBleGVjLT52bSgpOwogCi0gICAgbV9jb25zdHJ1Y3RvcldhdGNocG9p
bnQgPSBzdGQ6Om1ha2VfdW5pcXVlPEFycmF5UHJvdG90eXBlQWRhcHRpdmVJbmZlcnJlZFByb3Bl
cnR5V2F0Y2hwb2ludD4oY29uZGl0aW9uLCB0aGlzKTsKKyAgICBpZiAodmVyYm9zZSkKKyAgICAg
ICAgZGF0YUxvZygiQXR0ZW1wdGluZyB0byBpbml0aWFsaXplIEFycmF5IHNwZWNpZXMgd2F0Y2hw
b2ludHMgZm9yIEFycmF5LnByb3RvdHlwZTogIiwgcG9pbnRlckR1bXAodGhpcyksICIgd2l0aCBz
dHJ1Y3R1cmU6ICIsIHBvaW50ZXJEdW1wKHRoaXMtPnN0cnVjdHVyZSgpKSwgIlxuYW5kIEFycmF5
OiAiLCBwb2ludGVyRHVtcCh0aGlzLT5nbG9iYWxPYmplY3QoKS0+YXJyYXlDb25zdHJ1Y3Rvcigp
KSwgIiB3aXRoIHN0cnVjdHVyZTogIiwgcG9pbnRlckR1bXAodGhpcy0+Z2xvYmFsT2JqZWN0KCkt
PmFycmF5Q29uc3RydWN0b3IoKS0+c3RydWN0dXJlKCkpLCAiXG4iKTsKKyAgICAvLyBGaXJzdCB3
ZSBuZWVkIHRvIG1ha2Ugc3VyZSB0aGF0IHRoZSBBcnJheS5wcm90b3R5cGUuY29uc3RydWN0b3Ig
cHJvcGVydHkgcG9pbnRzIHRvIEFycmF5CisgICAgLy8gQW5kIHRoYXQgQXJyYXlbU3ltYm9sLnNw
ZWNpZXNdIGlzIHRoZSBwcmltb3JkaWFsIEdldHRlclNldHRlci4KKworICAgIC8vIFdlIG9ubHkg
aW5pdGlhbGl6ZSBvbmNlIHNvIGZsYXR0ZW5pbmcgdGhlIHN0cnVjdHVyZXMgZG9lcyBub3QgaGF2
ZSBhbnkgcmVhbCBjb3N0LgorICAgIFN0cnVjdHVyZSogcHJvdG90eXBlU3RydWN0dXJlID0gdGhp
cy0+c3RydWN0dXJlKHZtKTsKKyAgICBpZiAocHJvdG90eXBlU3RydWN0dXJlLT5pc0RpY3Rpb25h
cnkoKSkKKyAgICAgICAgcHJvdG90eXBlU3RydWN0dXJlID0gcHJvdG90eXBlU3RydWN0dXJlLT5m
bGF0dGVuRGljdGlvbmFyeVN0cnVjdHVyZSh2bSwgdGhpcyk7CisgICAgUkVMRUFTRV9BU1NFUlQo
IXByb3RvdHlwZVN0cnVjdHVyZS0+aXNEaWN0aW9uYXJ5KCkpOworCisgICAgSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCA9IHRoaXMtPmdsb2JhbE9iamVjdCgpOworICAgIEFycmF5Q29uc3Ry
dWN0b3IqIGFycmF5Q29uc3RydWN0b3IgPSBnbG9iYWxPYmplY3QtPmFycmF5Q29uc3RydWN0b3Io
KTsKKworICAgIFByb3BlcnR5U2xvdCBjb25zdHJ1Y3RvclNsb3QodGhpcywgUHJvcGVydHlTbG90
OjpJbnRlcm5hbE1ldGhvZFR5cGU6OlZNSW5xdWlyeSk7CisgICAgSlNWYWx1ZSh0aGlzKS5nZXQo
ZXhlYywgdm0ucHJvcGVydHlOYW1lcy0+Y29uc3RydWN0b3IsIGNvbnN0cnVjdG9yU2xvdCk7Cisg
ICAgaWYgKGNvbnN0cnVjdG9yU2xvdC5zbG90QmFzZSgpICE9IHRoaXMKKyAgICAgICAgfHwgIWNv
bnN0cnVjdG9yU2xvdC5pc0NhY2hlYWJsZVZhbHVlKCkKKyAgICAgICAgfHwgY29uc3RydWN0b3JT
bG90LmdldFZhbHVlKGV4ZWMsIHZtLnByb3BlcnR5TmFtZXMtPmNvbnN0cnVjdG9yKSAhPSBhcnJh
eUNvbnN0cnVjdG9yKQorICAgICAgICByZXR1cm4gbV9zcGVjaWVzV2F0Y2hwb2ludFN0YXR1cyA9
IFNwZWNpZXNXYXRjaHBvaW50U3RhdHVzOjpGaXJlZDsKKworICAgIFN0cnVjdHVyZSogY29uc3Ry
dWN0b3JTdHJ1Y3R1cmUgPSBhcnJheUNvbnN0cnVjdG9yLT5zdHJ1Y3R1cmUodm0pOworICAgIGlm
IChjb25zdHJ1Y3RvclN0cnVjdHVyZS0+aXNEaWN0aW9uYXJ5KCkpCisgICAgICAgIGNvbnN0cnVj
dG9yU3RydWN0dXJlID0gY29uc3RydWN0b3JTdHJ1Y3R1cmUtPmZsYXR0ZW5EaWN0aW9uYXJ5U3Ry
dWN0dXJlKHZtLCBhcnJheUNvbnN0cnVjdG9yKTsKKworICAgIFByb3BlcnR5U2xvdCBzcGVjaWVz
U2xvdChhcnJheUNvbnN0cnVjdG9yLCBQcm9wZXJ0eVNsb3Q6OkludGVybmFsTWV0aG9kVHlwZTo6
Vk1JbnF1aXJ5KTsKKyAgICBKU1ZhbHVlKGFycmF5Q29uc3RydWN0b3IpLmdldChleGVjLCB2bS5w
cm9wZXJ0eU5hbWVzLT5zcGVjaWVzU3ltYm9sLCBzcGVjaWVzU2xvdCk7CisgICAgaWYgKHNwZWNp
ZXNTbG90LnNsb3RCYXNlKCkgIT0gYXJyYXlDb25zdHJ1Y3RvcgorICAgICAgICB8fCAhc3BlY2ll
c1Nsb3QuaXNDYWNoZWFibGVHZXR0ZXIoKQorICAgICAgICB8fCBzcGVjaWVzU2xvdC5nZXR0ZXJT
ZXR0ZXIoKSAhPSBnbG9iYWxPYmplY3QtPnNwZWNpZXNHZXR0ZXJTZXR0ZXIoKSkKKyAgICAgICAg
cmV0dXJuIG1fc3BlY2llc1dhdGNocG9pbnRTdGF0dXMgPSBTcGVjaWVzV2F0Y2hwb2ludFN0YXR1
czo6RmlyZWQ7CisKKyAgICAvLyBOb3cgd2UgbmVlZCB0byBzZXR1cCB0aGUgd2F0Y2hwb2ludHMg
dG8gbWFrZSBzdXJlIHRoZXNlIGNvbmRpdGlvbnMgcmVtYWluIHZhbGlkLgorICAgIHByb3RvdHlw
ZVN0cnVjdHVyZS0+c3RhcnRXYXRjaGluZ1Byb3BlcnR5Rm9yUmVwbGFjZW1lbnRzKHZtLCBjb25z
dHJ1Y3RvclNsb3QuY2FjaGVkT2Zmc2V0KCkpOworICAgIGNvbnN0cnVjdG9yU3RydWN0dXJlLT5z
dGFydFdhdGNoaW5nUHJvcGVydHlGb3JSZXBsYWNlbWVudHModm0sIHNwZWNpZXNTbG90LmNhY2hl
ZE9mZnNldCgpKTsKKworICAgIE9iamVjdFByb3BlcnR5Q29uZGl0aW9uIGNvbnN0cnVjdG9yQ29u
ZGl0aW9uID0gT2JqZWN0UHJvcGVydHlDb25kaXRpb246OmVxdWl2YWxlbmNlKHZtLCB0aGlzLCB0
aGlzLCB2bS5wcm9wZXJ0eU5hbWVzLT5jb25zdHJ1Y3Rvci5pbXBsKCksIGFycmF5Q29uc3RydWN0
b3IpOworICAgIE9iamVjdFByb3BlcnR5Q29uZGl0aW9uIHNwZWNpZXNDb25kaXRpb24gPSBPYmpl
Y3RQcm9wZXJ0eUNvbmRpdGlvbjo6ZXF1aXZhbGVuY2Uodm0sIHRoaXMsIGFycmF5Q29uc3RydWN0
b3IsIHZtLnByb3BlcnR5TmFtZXMtPnNwZWNpZXNTeW1ib2wuaW1wbCgpLCBnbG9iYWxPYmplY3Qt
PnNwZWNpZXNHZXR0ZXJTZXR0ZXIoKSk7CisKKyAgICBpZiAoIWNvbnN0cnVjdG9yQ29uZGl0aW9u
LmlzV2F0Y2hhYmxlKCkgfHwgIXNwZWNpZXNDb25kaXRpb24uaXNXYXRjaGFibGUoKSkKKyAgICAg
ICAgcmV0dXJuIG1fc3BlY2llc1dhdGNocG9pbnRTdGF0dXMgPSBTcGVjaWVzV2F0Y2hwb2ludFN0
YXR1czo6RmlyZWQ7CisKKyAgICBtX2NvbnN0cnVjdG9yV2F0Y2hwb2ludCA9IHN0ZDo6bWFrZV91
bmlxdWU8QXJyYXlQcm90b3R5cGVBZGFwdGl2ZUluZmVycmVkUHJvcGVydHlXYXRjaHBvaW50Pihj
b25zdHJ1Y3RvckNvbmRpdGlvbiwgdGhpcyk7CiAgICAgbV9jb25zdHJ1Y3RvcldhdGNocG9pbnQt
Pmluc3RhbGwoKTsKLSAgICAKLSAgICAvLyBEbyB0aGUgd2F0Y2hwb2ludCBvbiB0aGUgY29uc3Ry
dWN0b3IncyBTeW1ib2wuc3BlY2llcyBwcm9wZXJ0eQotICAgIG9mZnNldCA9IGNvbnN0cnVjdG9y
UHJvcGVydHktPnN0cnVjdHVyZSgpLT5nZXQodm0sIHZtLnByb3BlcnR5TmFtZXMtPnNwZWNpZXNT
eW1ib2wpOwotICAgIEFTU0VSVChpc1ZhbGlkT2Zmc2V0KG9mZnNldCkpOwotICAgIGNvbnN0cnVj
dG9yUHJvcGVydHktPnN0cnVjdHVyZSgpLT5zdGFydFdhdGNoaW5nUHJvcGVydHlGb3JSZXBsYWNl
bWVudHModm0sIG9mZnNldCk7CiAKLSAgICBBU1NFUlQoY29uc3RydWN0b3JQcm9wZXJ0eS0+Z2V0
RGlyZWN0KG9mZnNldCkuaXNHZXR0ZXJTZXR0ZXIoKSk7Ci0gICAgY29uZGl0aW9uID0gT2JqZWN0
UHJvcGVydHlDb25kaXRpb246OmVxdWl2YWxlbmNlKHZtLCB0aGlzLCBjb25zdHJ1Y3RvclByb3Bl
cnR5LCB2bS5wcm9wZXJ0eU5hbWVzLT5zcGVjaWVzU3ltYm9sLmltcGwoKSwgY29uc3RydWN0b3JQ
cm9wZXJ0eS0+Z2V0RGlyZWN0KG9mZnNldCkpOwotICAgIEFTU0VSVChjb25kaXRpb24uaXNXYXRj
aGFibGUoKSk7Ci0KLSAgICBtX2NvbnN0cnVjdG9yU3BlY2llc1dhdGNocG9pbnQgPSBzdGQ6Om1h
a2VfdW5pcXVlPEFycmF5UHJvdG90eXBlQWRhcHRpdmVJbmZlcnJlZFByb3BlcnR5V2F0Y2hwb2lu
dD4oY29uZGl0aW9uLCB0aGlzKTsKKyAgICBtX2NvbnN0cnVjdG9yU3BlY2llc1dhdGNocG9pbnQg
PSBzdGQ6Om1ha2VfdW5pcXVlPEFycmF5UHJvdG90eXBlQWRhcHRpdmVJbmZlcnJlZFByb3BlcnR5
V2F0Y2hwb2ludD4oc3BlY2llc0NvbmRpdGlvbiwgdGhpcyk7CiAgICAgbV9jb25zdHJ1Y3RvclNw
ZWNpZXNXYXRjaHBvaW50LT5pbnN0YWxsKCk7CisKKyAgICByZXR1cm4gbV9zcGVjaWVzV2F0Y2hw
b2ludFN0YXR1cyA9IFNwZWNpZXNXYXRjaHBvaW50U3RhdHVzOjpJbml0aWFsaXplZDsKIH0KIAog
QXJyYXlQcm90b3R5cGVBZGFwdGl2ZUluZmVycmVkUHJvcGVydHlXYXRjaHBvaW50OjpBcnJheVBy
b3RvdHlwZUFkYXB0aXZlSW5mZXJyZWRQcm9wZXJ0eVdhdGNocG9pbnQoY29uc3QgT2JqZWN0UHJv
cGVydHlDb25kaXRpb24mIGtleSwgQXJyYXlQcm90b3R5cGUqIHByb3RvdHlwZSkKQEAgLTExMzEs
NyArMTE2OCwxMCBAQCB2b2lkIEFycmF5UHJvdG90eXBlQWRhcHRpdmVJbmZlcnJlZFByb3BlcnR5
V2F0Y2hwb2ludDo6aGFuZGxlRmlyZShjb25zdCBGaXJlRGV0YQogCiAgICAgU3RyaW5nRmlyZURl
dGFpbCBzdHJpbmdEZXRhaWwob3V0LnRvQ1N0cmluZygpLmRhdGEoKSk7CiAKLSAgICBtX2FycmF5
UHJvdG90eXBlLT5tX2RpZENoYW5nZUNvbnN0cnVjdG9yT3JTcGVjaWVzUHJvcGVydGllcyA9IHRy
dWU7CisgICAgaWYgKHZlcmJvc2UpCisgICAgICAgIFdURjo6ZGF0YUxvZyhzdHJpbmdEZXRhaWws
ICJcbiIpOworCisgICAgbV9hcnJheVByb3RvdHlwZS0+bV9zcGVjaWVzV2F0Y2hwb2ludFN0YXR1
cyA9IEFycmF5UHJvdG90eXBlOjpTcGVjaWVzV2F0Y2hwb2ludFN0YXR1czo6RmlyZWQ7CiB9CiAK
IH0gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvQXJyYXlQcm90b3R5cGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Fy
cmF5UHJvdG90eXBlLmgKaW5kZXggNjRkMjE2M2Q0ZTVhZGRmZTE3NGNmODc4M2JiYjYxMGIyYTJh
NTViOS4uNGFjZjViMzc0ZGE2ZWYwMWRjNmEyYzFkMmQzZWQ3MDM1ZjFhYzEwOSAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlQcm90b3R5cGUuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheVByb3RvdHlwZS5oCkBAIC0zNSw2ICsz
NSwxMiBAQCBwcml2YXRlOgogcHVibGljOgogICAgIHR5cGVkZWYgSlNBcnJheSBCYXNlOwogCisg
ICAgZW51bSBjbGFzcyBTcGVjaWVzV2F0Y2hwb2ludFN0YXR1cyB7CisgICAgICAgIFVuaW5pdGlh
bGl6ZWQsCisgICAgICAgIEluaXRpYWxpemVkLAorICAgICAgICBGaXJlZAorICAgIH07CisKICAg
ICBzdGF0aWMgQXJyYXlQcm90b3R5cGUqIGNyZWF0ZShWTSYsIEpTR2xvYmFsT2JqZWN0KiwgU3Ry
dWN0dXJlKik7CiAgICAgICAgIAogICAgIERFQ0xBUkVfSU5GTzsKQEAgLTQ0LDkgKzUwLDggQEAg
cHVibGljOgogICAgICAgICByZXR1cm4gU3RydWN0dXJlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVj
dCwgcHJvdG90eXBlLCBUeXBlSW5mbyhPYmplY3RUeXBlLCBTdHJ1Y3R1cmVGbGFncyksIGluZm8o
KSwgQXJyYXlDbGFzcyk7CiAgICAgfQogCi0gICAgdm9pZCBzZXRDb25zdHJ1Y3RvcihWTSYsIEpT
T2JqZWN0KiBjb25zdHJ1Y3RvclByb3BlcnR5LCB1bnNpZ25lZCBhdHRyaWJ1dGVzKTsKLQotICAg
IGJvb2wgZGlkQ2hhbmdlQ29uc3RydWN0b3JPclNwZWNpZXNQcm9wZXJ0aWVzKCkgY29uc3QgeyBy
ZXR1cm4gbV9kaWRDaGFuZ2VDb25zdHJ1Y3Rvck9yU3BlY2llc1Byb3BlcnRpZXM7IH0KKyAgICBT
cGVjaWVzV2F0Y2hwb2ludFN0YXR1cyBzcGVjaWVzV2F0Y2hwb2ludFN0YXR1cygpIGNvbnN0IHsg
cmV0dXJuIG1fc3BlY2llc1dhdGNocG9pbnRTdGF0dXM7IH0KKyAgICBTcGVjaWVzV2F0Y2hwb2lu
dFN0YXR1cyBhdHRlbXB0VG9Jbml0aWFsaXplU3BlY2llc1dhdGNocG9pbnQoRXhlY1N0YXRlKik7
CiAKICAgICBzdGF0aWMgY29uc3QgYm9vbCBuZWVkc0Rlc3RydWN0aW9uID0gZmFsc2U7CiAgICAg
Ly8gV2UgZG9uJ3QgbmVlZCBkZXN0cnVjdGlvbiBzaW5jZSB3ZSB1c2UgYSBmaW5hbGl6ZXIuCkBA
IC02MCw3ICs2NSw3IEBAIHByaXZhdGU6CiAgICAgZnJpZW5kIEFycmF5UHJvdG90eXBlQWRhcHRp
dmVJbmZlcnJlZFByb3BlcnR5V2F0Y2hwb2ludDsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8QXJyYXlQ
cm90b3R5cGVBZGFwdGl2ZUluZmVycmVkUHJvcGVydHlXYXRjaHBvaW50PiBtX2NvbnN0cnVjdG9y
V2F0Y2hwb2ludDsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8QXJyYXlQcm90b3R5cGVBZGFwdGl2ZUlu
ZmVycmVkUHJvcGVydHlXYXRjaHBvaW50PiBtX2NvbnN0cnVjdG9yU3BlY2llc1dhdGNocG9pbnQ7
Ci0gICAgYm9vbCBtX2RpZENoYW5nZUNvbnN0cnVjdG9yT3JTcGVjaWVzUHJvcGVydGllcyA9IGZh
bHNlOworICAgIFNwZWNpZXNXYXRjaHBvaW50U3RhdHVzIG1fc3BlY2llc1dhdGNocG9pbnRTdGF0
dXMgeyBTcGVjaWVzV2F0Y2hwb2ludFN0YXR1czo6VW5pbml0aWFsaXplZCB9OwogfTsKIAogRW5j
b2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBhcnJheVByb3RvRnVuY1RvU3RyaW5nKEV4ZWNTdGF0
ZSopOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxP
YmplY3QuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3Qu
Y3BwCmluZGV4IDBkMWFiNzM5YWI2ZGFjYTE5MmI2YTE1MjI3ZTljNWQzOThkNmNkMDEuLjk4ZWQ0
OGE3MTdhMDlhM2IxNjBmYWUxODc5M2UzZTY3NjZiYzkzMjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAKQEAgLTU2MSw3ICs1NjEsOCBA
QCBtXyAjIyBwcm9wZXJOYW1lICMjIFN0cnVjdHVyZS5zZXQodm0sIHRoaXMsIGluc3RhbmNlVHlw
ZTo6Y3JlYXRlU3RydWN0dXJlKHZtLCB0aAogICAgIG1fZGVmaW5lUHJvcGVydHlGdW5jdGlvbi5z
ZXQodm0sIHRoaXMsIGRlZmluZVByb3BlcnR5RnVuY3Rpb24pOwogCiAgICAgSlNDZWxsKiBmdW5j
dGlvbkNvbnN0cnVjdG9yID0gRnVuY3Rpb25Db25zdHJ1Y3Rvcjo6Y3JlYXRlKHZtLCBGdW5jdGlv
bkNvbnN0cnVjdG9yOjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1fZnVuY3Rpb25Qcm90b3R5
cGUuZ2V0KCkpLCBtX2Z1bmN0aW9uUHJvdG90eXBlLmdldCgpKTsKLSAgICBKU09iamVjdCogYXJy
YXlDb25zdHJ1Y3RvciA9IEFycmF5Q29uc3RydWN0b3I6OmNyZWF0ZSh2bSwgdGhpcywgQXJyYXlD
b25zdHJ1Y3Rvcjo6Y3JlYXRlU3RydWN0dXJlKHZtLCB0aGlzLCBtX2Z1bmN0aW9uUHJvdG90eXBl
LmdldCgpKSwgbV9hcnJheVByb3RvdHlwZS5nZXQoKSwgbV9zcGVjaWVzR2V0dGVyU2V0dGVyLmdl
dCgpKTsKKyAgICBBcnJheUNvbnN0cnVjdG9yKiBhcnJheUNvbnN0cnVjdG9yID0gQXJyYXlDb25z
dHJ1Y3Rvcjo6Y3JlYXRlKHZtLCB0aGlzLCBBcnJheUNvbnN0cnVjdG9yOjpjcmVhdGVTdHJ1Y3R1
cmUodm0sIHRoaXMsIG1fZnVuY3Rpb25Qcm90b3R5cGUuZ2V0KCkpLCBtX2FycmF5UHJvdG90eXBl
LmdldCgpLCBtX3NwZWNpZXNHZXR0ZXJTZXR0ZXIuZ2V0KCkpOworICAgIG1fYXJyYXlDb25zdHJ1
Y3Rvci5zZXQodm0sIHRoaXMsIGFycmF5Q29uc3RydWN0b3IpOwogICAgIAogICAgIG1fcmVnRXhw
Q29uc3RydWN0b3Iuc2V0KHZtLCB0aGlzLCBSZWdFeHBDb25zdHJ1Y3Rvcjo6Y3JlYXRlKHZtLCBS
ZWdFeHBDb25zdHJ1Y3Rvcjo6Y3JlYXRlU3RydWN0dXJlKHZtLCB0aGlzLCBtX2Z1bmN0aW9uUHJv
dG90eXBlLmdldCgpKSwgbV9yZWdFeHBQcm90b3R5cGUuZ2V0KCksIG1fc3BlY2llc0dldHRlclNl
dHRlci5nZXQoKSkpOwogICAgIApAQCAtNjA4LDcgKzYwOSw3IEBAIG1fICMjIGxvd2VyTmFtZSAj
IyBQcm90b3R5cGUtPnB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5h
bWVzLT5jCiAgICAgCiAgICAgbV9vYmplY3RQcm90b3R5cGUtPnB1dERpcmVjdFdpdGhvdXRUcmFu
c2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5jb25zdHJ1Y3Rvciwgb2JqZWN0Q29uc3RydWN0
b3IsIERvbnRFbnVtKTsKICAgICBtX2Z1bmN0aW9uUHJvdG90eXBlLT5wdXREaXJlY3RXaXRob3V0
VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+Y29uc3RydWN0b3IsIGZ1bmN0aW9uQ29u
c3RydWN0b3IsIERvbnRFbnVtKTsKLSAgICBtX2FycmF5UHJvdG90eXBlLT5zZXRDb25zdHJ1Y3Rv
cih2bSwgYXJyYXlDb25zdHJ1Y3RvciwgRG9udEVudW0pOworICAgIG1fYXJyYXlQcm90b3R5cGUt
PnB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5jb25zdHJ1
Y3RvciwgYXJyYXlDb25zdHJ1Y3RvciwgRG9udEVudW0pOwogICAgIG1fcmVnRXhwUHJvdG90eXBl
LT5wdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+Y29uc3Ry
dWN0b3IsIG1fcmVnRXhwQ29uc3RydWN0b3IuZ2V0KCksIERvbnRFbnVtKTsKICAgICAKICAgICBw
dXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+T2JqZWN0LCBv
YmplY3RDb25zdHJ1Y3RvciwgRG9udEVudW0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTR2xvYmFsT2JqZWN0LmgKaW5kZXggY2QwZGRiNjNmYjUyYmE3NDU2NDFmMzFlOGIx
ZjAyMjE0OWJjZTE2MC4uNGNmNGFjYWU4ZjcxZmQyMmJmYzgwNWU1YzQxODJmZDJjNGIzMzdlOSAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3Qu
aAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCkBA
IC01NSw2ICs1NSw3IEBAIGNsYXNzIEpTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlcjsK
IAogbmFtZXNwYWNlIEpTQyB7CiAKK2NsYXNzIEFycmF5Q29uc3RydWN0b3I7CiBjbGFzcyBBcnJh
eVByb3RvdHlwZTsKIGNsYXNzIEJvb2xlYW5Qcm90b3R5cGU7CiBjbGFzcyBDb25zb2xlQ2xpZW50
OwpAQCAtMjI2LDYgKzIyNyw3IEBAIHB1YmxpYzoKICAgICBXcml0ZUJhcnJpZXI8TmF0aXZlRXJy
b3JDb25zdHJ1Y3Rvcj4gbV90eXBlRXJyb3JDb25zdHJ1Y3RvcjsKICAgICBMYXp5UHJvcGVydHk8
SlNHbG9iYWxPYmplY3QsIE5hdGl2ZUVycm9yQ29uc3RydWN0b3I+IG1fVVJJRXJyb3JDb25zdHJ1
Y3RvcjsKICAgICBXcml0ZUJhcnJpZXI8T2JqZWN0Q29uc3RydWN0b3I+IG1fb2JqZWN0Q29uc3Ry
dWN0b3I7CisgICAgV3JpdGVCYXJyaWVyPEFycmF5Q29uc3RydWN0b3I+IG1fYXJyYXlDb25zdHJ1
Y3RvcjsKICAgICBXcml0ZUJhcnJpZXI8SlNQcm9taXNlQ29uc3RydWN0b3I+IG1fcHJvbWlzZUNv
bnN0cnVjdG9yOwogICAgIFdyaXRlQmFycmllcjxKU0ludGVybmFsUHJvbWlzZUNvbnN0cnVjdG9y
PiBtX2ludGVybmFsUHJvbWlzZUNvbnN0cnVjdG9yOwogCkBAIC00NTgsOSArNDYwLDEyIEBAIHB1
YmxpYzoKICAgICAvLyBUaGUgZm9sbG93aW5nIGFjY2Vzc29ycyByZXR1cm4gcHJpc3RpbmUgdmFs
dWVzLCBldmVuIGlmIGEgc2NyaXB0IAogICAgIC8vIHJlcGxhY2VzIHRoZSBnbG9iYWwgb2JqZWN0
J3MgYXNzb2NpYXRlZCBwcm9wZXJ0eS4KIAorICAgIEdldHRlclNldHRlciogc3BlY2llc0dldHRl
clNldHRlcigpIGNvbnN0IHsgcmV0dXJuIG1fc3BlY2llc0dldHRlclNldHRlci5nZXQoKTsgfQor
CiAgICAgUmVnRXhwQ29uc3RydWN0b3IqIHJlZ0V4cENvbnN0cnVjdG9yKCkgY29uc3QgeyByZXR1
cm4gbV9yZWdFeHBDb25zdHJ1Y3Rvci5nZXQoKTsgfQogCiAgICAgRXJyb3JDb25zdHJ1Y3Rvciog
ZXJyb3JDb25zdHJ1Y3RvcigpIGNvbnN0IHsgcmV0dXJuIG1fZXJyb3JDb25zdHJ1Y3Rvci5nZXQo
KTsgfQorICAgIEFycmF5Q29uc3RydWN0b3IqIGFycmF5Q29uc3RydWN0b3IoKSBjb25zdCB7IHJl
dHVybiBtX2FycmF5Q29uc3RydWN0b3IuZ2V0KCk7IH0KICAgICBPYmplY3RDb25zdHJ1Y3Rvciog
b2JqZWN0Q29uc3RydWN0b3IoKSBjb25zdCB7IHJldHVybiBtX29iamVjdENvbnN0cnVjdG9yLmdl
dCgpOyB9CiAgICAgSlNQcm9taXNlQ29uc3RydWN0b3IqIHByb21pc2VDb25zdHJ1Y3RvcigpIGNv
bnN0IHsgcmV0dXJuIG1fcHJvbWlzZUNvbnN0cnVjdG9yLmdldCgpOyB9CiAgICAgSlNJbnRlcm5h
bFByb21pc2VDb25zdHJ1Y3RvciogaW50ZXJuYWxQcm9taXNlQ29uc3RydWN0b3IoKSBjb25zdCB7
IHJldHVybiBtX2ludGVybmFsUHJvbWlzZUNvbnN0cnVjdG9yLmdldCgpOyB9CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYzhh
ZmMyYTg2OWE0OGFiZmZiYTQ2YTg0NzQ3MDhmNjllN2I3YzVjOC4uODZhMTVkMGJiYzU0Zjk1MzQy
MzczMmQ1YTQ0Y2ZhM2VjOTA0NDZjMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE2LTA2LTE0
ICBLZWl0aCBNaWxsZXIgIDxrZWl0aF9taWxsZXJAYXBwbGUuY29tPgorCisgICAgICAgIFRoZSBB
cnJheSBzcGVjaWVzIGNvbnN0cnVjdG9yIHdhdGNocG9pbnRzIHNob3VsZCBiZSBjcmVhdGVkIHRo
ZSBmaXJzdCB0aW1lIHRoZXkgYXJlIG5lZWRlZCByYXRoZXIgdGhhbiBvbiBjcmVhdGlvbgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU4NzU0CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIG5ldyBtaWNy
by1iZW5jaG1hcmsgdGhhdCB0ZXN0cyB0aGUgaW1wYWN0IG9mIGxhemlseQorICAgICAgICBpbml0
aWFsaXppbmcgdGhlIGFycmF5IHNwZWNpZXMgd2F0Y2hwb2ludHMuCisKKyAgICAgICAgKiBqcy9y
ZWdyZXNzL2xhenktYXJyYXktc3BlY2llcy13YXRjaHBvaW50cy1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGpzL3JlZ3Jlc3MvbGF6eS1hcnJheS1zcGVjaWVzLXdhdGNocG9pbnRzLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGpzL3JlZ3Jlc3Mvc2NyaXB0LXRlc3RzL2xhenktYXJyYXkt
c3BlY2llcy13YXRjaHBvaW50cy5qczogQWRkZWQuCisgICAgICAgICh0ZXN0KToKKwogMjAxNi0w
Ni0xMyAgQWRhbSBCZXJna3Zpc3QgIDxhZGFtLmJlcmdrdmlzdEBlcmljc3Nvbi5jb20+CiAKICAg
ICAgICAgV2ViUlRDOiBBZGQgdGVzdCB0aGF0IHZlcmlmaWVzIHRoYXQgUlRDUGVlckNvbm5lY3Rp
b24uYWRkVHJhY2sgY2FuIHJldXNlIGFuIGV4aXN0aW5nIFJUQ1J0cFNlbmRlcgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvanMvcmVncmVzcy9sYXp5LWFycmF5LXNwZWNpZXMtd2F0Y2hwb2ludHMt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvanMvcmVncmVzcy9sYXp5LWFycmF5LXNwZWNpZXMt
d2F0Y2hwb2ludHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZlNTcwMThhNTA4MzBkNGU5YWFj
ZWQ3ZTY3ODY4MGI0ZmE4MGUxNTUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9qcy9y
ZWdyZXNzL2xhenktYXJyYXktc3BlY2llcy13YXRjaHBvaW50cy1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMCBAQAorSlNSZWdyZXNzL2xhenktYXJyYXktc3BlY2llcy13YXRjaHBvaW50cworCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBubyBleGNlcHRpb24gdGhyb3duCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvanMvcmVncmVzcy9sYXp5LWFycmF5LXNwZWNpZXMtd2F0Y2hwb2lu
dHMuaHRtbCBiL0xheW91dFRlc3RzL2pzL3JlZ3Jlc3MvbGF6eS1hcnJheS1zcGVjaWVzLXdhdGNo
cG9pbnRzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDcwY2VmMjhiNjI1ZmRiYTVhZjRkYTk0ZjRmMDUxNmUz
ZDVkMThkYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2pzL3JlZ3Jlc3MvbGF6eS1h
cnJheS1zcGVjaWVzLXdhdGNocG9pbnRzLmh0bWwKQEAgLTAsMCArMSwxMiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3JlZ3Jlc3MtcHJlLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvbGF6eS1hcnJheS1zcGVjaWVz
LXdhdGNocG9pbnRzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
cmVncmVzcy1wb3N0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2pzL3JlZ3Jlc3Mvc2NyaXB0LXRlc3RzL2xhenktYXJyYXktc3BlY2llcy13
YXRjaHBvaW50cy5qcyBiL0xheW91dFRlc3RzL2pzL3JlZ3Jlc3Mvc2NyaXB0LXRlc3RzL2xhenkt
YXJyYXktc3BlY2llcy13YXRjaHBvaW50cy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTYyNWQxNTM4M2EzZTgx
Mjc2NGQzYzlkNGFmMGQzMGI0ZWJkYTY5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
anMvcmVncmVzcy9zY3JpcHQtdGVzdHMvbGF6eS1hcnJheS1zcGVjaWVzLXdhdGNocG9pbnRzLmpz
CkBAIC0wLDAgKzEsMTIgQEAKK09iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUs
ICJzb3J0IiwgeyB3cml0YWJsZTogZmFsc2UsIHZhbHVlOiBBcnJheS5wcm90b3R5cGUuc29ydCB9
KTsKKworZnVuY3Rpb24gdGVzdChhcnJheSkgeworICAgIGFycmF5ID0gYXJyYXkuc3BsaWNlKDIs
IDIpOworICAgIGFycmF5ID0gYXJyYXkuc2xpY2UoMCwgNSk7CisgICAgYXJyYXkgPSBhcnJheS5j
b25jYXQoWzEsMiwzXSk7CisgICAgcmV0dXJuIGFycmF5OworfQorbm9JbmxpbmUodGVzdCk7CisK
K2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDAwOyBpKyspCisgICAgdGVzdChbMSwyLDMsNCw1LDYs
Nyw4LDldKTsK
</data>
<flag name="review"
          id="305147"
          type_id="1"
          status="+"
          setter="benjamin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>281282</attachid>
            <date>2016-06-14 14:42:28 -0700</date>
            <delta_ts>2016-06-14 14:42:28 -0700</delta_ts>
            <desc>Micro-benchmark results</desc>
            <filename>ToT_MC_JSRegress_Keiths-MacBook-Pro-5_20160614_1253_report.txt</filename>
            <type>text/plain</type>
            <size>885</size>
            <attacher name="Keith Miller">keith_miller</attacher>
            
              <data encoding="base64">QmVuY2htYXJrIHJlcG9ydCBmb3IgSlNSZWdyZXNzIG9uIEtlaXRocy1NYWNCb29rLVByby01IChN
YWNCb29rUHJvMTEsMykuCgpWTXMgdGVzdGVkOgoiVG9UIiBhdCAvVm9sdW1lcy9EYXRhL2NsZWFu
L09wZW5Tb3VyY2UvV2ViS2l0QnVpbGQvUmVsZWFzZS9qc2MKIk1DIiBhdCAvVm9sdW1lcy9EYXRh
L3dzMy9PcGVuU291cmNlL1dlYktpdEJ1aWxkL1JlbGVhc2UvanNjCgpDb2xsZWN0ZWQgNCBzYW1w
bGVzIHBlciBiZW5jaG1hcmsvVk0sIHdpdGggNCBWTSBpbnZvY2F0aW9ucyBwZXIgYmVuY2htYXJr
LiBFbWl0dGVkIGEgY2FsbCB0byBnYygpIGJldHdlZW4Kc2FtcGxlIG1lYXN1cmVtZW50cy4gVXNl
ZCAxIGJlbmNobWFyayBpdGVyYXRpb24gcGVyIFZNIGludm9jYXRpb24gZm9yIHdhcm0tdXAuIFVz
ZWQgdGhlIGpzYy1zcGVjaWZpYwpwcmVjaXNlVGltZSgpIGZ1bmN0aW9uIHRvIGdldCBtaWNyb3Nl
Y29uZC1sZXZlbCB0aW1pbmcuIFJlcG9ydGluZyBiZW5jaG1hcmsgZXhlY3V0aW9uIHRpbWVzIHdp
dGggOTUlCmNvbmZpZGVuY2UgaW50ZXJ2YWxzIGluIG1pbGxpc2Vjb25kcy4KCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBUb1QgICAgICAgICAgICAgICAgICAgICAgICBNQyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKCmxhenktc3BlY2llcy13YXRj
aHBvaW50cyAgICAgICA5OS4yNzUzKy04LjU5ODQgICAgIF4gICAgIDI0LjM3MzErLTEuMDczMiAg
ICAgICAgXiBkZWZpbml0ZWx5IDQuMDczMXggZmFzdGVyCgo8Z2VvbWV0cmljPiAgICAgICAgICAg
ICAgICAgICAgOTkuMjc1MystOC41OTg0ICAgICBeICAgICAyNC4zNzMxKy0xLjA3MzIgICAgICAg
IF4gZGVmaW5pdGVseSA0LjA3MzF4IGZhc3RlcgoK
</data>

          </attachment>
      

    </bug>

</bugzilla>