<?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>86733</bug_id>
          
          <creation_ts>2012-05-17 07:50:07 -0700</creation_ts>
          <short_desc>Setting array index -1 and looping over array causes bad behavior</short_desc>
          <delta_ts>2012-05-17 18:33:38 -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>Mac (Intel)</rep_platform>
          <op_sys>OS X 10.7</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://stackoverflow.com/questions/10629083/unexplained-behavior-in-safari-with-negative-array-indices</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P1</priority>
          <bug_severity>Major</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Gavin Kistner">gavin</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ap</cc>
    
    <cc>barraclough</cc>
    
    <cc>fpizlo</cc>
    
    <cc>msaboff</cc>
    
    <cc>oliver</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>626576</commentid>
    <comment_count>0</comment_count>
    <who name="Gavin Kistner">gavin</who>
    <bug_when>2012-05-17 07:50:07 -0700</bug_when>
    <thetext>Steps to reproduce:

1) Open a page with the following code on Safari 5.1.7 on OS X
   (Or use this link: http://jsfiddle.net/TzCm9/)

   &lt;label&gt;p: &lt;input id=&quot;p&quot; size=&quot;3&quot;&gt;&lt;/label&gt;
   &lt;script type=&quot;text/javascript&quot;&gt;
     var p = document.getElementById(&apos;p&apos;);
     p.onkeyup = function(){
       var a = &quot;10 20 30 40&quot;.split(/\s+/);
       foo(a, p.value*1);
     } 

     function foo(a,p){
       var count=a.length, i=0, x;
       if (p) a[i=-1]=p;
       while (i&lt;10000) x = a[i++ % count];
       console.dir(a);
     }
     &lt;/script&gt;

2) Open the Developer Console
3) Focus the input and type &lt;1&gt;&lt;Backspace&gt;&lt;2&gt;
4) Expand console output for the arrays.

EXPECTED OUTPUT:
a) The first and third arrays displayed should have a property named &quot;-1&quot; with values &quot;1&quot; and &quot;2&quot; (respectively)
b) Safari is stable

ACTUAL OUTPUT:
a) The first array has a &quot;-1&quot; property displayed.
   The third array has a property &quot;4294967295&quot; displayed (but a `length` of 4).
b) Occasionally continuing to interact with the page causes the docked Developer Tools window to disappear, and/or all tabs in Safari to become non-responsive. (Hence the &quot;Critical&quot; severity.)

NOTES:
This bug does not reproduce on Safari 5.1.7 on Windows 7.
This bug does not reproduce on Chrome or Firefox on OS X.
This bug does not reproduce if you delete the `while` loop.


See additional discussion, including a screenshot of the console, here:
http://stackoverflow.com/questions/10629083/unexplained-behavior-in-safari-with-negative-array-indices</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>626577</commentid>
    <comment_count>1</comment_count>
    <who name="Gavin Kistner">gavin</who>
    <bug_when>2012-05-17 07:54:00 -0700</bug_when>
    <thetext>One additional note: I experienced the unstable behavior multiple times over multiple restarts of Safari, but was unable to consistently reproduce it. When it does not occur immediately, it still may occur if you repeatedly type a character followed by a backspace many times.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>626828</commentid>
    <comment_count>2</comment_count>
    <who name="Gavin Kistner">gavin</who>
    <bug_when>2012-05-17 12:13:35 -0700</bug_when>
    <thetext>Here is a simpler test case:

setInterval(function(){
  var a=[10,20,30,40], i=-1, x, c=a.length;
  a[-1] = 42;
  while (i&lt;10000) x = a[i++ % a];
  console.log(a[-1],a[4294967295]);
},100);

The above code produces the following console output:

     42 undefined
     undefined 42
     42 undefined
37x  undefined 42
     42 undefined
     undefined 42
     42 undefined
41x  undefined 42
     42 undefined
     undefined 42
     42 undefined
41x  undefined 42
     42 undefined
     undefined 42
     42 undefined
37x  undefined 42</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>626832</commentid>
    <comment_count>3</comment_count>
    <who name="Gavin Kistner">gavin</who>
    <bug_when>2012-05-17 12:15:35 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt;   while (i&lt;10000) x = a[i++ % a];

I intended to write:
   while (i&lt;10000) x = a[i++ % c];

but either version results in similar output.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>626842</commentid>
    <comment_count>4</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-05-17 12:19:32 -0700</bug_when>
    <thetext>Can you create a reduction that doesn&apos;t involve the developer console? It looks very dependent on what Web Inspector does now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>626854</commentid>
    <comment_count>5</comment_count>
      <attachid>142529</attachid>
    <who name="Gavin Kistner">gavin</who>
    <bug_when>2012-05-17 12:34:11 -0700</bug_when>
    <thetext>Created attachment 142529
Reproducing the problem without using the console</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>626855</commentid>
    <comment_count>6</comment_count>
    <who name="Gavin Kistner">gavin</who>
    <bug_when>2012-05-17 12:35:03 -0700</bug_when>
    <thetext>I&apos;ve added an attachment that shows the bug without using the console. on Safari 5.1.7 on OS X I see this in the textarea:


42:undefined
42:undefined
undefined:42
42:undefined
undefined:42
undefined:42
undefined:42
undefined:42
undefined:42
undefined:42
undefined:42
undefined:42
undefined:42
undefined:42
undefined:42
undefined:42
undefined:42
undefined:42
undefined:42
undefined:42
42:undefined
undefined:42
42:undefined
undefined:42
undefined:42
undefined:42
undefined:42
undefined:42
undefined:42
undefined:42
undefined:42
undefined:42
undefined:42
undefined:42
undefined:42
undefined:42
undefined:42
undefined:42
undefined:42
undefined:42
undefined:42</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>626915</commentid>
    <comment_count>7</comment_count>
    <who name="Gavin Kistner">gavin</who>
    <bug_when>2012-05-17 13:38:55 -0700</bug_when>
    <thetext>Further investigation shows that the same problem occurs with `-2` set as a value, but the problem is fixed if the key is explicitly set as the string &quot;-1&quot; instead of the integer -1.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>626934</commentid>
    <comment_count>8</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2012-05-17 13:56:52 -0700</bug_when>
    <thetext>My guess is incorrect reification in an OSR exit, based purely on the symptoms</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>626965</commentid>
    <comment_count>9</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2012-05-17 14:14:24 -0700</bug_when>
    <thetext>&lt;rdar://problem/11477670&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>627167</commentid>
    <comment_count>10</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-05-17 17:53:24 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; My guess is incorrect reification in an OSR exit, based purely on the symptoms

Nope, OSR is fine.  It&apos;s the slow path C function that the DFG calls for out-of-bounds indices.  It assumes that the value is non-negative even though the whole point of the function is to handle both negative and too-large positive indices.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>627197</commentid>
    <comment_count>11</comment_count>
      <attachid>142602</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-05-17 18:21:49 -0700</bug_when>
    <thetext>Created attachment 142602
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>627200</commentid>
    <comment_count>12</comment_count>
      <attachid>142602</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2012-05-17 18:27:51 -0700</bug_when>
    <thetext>Comment on attachment 142602
the patch

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

r=me, but switch to Identifier::from() rather than using toString()

&gt; Source/JavaScriptCore/dfg/DFGOperations.cpp:465
&gt; +    Identifier property(exec, jsNumber(index).toString(exec)-&gt;value(exec));
&gt; +    PutPropertySlot slot(true);

Use Identifier::from(exec, index)

&gt; Source/JavaScriptCore/dfg/DFGOperations.cpp:482
&gt; +    Identifier property(exec, jsNumber(index).toString(exec)-&gt;value(exec));

ditto</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>627201</commentid>
    <comment_count>13</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-05-17 18:33:18 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; (From update of attachment 142602 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=142602&amp;action=review
&gt; 
&gt; r=me, but switch to Identifier::from() rather than using toString()
&gt; 
&gt; &gt; Source/JavaScriptCore/dfg/DFGOperations.cpp:465
&gt; &gt; +    Identifier property(exec, jsNumber(index).toString(exec)-&gt;value(exec));
&gt; &gt; +    PutPropertySlot slot(true);
&gt; 
&gt; Use Identifier::from(exec, index)
&gt; 
&gt; &gt; Source/JavaScriptCore/dfg/DFGOperations.cpp:482
&gt; &gt; +    Identifier property(exec, jsNumber(index).toString(exec)-&gt;value(exec));
&gt; 
&gt; ditto

Ah!  Changed to use ::from().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>627203</commentid>
    <comment_count>14</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-05-17 18:33:38 -0700</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/117523</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>142529</attachid>
            <date>2012-05-17 12:34:11 -0700</date>
            <delta_ts>2012-05-17 12:34:11 -0700</delta_ts>
            <desc>Reproducing the problem without using the console</desc>
            <filename>ArrayNegativeOne.html</filename>
            <type>text/html</type>
            <size>415</size>
            <attacher name="Gavin Kistner">gavin</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIEhUTUw+CjxodG1sPjxoZWFkPjx0aXRsZT4tMSBBcnJheSBJbmRleDwvdGl0bGU+
PC9oZWFkPjxib2R5PgoJPHRleHRhcmVhIHJvd3M9IjUwIiBjb2xzPSIzMCI+PC90ZXh0YXJlYT4K
ICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiAgdmFyIG8gPSBkb2N1bWVudC5xdWVy
eVNlbGVjdG9yKCd0ZXh0YXJlYScpLCBjPTA7CiAgZ28oKTsKICBmdW5jdGlvbiBnbygpewogICAg
dmFyIGE9WzEwLDIwLDMwLDQwXSwgaT0tMTsKICAgIGFbLTFdID0gNDI7CiAgICB3aGlsZSAoaTwx
MDAwMCl7IGFbaV07IGkrKyB9CiAgICBvLnZhbHVlICs9IGFbLTFdKyI6IithWzQyOTQ5NjcyOTVd
KyJcbiI7CiAgICBpZiAoYysrPDQwKSBzZXRUaW1lb3V0KGdvLDEwMCk7CiAgfQogIDwvc2NyaXB0
Pgo8L2JvZHk+PC9odG1sPg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>142602</attachid>
            <date>2012-05-17 18:21:49 -0700</date>
            <delta_ts>2012-05-17 18:27:50 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>fixputbyvalslowpath_patch_1.diff</filename>
            <type>text/plain</type>
            <size>7407</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTE3NTE4KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBA
CisyMDEyLTA1LTE3ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
U2V0dGluZyBhcnJheSBpbmRleCAtMSBhbmQgbG9vcGluZyBvdmVyIGFycmF5IGNhdXNlcyBiYWQg
YmVoYXZpb3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTg2NzMzCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMTQ3NzY3MD4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGRmZy9ERkdPcGVyYXRpb25zLmNw
cDoKKwogMjAxMi0wNS0xNyAgR2VvZmZyZXkgR2FyZW4gIDxnZ2FyZW5AYXBwbGUuY29tPgogCiAg
ICAgICAgIFJlZmFjdG9yZWQgdGhlIEhlYXAgdG8gbW92ZSBtb3JlIE1hcmtlZFNwYWNlIGxvZ2lj
IGludG8gTWFya2VkU3BhY2UKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT3Bl
cmF0aW9ucy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdP
cGVyYXRpb25zLmNwcAkocmV2aXNpb24gMTE3NTE2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdPcGVyYXRpb25zLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDU0LDkgKzQ1NCwxNyBA
QCB2b2lkIERGR19PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlWYWxCZXlvCiAgICAgSlNHbG9iYWxE
YXRhKiBnbG9iYWxEYXRhID0gJmV4ZWMtPmdsb2JhbERhdGEoKTsKICAgICBOYXRpdmVDYWxsRnJh
bWVUcmFjZXIgdHJhY2VyKGdsb2JhbERhdGEsIGV4ZWMpOwogICAgIAotICAgIC8vIFdlIHNob3Vs
ZCBvbmx5IGdldCBoZXJlIGlmIGluZGV4IGlzIG91dHNpZGUgdGhlIGV4aXN0aW5nIHZlY3Rvci4K
LSAgICBBU1NFUlQoIWFycmF5LT5jYW5TZXRJbmRleChpbmRleCkpOwotICAgIEpTQXJyYXk6OnB1
dEJ5SW5kZXgoYXJyYXksIGV4ZWMsIGluZGV4LCBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZFZhbHVl
KSwgdHJ1ZSk7CisgICAgaWYgKGluZGV4ID49IDApIHsKKyAgICAgICAgLy8gV2Ugc2hvdWxkIG9u
bHkgZ2V0IGhlcmUgaWYgaW5kZXggaXMgb3V0c2lkZSB0aGUgZXhpc3RpbmcgdmVjdG9yLgorICAg
ICAgICBBU1NFUlQoIWFycmF5LT5jYW5TZXRJbmRleChpbmRleCkpOworICAgICAgICBKU0FycmF5
OjpwdXRCeUluZGV4KGFycmF5LCBleGVjLCBpbmRleCwgSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRW
YWx1ZSksIHRydWUpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIAorICAgIElkZW50aWZp
ZXIgcHJvcGVydHkoZXhlYywganNOdW1iZXIoaW5kZXgpLnRvU3RyaW5nKGV4ZWMpLT52YWx1ZShl
eGVjKSk7CisgICAgUHV0UHJvcGVydHlTbG90IHNsb3QodHJ1ZSk7CisgICAgYXJyYXktPm1ldGhv
ZFRhYmxlKCktPnB1dCgKKyAgICAgICAgYXJyYXksIGV4ZWMsIHByb3BlcnR5LCBKU1ZhbHVlOjpk
ZWNvZGUoZW5jb2RlZFZhbHVlKSwgc2xvdCk7CiB9CiAKIHZvaWQgREZHX09QRVJBVElPTiBvcGVy
YXRpb25QdXRCeVZhbEJleW9uZEFycmF5Qm91bmRzTm9uU3RyaWN0KEV4ZWNTdGF0ZSogZXhlYywg
SlNBcnJheSogYXJyYXksIGludDMyX3QgaW5kZXgsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1
ZSkKQEAgLTQ2NCw5ICs0NzIsMTcgQEAgdm9pZCBERkdfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5
VmFsQmV5bwogICAgIEpTR2xvYmFsRGF0YSogZ2xvYmFsRGF0YSA9ICZleGVjLT5nbG9iYWxEYXRh
KCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcihnbG9iYWxEYXRhLCBleGVjKTsK
ICAgICAKLSAgICAvLyBXZSBzaG91bGQgb25seSBnZXQgaGVyZSBpZiBpbmRleCBpcyBvdXRzaWRl
IHRoZSBleGlzdGluZyB2ZWN0b3IuCi0gICAgQVNTRVJUKCFhcnJheS0+Y2FuU2V0SW5kZXgoaW5k
ZXgpKTsKLSAgICBKU0FycmF5OjpwdXRCeUluZGV4KGFycmF5LCBleGVjLCBpbmRleCwgSlNWYWx1
ZTo6ZGVjb2RlKGVuY29kZWRWYWx1ZSksIGZhbHNlKTsKKyAgICBpZiAoaW5kZXggPj0gMCkgewor
ICAgICAgICAvLyBXZSBzaG91bGQgb25seSBnZXQgaGVyZSBpZiBpbmRleCBpcyBvdXRzaWRlIHRo
ZSBleGlzdGluZyB2ZWN0b3IuCisgICAgICAgIEFTU0VSVCghYXJyYXktPmNhblNldEluZGV4KGlu
ZGV4KSk7CisgICAgICAgIEpTQXJyYXk6OnB1dEJ5SW5kZXgoYXJyYXksIGV4ZWMsIGluZGV4LCBK
U1ZhbHVlOjpkZWNvZGUoZW5jb2RlZFZhbHVlKSwgZmFsc2UpOworICAgICAgICByZXR1cm47Cisg
ICAgfQorICAgIAorICAgIElkZW50aWZpZXIgcHJvcGVydHkoZXhlYywganNOdW1iZXIoaW5kZXgp
LnRvU3RyaW5nKGV4ZWMpLT52YWx1ZShleGVjKSk7CisgICAgUHV0UHJvcGVydHlTbG90IHNsb3Qo
ZmFsc2UpOworICAgIGFycmF5LT5tZXRob2RUYWJsZSgpLT5wdXQoCisgICAgICAgIGFycmF5LCBl
eGVjLCBwcm9wZXJ0eSwgSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRWYWx1ZSksIHNsb3QpOwogfQog
CiBFbmNvZGVkSlNWYWx1ZSBERkdfT1BFUkFUSU9OIG9wZXJhdGlvbkFycmF5UHVzaChFeGVjU3Rh
dGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgSlNBcnJheSogYXJyYXkpCklu
ZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCShyZXZpc2lvbiAxMTc1MjEpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtp
bmcgY29weSkKQEAgLTEsMyArMSwxNiBAQAorMjAxMi0wNS0xNyAgRmlsaXAgUGl6bG8gIDxmcGl6
bG9AYXBwbGUuY29tPgorCisgICAgICAgIFNldHRpbmcgYXJyYXkgaW5kZXggLTEgYW5kIGxvb3Bp
bmcgb3ZlciBhcnJheSBjYXVzZXMgYmFkIGJlaGF2aW9yCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NjczMworICAgICAgICA8cmRhcjovL3Byb2JsZW0v
MTE0Nzc2NzA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBmYXN0L2pzL2RmZy1uZWdhdGl2ZS1hcnJheS1pbmRleC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGZhc3QvanMvZGZnLW5lZ2F0aXZlLWFycmF5LWluZGV4Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGZhc3QvanMvc2NyaXB0LXRlc3RzL2RmZy1uZWdhdGl2ZS1hcnJheS1pbmRl
eC5qczogQWRkZWQuCisgICAgICAgIChmb28pOgorCiAyMDEyLTA1LTE3ICBCcmFkeSBFaWRzb24g
IDxiZWlkc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9ODY3ODYKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvanMvZGZnLW5lZ2F0
aXZlLWFycmF5LWluZGV4LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9m
YXN0L2pzL2RmZy1uZWdhdGl2ZS1hcnJheS1pbmRleC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDAp
CisrKyBMYXlvdXRUZXN0cy9mYXN0L2pzL2RmZy1uZWdhdGl2ZS1hcnJheS1pbmRleC1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTA5IEBACitUZXN0cyB0aGF0IHN0b3Jpbmcg
aW50byBhIG5lZ2F0aXZlIGFycmF5IGluZGV4IHdvcmtzIHJpZ2h0LgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKKworUEFTUyBhcnJheVstMV0gaXMgNDIKK1BBU1MgYXJyYXlbLTFdIGlz
IDQyCitQQVNTIGFycmF5Wy0xXSBpcyA0MgorUEFTUyBhcnJheVstMV0gaXMgNDIKK1BBU1MgYXJy
YXlbLTFdIGlzIDQyCitQQVNTIGFycmF5Wy0xXSBpcyA0MgorUEFTUyBhcnJheVstMV0gaXMgNDIK
K1BBU1MgYXJyYXlbLTFdIGlzIDQyCitQQVNTIGFycmF5Wy0xXSBpcyA0MgorUEFTUyBhcnJheVst
MV0gaXMgNDIKK1BBU1MgYXJyYXlbLTFdIGlzIDQyCitQQVNTIGFycmF5Wy0xXSBpcyA0MgorUEFT
UyBhcnJheVstMV0gaXMgNDIKK1BBU1MgYXJyYXlbLTFdIGlzIDQyCitQQVNTIGFycmF5Wy0xXSBp
cyA0MgorUEFTUyBhcnJheVstMV0gaXMgNDIKK1BBU1MgYXJyYXlbLTFdIGlzIDQyCitQQVNTIGFy
cmF5Wy0xXSBpcyA0MgorUEFTUyBhcnJheVstMV0gaXMgNDIKK1BBU1MgYXJyYXlbLTFdIGlzIDQy
CitQQVNTIGFycmF5Wy0xXSBpcyA0MgorUEFTUyBhcnJheVstMV0gaXMgNDIKK1BBU1MgYXJyYXlb
LTFdIGlzIDQyCitQQVNTIGFycmF5Wy0xXSBpcyA0MgorUEFTUyBhcnJheVstMV0gaXMgNDIKK1BB
U1MgYXJyYXlbLTFdIGlzIDQyCitQQVNTIGFycmF5Wy0xXSBpcyA0MgorUEFTUyBhcnJheVstMV0g
aXMgNDIKK1BBU1MgYXJyYXlbLTFdIGlzIDQyCitQQVNTIGFycmF5Wy0xXSBpcyA0MgorUEFTUyBh
cnJheVstMV0gaXMgNDIKK1BBU1MgYXJyYXlbLTFdIGlzIDQyCitQQVNTIGFycmF5Wy0xXSBpcyA0
MgorUEFTUyBhcnJheVstMV0gaXMgNDIKK1BBU1MgYXJyYXlbLTFdIGlzIDQyCitQQVNTIGFycmF5
Wy0xXSBpcyA0MgorUEFTUyBhcnJheVstMV0gaXMgNDIKK1BBU1MgYXJyYXlbLTFdIGlzIDQyCitQ
QVNTIGFycmF5Wy0xXSBpcyA0MgorUEFTUyBhcnJheVstMV0gaXMgNDIKK1BBU1MgYXJyYXlbLTFd
IGlzIDQyCitQQVNTIGFycmF5Wy0xXSBpcyA0MgorUEFTUyBhcnJheVstMV0gaXMgNDIKK1BBU1Mg
YXJyYXlbLTFdIGlzIDQyCitQQVNTIGFycmF5Wy0xXSBpcyA0MgorUEFTUyBhcnJheVstMV0gaXMg
NDIKK1BBU1MgYXJyYXlbLTFdIGlzIDQyCitQQVNTIGFycmF5Wy0xXSBpcyA0MgorUEFTUyBhcnJh
eVstMV0gaXMgNDIKK1BBU1MgYXJyYXlbLTFdIGlzIDQyCitQQVNTIGFycmF5Wy0xXSBpcyA0Mgor
UEFTUyBhcnJheVstMV0gaXMgNDIKK1BBU1MgYXJyYXlbLTFdIGlzIDQyCitQQVNTIGFycmF5Wy0x
XSBpcyA0MgorUEFTUyBhcnJheVstMV0gaXMgNDIKK1BBU1MgYXJyYXlbLTFdIGlzIDQyCitQQVNT
IGFycmF5Wy0xXSBpcyA0MgorUEFTUyBhcnJheVstMV0gaXMgNDIKK1BBU1MgYXJyYXlbLTFdIGlz
IDQyCitQQVNTIGFycmF5Wy0xXSBpcyA0MgorUEFTUyBhcnJheVstMV0gaXMgNDIKK1BBU1MgYXJy
YXlbLTFdIGlzIDQyCitQQVNTIGFycmF5Wy0xXSBpcyA0MgorUEFTUyBhcnJheVstMV0gaXMgNDIK
K1BBU1MgYXJyYXlbLTFdIGlzIDQyCitQQVNTIGFycmF5Wy0xXSBpcyA0MgorUEFTUyBhcnJheVst
MV0gaXMgNDIKK1BBU1MgYXJyYXlbLTFdIGlzIDQyCitQQVNTIGFycmF5Wy0xXSBpcyA0MgorUEFT
UyBhcnJheVstMV0gaXMgNDIKK1BBU1MgYXJyYXlbLTFdIGlzIDQyCitQQVNTIGFycmF5Wy0xXSBp
cyA0MgorUEFTUyBhcnJheVstMV0gaXMgNDIKK1BBU1MgYXJyYXlbLTFdIGlzIDQyCitQQVNTIGFy
cmF5Wy0xXSBpcyA0MgorUEFTUyBhcnJheVstMV0gaXMgNDIKK1BBU1MgYXJyYXlbLTFdIGlzIDQy
CitQQVNTIGFycmF5Wy0xXSBpcyA0MgorUEFTUyBhcnJheVstMV0gaXMgNDIKK1BBU1MgYXJyYXlb
LTFdIGlzIDQyCitQQVNTIGFycmF5Wy0xXSBpcyA0MgorUEFTUyBhcnJheVstMV0gaXMgNDIKK1BB
U1MgYXJyYXlbLTFdIGlzIDQyCitQQVNTIGFycmF5Wy0xXSBpcyA0MgorUEFTUyBhcnJheVstMV0g
aXMgNDIKK1BBU1MgYXJyYXlbLTFdIGlzIDQyCitQQVNTIGFycmF5Wy0xXSBpcyA0MgorUEFTUyBh
cnJheVstMV0gaXMgNDIKK1BBU1MgYXJyYXlbLTFdIGlzIDQyCitQQVNTIGFycmF5Wy0xXSBpcyA0
MgorUEFTUyBhcnJheVstMV0gaXMgNDIKK1BBU1MgYXJyYXlbLTFdIGlzIDQyCitQQVNTIGFycmF5
Wy0xXSBpcyA0MgorUEFTUyBhcnJheVstMV0gaXMgNDIKK1BBU1MgYXJyYXlbLTFdIGlzIDQyCitQ
QVNTIGFycmF5Wy0xXSBpcyA0MgorUEFTUyBhcnJheVstMV0gaXMgNDIKK1BBU1MgYXJyYXlbLTFd
IGlzIDQyCitQQVNTIGFycmF5Wy0xXSBpcyA0MgorUEFTUyBhcnJheVstMV0gaXMgNDIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCkluZGV4OiBMYXlv
dXRUZXN0cy9mYXN0L2pzL2RmZy1uZWdhdGl2ZS1hcnJheS1pbmRleC5odG1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2Zhc3QvanMvZGZnLW5lZ2F0aXZlLWFycmF5LWluZGV4Lmh0bWwJKHJl
dmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2pzL2RmZy1uZWdhdGl2ZS1hcnJheS1pbmRl
eC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDEwIEBACis8IURPQ1RZUEUgSFRNTCBQVUJM
SUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9
InJlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxz
Y3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvZGZnLW5lZ2F0aXZlLWFycmF5LWluZGV4LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvanMvc2NyaXB0LXRlc3Rz
L2RmZy1uZWdhdGl2ZS1hcnJheS1pbmRleC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9m
YXN0L2pzL3NjcmlwdC10ZXN0cy9kZmctbmVnYXRpdmUtYXJyYXktaW5kZXguanMJKHJldmlzaW9u
IDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2pzL3NjcmlwdC10ZXN0cy9kZmctbmVnYXRpdmUtYXJy
YXktaW5kZXguanMJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTQgQEAKK2Rlc2NyaXB0aW9uKAor
IlRlc3RzIHRoYXQgc3RvcmluZyBpbnRvIGEgbmVnYXRpdmUgYXJyYXkgaW5kZXggd29ya3Mgcmln
aHQuIgorKTsKKworZnVuY3Rpb24gZm9vKGEsIGkpIHsKKyAgICBhW2ldID0gNDI7Cit9CisKK2Zv
ciAodmFyIGkgPSAwOyBpIDwgMTAwOyArK2kpIHsKKyAgICB2YXIgYXJyYXkgPSBbXTsKKyAgICBm
b28oYXJyYXksIC0xKTsKKyAgICBzaG91bGRCZSgiYXJyYXlbLTFdIiwgIjQyIik7Cit9CisK
</data>
<flag name="review"
          id="148969"
          type_id="1"
          status="+"
          setter="oliver"
    />
          </attachment>
      

    </bug>

</bugzilla>