<?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>157502</bug_id>
          
          <creation_ts>2016-05-09 20:19:19 -0700</creation_ts>
          <short_desc>[JSC] FTL can produce GetByVal nodes without proper bounds checking</short_desc>
          <delta_ts>2016-05-10 14:34:48 -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="Benjamin Poulain">benjamin</reporter>
          <assigned_to name="Benjamin Poulain">benjamin</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>fpizlo</cc>
    
    <cc>keith_miller</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>1191428</commentid>
    <comment_count>0</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2016-05-09 20:19:19 -0700</bug_when>
    <thetext>[JSC] FTL can produce GetByVal nodes without proper bounds checking</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1191434</commentid>
    <comment_count>1</comment_count>
      <attachid>278473</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2016-05-09 20:35:25 -0700</bug_when>
    <thetext>Created attachment 278473
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1191451</commentid>
    <comment_count>2</comment_count>
      <attachid>278473</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2016-05-09 21:55:12 -0700</bug_when>
    <thetext>Comment on attachment 278473
Patch

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

&gt; Source/JavaScriptCore/dfg/DFGPlan.cpp:422
&gt; +
&gt; +        performLivenessAnalysis(dfg);
&gt; +        performIntegerRangeOptimization(dfg);

Can you file a bug about this very strange behavior of the IR?  Ideally, the IR would be able to tell LICM if it&apos;s safe to hoist GetByVal.  I think having a bug about this, and referencing it in a FIXME here, would be a good way of not forgetting about this very surprising behavior.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1191550</commentid>
    <comment_count>3</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2016-05-10 09:57:38 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Comment on attachment 278473 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=278473&amp;action=review
&gt; 
&gt; &gt; Source/JavaScriptCore/dfg/DFGPlan.cpp:422
&gt; &gt; +
&gt; &gt; +        performLivenessAnalysis(dfg);
&gt; &gt; +        performIntegerRangeOptimization(dfg);
&gt; 
&gt; Can you file a bug about this very strange behavior of the IR?  Ideally, the
&gt; IR would be able to tell LICM if it&apos;s safe to hoist GetByVal.  I think
&gt; having a bug about this, and referencing it in a FIXME here, would be a good
&gt; way of not forgetting about this very surprising behavior.

It&apos;s sort of crazy that LICM for GetByVal is only correct if it *also* hoists the CheckInBounds.  That&apos;s nuts!

Please definitely put a FIXME linking a bug somewhere.  We don&apos;t want to forget how insane this is.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1191646</commentid>
    <comment_count>4</comment_count>
      <attachid>278528</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2016-05-10 14:07:46 -0700</bug_when>
    <thetext>Created attachment 278528
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1191658</commentid>
    <comment_count>5</comment_count>
      <attachid>278528</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-05-10 14:34:44 -0700</bug_when>
    <thetext>Comment on attachment 278528
Patch for landing

Clearing flags on attachment: 278528

Committed r200645: &lt;http://trac.webkit.org/changeset/200645&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1191659</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-05-10 14:34:48 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>278473</attachid>
            <date>2016-05-09 20:35:25 -0700</date>
            <delta_ts>2016-05-10 14:07:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-157502-20160509203612.patch</filename>
            <type>text/plain</type>
            <size>4167</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAwNTA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAz
NzNhNTIyNzI1YWMwZGYzYmJhMTA4OWRiYzhkNzBkM2Q4N2RkZmYzLi5jMzkyOTRhMWU0ZmE0OTdk
MzFhMWFhOGExODhjNWIxMmFkYTA5ZjNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzMyBAQAorMjAxNi0wNS0wOSAgQmVuamFtaW4gUG91bGFpbiAgPGJwb3VsYWluQGFwcGxl
LmNvbT4KKworICAgICAgICBbSlNDXSBGVEwgY2FuIHByb2R1Y2UgR2V0QnlWYWwgbm9kZXMgd2l0
aG91dCBwcm9wZXIgYm91bmRzIGNoZWNraW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNTc1MDIKKyAgICAgICAgcmRhcjovL3Byb2JsZW0vMjYwMjcw
MjcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJdCB3
YXMgcG9zc2libGUgZm9yIEZUTCB0byBnZW5lcmF0ZXMgR2V0QnlWYWwgb24gYXJiaXRyYXJ5IG9m
ZnNldHMKKyAgICAgICAgd2l0aG91dCBhbnkgYm91bmRzIGNoZWNraW5nLgorCisgICAgICAgIFRo
ZSBidWcgaXMgY2F1c2VkIGJ5IHRoZSBvcmRlciBvZiBvcHRpbWl6YXRpb24gcGhhc2VzOgorICAg
ICAgICAtRmlyc3QsIHRoZSBJbnRlZ2VyIFJhbmdlIE9wdGltaXphdGlvbiBwcm92ZXMgdGhhdCBh
IENoZWNrSW5Cb3VuZHMKKyAgICAgICAgIHRlc3QgY2FuIG5ldmVyIGZhaWwuCisgICAgICAgICBU
aGlzIHByb29mIGlzIGJhc2VkIG9uIGNvbnRyb2wgZmxvdyBvciBwcmVjZWVkaW5nIGluc3RydWN0
aW9ucworICAgICAgICAgaW5zaWRlIGEgbG9vcC4KKyAgICAgICAgLVRoZSBMb29wIEludmFyaWFu
dCBDb2RlIE1vdGlvbiBwaGFzZSBmaW5kcyB0aGF0IHRoZSBHZXRCeVZhbCBkb2VzIG5vdAorICAg
ICAgICAgZGVwZW5kIG9uIGFueXRoaW5nIGluIHRoZSBsb29wIGFuZCBob2lzdCBpdCBvdXQgb2Yg
dGhlIGxvb3AuCisgICAgICAgIC0+IEFzIGEgcmVzdWx0LCB0aGUgY29uZGl0aW9ucyB0aGF0IHdl
cmUgbmVjZXNzYXJ5IHRvIGVsaW1pbmF0ZQorICAgICAgICAgICB0aGUgQ2hlY2tJbkJvdW5kcyBh
cmUgbm8gbG9uZ2VyIG1ldCBiZWZvcmUgdGhlIEdldEJ5VmFsLgorCisgICAgICAgIFRoaXMgcGF0
Y2gganVzdCBtb3ZlcyB0aGUgSW50ZWdlciBSYW5nZSBPcHRpbWl6YXRpb24gcGhhc2UgYWZ0ZXIK
KyAgICAgICAgTG9vcCBJbnZhcmlhbnQgQ29kZSBNb3Rpb24gdG8gbWFrZSBzdXJlIG5vIGNvZGUg
aXMgbW92ZWQgYWZ0ZXIKKyAgICAgICAgaXRzIGludGVnZXIgcmFuZ2VzIGJvdW5kcyBwcm9vZnMg
aGF2ZSBiZWVuIHVzZWQuCisKKyAgICAgICAgKiBkZmcvREZHUGxhbi5jcHA6CisgICAgICAgIChK
U0M6OkRGRzo6UGxhbjo6Y29tcGlsZUluVGhyZWFkSW1wbCk6CisgICAgICAgICogdGVzdHMvc3Ry
ZXNzL2JvdW5kcy1jaGVjay1ub3QtZWxpbWluYXRlZC1ieS1saWNtLmpzOiBBZGRlZC4KKyAgICAg
ICAgKHRlc3RJbkxvb3BUZXN0cyk6CisKIDIwMTYtMDUtMDUgIEJlbmphbWluIFBvdWxhaW4gIDxi
cG91bGFpbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0pTQ10gR2V0IHJpZCBvZiBOb25OZWdaZXJv
RG91YmxlLCBpdCBpcyBicm9rZW4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHUGxhbi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1BsYW4uY3BwCmlu
ZGV4IDA3NjhkNWNkZjJlYTU4YTUwYzU4YWQyODY1NDQ5OThhMmMwNGZjMDIuLjFlNGYxZmQxYzFm
MjY5YmY3ZmMwZWRlZTFlY2RhMjRhMDU4YjczZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHUGxhbi5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdQbGFuLmNwcApAQCAtMzk0LDggKzM5NCw2IEBAIFBsYW46OkNvbXBpbGF0aW9uUGF0aCBQbGFu
Ojpjb21waWxlSW5UaHJlYWRJbXBsKExvbmdMaXZlZFN0YXRlJiBsb25nTGl2ZWRTdGF0ZSkKICAg
ICAgICAgcGVyZm9ybUNvbnN0YW50SG9pc3RpbmcoZGZnKTsKICAgICAgICAgcGVyZm9ybUdsb2Jh
bENTRShkZmcpOwogICAgICAgICBwZXJmb3JtTGl2ZW5lc3NBbmFseXNpcyhkZmcpOwotICAgICAg
ICBwZXJmb3JtSW50ZWdlclJhbmdlT3B0aW1pemF0aW9uKGRmZyk7Ci0gICAgICAgIHBlcmZvcm1M
aXZlbmVzc0FuYWx5c2lzKGRmZyk7CiAgICAgICAgIHBlcmZvcm1DRkEoZGZnKTsKICAgICAgICAg
cGVyZm9ybUNvbnN0YW50Rm9sZGluZyhkZmcpOwogICAgICAgICBwZXJmb3JtQ2xlYW5VcChkZmcp
OyAvLyBSZWR1Y2UgdGhlIGdyYXBoIHNpemUgYSBsb3QuCkBAIC00MTksNiArNDE3LDkgQEAgUGxh
bjo6Q29tcGlsYXRpb25QYXRoIFBsYW46OmNvbXBpbGVJblRocmVhZEltcGwoTG9uZ0xpdmVkU3Rh
dGUmIGxvbmdMaXZlZFN0YXRlKQogICAgICAgICAvLyBBbHRlcm5hdGl2ZWx5LCB3ZSBjb3VsZCBy
dW4gbG9vcCBwcmUtaGVhZGVyIGNyZWF0aW9uIGFmdGVyIFNTQSBjb252ZXJzaW9uIC0gYnV0IGlm
IHdlIGRpZCB0aGF0CiAgICAgICAgIC8vIHRoZW4gd2UnZCBuZWVkIHRvIGRvIHNvbWUgc2ltcGxl
IFNTQSBmaXgtdXAuCiAgICAgICAgIHBlcmZvcm1MSUNNKGRmZyk7CisKKyAgICAgICAgcGVyZm9y
bUxpdmVuZXNzQW5hbHlzaXMoZGZnKTsKKyAgICAgICAgcGVyZm9ybUludGVnZXJSYW5nZU9wdGlt
aXphdGlvbihkZmcpOwogICAgICAgICAKICAgICAgICAgcGVyZm9ybUNsZWFuVXAoZGZnKTsKICAg
ICAgICAgcGVyZm9ybUludGVnZXJDaGVja0NvbWJpbmluZyhkZmcpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9ib3VuZHMtY2hlY2stbm90LWVsaW1pbmF0
ZWQtYnktbGljbS5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYm91bmRz
LWNoZWNrLW5vdC1lbGltaW5hdGVkLWJ5LWxpY20uanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGIzMTQxZTM5M2Ix
NjU3OTgyMTIyMDMzMmI2MmI2ZmIxMTgzNjQ5NAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYm91bmRzLWNoZWNrLW5vdC1lbGltaW5hdGVkLWJ5
LWxpY20uanMKQEAgLTAsMCArMSwzMCBAQAorZnVuY3Rpb24gdGVzdEluTG9vcFRlc3RzKGFycmF5
LCBpbmRleCkKK3sKKyAgICBsZXQgYXJyYXlMZW5ndGggPSBhcnJheS5sZW5ndGg7CisgICAgbGV0
IHN1bSA9IDA7CisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAxMDsgKytpKSB7CisgICAgICAgIGlm
IChpbmRleCA+PSAwICYmIGluZGV4IDwgYXJyYXlMZW5ndGgpIHsKKyAgICAgICAgICAgIHN1bSAr
PSBhcnJheVtpbmRleF07CisgICAgICAgIH0KKyAgICB9CisgICAgcmV0dXJuIHN1bTsKK30KK25v
SW5saW5lKHRlc3RJbkxvb3BUZXN0cyk7CisKKworbGV0IHRlc3RBcnJheSA9IFsxLCAyLCAzXTsK
KworLy8gV2FybXVwICJpbi1ib3VuZHMiIHVwIHRvIEZUTC4KK2ZvciAobGV0IGkgPSAwOyBpIDwg
MWU1OyArK2kpIHsKKyAgICBpZiAodGVzdEluTG9vcFRlc3RzKHRlc3RBcnJheSwgMSkgIT09IDIw
KQorICAgICAgICB0aHJvdyAiRmFpbGVkIHRlc3RJbkxvb3BUZXN0cyh0ZXN0QXJyYXksIDEpIgor
ICAgIGlmICh0ZXN0SW5Mb29wVGVzdHModGVzdEFycmF5LCAyKSAhPT0gMzApCisgICAgICAgIHRo
cm93ICJGYWlsZWQgdGVzdEluTG9vcFRlc3RzKHRlc3RBcnJheSwgMikiCit9CisKK2xldCBsYXJn
ZUludFJlc3VsdCA9IHRlc3RJbkxvb3BUZXN0cyh0ZXN0QXJyYXksIDIxNDc0ODM2NDcpOworaWYg
KGxhcmdlSW50UmVzdWx0ICE9PSAwKQorICAgIHRocm93ICJGYWlsZWQgdGVzdEluTG9vcFRlc3Rz
KHRlc3RBcnJheSwgMjE0NzQ4MzY0NykiOworbGV0IHNtYWxsSW50UmVzdWx0ID0gdGVzdEluTG9v
cFRlc3RzKHRlc3RBcnJheSwgLTIxNDc0ODM2NDcpOworaWYgKHNtYWxsSW50UmVzdWx0ICE9PSAw
KQorICAgIHRocm93ICJGYWlsZWQgdGVzdEluTG9vcFRlc3RzKHRlc3RBcnJheSwgLTIxNDc0ODM2
NDcpIjsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>278528</attachid>
            <date>2016-05-10 14:07:46 -0700</date>
            <delta_ts>2016-05-10 14:34:44 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-157502-20160510140834.patch</filename>
            <type>text/plain</type>
            <size>4601</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAwNjQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA2
MTQ1NTNhNDQ0YjI5MzVmYzc5YWIwNmE4MTZkNzYwMjhlOWU4ZDk3Li42NjM4OTk2OGVlOGMxMjNm
MzFkNDc2MjdhMzEwMTUwNTVmMDU2ZjFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzMyBAQAorMjAxNi0wNS0xMCAgQmVuamFtaW4gUG91bGFpbiAgPGJwb3VsYWluQGFwcGxl
LmNvbT4KKworICAgICAgICBbSlNDXSBGVEwgY2FuIHByb2R1Y2UgR2V0QnlWYWwgbm9kZXMgd2l0
aG91dCBwcm9wZXIgYm91bmRzIGNoZWNraW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNTc1MDIKKyAgICAgICAgcmRhcjovL3Byb2JsZW0vMjYwMjcw
MjcKKworICAgICAgICBSZXZpZXdlZCBieSBGaWxpcCBQaXpsby4KKworICAgICAgICBJdCB3YXMg
cG9zc2libGUgZm9yIEZUTCB0byBnZW5lcmF0ZXMgR2V0QnlWYWwgb24gYXJiaXRyYXJ5IG9mZnNl
dHMKKyAgICAgICAgd2l0aG91dCBhbnkgYm91bmRzIGNoZWNraW5nLgorCisgICAgICAgIFRoZSBi
dWcgaXMgY2F1c2VkIGJ5IHRoZSBvcmRlciBvZiBvcHRpbWl6YXRpb24gcGhhc2VzOgorICAgICAg
ICAtRmlyc3QsIHRoZSBJbnRlZ2VyIFJhbmdlIE9wdGltaXphdGlvbiBwcm92ZXMgdGhhdCBhIENo
ZWNrSW5Cb3VuZHMKKyAgICAgICAgIHRlc3QgY2FuIG5ldmVyIGZhaWwuCisgICAgICAgICBUaGlz
IHByb29mIGlzIGJhc2VkIG9uIGNvbnRyb2wgZmxvdyBvciBwcmVjZWVkaW5nIGluc3RydWN0aW9u
cworICAgICAgICAgaW5zaWRlIGEgbG9vcC4KKyAgICAgICAgLVRoZSBMb29wIEludmFyaWFudCBD
b2RlIE1vdGlvbiBwaGFzZSBmaW5kcyB0aGF0IHRoZSBHZXRCeVZhbCBkb2VzIG5vdAorICAgICAg
ICAgZGVwZW5kIG9uIGFueXRoaW5nIGluIHRoZSBsb29wIGFuZCBob2lzdCBpdCBvdXQgb2YgdGhl
IGxvb3AuCisgICAgICAgIC0+IEFzIGEgcmVzdWx0LCB0aGUgY29uZGl0aW9ucyB0aGF0IHdlcmUg
bmVjZXNzYXJ5IHRvIGVsaW1pbmF0ZQorICAgICAgICAgICB0aGUgQ2hlY2tJbkJvdW5kcyBhcmUg
bm8gbG9uZ2VyIG1ldCBiZWZvcmUgdGhlIEdldEJ5VmFsLgorCisgICAgICAgIFRoaXMgcGF0Y2gg
anVzdCBtb3ZlcyB0aGUgSW50ZWdlciBSYW5nZSBPcHRpbWl6YXRpb24gcGhhc2UgYWZ0ZXIKKyAg
ICAgICAgTG9vcCBJbnZhcmlhbnQgQ29kZSBNb3Rpb24gdG8gbWFrZSBzdXJlIG5vIGNvZGUgaXMg
bW92ZWQgYWZ0ZXIKKyAgICAgICAgaXRzIGludGVnZXIgcmFuZ2VzIGJvdW5kcyBwcm9vZnMgaGF2
ZSBiZWVuIHVzZWQuCisKKyAgICAgICAgKiBkZmcvREZHUGxhbi5jcHA6CisgICAgICAgIChKU0M6
OkRGRzo6UGxhbjo6Y29tcGlsZUluVGhyZWFkSW1wbCk6CisgICAgICAgICogdGVzdHMvc3RyZXNz
L2JvdW5kcy1jaGVjay1ub3QtZWxpbWluYXRlZC1ieS1saWNtLmpzOiBBZGRlZC4KKyAgICAgICAg
KHRlc3RJbkxvb3BUZXN0cyk6CisKIDIwMTYtMDUtMTAgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29y
YXJvQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBFbGltaW5hdGUgdGhlIGNy
YXp5IGNvZGUgZm9yIGV2YWx1YXRlT25DYWxsRnJhbWUKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHUGxhbi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R1BsYW4uY3BwCmluZGV4IDVjZTJlNTNiMzlkNzJkZDZlOGQ5OGU3ZTUwMTU2NzMyNjY5NDA4Zjcu
LjIxYWU0MTFlODcyOGQ5ZjMyYTk4MGVhZmE3MzU3NTdkMTliYjc2MWQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUGxhbi5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdQbGFuLmNwcApAQCAtMzk5LDggKzM5OSw2IEBAIFBsYW46OkNvbXBpbGF0
aW9uUGF0aCBQbGFuOjpjb21waWxlSW5UaHJlYWRJbXBsKExvbmdMaXZlZFN0YXRlJiBsb25nTGl2
ZWRTdGF0ZSkKICAgICAgICAgcGVyZm9ybUNvbnN0YW50SG9pc3RpbmcoZGZnKTsKICAgICAgICAg
cGVyZm9ybUdsb2JhbENTRShkZmcpOwogICAgICAgICBwZXJmb3JtTGl2ZW5lc3NBbmFseXNpcyhk
ZmcpOwotICAgICAgICBwZXJmb3JtSW50ZWdlclJhbmdlT3B0aW1pemF0aW9uKGRmZyk7Ci0gICAg
ICAgIHBlcmZvcm1MaXZlbmVzc0FuYWx5c2lzKGRmZyk7CiAgICAgICAgIHBlcmZvcm1DRkEoZGZn
KTsKICAgICAgICAgcGVyZm9ybUNvbnN0YW50Rm9sZGluZyhkZmcpOwogICAgICAgICBwZXJmb3Jt
Q2xlYW5VcChkZmcpOyAvLyBSZWR1Y2UgdGhlIGdyYXBoIHNpemUgYSBsb3QuCkBAIC00MjQsNiAr
NDIyLDE2IEBAIFBsYW46OkNvbXBpbGF0aW9uUGF0aCBQbGFuOjpjb21waWxlSW5UaHJlYWRJbXBs
KExvbmdMaXZlZFN0YXRlJiBsb25nTGl2ZWRTdGF0ZSkKICAgICAgICAgLy8gQWx0ZXJuYXRpdmVs
eSwgd2UgY291bGQgcnVuIGxvb3AgcHJlLWhlYWRlciBjcmVhdGlvbiBhZnRlciBTU0EgY29udmVy
c2lvbiAtIGJ1dCBpZiB3ZSBkaWQgdGhhdAogICAgICAgICAvLyB0aGVuIHdlJ2QgbmVlZCB0byBk
byBzb21lIHNpbXBsZSBTU0EgZml4LXVwLgogICAgICAgICBwZXJmb3JtTElDTShkZmcpOworCisg
ICAgICAgIC8vIEZJWE1FOiBDdXJyZW50bHk6IEludGVnZXJSYW5nZU9wdGltaXphdGlvbiAqbXVz
dCogYmUgcnVuIGFmdGVyIExJQ00uCisgICAgICAgIC8vCisgICAgICAgIC8vIEludGVnZXJSYW5n
ZU9wdGltaXphdGlvbiBtYWtlcyBjaGFuZ2VzIG9uIG5vZGVzIGJhc2VkIG9uIHByZWNlZGluZyBi
bG9ja3MKKyAgICAgICAgLy8gYW5kIG5vZGVzLiBMSUNNIG1vdmVzIG5vZGVzIHdoaWNoIGNhbiBp
bnZhbGlkYXRlcyBhc3N1bXB0aW9ucyB1c2VkCisgICAgICAgIC8vIGJ5IEludGVnZXJSYW5nZU9w
dGltaXphdGlvbi4KKyAgICAgICAgLy8KKyAgICAgICAgLy8gSWRlYWxseSwgdGhlIGRlcGVuZGVu
Y2llcyBzaG91bGQgYmUgZXhwbGljaXQuIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTU3NTM0LgorICAgICAgICBwZXJmb3JtTGl2ZW5lc3NBbmFseXNpcyhkZmcp
OworICAgICAgICBwZXJmb3JtSW50ZWdlclJhbmdlT3B0aW1pemF0aW9uKGRmZyk7CiAgICAgICAg
IAogICAgICAgICBwZXJmb3JtQ2xlYW5VcChkZmcpOwogICAgICAgICBwZXJmb3JtSW50ZWdlckNo
ZWNrQ29tYmluaW5nKGRmZyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVz
dHMvc3RyZXNzL2JvdW5kcy1jaGVjay1ub3QtZWxpbWluYXRlZC1ieS1saWNtLmpzIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9ib3VuZHMtY2hlY2stbm90LWVsaW1pbmF0ZWQt
YnktbGljbS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wYjMxNDFlMzkzYjE2NTc5ODIxMjIwMzMyYjYyYjZmYjEx
ODM2NDk0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0
cmVzcy9ib3VuZHMtY2hlY2stbm90LWVsaW1pbmF0ZWQtYnktbGljbS5qcwpAQCAtMCwwICsxLDMw
IEBACitmdW5jdGlvbiB0ZXN0SW5Mb29wVGVzdHMoYXJyYXksIGluZGV4KQoreworICAgIGxldCBh
cnJheUxlbmd0aCA9IGFycmF5Lmxlbmd0aDsKKyAgICBsZXQgc3VtID0gMDsKKyAgICBmb3IgKGxl
dCBpID0gMDsgaSA8IDEwOyArK2kpIHsKKyAgICAgICAgaWYgKGluZGV4ID49IDAgJiYgaW5kZXgg
PCBhcnJheUxlbmd0aCkgeworICAgICAgICAgICAgc3VtICs9IGFycmF5W2luZGV4XTsKKyAgICAg
ICAgfQorICAgIH0KKyAgICByZXR1cm4gc3VtOworfQorbm9JbmxpbmUodGVzdEluTG9vcFRlc3Rz
KTsKKworCitsZXQgdGVzdEFycmF5ID0gWzEsIDIsIDNdOworCisvLyBXYXJtdXAgImluLWJvdW5k
cyIgdXAgdG8gRlRMLgorZm9yIChsZXQgaSA9IDA7IGkgPCAxZTU7ICsraSkgeworICAgIGlmICh0
ZXN0SW5Mb29wVGVzdHModGVzdEFycmF5LCAxKSAhPT0gMjApCisgICAgICAgIHRocm93ICJGYWls
ZWQgdGVzdEluTG9vcFRlc3RzKHRlc3RBcnJheSwgMSkiCisgICAgaWYgKHRlc3RJbkxvb3BUZXN0
cyh0ZXN0QXJyYXksIDIpICE9PSAzMCkKKyAgICAgICAgdGhyb3cgIkZhaWxlZCB0ZXN0SW5Mb29w
VGVzdHModGVzdEFycmF5LCAyKSIKK30KKworbGV0IGxhcmdlSW50UmVzdWx0ID0gdGVzdEluTG9v
cFRlc3RzKHRlc3RBcnJheSwgMjE0NzQ4MzY0Nyk7CitpZiAobGFyZ2VJbnRSZXN1bHQgIT09IDAp
CisgICAgdGhyb3cgIkZhaWxlZCB0ZXN0SW5Mb29wVGVzdHModGVzdEFycmF5LCAyMTQ3NDgzNjQ3
KSI7CitsZXQgc21hbGxJbnRSZXN1bHQgPSB0ZXN0SW5Mb29wVGVzdHModGVzdEFycmF5LCAtMjE0
NzQ4MzY0Nyk7CitpZiAoc21hbGxJbnRSZXN1bHQgIT09IDApCisgICAgdGhyb3cgIkZhaWxlZCB0
ZXN0SW5Mb29wVGVzdHModGVzdEFycmF5LCAtMjE0NzQ4MzY0NykiOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>