<?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>3591</bug_id>
          
          <creation_ts>2005-06-17 06:50:39 -0700</creation_ts>
          <short_desc>Frames only use integers as its length</short_desc>
          <delta_ts>2008-10-12 11:24:26 -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>Frames</component>
          <version>412</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P3</priority>
          <bug_severity>Minor</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>3370</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Niels Leenheer (HTML5test)">info</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          <cc>bgarcia</cc>
    
    <cc>ian</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>12427</commentid>
    <comment_count>0</comment_count>
    <who name="Niels Leenheer (HTML5test)">info</who>
    <bug_when>2005-06-17 06:50:41 -0700</bug_when>
    <thetext>After interpreting the length of a frame, it is stored in an integer, which
means only whole numbers are supported. Decimal fractions are dropped.

Current behavoir:
50.2% is interpreted as 50%
50.4% is interpreted as 50%
50.6% is interpreted as 50%
50.8% is interpreted as 50%

Expected behavoir:
The W3C HTML spec is clear about this issue: n% is valid, n.n% is not.
However, IE does support decimal fractions and if the testcase attached to this
bug is rendered in IE, it shows a slightly increasing frame height in each
column, while the increase is less than 1% overall. 

We have three options:
- Keep the current behavoir (it is spec compliant)
- Follow IE and implement support for decimal fractions
- Instead of simply dropping the decimal fractions, 
  round it to the nearest integer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>12428</commentid>
    <comment_count>1</comment_count>
      <attachid>2431</attachid>
    <who name="Niels Leenheer (HTML5test)">info</who>
    <bug_when>2005-06-17 06:51:40 -0700</bug_when>
    <thetext>Created attachment 2431
Testcase</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>12429</commentid>
    <comment_count>2</comment_count>
      <attachid>2432</attachid>
    <who name="Niels Leenheer (HTML5test)">info</who>
    <bug_when>2005-06-17 06:52:40 -0700</bug_when>
    <thetext>Created attachment 2432
Screenshot of IE behavoir</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>12430</commentid>
    <comment_count>3</comment_count>
    <who name="Joost de Valk (AlthA)">joost</who>
    <bug_when>2005-06-17 06:54:19 -0700</bug_when>
    <thetext>I will confirm this as an issue, it&apos;s no bug, but i would go for mimicing IE behavior here cause 1% is a lot on 
a 1600x1200 display....</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>88399</commentid>
    <comment_count>4</comment_count>
    <who name="Brad Garcia">bgarcia</who>
    <bug_when>2008-08-13 07:48:45 -0700</bug_when>
    <thetext>&gt; The W3C HTML spec is clear about this issue: n% is valid, n.n% is not.

http://www.w3.org/TR/REC-html40/types.html#type-multi-length

Looking at the above document, it says that pixels have to be integer, and relative lengths are integers, but it doesn&apos;t actually say that a percentage is an integer.

And to further muddy the waters, if you look at the DTD itself:
http://www.w3.org/TR/REC-html40/sgml/dtd.html
It has an example of using &quot;0.5*&quot; as a relative value for a %MultiLength attribute (COL width).

IE also allows &amp; interprets decimal fractions for relative values as well as percentage values.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>88582</commentid>
    <comment_count>5</comment_count>
      <attachid>22819</attachid>
    <who name="Brad Garcia">bgarcia</who>
    <bug_when>2008-08-15 09:01:31 -0700</bug_when>
    <thetext>Created attachment 22819
Interpret fractional-percentage MultiLength values.

This patch fixes the problem by interpreting fractional percentages for all %MultiLength values.

It does not change the behavior for relative values - fractions are still ignored there.  Fixing that will involve a larger change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>88597</commentid>
    <comment_count>6</comment_count>
      <attachid>22819</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2008-08-15 11:38:28 -0700</bug_when>
    <thetext>Comment on attachment 22819
Interpret fractional-percentage MultiLength values.

You&apos;ll need to use run-webkit-tests to generate the expected results and add them to your patch.  Your test is layout-dependant, but not font-dependent.  Since it&apos;s layout dependent, run-webkit-tests will automatically generate the results under:
LayoutTests/platform/mac/fast/frames/frame-length-fractional-expected.txt
However since your test doesn&apos;t depend on the user&apos;s fonts, you can move this file into LayoutTests/fast/frames/rame-length-fractional-expected.txt before calling svn add (and adding it to your patch).

I wondered first if your backup case here:
+        if (ok)
+            return Length(r, Percent);
+        return Length(1, Relative);

should try to do an int conversion first before returning Length(1, Relative)?  But it appears that charactersToDouble returns !ok for the same cases charactersToInt does.  It would be nice to validate this with a test case, but such could be relatively complicated for such a simple fix.


I think generally we use:
unsigned intLength = i;
instead of:
unsigned intLength(i);
But I don&apos;t have strong opinions on that subject.


We could make a fancier test case for this, but I think this is OK-as is.

Hyatt should probably sanity check this, but assuming the layout tests pass this looks fine to me.

r- due to lack of expected results for you test case (if this wasn&apos;t your first patch, or you were a commiter, I&apos;d just r+ and leave you to make the missing results as you landed).



Oh, if you&apos;re interested in knowing how I might have made a fancier test case:

We have a nifty system for creating js-only test cases using some custom assert-like macros.  Basically you copy this file:
http://trac.webkit.org/browser/trunk/LayoutTests/fast/js/resources/TEMPLATE.html
into fast/frame/resources/

and then add a frame-length-fractional.js file to fast/frame/resources/ with the following content:

description(&quot;My fancy test case for bug 3591&quot;);

var iframe = document.createElement(&quot;iframe&quot;);
iframe.style.width = &quot;1000px&quot;;
iframe.style.height = &quot;200px;
document.body.appendChild(iframe);

var frameset = document.createElement(&quot;frameset&quot;);
iframe.contentDocument.appendChild(frameset);
var frame1 = document.createElement(&quot;frame&quot;);
frameset.appendChild(frame1);
var frame2 = document.createElement(&quot;frame&quot;);
frameset.appendChild(frame2);


frameset.setAttribute(&quot;rows&quot;, &quot;50%,*&quot;);
shouldBe(frame1.contentWidth, 500);

frameset.setAttribute(&quot;rows&quot;, &quot;50.3%,*&quot;);
shouldBe(frame1.contentWidth, 503);

frameset.setAttribute(&quot;rows&quot;, &quot;50.7%,*&quot;);
shouldBe(frame1.contentWidth, 507);

frameset.setAttribute(&quot;rows&quot;, &quot;51%,*&quot;);
shouldBe(frame1.contentWidth, 510);

frameset.setAttribute(&quot;rows&quot;, &quot;51 %,*&quot;);
shouldBe(frame1.contentWidth, 510);

// And then you could add a bunch of failure cases which touch the code relating to your change:

frameset.setAttribute(&quot;rows&quot;, &quot;51.3*&quot;);
shouldBe(frame1.contentWidth, 51/52 * 1000);

... etc.


Heck, I&apos;d probably even have made my own shoudBe abstraction:

fuction testParsing(string, expectedWidth)
{
frameset.setAttribute(&quot;rows&quot;, string);
shouldBe(frame1.contentWidth, expectedWidth);
}

If you&apos;re interested in trying to add such a test case, be my guest.  It&apos;s not required for this patch, but I figure the information is useful to you for future patches anyway.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>89121</commentid>
    <comment_count>7</comment_count>
      <attachid>22939</attachid>
    <who name="Brad Garcia">bgarcia</who>
    <bug_when>2008-08-22 10:07:51 -0700</bug_when>
    <thetext>Created attachment 22939
Updated patch incorporating feedback

Thanks for the feedback, Eric.

I&apos;ve punted on the fancier test for now.  I kept having issues with trying to manipulate the contents of the iframe before it was loaded.  I actually got things to update correctly from within a setTimeout, but then I don&apos;t believe the test results get reported correctly.  So I went back to the simple test &amp; included the expected results this time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>89132</commentid>
    <comment_count>8</comment_count>
      <attachid>22939</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2008-08-22 10:54:06 -0700</bug_when>
    <thetext>Comment on attachment 22939
Updated patch incorporating feedback

Thanks for taking this on. The patch looks good.

Some comments about things that are not new to your patch.

I think it&apos;s strange that this code is also used for HTMLAreaElement. Are these changes all OK for that case too? I think the name of this function is unfortunate since it&apos;s not suitable for general length parsing and has quirks that are quite specific to the use parsing frame sizes.

The use of Unicode::isDigit seems wrong here. Do we really support non-ASCII digits? I think it should be isASCIIDigit instead.

+        /* IE Quirk: accept decimal fractions for percentages */

We normally use // comments (despite the IE quirk comment a few lines earlier).

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>95047</commentid>
    <comment_count>9</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2008-10-12 11:24:26 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/37524</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>2431</attachid>
            <date>2005-06-17 06:51:40 -0700</date>
            <delta_ts>2005-06-17 06:51:40 -0700</delta_ts>
            <desc>Testcase</desc>
            <filename>frames.html</filename>
            <type>text/html</type>
            <size>404</size>
            <attacher name="Niels Leenheer (HTML5test)">info</attacher>
            
              <data encoding="base64">PGh0bWw+DQoNCjxmcmFtZXNldCBjb2xzPSIqLCosKiwqIj4NCg0KICAgIDxmcmFtZXNldCByb3dz
PSI1MCUsKiI+DQogICAgICAgIDxmcmFtZT4NCiAgICAgICAgPGZyYW1lPg0KICAgIDwvZnJhbWVz
ZXQ+DQoNCiAgICA8ZnJhbWVzZXQgcm93cz0iNTAuMyUsKiI+DQogICAgICAgIDxmcmFtZT4NCiAg
ICAgICAgPGZyYW1lPg0KICAgIDwvZnJhbWVzZXQ+DQogICAgDQogICAgPGZyYW1lc2V0IHJvd3M9
IjUwLjYlLCoiPg0KICAgICAgICA8ZnJhbWU+DQogICAgICAgIDxmcmFtZT4NCiAgICA8L2ZyYW1l
c2V0Pg0KICAgIA0KICAgIDxmcmFtZXNldCByb3dzPSI1MC45JSwqIj4NCiAgICAgICAgPGZyYW1l
Pg0KICAgICAgICA8ZnJhbWU+DQogICAgPC9mcmFtZXNldD4NCiANCjwvZnJhbWVzZXQ+DQoNCjwv
aHRtbD4=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>2432</attachid>
            <date>2005-06-17 06:52:40 -0700</date>
            <delta_ts>2005-06-17 06:52:40 -0700</delta_ts>
            <desc>Screenshot of IE behavoir</desc>
            <filename>frames.gif</filename>
            <type>image/gif</type>
            <size>17171</size>
            <attacher name="Niels Leenheer (HTML5test)">info</attacher>
            
              <data encoding="base64">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
+xpDOqAre7JLuqi7sbNHO6I/u7QXOlLrOqiLO6z7erhz+7YPdP9GOq3/+sUVO7a9e75d+rqv9azX
O7afebtjXLxbG79Xm79f25/XOrDveakX/JbnuWvbub67+8ETfMKveZ8fuIabe7V3O7njuraPu8Wj
O6fHur3LNcP7G8BbW6eLvJQ7PIin/L6vPJEzezyf/Mi3PJTPPMpD/Jv/98Cr/M3zuc7TPM9r98db
O7uDPEYfkqEP/b1ffLq7cYIXfWH7/7zNS3x7qzu1X/vSXz0fz7vVE33Sh/yy1zTXK33Hd32vZzu9
f73X+/XUd57JV3zWb7zHlzuyY33Za/2tc3XU/zzbtznQIzzfdznF0z3Zj723V73eSz3ip3rNy7zf
1/ldo/3aK/6+kby0VT61HfvTH/bkCzvjWxyPv73dx30+C77mMzbgkznn8xvoD/7oFz65/7en1/3r
c7zhs5nTqz3Uxzzle37FZX7ub/7ud77j23rpA//pq362Xf60/f7sp73zG33TR77umz5ogz2uIz30
U//xa7XQa3/wVz9pU3Po0z7cw36zTz/4c7/tLr+0uX3rn7vrW7HACz/vEz/L33/D5/9/xkU4CACB
8nzmiabqyrbu2y6f55Hwjef6KdP2DgwCe7WS8IiEeT4BQCEQKIh+yar1Q6Ret7uskQvGecPk3LJJ
gBKm37J7NX7LebPi/B6/388ADVTDpodXpyUYlmd4SNiWSMaXFrA2wtjIhVh5dYlZpblpxfcUFehp
uUiaaXrKmar6yQQAKTXZatVJm2N7e5OriwMKJVvYq8M7zFJsrIKcvHKmESr5QMn8skyNxXrtYq09
8xoKONsNw81cnnxO/ag2Or6d7Z6SPjyfzOcnKh5/DL9vUq8L4LB1kdr5k9fPn0BaC3X9ChBO2EFs
Pqbta6gKI62HkiQe1EgKpCeRpx7/BrOoMOFFlfFIkiJ4cqIylu5cVrK56R4wgzIp2unp02NLmvsI
RkO5siLQoEjH4cT0MGLTmkS7PTV0tZFRnjKz6vE6SOlSEya5TgQ7B60ctXuYPGOnDyhbN3PL1H0T
1ezHqtruKhI7dmvcnn7BFC4FeKnOfEKT/iTM99rhMDD1pkx8NjK1yWDKDu6q2VxodKPVfYMrbSzT
pZxrlWaW93NmzHtpX36s+BWkjlOdvu7VepXtiYtjjg2eBDkS5VUENx46HDru2dN7xn5ONXr26rex
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
K+uraeyqrGtsCUAIADs=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>22819</attachid>
            <date>2008-08-15 09:01:31 -0700</date>
            <delta_ts>2008-08-22 10:07:51 -0700</delta_ts>
            <desc>Interpret fractional-percentage MultiLength values.</desc>
            <filename>MultiLengthPatch.txt</filename>
            <type>text/plain</type>
            <size>3836</size>
            <attacher name="Brad Garcia">bgarcia</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAzNTc4MikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTQgQEAKKzIwMDgtMDgtMTUgIEJyYWQgR2FyY2lhICA8YmdhcmNpYUBnb29nbGUu
Y29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIElu
dGVycHJldCBmcmFjdGlvbmFsIHBlcmNlbnRhZ2UgdmFsdWVzIGZvciAlTXVsdGlMZW5ndGggdmFs
dWVzLgorICAgICAgICBGaXggZm9yIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0zNTkxCisgICAgICAgIFRlc3Q6IGZhc3QvZnJhbWVzL2ZyYW1lLWxlbmd0aC1mcmFjdGlv
bmFsLXBlcmNlbnRhZ2UuaHRtbAorCisgICAgICAgICogcGxhdGZvcm0vdGV4dC9TdHJpbmdJbXBs
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnBhcnNlTGVuZ3RoKToKKwogMjAwOC0wOC0xNSAgQWxl
eGV5IFByb3NrdXJ5YWtvdiAgPGFwQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkg
R2VvZmYgR2FyZW4uCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL3RleHQvU3RyaW5nSW1wbC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1N0cmluZ0ltcGwuY3BwCShyZXZp
c2lvbiAzNTcxMSkKKysrIFdlYkNvcmUvcGxhdGZvcm0vdGV4dC9TdHJpbmdJbXBsLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMjEwLDM2ICsyMTAsMzIgQEAgc3RhdGljIExlbmd0aCBwYXJzZUxlbmd0
aChjb25zdCBVQ2hhciogZAogICAgICAgICArK2k7CiAgICAgd2hpbGUgKGkgPCBsZW5ndGggJiYg
VW5pY29kZTo6aXNEaWdpdChkYXRhW2ldKSkKICAgICAgICAgKytpOwotCi0gICAgYm9vbCBvazsK
LSAgICBpbnQgciA9IGNoYXJhY3RlcnNUb0ludFN0cmljdChkYXRhLCBpLCAmb2spOwotCi0gICAg
LyogU2tpcCBvdmVyIGFueSByZW1haW5pbmcgZGlnaXRzLCB3ZSBhcmUgbm90IHRoYXQgYWNjdXJh
dGUgKDUuNSUgPT4gNSUpICovCisgICAgdW5zaWduZWQgaW50TGVuZ3RoKGkpOwogICAgIHdoaWxl
IChpIDwgbGVuZ3RoICYmIChVbmljb2RlOjppc0RpZ2l0KGRhdGFbaV0pIHx8IGRhdGFbaV0gPT0g
Jy4nKSkKICAgICAgICAgKytpOworICAgIHVuc2lnbmVkIGRvdWJsZUxlbmd0aChpKTsKIAogICAg
IC8qIElFIFF1aXJrOiBTa2lwIGFueSB3aGl0ZXNwYWNlICgyMCAlID0+IDIwJSkgKi8KICAgICB3
aGlsZSAoaSA8IGxlbmd0aCAmJiBpc1NwYWNlT3JOZXdsaW5lKGRhdGFbaV0pKQogICAgICAgICAr
K2k7CiAKLSAgICBpZiAob2spIHsKLSAgICAgICAgaWYgKGkgPCBsZW5ndGgpIHsKLSAgICAgICAg
ICAgIFVDaGFyIG5leHQgPSBkYXRhW2ldOwotICAgICAgICAgICAgaWYgKG5leHQgPT0gJyUnKQot
ICAgICAgICAgICAgICAgIHJldHVybiBMZW5ndGgoc3RhdGljX2Nhc3Q8ZG91YmxlPihyKSwgUGVy
Y2VudCk7Ci0gICAgICAgICAgICBpZiAobmV4dCA9PSAnKicpCi0gICAgICAgICAgICAgICAgcmV0
dXJuIExlbmd0aChyLCBSZWxhdGl2ZSk7Ci0gICAgICAgIH0KLSAgICAgICAgcmV0dXJuIExlbmd0
aChyLCBGaXhlZCk7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgaWYgKGkgPCBsZW5ndGgpIHsKLSAg
ICAgICAgICAgIFVDaGFyIG5leHQgPSBkYXRhW2ldOwotICAgICAgICAgICAgaWYgKG5leHQgPT0g
JyonKQotICAgICAgICAgICAgICAgIHJldHVybiBMZW5ndGgoMSwgUmVsYXRpdmUpOwotICAgICAg
ICAgICAgaWYgKG5leHQgPT0gJyUnKQotICAgICAgICAgICAgICAgIHJldHVybiBMZW5ndGgoMSwg
UmVsYXRpdmUpOwotICAgICAgICB9CisgICAgYm9vbCBvazsKKyAgICBVQ2hhciBuZXh0ID0gKGkg
PCBsZW5ndGgpID8gZGF0YVtpXSA6ICcgJzsKKyAgICBpZiAobmV4dCA9PSAnJScpIHsKKyAgICAg
ICAgLyogSUUgUXVpcms6IGFjY2VwdCBkZWNpbWFsIGZyYWN0aW9ucyBmb3IgcGVyY2VudGFnZXMg
Ki8KKyAgICAgICAgZG91YmxlIHIgPSBjaGFyYWN0ZXJzVG9Eb3VibGUoZGF0YSwgZG91YmxlTGVu
Z3RoLCAmb2spOworICAgICAgICBpZiAob2spCisgICAgICAgICAgICByZXR1cm4gTGVuZ3RoKHIs
IFBlcmNlbnQpOworICAgICAgICByZXR1cm4gTGVuZ3RoKDEsIFJlbGF0aXZlKTsKKyAgICB9Cisg
ICAgaW50IHIgPSBjaGFyYWN0ZXJzVG9JbnRTdHJpY3QoZGF0YSwgaW50TGVuZ3RoLCAmb2spOwor
ICAgIGlmIChuZXh0ID09ICcqJykgeworICAgICAgICBpZiAob2spCisgICAgICAgICAgICByZXR1
cm4gTGVuZ3RoKHIsIFJlbGF0aXZlKTsKKyAgICAgICAgcmV0dXJuIExlbmd0aCgxLCBSZWxhdGl2
ZSk7CiAgICAgfQorICAgIGlmIChvaykKKyAgICAgICAgcmV0dXJuIExlbmd0aChyLCBGaXhlZCk7
CiAgICAgcmV0dXJuIExlbmd0aCgwLCBSZWxhdGl2ZSk7CiB9CiAKSW5kZXg6IExheW91dFRlc3Rz
L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9u
IDM1NzgyKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMTEgQEAKKzIwMDgtMDgtMTUgIEJyYWQgR2FyY2lhICA8YmdhcmNpYUBnb29nbGUuY29tPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAgICBBZGQgdGVzdGNh
c2UgZm9yIGZyYWN0aW9uYWwgcGVyY2VudGFnZSBmcmFtZSBsZW5ndGhzLgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzU5MQorCisgICAgICAgICogZmFz
dC9mcmFtZXMvZnJhbWUtbGVuZ3RoLWZyYWN0aW9uYWwtcGVyY2VudGFnZS5odG1sOiBBZGRlZC4K
KwogMjAwOC0wOC0xNCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAog
ICAgICAgICBGaXggdGVzdGNhc2UgYW5kIGFkZCBwaXhlbCByZXN1bHRzIGZvciB0ZXN0Y2FzZSBp
bgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZnJhbWUtbGVuZ3RoLWZyYWN0aW9uYWwt
cGVyY2VudGFnZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2Zy
YW1lLWxlbmd0aC1mcmFjdGlvbmFsLXBlcmNlbnRhZ2UuaHRtbAkocmV2aXNpb24gMCkKKysrIExh
eW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZyYW1lLWxlbmd0aC1mcmFjdGlvbmFsLXBlcmNlbnRhZ2Uu
aHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyMCBAQAorPGh0bWw+Cis8ZnJhbWVzZXQgY29s
cz0iKiwqLCosKiI+CisgICAgPGZyYW1lc2V0IHJvd3M9IjUwJSwqIj4KKyAgICAgICAgPGZyYW1l
PgorICAgICAgICA8ZnJhbWU+CisgICAgPC9mcmFtZXNldD4KKyAgICA8ZnJhbWVzZXQgcm93cz0i
NTAuMyUsKiI+CisgICAgICAgIDxmcmFtZT4KKyAgICAgICAgPGZyYW1lPgorICAgIDwvZnJhbWVz
ZXQ+CisgICAgPGZyYW1lc2V0IHJvd3M9IjUwLjclLCoiPgorICAgICAgICA8ZnJhbWU+CisgICAg
ICAgIDxmcmFtZT4KKyAgICA8L2ZyYW1lc2V0PgorICAgIDxmcmFtZXNldCByb3dzPSI1MSUsKiI+
CisgICAgICAgIDxmcmFtZT4KKyAgICAgICAgPGZyYW1lPgorICAgIDwvZnJhbWVzZXQ+Cis8L2Zy
YW1lc2V0PgorPC9odG1sPgo=
</data>
<flag name="review"
          id="10136"
          type_id="1"
          status="-"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>22939</attachid>
            <date>2008-08-22 10:07:51 -0700</date>
            <delta_ts>2008-08-22 10:54:06 -0700</delta_ts>
            <desc>Updated patch incorporating feedback</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>6924</size>
            <attacher name="Brad Garcia">bgarcia</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAzNTg4OCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTQgQEAKKzIwMDgtMDgtMTggIEJyYWQgR2FyY2lhICA8YmdhcmNpYUBnb29nbGUu
Y29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIElu
dGVycHJldCBmcmFjdGlvbmFsIHBlcmNlbnRhZ2UgdmFsdWVzIGZvciAlTXVsdGlMZW5ndGggdmFs
dWVzLgorICAgICAgICBGaXggZm9yIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0zNTkxCisgICAgICAgIFRlc3Q6IGZhc3QvZnJhbWVzL2ZyYW1lLWxlbmd0aC1mcmFjdGlv
bmFsLXBlcmNlbnRhZ2UuaHRtbAorCisgICAgICAgICogcGxhdGZvcm0vdGV4dC9TdHJpbmdJbXBs
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnBhcnNlTGVuZ3RoKToKKwogMjAwOC0wOC0yMSAgRGFu
IEJlcm5zdGVpbiAgPG1pdHpAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEpvbiBI
b25leWN1dHQgYW5kIEFsZXhleSBQcm9za3VyeWFrb3YuCkluZGV4OiBXZWJDb3JlL3BsYXRmb3Jt
L3RleHQvU3RyaW5nSW1wbC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS90ZXh0
L1N0cmluZ0ltcGwuY3BwCShyZXZpc2lvbiAzNTg4OCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vdGV4
dC9TdHJpbmdJbXBsLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjEwLDM2ICsyMTAsMzIgQEAgc3Rh
dGljIExlbmd0aCBwYXJzZUxlbmd0aChjb25zdCBVQ2hhciogZAogICAgICAgICArK2k7CiAgICAg
d2hpbGUgKGkgPCBsZW5ndGggJiYgVW5pY29kZTo6aXNEaWdpdChkYXRhW2ldKSkKICAgICAgICAg
KytpOwotCi0gICAgYm9vbCBvazsKLSAgICBpbnQgciA9IGNoYXJhY3RlcnNUb0ludFN0cmljdChk
YXRhLCBpLCAmb2spOwotCi0gICAgLyogU2tpcCBvdmVyIGFueSByZW1haW5pbmcgZGlnaXRzLCB3
ZSBhcmUgbm90IHRoYXQgYWNjdXJhdGUgKDUuNSUgPT4gNSUpICovCisgICAgdW5zaWduZWQgaW50
TGVuZ3RoID0gaTsKICAgICB3aGlsZSAoaSA8IGxlbmd0aCAmJiAoVW5pY29kZTo6aXNEaWdpdChk
YXRhW2ldKSB8fCBkYXRhW2ldID09ICcuJykpCiAgICAgICAgICsraTsKKyAgICB1bnNpZ25lZCBk
b3VibGVMZW5ndGggPSBpOwogCiAgICAgLyogSUUgUXVpcms6IFNraXAgYW55IHdoaXRlc3BhY2Ug
KDIwICUgPT4gMjAlKSAqLwogICAgIHdoaWxlIChpIDwgbGVuZ3RoICYmIGlzU3BhY2VPck5ld2xp
bmUoZGF0YVtpXSkpCiAgICAgICAgICsraTsKIAotICAgIGlmIChvaykgewotICAgICAgICBpZiAo
aSA8IGxlbmd0aCkgewotICAgICAgICAgICAgVUNoYXIgbmV4dCA9IGRhdGFbaV07Ci0gICAgICAg
ICAgICBpZiAobmV4dCA9PSAnJScpCi0gICAgICAgICAgICAgICAgcmV0dXJuIExlbmd0aChzdGF0
aWNfY2FzdDxkb3VibGU+KHIpLCBQZXJjZW50KTsKLSAgICAgICAgICAgIGlmIChuZXh0ID09ICcq
JykKLSAgICAgICAgICAgICAgICByZXR1cm4gTGVuZ3RoKHIsIFJlbGF0aXZlKTsKLSAgICAgICAg
fQotICAgICAgICByZXR1cm4gTGVuZ3RoKHIsIEZpeGVkKTsKLSAgICB9IGVsc2UgewotICAgICAg
ICBpZiAoaSA8IGxlbmd0aCkgewotICAgICAgICAgICAgVUNoYXIgbmV4dCA9IGRhdGFbaV07Ci0g
ICAgICAgICAgICBpZiAobmV4dCA9PSAnKicpCi0gICAgICAgICAgICAgICAgcmV0dXJuIExlbmd0
aCgxLCBSZWxhdGl2ZSk7Ci0gICAgICAgICAgICBpZiAobmV4dCA9PSAnJScpCi0gICAgICAgICAg
ICAgICAgcmV0dXJuIExlbmd0aCgxLCBSZWxhdGl2ZSk7Ci0gICAgICAgIH0KKyAgICBib29sIG9r
OworICAgIFVDaGFyIG5leHQgPSAoaSA8IGxlbmd0aCkgPyBkYXRhW2ldIDogJyAnOworICAgIGlm
IChuZXh0ID09ICclJykgeworICAgICAgICAvKiBJRSBRdWlyazogYWNjZXB0IGRlY2ltYWwgZnJh
Y3Rpb25zIGZvciBwZXJjZW50YWdlcyAqLworICAgICAgICBkb3VibGUgciA9IGNoYXJhY3RlcnNU
b0RvdWJsZShkYXRhLCBkb3VibGVMZW5ndGgsICZvayk7CisgICAgICAgIGlmIChvaykKKyAgICAg
ICAgICAgIHJldHVybiBMZW5ndGgociwgUGVyY2VudCk7CisgICAgICAgIHJldHVybiBMZW5ndGgo
MSwgUmVsYXRpdmUpOworICAgIH0KKyAgICBpbnQgciA9IGNoYXJhY3RlcnNUb0ludFN0cmljdChk
YXRhLCBpbnRMZW5ndGgsICZvayk7CisgICAgaWYgKG5leHQgPT0gJyonKSB7CisgICAgICAgIGlm
IChvaykKKyAgICAgICAgICAgIHJldHVybiBMZW5ndGgociwgUmVsYXRpdmUpOworICAgICAgICBy
ZXR1cm4gTGVuZ3RoKDEsIFJlbGF0aXZlKTsKICAgICB9CisgICAgaWYgKG9rKQorICAgICAgICBy
ZXR1cm4gTGVuZ3RoKHIsIEZpeGVkKTsKICAgICByZXR1cm4gTGVuZ3RoKDAsIFJlbGF0aXZlKTsK
IH0KIApJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMzU4ODgpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAorMjAwOC0wOC0xOCAgQnJhZCBHYXJjaWEg
IDxiZ2FyY2lhQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgVGVzdGNhc2VzIGZvciBmcmFjdGlvbmFsIGZyYW1lIGxlbmd0aHMuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNTkxCisKKyAg
ICAgICAgKiBmYXN0L2ZyYW1lcy9mcmFtZS1sZW5ndGgtZnJhY3Rpb25hbC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBmYXN0L3BsYXRmb3JtL21hYy9mcmFtZXMvZnJhbWUtbGVuZ3RoLWZyYWN0aW9u
YWwtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKwogMjAwOC0wOC0yMSAgRGFuIEJlcm5zdGVpbiAgPG1p
dHpAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEpvbiBIb25leWN1dHQgYW5kIEFs
ZXhleSBQcm9za3VyeWFrb3YuCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mcmFtZS1s
ZW5ndGgtZnJhY3Rpb25hbC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZnJh
bWVzL2ZyYW1lLWxlbmd0aC1mcmFjdGlvbmFsLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRU
ZXN0cy9mYXN0L2ZyYW1lcy9mcmFtZS1sZW5ndGgtZnJhY3Rpb25hbC5odG1sCShyZXZpc2lvbiAw
KQpAQCAtMCwwICsxLDIxIEBACis8aHRtbD4KKzxmcmFtZXNldCBjb2xzPSIqLCosKiwqIj4KKyAg
ICA8ZnJhbWVzZXQgcm93cz0iNTAlLCoiPgorICAgICAgICA8ZnJhbWU+CisgICAgICAgIDxmcmFt
ZT4KKyAgICA8L2ZyYW1lc2V0PgorICAgIDxmcmFtZXNldCByb3dzPSI1MC43JSwqIj4KKyAgICAg
ICAgPGZyYW1lPgorICAgICAgICA8ZnJhbWU+CisgICAgPC9mcmFtZXNldD4KKyAgICA8ZnJhbWVz
ZXQgcm93cz0iNTAuMyUsKiI+CisgICAgICAgIDxmcmFtZT4KKyAgICAgICAgPGZyYW1lPgorICAg
IDwvZnJhbWVzZXQ+CisgICAgPGZyYW1lc2V0IHJvd3M9IjUxJSwqIj4KKyAgICAgICAgPGZyYW1l
PgorICAgICAgICA8ZnJhbWU+CisgICAgPC9mcmFtZXNldD4KKzwvZnJhbWVzZXQ+Cis8L2h0bWw+
CisKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2ZyYW1lcy9mcmFtZS1sZW5n
dGgtZnJhY3Rpb25hbC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL2Zhc3QvZnJhbWVzL2ZyYW1lLWxlbmd0aC1mcmFjdGlvbmFsLWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2ZyYW1lcy9m
cmFtZS1sZW5ndGgtZnJhY3Rpb25hbC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAg
KzEsNTcgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgw
LDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlckJs
b2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgICBSZW5kZXJGcmFtZVNldCB7RlJB
TUVTRVR9IGF0ICgwLDApIHNpemUgODAweDYwMAorICAgICAgUmVuZGVyRnJhbWVTZXQge0ZSQU1F
U0VUfSBhdCAoMCwwKSBzaXplIDE5NXg2MDAKKyAgICAgICAgUmVuZGVyRnJhbWUge0ZSQU1FfSBh
dCAoMCwwKSBzaXplIDE5NXgyOTcKKyAgICAgICAgICBsYXllciBhdCAoMCwwKSBzaXplIDE5NXgy
OTcKKyAgICAgICAgICAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSAxOTV4Mjk3CisgICAgICAg
ICAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSAxOTV4Mjk3CisgICAgICAgICAgICBSZW5kZXJCbG9jayB7
SFRNTH0gYXQgKDAsMCkgc2l6ZSAxOTV4Mjk3CisgICAgICAgICAgICAgIFJlbmRlckJvZHkge0JP
RFl9IGF0ICg4LDgpIHNpemUgMTc5eDI4MQorICAgICAgICBSZW5kZXJGcmFtZSB7RlJBTUV9IGF0
ICgwLDMwMykgc2l6ZSAxOTV4Mjk3CisgICAgICAgICAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSAxOTV4
Mjk3CisgICAgICAgICAgICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgMTk1eDI5NworICAgICAg
ICAgIGxheWVyIGF0ICgwLDApIHNpemUgMTk1eDI5NworICAgICAgICAgICAgUmVuZGVyQmxvY2sg
e0hUTUx9IGF0ICgwLDApIHNpemUgMTk1eDI5NworICAgICAgICAgICAgICBSZW5kZXJCb2R5IHtC
T0RZfSBhdCAoOCw4KSBzaXplIDE3OXgyODEKKyAgICAgIFJlbmRlckZyYW1lU2V0IHtGUkFNRVNF
VH0gYXQgKDIwMSwwKSBzaXplIDE5NXg2MDAKKyAgICAgICAgUmVuZGVyRnJhbWUge0ZSQU1FfSBh
dCAoMCwwKSBzaXplIDE5NXgzMDEKKyAgICAgICAgICBsYXllciBhdCAoMCwwKSBzaXplIDE5NXgz
MDEKKyAgICAgICAgICAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSAxOTV4MzAxCisgICAgICAg
ICAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSAxOTV4MzAxCisgICAgICAgICAgICBSZW5kZXJCbG9jayB7
SFRNTH0gYXQgKDAsMCkgc2l6ZSAxOTV4MzAxCisgICAgICAgICAgICAgIFJlbmRlckJvZHkge0JP
RFl9IGF0ICg4LDgpIHNpemUgMTc5eDI4NQorICAgICAgICBSZW5kZXJGcmFtZSB7RlJBTUV9IGF0
ICgwLDMwNykgc2l6ZSAxOTV4MjkzCisgICAgICAgICAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSAxOTV4
MjkzCisgICAgICAgICAgICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgMTk1eDI5MworICAgICAg
ICAgIGxheWVyIGF0ICgwLDApIHNpemUgMTk1eDI5MworICAgICAgICAgICAgUmVuZGVyQmxvY2sg
e0hUTUx9IGF0ICgwLDApIHNpemUgMTk1eDI5MworICAgICAgICAgICAgICBSZW5kZXJCb2R5IHtC
T0RZfSBhdCAoOCw4KSBzaXplIDE3OXgyNzcKKyAgICAgIFJlbmRlckZyYW1lU2V0IHtGUkFNRVNF
VH0gYXQgKDQwMiwwKSBzaXplIDE5NXg2MDAKKyAgICAgICAgUmVuZGVyRnJhbWUge0ZSQU1FfSBh
dCAoMCwwKSBzaXplIDE5NXgyOTgKKyAgICAgICAgICBsYXllciBhdCAoMCwwKSBzaXplIDE5NXgy
OTgKKyAgICAgICAgICAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSAxOTV4Mjk4CisgICAgICAg
ICAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSAxOTV4Mjk4CisgICAgICAgICAgICBSZW5kZXJCbG9jayB7
SFRNTH0gYXQgKDAsMCkgc2l6ZSAxOTV4Mjk4CisgICAgICAgICAgICAgIFJlbmRlckJvZHkge0JP
RFl9IGF0ICg4LDgpIHNpemUgMTc5eDI4MgorICAgICAgICBSZW5kZXJGcmFtZSB7RlJBTUV9IGF0
ICgwLDMwNCkgc2l6ZSAxOTV4Mjk2CisgICAgICAgICAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSAxOTV4
Mjk2CisgICAgICAgICAgICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgMTk1eDI5NgorICAgICAg
ICAgIGxheWVyIGF0ICgwLDApIHNpemUgMTk1eDI5NgorICAgICAgICAgICAgUmVuZGVyQmxvY2sg
e0hUTUx9IGF0ICgwLDApIHNpemUgMTk1eDI5NgorICAgICAgICAgICAgICBSZW5kZXJCb2R5IHtC
T0RZfSBhdCAoOCw4KSBzaXplIDE3OXgyODAKKyAgICAgIFJlbmRlckZyYW1lU2V0IHtGUkFNRVNF
VH0gYXQgKDYwMywwKSBzaXplIDE5N3g2MDAKKyAgICAgICAgUmVuZGVyRnJhbWUge0ZSQU1FfSBh
dCAoMCwwKSBzaXplIDE5N3gzMDIKKyAgICAgICAgICBsYXllciBhdCAoMCwwKSBzaXplIDE5N3gz
MDIKKyAgICAgICAgICAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSAxOTd4MzAyCisgICAgICAg
ICAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSAxOTd4MzAyCisgICAgICAgICAgICBSZW5kZXJCbG9jayB7
SFRNTH0gYXQgKDAsMCkgc2l6ZSAxOTd4MzAyCisgICAgICAgICAgICAgIFJlbmRlckJvZHkge0JP
RFl9IGF0ICg4LDgpIHNpemUgMTgxeDI4NgorICAgICAgICBSZW5kZXJGcmFtZSB7RlJBTUV9IGF0
ICgwLDMwOCkgc2l6ZSAxOTd4MjkyCisgICAgICAgICAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSAxOTd4
MjkyCisgICAgICAgICAgICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgMTk3eDI5MgorICAgICAg
ICAgIGxheWVyIGF0ICgwLDApIHNpemUgMTk3eDI5MgorICAgICAgICAgICAgUmVuZGVyQmxvY2sg
e0hUTUx9IGF0ICgwLDApIHNpemUgMTk3eDI5MgorICAgICAgICAgICAgICBSZW5kZXJCb2R5IHtC
T0RZfSBhdCAoOCw4KSBzaXplIDE4MXgyNzYK
</data>
<flag name="review"
          id="10207"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>