<?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>88314</bug_id>
          
          <creation_ts>2012-06-05 01:38:37 -0700</creation_ts>
          <short_desc>Improve Math.round and Math.floor intrinsic</short_desc>
          <delta_ts>2022-02-27 23:24:11 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yuqiang Xian">yuqiang.xian</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>barraclough</cc>
    
    <cc>fpizlo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>641310</commentid>
    <comment_count>0</comment_count>
    <who name="Yuqiang Xian">yuqiang.xian</who>
    <bug_when>2012-06-05 01:38:37 -0700</bug_when>
    <thetext>Currently we call a native function from the JIT code to complete the &quot;round&quot; and &quot;floor&quot; operations. We could inline some fast paths especially for those positive values on the platforms where floating point truncation is supported.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>641319</commentid>
    <comment_count>1</comment_count>
      <attachid>145729</attachid>
    <who name="Yuqiang Xian">yuqiang.xian</who>
    <bug_when>2012-06-05 01:52:18 -0700</bug_when>
    <thetext>Created attachment 145729
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>641322</commentid>
    <comment_count>2</comment_count>
      <attachid>145730</attachid>
    <who name="Yuqiang Xian">yuqiang.xian</who>
    <bug_when>2012-06-05 01:55:00 -0700</bug_when>
    <thetext>Created attachment 145730
Performance result

~3% improvement on Kraken (32% on audio-oscillator), and nearly 1% on SunSpider.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>641329</commentid>
    <comment_count>3</comment_count>
    <who name="Yuqiang Xian">yuqiang.xian</who>
    <bug_when>2012-06-05 01:58:30 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Created an attachment (id=145730) [details]
&gt; Performance result
&gt; 
&gt; ~3% improvement on Kraken (32% on audio-oscillator), and nearly 1% on SunSpider.

o... for clarification, overall SS improvement is not obvious, but definitely 9% on one case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>642128</commentid>
    <comment_count>4</comment_count>
      <attachid>145729</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-06-05 20:47:07 -0700</bug_when>
    <thetext>Comment on attachment 145729
patch

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

This looks right.  I&apos;m curious what your thoughts are about the comparing against neg zero.  Maybe this code would work the same if you just used zero instead of neg zero, which would be faster, since regular zero is easier to load in SSE?

Not marking cq+ just because I want to give you an opportunity to respond.  But I think the code is correct so if there&apos;s nothing that needs changing then I&apos;m fine with this being landed as-is.

&gt; Source/JavaScriptCore/jit/ThunkGenerators.cpp:197
&gt; +        doubleResult.append(jit.branchDouble(MacroAssembler::DoubleEqual, SpecializedThunkJIT::fpRegT0, SpecializedThunkJIT::fpRegT1));

Is this right?  Double equality has strange handling of zero.  0 == -0 for example.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>642141</commentid>
    <comment_count>5</comment_count>
    <who name="Yuqiang Xian">yuqiang.xian</who>
    <bug_when>2012-06-05 21:02:17 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 145729 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=145729&amp;action=review
&gt; 
&gt; This looks right.  I&apos;m curious what your thoughts are about the comparing against neg zero.  Maybe this code would work the same if you just used zero instead of neg zero, which would be faster, since regular zero is easier to load in SSE?
&gt; 
&gt; Not marking cq+ just because I want to give you an opportunity to respond.  But I think the code is correct so if there&apos;s nothing that needs changing then I&apos;m fine with this being landed as-is.
&gt; 
&gt; &gt; Source/JavaScriptCore/jit/ThunkGenerators.cpp:197
&gt; &gt; +        doubleResult.append(jit.branchDouble(MacroAssembler::DoubleEqual, SpecializedThunkJIT::fpRegT0, SpecializedThunkJIT::fpRegT1));
&gt; 
&gt; Is this right?  Double equality has strange handling of zero.  0 == -0 for example.

You&apos;re right. It should be 0.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>642179</commentid>
    <comment_count>6</comment_count>
    <who name="Yuqiang Xian">yuqiang.xian</who>
    <bug_when>2012-06-05 22:28:24 -0700</bug_when>
    <thetext>Landed with Filip&apos;s comments addressed: http://trac.webkit.org/changeset/119558</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>145729</attachid>
            <date>2012-06-05 01:52:18 -0700</date>
            <delta_ts>2022-02-27 23:24:11 -0800</delta_ts>
            <desc>patch</desc>
            <filename>88314.patch</filename>
            <type>text/plain</type>
            <size>5304</size>
            <attacher name="Yuqiang Xian">yuqiang.xian</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTE5NDY4KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBA
CisyMDEyLTA2LTA1ICBZdXFpYW5nIFhpYW4gIDx5dXFpYW5nLnhpYW5AaW50ZWwuY29tPgorCisg
ICAgICAgIEltcHJvdmUgTWF0aC5yb3VuZCBhbmQgTWF0aC5mbG9vciBpbnRyaW5zaWMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg4MzE0CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ3VycmVudGx5IHdlIGNh
bGwgYSBuYXRpdmUgZnVuY3Rpb24gZnJvbSB0aGUgSklUIGNvZGUgdG8gY29tcGxldGUgdGhlCisg
ICAgICAgICJyb3VuZCIgYW5kICJmbG9vciIgb3BlcmF0aW9ucy4gV2UgY291bGQgaW5saW5lIHNv
bWUgZmFzdCBwYXRocworICAgICAgICBlc3BlY2lhbGx5IGZvciB0aG9zZSBwb3NpdGl2ZSB2YWx1
ZXMgb24gdGhlIHBsYXRmb3JtcyB3aGVyZSBmbG9hdGluZworICAgICAgICBwb2ludCB0cnVuY2F0
aW9uIGlzIHN1cHBvcnRlZC4KKyAgICAgICAgVGhpcyBicmluZ3MgMyUgZ2FpbiBvbiBLcmFrZW4s
IGVzcGVjaWFsbHkgMzIlIG9uIGF1ZGlvLW9zY2lsbGF0b3IsCisgICAgICAgIGFuZCBuZWFybHkg
MSUgb24gU3VuU3BpZGVyLCBtZWFzdXJlZCBvbiBJQTMyLgorCisgICAgICAgICogaml0L1RodW5r
R2VuZXJhdG9ycy5jcHA6CisgICAgICAgIChKU0M6OmZsb29yVGh1bmtHZW5lcmF0b3IpOgorICAg
ICAgICAoSlNDKToKKyAgICAgICAgKEpTQzo6cm91bmRUaHVua0dlbmVyYXRvcik6CisKIDIwMTIt
MDYtMDQgIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KIAogICAgICAgICBERkcgQ0ZH
IHNpbXBsaWZpY2F0aW9uIHNob3VsZCBjb3JyZWN0IHRoZSB2YXJpYWJsZXMgYXQgdGhlIGhlYWQg
b2YgdGhlIHByZWRlY2Vzc29yIGJsb2NrCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L1RodW5rR2VuZXJhdG9ycy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9UaHVua0dlbmVyYXRvcnMuY3BwCShyZXZpc2lvbiAxMTk0NjUpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L1RodW5rR2VuZXJhdG9ycy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE3
NSw2ICsxNzUsMTEgQEAgZGVmaW5lVW5hcnlEb3VibGVPcFdyYXBwZXIobG9nKTsKIGRlZmluZVVu
YXJ5RG91YmxlT3BXcmFwcGVyKGZsb29yKTsKIGRlZmluZVVuYXJ5RG91YmxlT3BXcmFwcGVyKGNl
aWwpOwogCitzdGF0aWMgY29uc3QgZG91YmxlIG9uZUNvbnN0YW50ID0gMS4wOworc3RhdGljIGNv
bnN0IGRvdWJsZSBuZWdhdGl2ZUhhbGZDb25zdGFudCA9IC0wLjU7CitzdGF0aWMgY29uc3QgZG91
YmxlIG5lZ2F0aXZlWmVyb0NvbnN0YW50ID0gLTAuMDsKK3N0YXRpYyBjb25zdCBkb3VibGUgaGFs
ZkNvbnN0YW50ID0gMC41OworICAgIAogTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIGZsb29yVGh1bmtH
ZW5lcmF0b3IoSlNHbG9iYWxEYXRhKiBnbG9iYWxEYXRhKQogewogICAgIFNwZWNpYWxpemVkVGh1
bmtKSVQgaml0KDEsIGdsb2JhbERhdGEpOwpAQCAtMTg1LDkgKzE5MCwyMiBAQCBNYWNyb0Fzc2Vt
YmxlckNvZGVSZWYgZmxvb3JUaHVua0dlbmVyYXRvCiAgICAgaml0LnJldHVybkludDMyKFNwZWNp
YWxpemVkVGh1bmtKSVQ6OnJlZ1QwKTsKICAgICBub25JbnRKdW1wLmxpbmsoJmppdCk7CiAgICAg
aml0LmxvYWREb3VibGVBcmd1bWVudCgwLCBTcGVjaWFsaXplZFRodW5rSklUOjpmcFJlZ1QwLCBT
cGVjaWFsaXplZFRodW5rSklUOjpyZWdUMCk7Ci0gICAgaml0LmNhbGxEb3VibGVUb0RvdWJsZShV
bmFyeURvdWJsZU9wV3JhcHBlcihmbG9vcikpOworICAgIFNwZWNpYWxpemVkVGh1bmtKSVQ6Okp1
bXAgaW50UmVzdWx0OwogICAgIFNwZWNpYWxpemVkVGh1bmtKSVQ6Okp1bXBMaXN0IGRvdWJsZVJl
c3VsdDsKKyAgICBpZiAoaml0LnN1cHBvcnRzRmxvYXRpbmdQb2ludFRydW5jYXRlKCkpIHsKKyAg
ICAgICAgaml0LmxvYWREb3VibGUoJm5lZ2F0aXZlWmVyb0NvbnN0YW50LCBTcGVjaWFsaXplZFRo
dW5rSklUOjpmcFJlZ1QxKTsKKyAgICAgICAgZG91YmxlUmVzdWx0LmFwcGVuZChqaXQuYnJhbmNo
RG91YmxlKE1hY3JvQXNzZW1ibGVyOjpEb3VibGVFcXVhbCwgU3BlY2lhbGl6ZWRUaHVua0pJVDo6
ZnBSZWdUMCwgU3BlY2lhbGl6ZWRUaHVua0pJVDo6ZnBSZWdUMSkpOworICAgICAgICBTcGVjaWFs
aXplZFRodW5rSklUOjpKdW1wTGlzdCBzbG93UGF0aDsKKyAgICAgICAgLy8gSGFuZGxlIHRoZSBu
ZWdhdGl2ZSBkb3VibGVzIGluIHRoZSBzbG93IHBhdGggZm9yIG5vdy4KKyAgICAgICAgc2xvd1Bh
dGguYXBwZW5kKGppdC5icmFuY2hEb3VibGUoTWFjcm9Bc3NlbWJsZXI6OkRvdWJsZUxlc3NUaGFu
T3JVbm9yZGVyZWQsIFNwZWNpYWxpemVkVGh1bmtKSVQ6OmZwUmVnVDAsIFNwZWNpYWxpemVkVGh1
bmtKSVQ6OmZwUmVnVDEpKTsKKyAgICAgICAgc2xvd1BhdGguYXBwZW5kKGppdC5icmFuY2hUcnVu
Y2F0ZURvdWJsZVRvSW50MzIoU3BlY2lhbGl6ZWRUaHVua0pJVDo6ZnBSZWdUMCwgU3BlY2lhbGl6
ZWRUaHVua0pJVDo6cmVnVDApKTsKKyAgICAgICAgaW50UmVzdWx0ID0gaml0Lmp1bXAoKTsKKyAg
ICAgICAgc2xvd1BhdGgubGluaygmaml0KTsKKyAgICB9CisgICAgaml0LmNhbGxEb3VibGVUb0Rv
dWJsZShVbmFyeURvdWJsZU9wV3JhcHBlcihmbG9vcikpOwogICAgIGppdC5icmFuY2hDb252ZXJ0
RG91YmxlVG9JbnQzMihTcGVjaWFsaXplZFRodW5rSklUOjpmcFJlZ1QwLCBTcGVjaWFsaXplZFRo
dW5rSklUOjpyZWdUMCwgZG91YmxlUmVzdWx0LCBTcGVjaWFsaXplZFRodW5rSklUOjpmcFJlZ1Qx
KTsKKyAgICBpZiAoaml0LnN1cHBvcnRzRmxvYXRpbmdQb2ludFRydW5jYXRlKCkpCisgICAgICAg
IGludFJlc3VsdC5saW5rKCZqaXQpOwogICAgIGppdC5yZXR1cm5JbnQzMihTcGVjaWFsaXplZFRo
dW5rSklUOjpyZWdUMCk7CiAgICAgZG91YmxlUmVzdWx0LmxpbmsoJmppdCk7CiAgICAgaml0LnJl
dHVybkRvdWJsZShTcGVjaWFsaXplZFRodW5rSklUOjpmcFJlZ1QwKTsKQEAgLTIxMyw5ICsyMzEs
NiBAQCBNYWNyb0Fzc2VtYmxlckNvZGVSZWYgY2VpbFRodW5rR2VuZXJhdG9yCiAgICAgcmV0dXJu
IGppdC5maW5hbGl6ZSgqZ2xvYmFsRGF0YSwgZ2xvYmFsRGF0YS0+aml0U3R1YnMtPmN0aU5hdGl2
ZUNhbGwoKSk7CiB9CiAKLXN0YXRpYyBjb25zdCBkb3VibGUgb25lQ29uc3RhbnQgPSAxLjA7Ci1z
dGF0aWMgY29uc3QgZG91YmxlIG5lZ2F0aXZlSGFsZkNvbnN0YW50ID0gLTAuNTsKLSAgICAKIE1h
Y3JvQXNzZW1ibGVyQ29kZVJlZiByb3VuZFRodW5rR2VuZXJhdG9yKEpTR2xvYmFsRGF0YSogZ2xv
YmFsRGF0YSkKIHsKICAgICBTcGVjaWFsaXplZFRodW5rSklUIGppdCgxLCBnbG9iYWxEYXRhKTsK
QEAgLTIyNiw5ICsyNDEsMjQgQEAgTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIHJvdW5kVGh1bmtHZW5l
cmF0bwogICAgIGppdC5yZXR1cm5JbnQzMihTcGVjaWFsaXplZFRodW5rSklUOjpyZWdUMCk7CiAg
ICAgbm9uSW50SnVtcC5saW5rKCZqaXQpOwogICAgIGppdC5sb2FkRG91YmxlQXJndW1lbnQoMCwg
U3BlY2lhbGl6ZWRUaHVua0pJVDo6ZnBSZWdUMCwgU3BlY2lhbGl6ZWRUaHVua0pJVDo6cmVnVDAp
OwotICAgIGppdC5jYWxsRG91YmxlVG9Eb3VibGUoVW5hcnlEb3VibGVPcFdyYXBwZXIoanNSb3Vu
ZCkpOworICAgIFNwZWNpYWxpemVkVGh1bmtKSVQ6Okp1bXAgaW50UmVzdWx0OwogICAgIFNwZWNp
YWxpemVkVGh1bmtKSVQ6Okp1bXBMaXN0IGRvdWJsZVJlc3VsdDsKKyAgICBpZiAoaml0LnN1cHBv
cnRzRmxvYXRpbmdQb2ludFRydW5jYXRlKCkpIHsKKyAgICAgICAgaml0LmxvYWREb3VibGUoJm5l
Z2F0aXZlWmVyb0NvbnN0YW50LCBTcGVjaWFsaXplZFRodW5rSklUOjpmcFJlZ1QxKTsKKyAgICAg
ICAgZG91YmxlUmVzdWx0LmFwcGVuZChqaXQuYnJhbmNoRG91YmxlKE1hY3JvQXNzZW1ibGVyOjpE
b3VibGVFcXVhbCwgU3BlY2lhbGl6ZWRUaHVua0pJVDo6ZnBSZWdUMCwgU3BlY2lhbGl6ZWRUaHVu
a0pJVDo6ZnBSZWdUMSkpOworICAgICAgICBTcGVjaWFsaXplZFRodW5rSklUOjpKdW1wTGlzdCBz
bG93UGF0aDsKKyAgICAgICAgLy8gSGFuZGxlIHRoZSBuZWdhdGl2ZSBkb3VibGVzIGluIHRoZSBz
bG93IHBhdGggZm9yIG5vdy4KKyAgICAgICAgc2xvd1BhdGguYXBwZW5kKGppdC5icmFuY2hEb3Vi
bGUoTWFjcm9Bc3NlbWJsZXI6OkRvdWJsZUxlc3NUaGFuT3JVbm9yZGVyZWQsIFNwZWNpYWxpemVk
VGh1bmtKSVQ6OmZwUmVnVDAsIFNwZWNpYWxpemVkVGh1bmtKSVQ6OmZwUmVnVDEpKTsKKyAgICAg
ICAgaml0LmxvYWREb3VibGUoJmhhbGZDb25zdGFudCwgU3BlY2lhbGl6ZWRUaHVua0pJVDo6ZnBS
ZWdUMSk7CisgICAgICAgIGppdC5hZGREb3VibGUoU3BlY2lhbGl6ZWRUaHVua0pJVDo6ZnBSZWdU
MCwgU3BlY2lhbGl6ZWRUaHVua0pJVDo6ZnBSZWdUMSk7CisgICAgICAgIHNsb3dQYXRoLmFwcGVu
ZChqaXQuYnJhbmNoVHJ1bmNhdGVEb3VibGVUb0ludDMyKFNwZWNpYWxpemVkVGh1bmtKSVQ6OmZw
UmVnVDEsIFNwZWNpYWxpemVkVGh1bmtKSVQ6OnJlZ1QwKSk7CisgICAgICAgIGludFJlc3VsdCA9
IGppdC5qdW1wKCk7CisgICAgICAgIHNsb3dQYXRoLmxpbmsoJmppdCk7CisgICAgfQorICAgIGpp
dC5jYWxsRG91YmxlVG9Eb3VibGUoVW5hcnlEb3VibGVPcFdyYXBwZXIoanNSb3VuZCkpOwogICAg
IGppdC5icmFuY2hDb252ZXJ0RG91YmxlVG9JbnQzMihTcGVjaWFsaXplZFRodW5rSklUOjpmcFJl
Z1QwLCBTcGVjaWFsaXplZFRodW5rSklUOjpyZWdUMCwgZG91YmxlUmVzdWx0LCBTcGVjaWFsaXpl
ZFRodW5rSklUOjpmcFJlZ1QxKTsKKyAgICBpZiAoaml0LnN1cHBvcnRzRmxvYXRpbmdQb2ludFRy
dW5jYXRlKCkpCisgICAgICAgIGludFJlc3VsdC5saW5rKCZqaXQpOwogICAgIGppdC5yZXR1cm5J
bnQzMihTcGVjaWFsaXplZFRodW5rSklUOjpyZWdUMCk7CiAgICAgZG91YmxlUmVzdWx0Lmxpbmso
JmppdCk7CiAgICAgaml0LnJldHVybkRvdWJsZShTcGVjaWFsaXplZFRodW5rSklUOjpmcFJlZ1Qw
KTsK
</data>
<flag name="review"
          id="152904"
          type_id="1"
          status="+"
          setter="fpizlo"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>145730</attachid>
            <date>2012-06-05 01:55:00 -0700</date>
            <delta_ts>2012-06-05 01:55:00 -0700</delta_ts>
            <desc>Performance result</desc>
            <filename>ToT_MathOpt_SunSpiderV8Kraken_20120605_1624_benchReport.txt</filename>
            <type>text/plain</type>
            <size>7106</size>
            <attacher name="Yuqiang Xian">yuqiang.xian</attacher>
            
              <data encoding="base64">QmVuY2htYXJrIHJlcG9ydCBmb3IgU3VuU3BpZGVyLCBWOCwgYW5kIEtyYWtlbiBvbiBcYy4KClZN
cyB0ZXN0ZWQ6CiJUb1QiIGF0IC9ob21lL3l4aWFuL1dlYktpdF9vcmlnL1dlYktpdEJ1aWxkL1Jl
bGVhc2UvYmluL2pzYwoiTWF0aE9wdCIgYXQgL21udC9zdXBwbGVtZW50L1dlYktpdC9XZWJLaXRC
dWlsZC9RdC9SZWxlYXNlL2Jpbi9qc2MKCkNvbGxlY3RlZCAxMiBzYW1wbGVzIHBlciBiZW5jaG1h
cmsvVk0sIHdpdGggNCBWTSBpbnZvY2F0aW9ucyBwZXIgYmVuY2htYXJrLiBFbWl0dGVkIGEgY2Fs
bCB0byBnYygpIGJldHdlZW4gc2FtcGxlCm1lYXN1cmVtZW50cy4gVXNlZCAxIGJlbmNobWFyayBp
dGVyYXRpb24gcGVyIFZNIGludm9jYXRpb24gZm9yIHdhcm0tdXAuIFVzZWQgdGhlIGpzYy1zcGVj
aWZpYyBwcmVjaXNlVGltZSgpCmZ1bmN0aW9uIHRvIGdldCBtaWNyb3NlY29uZC1sZXZlbCB0aW1p
bmcuIFJlcG9ydGluZyBiZW5jaG1hcmsgZXhlY3V0aW9uIHRpbWVzIHdpdGggOTUlIGNvbmZpZGVu
Y2UgaW50ZXJ2YWxzIGluCm1pbGxpc2Vjb25kcy4KCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgVG9UICAgICAgICAgICAgICAgICAgIE1hdGhPcHQgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgClN1blNwaWRlcjoKICAgM2QtY3ViZSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgNy45MzkzKy0wLjA3OTMgICAgICAgICAgNy45MTY4
Ky0wLjA4NzkgICAgICAgCiAgIDNkLW1vcnBoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IDkuMDMxNSstMC4wMzI1ICAgID8gICAgIDkuMDQ5NCstMC4wNDQyICAgICAgID8KICAgM2QtcmF5
dHJhY2UgICAgICAgICAgICAgICAgICAgICAgICAgICAxMi4wMjA3Ky0wLjEwMDAgICAgICAgICAx
Mi4wMDkzKy0wLjEwODEgICAgICAgCiAgIGFjY2Vzcy1iaW5hcnktdHJlZXMgICAgICAgICAgICAg
ICAgICAgIDIuMjg2MSstMC4wNDA3ICAgICAgICAgIDIuMjc0MSstMC4wNjUyICAgICAgIAogICBh
Y2Nlc3MtZmFubmt1Y2ggICAgICAgICAgICAgICAgICAgICAgICA5LjgxNDcrLTAuMjI2MSAgICAg
ICAgICA5Ljc4MjcrLTAuMjI2OCAgICAgICAKICAgYWNjZXNzLW5ib2R5ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgNS43NzcyKy0wLjA1NjggICAgICAgICAgNS43NDYxKy0wLjA2MDggICAgICAg
CiAgIGFjY2Vzcy1uc2lldmUgICAgICAgICAgICAgICAgICAgICAgICAgIDMuNTUzNistMC4wMzY5
ICAgICAgICAgIDMuNTQzOCstMC4wNTY1ICAgICAgIAogICBiaXRvcHMtM2JpdC1iaXRzLWluLWJ5
dGUgICAgICAgICAgICAgICAxLjI1OTcrLTAuMDI0MiAgICA/ICAgICAxLjI2MjcrLTAuMDMwNiAg
ICAgICA/CiAgIGJpdG9wcy1iaXRzLWluLWJ5dGUgICAgICAgICAgICAgICAgICAgIDUuMjY3MCst
MC4wNjczICAgICAgICAgIDUuMjUyNCstMC4wNTc2ICAgICAgIAogICBiaXRvcHMtYml0d2lzZS1h
bmQgICAgICAgICAgICAgICAgICAgICA2LjY2ODMrLTAuMTEwNyAgICAgICAgICA2LjYxNjUrLTAu
MDgyNCAgICAgICAKICAgYml0b3BzLW5zaWV2ZS1iaXRzICAgICAgICAgICAgICAgICAgICAgNC4z
MTUyKy0wLjA1NjQgICAgPyAgICAgNC4zMjU0Ky0wLjA2MDggICAgICAgPwogICBjb250cm9sZmxv
dy1yZWN1cnNpdmUgICAgICAgICAgICAgICAgICAyLjk2MjErLTAuMDUzOSAgICA/ICAgICAyLjk2
NjUrLTAuMDQxMyAgICAgICA/CiAgIGNyeXB0by1hZXMgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgMTAuNjg0MCstMC4xMTk5ICAgICAgICAgMTAuNTMyNCstMC4wOTg5ICAgICAgICAgbWlnaHQg
YmUgMS4wMTQ0eCBmYXN0ZXIKICAgY3J5cHRvLW1kNSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgMy45NDU0Ky0wLjA4MjYgICAgPyAgICAgMy45NjI3Ky0wLjA2OTggICAgICAgPwogICBjcnlw
dG8tc2hhMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAzLjM2NzArLTAuMDQ5NiAgICA/ICAg
ICAzLjM5ODMrLTAuMDU3MiAgICAgICA/CiAgIGRhdGUtZm9ybWF0LXRvZnRlICAgICAgICAgICAg
ICAgICAgICAgMTIuMzc1MSstMC4xNDMyICAgICAgICAgMTIuMjgyMistMC4wOTU5ICAgICAgIAog
ICBkYXRlLWZvcm1hdC14cGFyYiAgICAgICAgICAgICAgICAgICAgIDExLjk1OTkrLTAuMDc3MyAg
ICA/ICAgIDExLjk3NDArLTAuMTA5MyAgICAgICA/CiAgIG1hdGgtY29yZGljICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDQuNDUwNCstMC4wOTQyICAgICAgICAgIDQuMzc0MCstMC4wOTg2ICAg
ICAgICAgbWlnaHQgYmUgMS4wMTc1eCBmYXN0ZXIKICAgbWF0aC1wYXJ0aWFsLXN1bXMgICAgICAg
ICAgICAgICAgICAgICAxMC4wMjU3Ky0wLjA0NDQgICAgPyAgICAxMC4wNTQxKy0wLjA0MDQgICAg
ICAgPwogICBtYXRoLXNwZWN0cmFsLW5vcm0gICAgICAgICAgICAgICAgICAgICAyLjg1OTYrLTAu
MDU5MyAgICAgICAgICAyLjg0NTMrLTAuMDYwMSAgICAgICAKICAgcmVnZXhwLWRuYSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgOC43MzQ0Ky0wLjEwNTQgICAgPyAgICAgOC44MDE3Ky0wLjEy
MTUgICAgICAgPwogICBzdHJpbmctYmFzZTY0ICAgICAgICAgICAgICAgICAgICAgICAgICA2LjY0
MTMrLTEuMjM2NiAgICAgICAgICA1LjkyODErLTAuMDkzMyAgICAgICAgIG1pZ2h0IGJlIDEuMTIw
M3ggZmFzdGVyCiAgIHN0cmluZy1mYXN0YSAgICAgICAgICAgICAgICAgICAgICAgICAgIDkuMDc0
MistMC4wMzk0ICAgID8gICAgIDkuMjIzMystMC4yODI5ICAgICAgID8gbWlnaHQgYmUgMS4wMTY0
eCBzbG93ZXIKICAgc3RyaW5nLXRhZ2Nsb3VkICAgICAgICAgICAgICAgICAgICAgICAxNS44OTM2
Ky0wLjA3NjQgICAgICAgICAxNS44NDcwKy0wLjA4MzIgICAgICAgCiAgIHN0cmluZy11bnBhY2st
Y29kZSAgICAgICAgICAgICAgICAgICAgMjUuNzgwNystMC4xNTU2ICAgICAgICAgMjUuNjEyOSst
MC4xODA1ICAgICAgIAogICBzdHJpbmctdmFsaWRhdGUtaW5wdXQgICAgICAgICAgICAgICAgICA4
LjczNjIrLTAuMTE3NyAgICBeICAgICA4LjAyNzUrLTAuMTQ5OCAgICAgICBeIGRlZmluaXRlbHkg
MS4wODgzeCBmYXN0ZXIKCiAgIDxhcml0aG1ldGljPiAqICAgICAgICAgICAgICAgICAgICAgICAg
IDcuOTAwOSstMC4wNTczICAgICAgICAgIDcuODMxMSstMC4wNDM2ICAgICAgICAgbWlnaHQgYmUg
MS4wMDg5eCBmYXN0ZXIKICAgPGdlb21ldHJpYz4gICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ni40NDU0Ky0wLjA0ODkgICAgICAgICAgNi4zOTQ0Ky0wLjA1MTEgICAgICAgICBtaWdodCBiZSAx
LjAwODB4IGZhc3RlcgogICA8aGFybW9uaWM+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA1
LjA5NzUrLTAuMDM5MyAgICAgICAgICA1LjA3MjIrLTAuMDU5MSAgICAgICAgIG1pZ2h0IGJlIDEu
MDA1MHggZmFzdGVyCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFRvVCAgICAgICAgICAgICAgICAgICBNYXRoT3B0ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIApWODoKICAgY3J5cHRvICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICA5Mi45MTY0Ky0wLjM2MDcgICAgPyAgICA5My4xNDc4Ky0wLjQxNDAgICAgICAgPwogICBkZWx0
YWJsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTU4LjQ0MTgrLTAuNDczNyAgICA/ICAg
MTU5LjQ0NjArLTAuODIzOCAgICAgICA/CiAgIGVhcmxleS1ib3llciAgICAgICAgICAgICAgICAg
ICAgICAgICAxMTIuNTc0OSstMC44ODcxICAgID8gICAxMTMuMTY5MCstMS4yMDIzICAgICAgID8K
ICAgcmF5dHJhY2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA2My42Njc2Ky0wLjY2OTcg
ICAgPyAgICA2My45MDc3Ky0wLjc1MDkgICAgICAgPwogICByZWdleHAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDg4Ljg4NTMrLTAuNTQ2MiAgICA/ICAgIDg5LjEyMDArLTAuODA2MCAg
ICAgICA/CiAgIHJpY2hhcmRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxNTAuOTc4NSst
MC40MTEzICAgID8gICAxNTEuMjAyMCstMC41NTIxICAgICAgID8KICAgc3BsYXkgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDEwOS4wNDU2Ky0zLjE3MjMgICAgPyAgIDEwOS41MjkwKy0y
LjU1MzEgICAgICAgPwoKICAgPGFyaXRobWV0aWM+ICAgICAgICAgICAgICAgICAgICAgICAgIDEx
MC45MzAwKy0wLjQ5NjAgICAgPyAgIDExMS4zNjAyKy0wLjU1NjQgICAgICAgPyBtaWdodCBiZSAx
LjAwMzl4IHNsb3dlcgogICA8Z2VvbWV0cmljPiAqICAgICAgICAgICAgICAgICAgICAgICAgMTA2
LjM4NzMrLTAuNTIzOSAgICA/ICAgMTA2Ljc5MjYrLTAuNjE3MyAgICAgICA/IG1pZ2h0IGJlIDEu
MDAzOHggc2xvd2VyCiAgIDxoYXJtb25pYz4gICAgICAgICAgICAgICAgICAgICAgICAgICAxMDEu
ODUxNystMC41NDU0ICAgID8gICAxMDIuMjM0MCstMC42NjU2ICAgICAgID8gbWlnaHQgYmUgMS4w
MDM4eCBzbG93ZXIKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgVG9UICAgICAgICAgICAgICAgICAgIE1hdGhPcHQgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgCktyYWtlbjoKICAgYWktYXN0YXIgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDc3Ny41NzIzKy0yLjQ4NDUgICAgICAgIDc3Ny4wNTEwKy0xLjEyMjEgICAgICAgCiAgIGF1
ZGlvLWJlYXQtZGV0ZWN0aW9uICAgICAgICAgICAgICAgICAyMzIuOTY4MistMC42NjA5ICAgID8g
ICAyMzMuMzkwNSstMC41NzE1ICAgICAgID8KICAgYXVkaW8tZGZ0ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDM1NC4yNjM1Ky01LjE5OTEgICAgICAgIDM1Mi40NjQxKy00Ljc5MzEgICAgICAg
CiAgIGF1ZGlvLWZmdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAxNDguMDM1MistMC4xMzY0
ICAgICAgICAxNDguMDM1MSstMC4xNjQyICAgICAgIAogICBhdWRpby1vc2NpbGxhdG9yICAgICAg
ICAgICAgICAgICAgICAgNDI4LjQ2NjgrLTAuNTAyNyAgICBeICAgMzI0LjI5MzQrLTguODIzOSAg
ICAgICBeIGRlZmluaXRlbHkgMS4zMjEyeCBmYXN0ZXIKICAgaW1hZ2luZy1kYXJrcm9vbSAgICAg
ICAgICAgICAgICAgICAgIDM1NS4zOTY2Ky02LjM1OTAgICAgICAgIDM1NS4wNDI0Ky01LjUxNDQg
ICAgICAgCiAgIGltYWdpbmctZGVzYXR1cmF0ZSAgICAgICAgICAgICAgICAgICAzMTEuOTA1NCst
NC4wNDgwICAgID8gICAzMTMuNTMxMSstMC41NTAyICAgICAgID8KICAgaW1hZ2luZy1nYXVzc2lh
bi1ibHVyICAgICAgICAgICAgICAgIDQ5MS42MjEzKy0wLjg1MzcgICAgPyAgIDQ5Mi45MTQ1Ky0x
Ljk5NTAgICAgICAgPwogICBqc29uLXBhcnNlLWZpbmFuY2lhbCAgICAgICAgICAgICAgICAgIDgy
LjgzNTErLTAuNDkxNyAgICA/ICAgIDg2LjAxMzIrLTUuMzE5NSAgICAgICA/IG1pZ2h0IGJlIDEu
MDM4NHggc2xvd2VyCiAgIGpzb24tc3RyaW5naWZ5LXRpbmRlcmJveCAgICAgICAgICAgICAxMDgu
MDU4NSstMC43MDMzICAgICAgICAxMDYuOTM5NSstMC42MzQzICAgICAgICAgbWlnaHQgYmUgMS4w
MTA1eCBmYXN0ZXIKICAgc3RhbmZvcmQtY3J5cHRvLWFlcyAgICAgICAgICAgICAgICAgIDEwMC43
MDMwKy0wLjI3NDggICAgXiAgICA5OS40NTY5Ky0wLjI1OTYgICAgICAgXiBkZWZpbml0ZWx5IDEu
MDEyNXggZmFzdGVyCiAgIHN0YW5mb3JkLWNyeXB0by1jY20gICAgICAgICAgICAgICAgICAgODgu
NDM4NSstMC43ODQwICAgICAgICAgODguMjU1NistMC43MjkxICAgICAgIAogICBzdGFuZm9yZC1j
cnlwdG8tcGJrZGYyICAgICAgICAgICAgICAgMjI2LjAzNzQrLTEuMDIzNSAgICBeICAgMjI0LjMx
NTArLTAuNjM0NyAgICAgICBeIGRlZmluaXRlbHkgMS4wMDc3eCBmYXN0ZXIKICAgc3RhbmZvcmQt
Y3J5cHRvLXNoYTI1Ni1pdGVyYXRpdmUgICAgIDEwMC43NDg0Ky0wLjUyNDkgICAgXiAgICA5OS43
OTAxKy0wLjM0MzQgICAgICAgXiBkZWZpbml0ZWx5IDEuMDA5NnggZmFzdGVyCgogICA8YXJpdGht
ZXRpYz4gKiAgICAgICAgICAgICAgICAgICAgICAgMjcxLjkzMjIrLTEuMTQzNiAgICBeICAgMjY0
LjM5MjMrLTEuMTcyOCAgICAgICBeIGRlZmluaXRlbHkgMS4wMjg1eCBmYXN0ZXIKICAgPGdlb21l
dHJpYz4gICAgICAgICAgICAgICAgICAgICAgICAgIDIxMy4yNTU5Ky0wLjc3OTMgICAgXiAgIDIw
OC45Njg1Ky0xLjAyMTYgICAgICAgXiBkZWZpbml0ZWx5IDEuMDIwNXggZmFzdGVyCiAgIDxoYXJt
b25pYz4gICAgICAgICAgICAgICAgICAgICAgICAgICAxNjkuNzY2OCstMC40OTA0ICAgICAgICAx
NjguMjQ1MCstMS4yMjcyICAgICAgICAgbWlnaHQgYmUgMS4wMDkweCBmYXN0ZXIKCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG9UICAgICAgICAgICAgICAg
ICAgIE1hdGhPcHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCkFsbCBiZW5j
aG1hcmtzOgogICA8YXJpdGhtZXRpYz4gICAgICAgICAgICAgICAgICAgICAgICAgMTAxLjg5MzMr
LTAuMzY1NyAgICBeICAgIDk5LjY3MjgrLTAuMzg0MiAgICAgICBeIGRlZmluaXRlbHkgMS4wMjIz
eCBmYXN0ZXIKICAgPGdlb21ldHJpYz4gICAgICAgICAgICAgICAgICAgICAgICAgICAyNy43NDk2
Ky0wLjE0MTkgICAgICAgICAyNy40NzY4Ky0wLjE1NTEgICAgICAgICBtaWdodCBiZSAxLjAwOTl4
IGZhc3RlcgogICA8aGFybW9uaWM+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA4Ljk0OTQr
LTAuMDY3NSAgICAgICAgICA4LjkwNTMrLTAuMTAxMiAgICAgICAgIG1pZ2h0IGJlIDEuMDA0OXgg
ZmFzdGVyCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRv
VCAgICAgICAgICAgICAgICAgICBNYXRoT3B0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIApHZW9tZWFuIG9mIHByZWZlcnJlZCBtZWFuczoKICAgPHNjYWxlZC1yZXN1bHQ+ICAg
ICAgICAgICAgICAgICAgICAgICA2MS4xNDEzKy0wLjI0NjUgICAgXiAgICA2MC40NjkxKy0wLjI1
ODQgICAgICAgXiBkZWZpbml0ZWx5IDEuMDExMXggZmFzdGVyCgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>