<?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>22759</bug_id>
          
          <creation_ts>2008-12-09 11:56:17 -0800</creation_ts>
          <short_desc>dropdown menu disappears on mouse-over</short_desc>
          <delta_ts>2013-05-31 22:26:12 -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>525.x (Safari 3.2)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Windows XP</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://www.ebuyer.com/</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>HasReduction</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>60318</dependson>
    
    <dependson>61906</dependson>
          
          <everconfirmed>0</everconfirmed>
          <reporter name="jasneet">jasneet</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ap</cc>
    
    <cc>darin</cc>
    
    <cc>dgrogan</cc>
    
    <cc>dgrogan</cc>
    
    <cc>eric</cc>
    
    <cc>hyatt</cc>
    
    <cc>jamesr</cc>
    
    <cc>jasneet</cc>
    
    <cc>mitz</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>tvamsikalyan</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>101996</commentid>
    <comment_count>0</comment_count>
    <who name="jasneet">jasneet</who>
    <bug_when>2008-12-09 11:56:17 -0800</bug_when>
    <thetext>I Steps:
Go to http://www.ebuyer.com/

II Issue:
Hover over the main navigation menus ( Home, Computers, Sound &amp; Vision, etc)
Then move the mouse down and try to select something from drop down list 
that appears. Dropdown menu disappears : unable to select

III Conclusion:
there is a gap between the main menu item and the sub-menu box, that is the cause of the issue. Chrome/Safari should render the sub-menu box more higher to remove the gap, like what IE/Firefox does.

IV Other Browsers:
IE7: ok
FF3: ok

V Nightly tested: 39088

Bug in Chromium : http://code.google.com/p/chromium/issues/detail?id=2019</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>101997</commentid>
    <comment_count>1</comment_count>
      <attachid>25891</attachid>
    <who name="jasneet">jasneet</who>
    <bug_when>2008-12-09 11:58:54 -0800</bug_when>
    <thetext>Created attachment 25891
reduced testcase</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>129935</commentid>
    <comment_count>2</comment_count>
    <who name="tvk">tvamsikalyan</who>
    <bug_when>2009-07-06 06:12:28 -0700</bug_when>
    <thetext>Following calculations calculate the expected results for the
reduction HTML file attached to the issue.

Root ListItem vertical size, &quot;RLITotal&quot; = 0.6em top padding + text
line height + 0.7em bottom padding, where

Text line height = 16px * 70/100 * 1.5 = 16.8

So &quot;RLITotal&quot; = 0.6 * 16 * 70 / 100 + 16.8 + 0.7 * 16 * 70 / 100
                    = 6.72 + 16.8 + 7.84
                    = 31.36

The absolute positioned popup list&apos;s vertical position = 2.8em
                                                       = 2.8 * 16 * 70 /100
                                                       = 31.36

Though there is no gap between root element and popup, in Chrome we
see some gap.

What happens inside code during parsing the HTML file is that floating
pointing number gets converted to integer without rounding off. So
6.72 becomes 6, 7.84 becomes 7 and 16.8 becomes 16 resulting in total
for &quot;RLITotal&quot; as 29.

And absolute vertical location for popup, 31.36 becomes 31.

Clearly two pixel gap results because of this rounding off behaviour.

Inside following function,

int computedLineHeight() const
{
        Length lh = lineHeight();
        // Negative value means the line height is not set.  Use the
font&apos;s built-in spacing.
        if (lh.isNegative())
            return font().lineSpacing();
        if (lh.isPercent())
            return lh.calcMinValue(fontSize(), true);
        return lh.value();
}

The line, &quot;return lh.calcMinValue(fontSize(), true);&quot; was changed by
adding true as second parameter, which lets the calcMinValue to round
off the result to nearest integer. So in above example 16.82 becomes
17.

But that will not be sufficient because we&apos;ll still have 1 pixel gap.

So adding 0.5 to result before casting it to integer in the following
function fixes the issue. This function is a generic function used
during HTML/CSS file parsing.

int CSSPrimitiveValue::computeLengthIntForLength(RenderStyle* style,
double multiplier)
{
    double result = computeLengthDouble(style, multiplier);

    // This conversion is imprecise, often resulting in values of,
e.g., 44.99998.  We
    // need to go ahead and round if we&apos;re really close to the next
integer value.
    result += result &lt; 0 ? -0.01 : +0.01;

    if (result &gt; intMaxForLength || result &lt; intMinForLength)
        return 0;
    return static_cast&lt;int&gt;(result);
}

I do not know why only 0.01 was added above, what happens if we add 0.5 is to be understood. 
I am not sure how to work further on this issue to take it to some sort of conclusion. Any help would be appreciated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>307060</commentid>
    <comment_count>3</comment_count>
      <attachid>73438</attachid>
    <who name="">dgrogan</who>
    <bug_when>2010-11-09 16:55:40 -0800</bug_when>
    <thetext>Created attachment 73438
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>307065</commentid>
    <comment_count>4</comment_count>
      <attachid>73438</attachid>
    <who name="">dgrogan</who>
    <bug_when>2010-11-09 17:09:58 -0800</bug_when>
    <thetext>Comment on attachment 73438
Patch

This is based on the solution outlined by tvk in https://bugs.webkit.org/show_bug.cgi?id=22759#c2

It looks like a bunch of layout tests will need to be rebaselined.  The standard procedure is to mark all the failing tests in the test_expectations files and then run the rebaselining script as described in http://trac.webkit.org/wiki/Rebaseline ?  This is my first webkit patch so I want to make sure I do everything right.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>307081</commentid>
    <comment_count>5</comment_count>
      <attachid>73438</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-11-09 17:33:25 -0800</bug_when>
    <thetext>Comment on attachment 73438
Patch

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

&gt; WebCore/css/CSSPrimitiveValue.h:46
&gt; -    value += (value &lt; 0) ? -0.01 : +0.01;
&gt; +    value += (value &lt; 0) ? -0.5 : +0.5;

I’m pretty sure this is not acceptable. We discussed this when originally writing the code here and tried it and saw problems. Did you run regression tests? What tests did this affect?

By the way, if we *do* want this rounding, then I think we want to use the appropriate rounding function, roundf or round, rather than rolling our own with +=.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>307684</commentid>
    <comment_count>6</comment_count>
      <attachid>73438</attachid>
    <who name="">dgrogan</who>
    <bug_when>2010-11-10 19:04:58 -0800</bug_when>
    <thetext>Comment on attachment 73438
Patch

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

&gt;&gt; WebCore/css/CSSPrimitiveValue.h:46
&gt;&gt; +    value += (value &lt; 0) ? -0.5 : +0.5;
&gt; 
&gt; I’m pretty sure this is not acceptable. We discussed this when originally writing the code here and tried it and saw problems. Did you run regression tests? What tests did this affect?
&gt; 
&gt; By the way, if we *do* want this rounding, then I think we want to use the appropriate rounding function, roundf or round, rather than rolling our own with +=.

There were ~170 unexpected failures.  Most fail because of pixel differences unrelated to the tests&apos; substance or are improvements on the existing results.  Two failing tests were on point though: svg/custom/fractional-rects and fast/dom/length-attribute-mapping.  They both expect lengths specified as floats to be rounded down.  Firefox seems to agree with them.

I&apos;m going to work on this a bit more to get those two tests to pass along with the one I&apos;m introducing here.  Thanks for the feedback.

On round(f): agreed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>320272</commentid>
    <comment_count>7</comment_count>
      <attachid>76229</attachid>
    <who name="">dgrogan</who>
    <bug_when>2010-12-10 11:37:36 -0800</bug_when>
    <thetext>Created attachment 76229
patch

Don&apos;t round lengths if specified units are pixels.  Round everything else.

I think this is more correct than the current behaviour but it moves a lot of stuff by 1 pixel.  Including h2 and h3 elements that are seemingly ubiquitous in pixel tests, of which approximately 200 are affected.  I&apos;ve looked at all of them except some of the mozilla table tests.  None indicate that this patch breaks anything, they&apos;re all either improvements (minority) or noise (majority).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>320275</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-12-10 11:41:46 -0800</bug_when>
    <thetext>Attachment 76229 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/css1/units/rounding-expected.txt&apos;, u&apos;LayoutTests/css1/units/rounding.html&apos;, u&apos;WebCore/css/CSSPrimitiveValue.cpp&apos;]&quot; exit_code: 1
WebCore/css/CSSPrimitiveValue.cpp:42:  Alphabetical sorting problem.  [build/include_order] [4]
WebCore/css/CSSPrimitiveValue.cpp:435:  rounded_result is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
WebCore/css/CSSPrimitiveValue.cpp:438:  One line control clauses should not use braces.  [whitespace/braces] [4]
Total errors found: 3 in 3 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>320365</commentid>
    <comment_count>9</comment_count>
      <attachid>76248</attachid>
    <who name="">dgrogan</who>
    <bug_when>2010-12-10 13:29:42 -0800</bug_when>
    <thetext>Created attachment 76248
patch

Don&apos;t round lengths if specified units are pixels.  Round everything else.

I think this is more correct than the current behaviour but it moves a lot of stuff by 1 pixel.  Including h2 and h3 elements that are seemingly ubiquitous in pixel tests, of which approximately 200 are affected.  I&apos;ve looked at all of them except some of the mozilla table tests.  None indicate that this patch breaks anything, they&apos;re all either improvements (minority) or noise (majority).

(same substance as attachment 76229, fixed style errors)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>320379</commentid>
    <comment_count>10</comment_count>
      <attachid>76248</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-12-10 13:50:30 -0800</bug_when>
    <thetext>Comment on attachment 76248
patch

Thanks for the patch, but all patches need a ChangeLog.  See http://webkit.org/coding/contributing.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>320394</commentid>
    <comment_count>11</comment_count>
      <attachid>76255</attachid>
    <who name="">dgrogan</who>
    <bug_when>2010-12-10 13:59:23 -0800</bug_when>
    <thetext>Created attachment 76255
patch

Don&apos;t round lengths if specified units are pixels.  Round everything else.

I think this is more correct than the current behaviour but it moves a lot of stuff by 1 pixel.  Including h2 and h3 elements that are seemingly ubiquitous in pixel tests, of which approximately 200 are affected.  I&apos;ve looked at all of them except some of the mozilla table tests.  None indicate that this patch breaks anything, they&apos;re all either improvements (minority) or noise (majority).

(same substance as attachment 76248, now includes changelog)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>322916</commentid>
    <comment_count>12</comment_count>
    <who name="">dgrogan</who>
    <bug_when>2010-12-15 16:12:12 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 73438 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=73438&amp;action=review
&gt; 
&gt; &gt; WebCore/css/CSSPrimitiveValue.h:46
&gt; &gt; -    value += (value &lt; 0) ? -0.01 : +0.01;
&gt; &gt; +    value += (value &lt; 0) ? -0.5 : +0.5;
&gt; 
&gt; I’m pretty sure this is not acceptable. We discussed this when originally writing the code here and tried it and saw problems. Did you run regression tests? What tests did this affect?

Darin A, who might remember what those problems were?  I didn&apos;t notice anything clearly problematic in the layout tests when they were run with the most recent patch.

(I added you to the cc list of this bug because I&apos;m not sure if you&apos;ll see this message otherwise.  Apologies in advance if that&apos;s a faux pas.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>322999</commentid>
    <comment_count>13</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-12-15 18:32:01 -0800</bug_when>
    <thetext>(In reply to comment #12)
&gt; (I added you to the cc list of this bug because I&apos;m not sure if you&apos;ll see this message otherwise.  Apologies in advance if that&apos;s a faux pas.)

It’s always fine to cc me on any bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>323000</commentid>
    <comment_count>14</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-12-15 18:33:08 -0800</bug_when>
    <thetext>(In reply to comment #12)
&gt; (In reply to comment #5)
&gt; &gt; &gt; WebCore/css/CSSPrimitiveValue.h:46
&gt; &gt; &gt; -    value += (value &lt; 0) ? -0.01 : +0.01;
&gt; &gt; &gt; +    value += (value &lt; 0) ? -0.5 : +0.5;
&gt; &gt; 
&gt; &gt; I’m pretty sure this is not acceptable. We discussed this when originally writing the code here and tried it and saw problems. Did you run regression tests? What tests did this affect?
&gt; 
&gt; Darin A, who might remember what those problems were?  I didn&apos;t notice anything clearly problematic in the layout tests when they were run with the most recent patch.

Not sure. Maybe Hyatt, maybe Mitz. Sorry I can’t remember.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>327752</commentid>
    <comment_count>15</comment_count>
      <attachid>76255</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-12-29 16:55:10 -0800</bug_when>
    <thetext>Comment on attachment 76255
patch

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

Change looks fine, but review- for a slight bit of unneeded work due to the way the code is structured.

&gt; WebCore/css/CSSPrimitiveValue.cpp:439
&gt; +    double roundedResult = result;
&gt; +    if (shouldRound)
&gt; +        roundedResult = round(result);
&gt;      if (!applyZoomMultiplier || multiplier == 1.0)
&gt; -        return result;
&gt; -     
&gt; +        return roundedResult;

Why compute roundedResult outside the if statement where it’s being returned? That seems like extra work for no benefit. I would write:

    if (!applyZoomMultiplier || multiplier == 1.0)
        return shouldRound ? round(result) : result;

Or the equivalent with two if statements.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>329949</commentid>
    <comment_count>16</comment_count>
      <attachid>76255</attachid>
    <who name="">dgrogan</who>
    <bug_when>2011-01-05 18:13:07 -0800</bug_when>
    <thetext>Comment on attachment 76255
patch

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

&gt;&gt; WebCore/css/CSSPrimitiveValue.cpp:439
&gt;&gt; +        return roundedResult;
&gt; 
&gt; Why compute roundedResult outside the if statement where it’s being returned? That seems like extra work for no benefit. I would write:
&gt; 
&gt;     if (!applyZoomMultiplier || multiplier == 1.0)
&gt;         return shouldRound ? round(result) : result;
&gt; 
&gt; Or the equivalent with two if statements.

Agreed.  It was an artifact of some debug code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>329951</commentid>
    <comment_count>17</comment_count>
      <attachid>78083</attachid>
    <who name="">dgrogan</who>
    <bug_when>2011-01-05 18:14:42 -0800</bug_when>
    <thetext>Created attachment 78083
Patch updated to address Darin&apos;s comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>359318</commentid>
    <comment_count>18</comment_count>
      <attachid>84112</attachid>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2011-02-28 13:54:23 -0800</bug_when>
    <thetext>Created attachment 84112
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>359323</commentid>
    <comment_count>19</comment_count>
      <attachid>84112</attachid>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2011-02-28 13:56:02 -0800</bug_when>
    <thetext>Comment on attachment 84112
Patch

Ping and patch updated to latest code</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>359356</commentid>
    <comment_count>20</comment_count>
      <attachid>78083</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2011-02-28 14:28:10 -0800</bug_when>
    <thetext>Comment on attachment 78083
Patch updated to address Darin&apos;s comment.

It looks like a more recent version has been uploaded.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>359361</commentid>
    <comment_count>21</comment_count>
      <attachid>84112</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2011-02-28 14:33:20 -0800</bug_when>
    <thetext>Comment on attachment 84112
Patch

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

&gt; Source/WebCore/css/CSSPrimitiveValue.cpp:450
&gt;      double zoomedResult = result * multiplier;

I&apos;m not the right person to review this but speaking as someone who may read this code in the future, I find this patch confusing.

Specifically, there is a variable &quot;shouldRound&quot; and it isn&apos;t followed in all return statements. Is it a bug that this isn&apos;t done on on the final return &quot;return zoomedResult;&quot;?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>392851</commentid>
    <comment_count>22</comment_count>
      <attachid>84112</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-04-26 15:41:31 -0700</bug_when>
    <thetext>Comment on attachment 84112
Patch

I agree with levin.  We need to make thsi consistent.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>649506</commentid>
    <comment_count>23</comment_count>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2012-06-14 14:35:21 -0700</bug_when>
    <thetext>This is fixed in the chromium port because it uses subpixel layout.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>896056</commentid>
    <comment_count>24</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-05-31 22:26:12 -0700</bug_when>
    <thetext>&gt; This is fixed in the chromium port because it uses subpixel layout.

But the reduction still fails in WebKit ToT, because it doesn&apos;t. Not sure if the bug needs to be reopened though, because the site changed, and works fine now.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>25891</attachid>
            <date>2008-12-09 11:58:54 -0800</date>
            <delta_ts>2008-12-09 11:58:54 -0800</delta_ts>
            <desc>reduced testcase</desc>
            <filename>test-standard (1).html</filename>
            <type>text/html</type>
            <size>1366</size>
            <attacher name="jasneet">jasneet</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFs
Ly9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25h
bC5kdGQiPiANCjxodG1sPg0KPGhlYWQ+DQo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUi
IGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0xIiAvPg0KPHN0eWxlIHR5cGU9
InRleHQvY3NzIiBtZWRpYT0iYWxsIj4NCmJvZHksIGEsIHVsLCBsaXttYXJnaW46IDA7cGFkZGlu
ZzogMDtib3JkZXI6IDA7Zm9udC13ZWlnaHQ6IGluaGVyaXQ7Zm9udC1zdHlsZTogaW5oZXJpdDtm
b250LXNpemU6IDEwMCU7Zm9udC1mYW1pbHk6IGluaGVyaXQ7fQ0KYm9keSB7IGxpbmUtaGVpZ2h0
OiAxLjU7Zm9udC1zaXplOiA3MCU7IH0NCnVsI25hdntjbGVhcjpib3RoO21hcmdpbjowO2JhY2tn
cm91bmQ6IzNiM2IzYiB1cmwoL2ltYWdlcy9nbG9iYWxfdWxfYmcuZ2lmKSBuby1yZXBlYXQgcmln
aHQgdG9wO30NCnVsI25hdiBsaXtmbG9hdDpsZWZ0O2xpc3Qtc3R5bGU6bm9uZTtwb3NpdGlvbjpy
ZWxhdGl2ZTtwYWRkaW5nOjA7ei1pbmRleDoyO21hcmdpbjowO2JhY2tncm91bmQ6IzNiM2IzYjt9
DQp1bCNuYXYgbGkgYXtjb2xvcjojZmZmZmZmO3RleHQtZGVjb3JhdGlvbjpub25lO2Rpc3BsYXk6
YmxvY2s7ZmxvYXQ6bGVmdDtwYWRkaW5nOi42ZW0gLjhlbSAuN2VtO21hcmdpbjowO2ZvbnQtd2Vp
Z2h0OmJvbGQ7YmFja2dyb3VuZDojM2IzYjNiIHVybCgvaW1hZ2VzL2dsb2JhbF9uYXZfYmcuZ2lm
KSBuby1yZXBlYXQgcmlnaHQgdG9wO30NCnVsI25hdiBsaSB1bHtwb3NpdGlvbjphYnNvbHV0ZTt3
aWR0aDoxNTVweDt0b3A6Mi44ZW07bWFyZ2luOjA7ZGlzcGxheTpub25lO3BhZGRpbmc6MCAwIDJl
bSAwO2JvcmRlcjpub25lO3otaW5kZXg6NTAwO30NCnVsI25hdiBsaTpob3ZlciB1bCB7ZGlzcGxh
eTpibG9jaztsZWZ0Oi0xcHg7YmFja2dyb3VuZDojNWM1YzVjIDtoZWlnaHQ6YXV0bzt9DQo8L3N0
eWxlPg0KPC9oZWFkPg0KPGJvZHk+DQo8dWwgaWQ9Im5hdiIgPg0KICAgIDxsaT48YSBocmVmPSIv
c3RvcmUvQ29tcHV0ZXJzIj5Db21wdXRlcnM8L2E+DQogICAgICAgIDx1bD4NCiAgICAgICAgICA8
bGk+PGEgaHJlZj0iL3N0b3JlL0NvbXB1dGVycy9jYXQvQnVzaW5lc3MtUENzIj5CdXNpbmVzcyBQ
Q3M8L2E+PC9saT4NCiAgICAgICAgICA8bGk+PGEgaHJlZj0iL3N0b3JlL0NvbXB1dGVycy9jYXQv
SFAtSVBBUXMtYW5kLUFjY2Vzc29yaWVzIj5IUCBJUEFRcyBhbmQgQWNjZXNzb3JpZXM8L2E+PC9s
aT4NCiAgICAgICAgPC91bD4NCiAgICA8L2xpPg0KPC91bD4NCjwvYm9keT4gDQo8L2h0bWw+IA==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>73438</attachid>
            <date>2010-11-09 16:55:40 -0800</date>
            <delta_ts>2010-12-10 11:37:36 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-22759-20101109165539.patch</filename>
            <type>text/plain</type>
            <size>13301</size>
            <attacher>dgrogan</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3MTY5OSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTkgQEAKKzIwMTAtMTEtMDkgIERhdmlkIEdyb2dhbiAgPGRncm9nYW5AZ29vZ2xl
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworCVJvdW5kIGNv
bXB1dGVkIGxlbmd0aHMgbW9yZSBhZ2dyZXNzaXZlbHkuCisKKyAgICAgICAgZHJvcGRvd24gbWVu
dSBkaXNhcHBlYXJzIG9uIG1vdXNlLW92ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIyNzU5CisKKyAgICAgICAgVGVzdDogY3NzMS91bml0cy9yb3Vu
ZGluZy5odG1sCisKKyAgICAgICAgKiBjc3MvQ1NTUHJpbWl0aXZlVmFsdWUuaDoKKyAgICAgICAg
KFdlYkNvcmU6OnJvdW5kRm9ySW1wcmVjaXNlQ29udmVyc2lvbik6CisgICAgICAgICogcmVuZGVy
aW5nL3N0eWxlL1JlbmRlclN0eWxlLmg6CisgICAgICAgIChXZWJDb3JlOjphZGp1c3RGb3JBYnNv
bHV0ZVpvb20pOgorCiAyMDEwLTExLTA5ICBBYmhpc2hlayBBcnlhICA8aW5mZXJub0BjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQW50dGkgS29pdmlzdG8uCkluZGV4OiBXZWJD
b3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvY3NzL0NT
U1ByaW1pdGl2ZVZhbHVlLmgJKHJldmlzaW9uIDcxNTY1KQorKysgV2ViQ29yZS9jc3MvQ1NTUHJp
bWl0aXZlVmFsdWUuaAkod29ya2luZyBjb3B5KQpAQCAtNDMsNyArNDMsNyBAQCB0ZW1wbGF0ZTx0
eXBlbmFtZSBULCBUIG1heCwgVCBtaW4+IGlubGluCiAgICAgLy8gRGltZW5zaW9uIGNhbGN1bGF0
aW9ucyBhcmUgaW1wcmVjaXNlLCBvZnRlbiByZXN1bHRpbmcgaW4gdmFsdWVzIG9mIGUuZy4KICAg
ICAvLyA0NC45OTk5OC4gIFdlIG5lZWQgdG8gZ28gYWhlYWQgYW5kIHJvdW5kIGlmIHdlJ3JlIHJl
YWxseSBjbG9zZSB0byB0aGUKICAgICAvLyBuZXh0IGludGVnZXIgdmFsdWUuCi0gICAgdmFsdWUg
Kz0gKHZhbHVlIDwgMCkgPyAtMC4wMSA6ICswLjAxOworICAgIHZhbHVlICs9ICh2YWx1ZSA8IDAp
ID8gLTAuNSA6ICswLjU7CiAgICAgcmV0dXJuICgodmFsdWUgPiBtYXgpIHx8ICh2YWx1ZSA8IG1p
bikpID8gMCA6IHN0YXRpY19jYXN0PFQ+KHZhbHVlKTsKIH0KIApJbmRleDogV2ViQ29yZS9yZW5k
ZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmlu
Zy9zdHlsZS9SZW5kZXJTdHlsZS5oCShyZXZpc2lvbiA3MTU2NSkKKysrIFdlYkNvcmUvcmVuZGVy
aW5nL3N0eWxlL1JlbmRlclN0eWxlLmgJKHdvcmtpbmcgY29weSkKQEAgLTEzMTksMTMgKzEzMTks
NiBAQCBpbmxpbmUgaW50IGFkanVzdEZvckFic29sdXRlWm9vbShpbnQgdmFsCiAgICAgZG91Ymxl
IHpvb21GYWN0b3IgPSBzdHlsZS0+ZWZmZWN0aXZlWm9vbSgpOwogICAgIGlmICh6b29tRmFjdG9y
ID09IDEpCiAgICAgICAgIHJldHVybiB2YWx1ZTsKLSAgICAvLyBOZWVkZWQgYmVjYXVzZSBjb21w
dXRlTGVuZ3RoSW50IHRydW5jYXRlcyAocmF0aGVyIHRoYW4gcm91bmRzKSB3aGVuIHNjYWxpbmcg
dXAuCi0gICAgaWYgKHpvb21GYWN0b3IgPiAxKSB7Ci0gICAgICAgIGlmICh2YWx1ZSA8IDApCi0g
ICAgICAgICAgICB2YWx1ZS0tOwotICAgICAgICBlbHNlIAotICAgICAgICAgICAgdmFsdWUrKzsK
LSAgICB9CiAKICAgICByZXR1cm4gcm91bmRGb3JJbXByZWNpc2VDb252ZXJzaW9uPGludCwgSU5U
X01BWCwgSU5UX01JTj4odmFsdWUgLyB6b29tRmFjdG9yKTsKIH0KSW5kZXg6IExheW91dFRlc3Rz
L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9u
IDcxNjk5KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMTcgQEAKKzIwMTAtMTEtMDkgIERhdmlkIEdyb2dhbiAgPGRncm9nYW5AZ29vZ2xlLmNvbT4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBkcm9wZG93
biBtZW51IGRpc2FwcGVhcnMgb24gbW91c2Utb3ZlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI3NTkKKworICAgICAgICAqIGNzczEvdW5pdHMvcm91
bmRpbmctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjc3MxL3VuaXRzL3JvdW5kaW5n
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvaW1hZ2VzL3pvb21lZC1pbWctc2l6ZS1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogZmFzdC9pbWFnZXMvem9vbWVkLWltZy1zaXplLmh0bWw6Cisg
ICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0tbGludXgvY3NzMS91bml0cy9yb3VuZGluZy1leHBl
Y3RlZC5jaGVja3N1bTogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0tbGludXgv
Y3NzMS91bml0cy9yb3VuZGluZy1leHBlY3RlZC5wbmc6IEFkZGVkLgorCiAyMDEwLTExLTA5ICBN
aWhhaSBQYXJwYXJpdGEgIDxtaWhhaXBAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3
ZWQgQ2hyb21pdW0gdGVzdF9leHBlY3RhdGlvbnMudHh0IHVwZGF0ZS4KSW5kZXg6IExheW91dFRl
c3RzL2NzczEvdW5pdHMvcm91bmRpbmctZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2NzczEvdW5pdHMvcm91bmRpbmctZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysg
TGF5b3V0VGVzdHMvY3NzMS91bml0cy9yb3VuZGluZy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDAp
CkBAIC0wLDAgKzEsMTcgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJW
aWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MzEKKyAg
UmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDAKKyAgICBSZW5kZXJCb2R5IHtC
T0RZfSBhdCAoMCwwKSBzaXplIDgwMHgwCisgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCww
KSBzaXplIDgwMHgwCisgICAgICAgIFJlbmRlckJsb2NrIHtVTH0gYXQgKDAsMCkgc2l6ZSA4MDB4
MAorICAgICAgICAgIFJlbmRlckxpc3RJdGVtIHtMSX0gYXQgKDAsMCkgc2l6ZSA4MDB4MAorICAg
ICAgICAgICAgUmVuZGVyQmxvY2sgKGZsb2F0aW5nKSB7QX0gYXQgKDAsMCkgc2l6ZSA2MHgzMSBb
Y29sb3I9I0ZGRkZGRl0gW2JnY29sb3I9IzAwODAwMF0KKyAgICAgICAgICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICgwLDgpIHNpemUgNjB4MTQKKyAgICAgICAgICAgICAgICB0ZXh0IHJ1biBh
dCAoMCw4KSB3aWR0aCA2MDogIm5vIGdhcCBiZWxvdyIKK2xheWVyIGF0ICgwLDMxKSBzaXplIDYx
eDMxCisgIFJlbmRlckJsb2NrIChwb3NpdGlvbmVkKSB7VUx9IGF0ICgwLDMxKSBzaXplIDYxeDMx
CisgICAgUmVuZGVyTGlzdEl0ZW0ge0xJfSBhdCAoMCwwKSBzaXplIDYxeDAKKyAgICAgIFJlbmRl
ckJsb2NrIChmbG9hdGluZykge0F9IGF0ICgwLDApIHNpemUgNjF4MzEgW2NvbG9yPSNGRkZGRkZd
IFtiZ2NvbG9yPSMwMDgwMDBdCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCw4KSBz
aXplIDYxeDE0CisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsOCkgd2lkdGggNjE6ICJubyBnYXAg
YWJvdmUiCkluZGV4OiBMYXlvdXRUZXN0cy9jc3MxL3VuaXRzL3JvdW5kaW5nLmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvY3NzMS91bml0cy9yb3VuZGluZy5odG1sCShyZXZpc2lvbiAw
KQorKysgTGF5b3V0VGVzdHMvY3NzMS91bml0cy9yb3VuZGluZy5odG1sCShyZXZpc2lvbiAwKQpA
QCAtMCwwICsxLDIzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1M
IDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94
aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+Cis8aHRtbD48aGVhZD4gCisKKworPG1ldGEgaHR0cC1l
cXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiPgor
PHN0eWxlIHR5cGU9InRleHQvY3NzIiBtZWRpYT0iYWxsIj4KK2JvZHksIGEsIHVsLCBsaXttYXJn
aW46IDA7cGFkZGluZzogMDtib3JkZXI6IDA7fQorYm9keSB7IGxpbmUtaGVpZ2h0OiAxLjU7Zm9u
dC1zaXplOiA3MCU7IH0KK3VsI25hdiBsaXtsaXN0LXN0eWxlOm5vbmV9Cit1bCNuYXYgbGkgYXtj
b2xvcjojZmZmZmZmO2Zsb2F0OmxlZnQ7cGFkZGluZzouNmVtIDAgLjdlbTtiYWNrZ3JvdW5kOmdy
ZWVuO30KK3VsI25hdiBsaSB1bHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6Mi44ZW19Cis8L3N0eWxl
PgorPC9oZWFkPjxib2R5PgorPGRpdj4KKzx1bCBpZD0ibmF2Ij4KKyAgICA8bGk+PGEgaHJlZj0i
Ij5ubyBnYXAgYmVsb3c8L2E+CisgICAgICAgIDx1bD4KKyAgICAgICAgICA8bGk+PGEgaHJlZj0i
Ij5ubyBnYXAgYWJvdmU8L2E+PC9saT4KKyAgICAgICAgPC91bD4KKyAgICA8L2xpPgorICA8L3Vs
PgorPC9kaXY+CisgPC9ib2R5PjwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvaW1hZ2Vz
L3pvb21lZC1pbWctc2l6ZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
ZmFzdC9pbWFnZXMvem9vbWVkLWltZy1zaXplLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzE1NjUp
CisrKyBMYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy96b29tZWQtaW1nLXNpemUtZXhwZWN0ZWQudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC0xNiw3ICsxNiw3IEBAIFpvb20gNCUgUEFTUzogMjV4MjUgY2xv
c2UgZW5vdWdoIHRvIDM3eDMKIFpvb20gNSUgUEFTUzogMjB4MjAgY2xvc2UgZW5vdWdoIHRvIDM3
eDMzCiAKIAotWm9vbSAzMCUgUEFTUzogMzZ4MzAgY2xvc2UgZW5vdWdoIHRvIDM3eDMzCitab29t
IDMwJSBQQVNTOiAzN3gzMCBjbG9zZSBlbm91Z2ggdG8gMzd4MzMKIAogCiBab29tIDMzJSBQQVNT
OiAzNngzMCBjbG9zZSBlbm91Z2ggdG8gMzd4MzMKQEAgLTI1LDEzICsyNSwxMyBAQCBab29tIDMz
JSBQQVNTOiAzNngzMCBjbG9zZSBlbm91Z2ggdG8gMzd4CiBab29tIDUwJSBQQVNTOiAzNngzMiBj
bG9zZSBlbm91Z2ggdG8gMzd4MzMKIAogCi1ab29tIDcwJSBQQVNTOiAzNXgzMiBjbG9zZSBlbm91
Z2ggdG8gMzd4MzMKK1pvb20gNzAlIFBBU1M6IDM2eDMzIGNsb3NlIGVub3VnaCB0byAzN3gzMwog
CiAKIFpvb20gMTAwJSBQQVNTOiAzN3gzMwogCiAKLVpvb20gMTExJSBQQVNTOiAzN3gzMworWm9v
bSAxMTElIFBBU1M6IDM3eDMyIGNsb3NlIGVub3VnaCB0byAzN3gzMwogCiAKIFpvb20gMTUwJSBQ
QVNTOiAzN3gzMwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvem9vbWVkLWltZy1zaXpl
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvem9vbWVkLWltZy1z
aXplLmh0bWwJKHJldmlzaW9uIDcxNTY1KQorKysgTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvem9v
bWVkLWltZy1zaXplLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTcsOCArNyw4IEBACiAKICAgICAg
IGZ1bmN0aW9uIHVwZGF0ZSgpIHsKICAgICAgICAgLy8gVGhlc2UgYXJyYXlzIHdpbGwgYmVjb21l
IHVubmVjZXNzYXJ5IGlmIHdlIGZpeCB0aGUgcm91bmRpbmcgaXNzdWVzIHRoYXQgbWFrZSB1cyBu
b3QgYWx3YXlzIHJlcG9ydCAiMzd4MzMiLgotICAgICAgICB2YXIgZXhwZWN0ZWRXaWR0aHMgPSBb
MTAwLCA1MCwgMzMsIDI1LCAyMCwgMzYsIDM2LCAzNiwgMzUsIDM3LCAzNywgMzcsIDM3LCAzNywg
MzddOwotICAgICAgICB2YXIgZXhwZWN0ZWRIZWlnaHRzID0gWzEwMCwgNTAsIDMzLCAyNSwgMjAs
IDMwLCAzMCwgMzIsIDMyLCAzMywgMzMsIDMzLCAzMywgMzMsIDMzXTsKKyAgICAgICAgdmFyIGV4
cGVjdGVkV2lkdGhzID0gIFsxMDAsIDUwLCAzMywgMjUsIDIwLCAzNywgMzYsIDM2LCAzNiwgMzcs
IDM3LCAzNywgMzcsIDM3LCAzN107CisgICAgICAgIHZhciBleHBlY3RlZEhlaWdodHMgPSBbMTAw
LCA1MCwgMzMsIDI1LCAyMCwgMzAsIDMwLCAzMiwgMzMsIDMzLCAzMiwgMzMsIDMzLCAzMywgMzNd
OwogICAgICAgICBmb3IgKGkgPSAwOyBpIDwgMTU7ICsraSkgewogICAgICAgICAgIHZhciBvdmFs
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ292YWwnICsgaSk7CiAgICAgICAgICAgdmFyIHN0
YXR1cyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzdGF0dXMnICsgaSk7CkluZGV4OiBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1saW51eC9jc3MxL3VuaXRzL3JvdW5kaW5nLWV4cGVj
dGVkLmNoZWNrc3VtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVt
LWxpbnV4L2NzczEvdW5pdHMvcm91bmRpbmctZXhwZWN0ZWQuY2hlY2tzdW0JKHJldmlzaW9uIDAp
CisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1saW51eC9jc3MxL3VuaXRzL3JvdW5k
aW5nLWV4cGVjdGVkLmNoZWNrc3VtCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxIEBACitlNjkwMjQ1
OTRmM2ZmYTFhNDg1ZGRmN2IwOTE4MDdmMwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5k
ZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLWxpbnV4L2NzczEvdW5pdHMvcm91bmRp
bmctZXhwZWN0ZWQucG5nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFz
IGEgYmluYXJ5IHR5cGUuCnN2bjptaW1lLXR5cGUgPSBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0K
ClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLWxpbnV4
L2NzczEvdW5pdHMvcm91bmRpbmctZXhwZWN0ZWQucG5nCl9fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpt
aW1lLXR5cGUKICAgKyBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0KCgppVkJPUncwS0dnb0FBQUFO
U1VoRVVnQUFBeUFBQUFKWUNBSUFBQUFWRkJVbkFBQVFXa2xFUVZSNG5PM2RYWWhjOVIzSDRmK3NK
aElJCjlNSmFreWhLZzVvMUtKUUt4dGNvcGw1SU5HRWoyeFVOd1Y0b3VWRnJreTVJU01jbHVFaHBn
dFo2STJrREpZYXNpKzZGb3ZpU0dGQzAKbEZ4b2lSTG9MQzRyR3Q4U1l5dlpzS043ZWpFd0xCTXJx
TitzcXp6UHpleWMrWjM1ejU2ckQrY2NabXJsL3ZLRFU5V3I3L3NqQUFEOApYMTNmOXdjQUFQaXhF
VmdBQUdFQ0N3QWdUR0FCQUlRSkxBQ0FNSUVGQUJBbXNBQUF3Z1FXQUVDWXdBSUFDQk5ZQUFCaE14
RlloelljCit2b2Z0M252ZCsvNTlSc0E0RWRqSmdKcjRkYUZYejl3MXJhelp1QmpBQURNREpjSUFR
REN1ajdjK0dGVnIxWXZXWDI0Ly9CTDYxNHEKcGZSMDkweHVucXpxMWVUbXlaN3VudW5UN1plcWVq
V3hhZUtHODI2WTNEelpIanZjZjdpcVYvZGRkZC9FcG9tT0hVc3A5V3ZxN2UzTAp6bHJXdUx2eFNm
OG55ODlkL3BYdjMzclBWMzd6U2xXdmJ2L0Y3Yyt2ZmY3TFAzdzV1R0t3cWxlUHIzbjg1QjRTQUlE
dnB1dk1QNTFaClN2bjQyTWQzUEgzSGlwK3ZLS1VNOVE3MURmZlZCbXA5dzMxRHZVUFRweCs3NmJI
ZEIzWnZmR0hqb2M4UHpYdGczcDUzOXB6MzUvUGEKWTZmLzhmUlN5dkRidzdjK2VXdkhqcVdVSFcv
c2FHOS83S2JIN256Nnp1di9mdjJEdjNwdytrekgwbGZ2dVByZC83eTdiMnpmdXBGMQpuMDkrdnZl
ZHZXTkh4MjU3NnJhVGVVQUFBTDZyVTFzUHI3MzdXbnZUbks0NUl3ZEhTaWtqQjBmbWRNMlpQcjN0
OVcyREt3WnZ1ZWlXCnZ1RytVc3JLODFjTzlRNTF6RFNPTkJwSEdoMGJTeW5qbjQyUGZ6YmUycjcw
aktWNzF1MHBwUnovNHZqMG1ST1gzdi8rL3N2T3ZxejcKcDkyUC9QT1J1eTY5NjQwUDNzajgzd0FB
SjgxWDNJUFZuR3EyTHVUMWRQYzBwNXJUWHhwY01iajQ0Y1Z6dDh4dFpkRE9OVHQzSDlpOQphT3Vp
VXNwcHA1eldtbGw2eHRJVGQyeTlaM3Q3NDBoaitZN2x0WUhhdkFmbWZmM1MrOS9mZjhjdjczanJv
N2RlSFgvMXhndHVGRmdBCndPeDNhdXY3RWFwNlZSdW90ZjVZTTdTbWRWNnFPZFZzbmFscWUzbnM1
ZEY3Um11bDFweHE5ajdSdS9hcHRkdFhiZC83enQ3UlQwZTMKWExlbC84WCtVc3JBdFFPcnUxZDM3
Tmkrak5qYXZ2Nlo5YnR1M25Xc2Vlem84YVBMdGk5cmY0WVRsOTcvL3Y3ckYxOC8vUGJ3Z3ZrTAp1
bXBkQWdzQW1QMXE1ZjV2TUQxKzczanJqcWhkTis5YXRXVFYvTUg1SFFQdFVEdXBmR2tXQURDYjFh
cEtyQUFBSkgyek0xaXpoRE5ZCkFNQnM1b3RHQVFEQ0JCWUFRSmpBQWdBSUUxZ0FBR0VDQ3dBZ1RH
QUJBSVFKTEFDQU1JRUZBQkFtc0FBQXduNlFnVFVEUDNjSUFQQ3QKL1NBREN3QmdOaE5ZQUFCaEFn
c0FJRXhnQVFDRUNTd0FnRENCQlFBUUpyQUFBTUlFRmdCQW1NQUNBQWdUV0FBQVlkOURZQjNhY0tp
cQpWek8vTGdEQXpQZ2VBbXZoMW9VenZ5Z0F3SXh4aVJBQUlLenJ3NDBmVnZWcTlaTFZoL3NQdjdU
dXBWSktUM2ZQNU9iSnFsNU5icDdzCjZlNlpQdDErcWFwWEU1c21iamp2aHNuTmsrMnh3LzJIcTNw
MTMxWDNUV3lhNk5peFk3S1VVcittM2g0N2NjVVBObjVRMWF1TlYyd2MKKysxWVZhK09iVHEyL3BM
MWpic2JuL1Ivc3Z6YzVUTnphQUFBdnAxYXViOVU5ZXJLdjEyNVlQNkNKMy85WkcyZ05ybDVzbSs0
YitUZwpTRTkzejFEdjBOd3RjOXZUSC8vKzQrY2F6NzM1d1pzYnJ0aXdhT3VpdWFmTVhUQi93U1VM
TDJtUFZmWHEvRWZPdi9obkYzZnMyREZaCjFhdHpIenEzL2ZURUZidHFYWTI3R3hmKzVjSnpmbkxP
cWlXcnRyNis5YzMxYjk3Ny9MMmZUbno2Nk1wSHIvanJGZTdpQWdCbXJWTmIKRDYrOSsxcDcwNXl1
T1NNSFIwb3BJd2RINW5UTm1UNjk3ZlZ0Z3lzR2I3bm9scjdodmxMS3l2TlhEdlVPZGN3MGpqUWFS
eG9kRzArYwpIUDlzZlB5ejhkYVdFMWVjcXFiMmplMWJlY0hLeTgrKy9LRi9QRlJLV1hyRzBqM3I5
cFJTam45eFBQai9Bd0RFZmNVOVdNMnBadnZLClhYT3FPZjJsd1JXRGl4OWVQSGZMM0ZZUDdWeXpj
L2VCM1l1MkxpcWxuSGJLYWEyWnBXY3NQWEhIanNuV0V1MnhyMXp4Mlg4L2U5ZWwKZHgzNDZNQjcv
MzJ2bE5JNDBsaStZM2x0b0RidmdYbmhZd0FBRUhWcTYxcGJWYTlxQTdYV0gydUcxclRPTmpXbm1x
MHpWVzB2ajcwOAplczlvcmRTYVU4M2VKM3JYUHJWMis2cnRlOS9aTy9ycDZKYnJ0dlMvMkY5S0di
aDJZSFgzNm80ZE95YjdodnVHZW9kS0thMngxdE9PCkZWOFlmV0hENVJ0Mi9tdG42K242WjlidnVu
blhzZWF4bzhlUEx0dSs3S1FmR0FDQWI2dFc3djhHMCtQM2p1OGIyN2R1Wk4ydW0zZXQKV3JKcS91
RDhqb0YycUoxczdzRUNBR2F0V2xVcEZRQ0FwRzkyQm12MmNBWUxBSmkxZk5Fb0FFQ1l3QUlBQ0JO
WUFBQmhBZ3NBSUV4ZwpBUUNFQ1N3QWdEQ0JCUUFRSnJBQUFNSUVGZ0JBbUovS0FRQUljd1lMQUNC
TVlBRUFoQWtzQUlBd2dRVUFFQ2F3QUFEQ0JCWUFRSmpBCkFnQUlFMWdBQUdFQ0N3QWdUR0FCQUlR
SkxBQ0FNSUVGQUJBbXNBQUF3Z1FXQUVDWXdBSUFDQk5ZQUFCaEFnc0FJRXhnQVFDRUNTd0EKZ0RD
QkJRQVFKckFBQU1JRUZnQkFtTUFDQUFnVFdBQUFZUUlMQUNCTVlBRUFoQWtzQUlBd2dRVUFFQ2F3
QUFEQ0JCWUFRSmpBQWdBSQpFMWdBQUdFQ0N3QWdUR0FCQUlRSkxBQ0FNSUVGQUJBbXNBQUF3Z1FX
QUVDWXdBSUFDQk5ZQUFCaEFnc0FJRXhnQVFDRUNTd0FnRENCCkJRQVFKckFBQU1JRUZnQkFtTUFD
QUFnVFdBQUFZUUlMQUNCTVlBRUFoQWtzQUlBd2dRVUFFQ2F3QUFEQ0JCWUFRSmpBQWdBSUUxZ0EK
QUdFQ0N3QWdUR0FCQUlRSkxBQ0FNSUVGQUJBbXNBQUF3Z1FXQUVDWXdBSUFDQk5ZQUFCaEFnc0FJ
RXhnQVFDRUNTd0FnRENCQlFBUQpKckFBQU1JRUZnQkFtTUFDQUFnVFdBQUFZUUlMQUNCTVlBRUFo
QWtzQUlBd2dRVUFFQ2F3QUFEQ0JCWUFRSmpBQWdBSUUxZ0FBR0VDCkN3QWdUR0FCQUlRSkxBQ0FN
SUVGQUJBbXNBQUF3Z1FXQUVDWXdBSUFDQk5ZQUFCaEFnc0FJRXhnQVFDRUNTd0FnRENCQlFBUUpy
QUEKQU1JRUZnQkFtTUFDQUFnVFdBQUFZUUlMQUNCTVlBRUFoQWtzQUlBd2dRVUFFQ2F3QUFEQ0JC
WUFRSmpBQWdBSUUxZ0FBR0VDQ3dBZwpUR0FCQUlRSkxBQ0FNSUVGQUJBbXNBQUF3Z1FXQUVDWXdB
SUFDQk5ZQUFCaEFnc0FJRXhnQVFDRUNTd0FnRENCQlFBUUpyQUFBTUlFCkZnQkFtTUFDQUFnVFdB
QUFZUUlMQUNCTVlBRUFoQWtzQUlBd2dRVUFFQ2F3QUFEQ0JCWUFRSmpBQWdBSUUxZ0FBR0VDQ3dB
Z1RHQUIKQUlRSkxBQ0FNSUVGQUJBbXNBQUF3Z1FXQUVDWXdBSUFDQk5ZQUFCaEFnc0FJRXhnQVFD
RUNTd0FnRENCQlFBUUpyQUFBTUlFRmdCQQptTUFDQUFnVFdBQUFZUUlMQUNCTVlBRUFoQWtzQUlB
d2dRVUFFQ2F3QUFEQ0JCWUFRSmpBQWdBSUUxZ0FBR0VDQ3dBZ1RHQUJBSVFKCkxBQ0FNSUVGQUJB
bXNBQUF3Z1FXQUVDWXdBSUFDQk5ZQUFCaEFnc0FJRXhnQVFDRUNTd0FnRENCQlFBUUpyQUFBTUlF
RmdCQW1NQUMKQUFnVFdBQUFZUUlMQUNCTVlBRUFoQWtzQUlBd2dRVUFFQ2F3QUFEQ0JCWUFRSmpB
QWdBSUUxZ0FBR0VDQ3dBZ1RHQUJBSVFKTEFDQQpNSUVGQUJBbXNBQUF3Z1FXQUVDWXdBSUFDQk5Z
QUFCaEFnc0FJRXhnQVFDRUNTd0FnRENCQlFBUUpyQUFBTUlFRmdCQW1NQUNBQWdUCldBQUFZUUlM
QUNCTVlBRUFoQWtzQUlBd2dRVUFFQ2F3QUFEQ0JCWUFRSmpBQWdBSUUxZ0FBR0VDQ3dBZ1RHQUJB
SVFKTEFDQU1JRUYKQUJBbXNBQUF3Z1FXQUVDWXdBSUFDQk5ZQUFCaEFnc0FJRXhnQVFDRUNTd0Fn
RENCQlFBUUpyQUFBTUlFRmdCQW1NQUNBQWdUV0FBQQpZUUlMQUNCTVlBRUFoQWtzQUlBd2dRVUFF
Q2F3QUFEQ0JCWUFRSmpBQWdBSUUxZ0FBR0VDQ3dBZ1RHQUJBSVFKTEFDQU1JRUZBQkFtCnNBQUF3
Z1FXQUVDWXdBSUFDQk5ZQUFCaEFnc0FJRXhnQVFDRUNTd0FnRENCQlFBUUpyQUFBTUlFRmdCQW1N
QUNBQWdUV0FBQVlRSUwKQUNCTVlBRUFoQWtzQUlBd2dRVUFFQ2F3QUFEQ0JCWUFRSmpBQWdBSUUx
Z0FBR0VDQ3dBZ1RHQUJBSVFKTEFDQU1JRUZBQkFtc0FBQQp3Z1FXQUVDWXdBSUFDQk5ZQUFCaEFn
c0FJRXhnQVFDRUNTd0FnRENCQlFBUUpyQUFBTUlFRmdCQW1NQUNBQWdUV0FBQVlRSUxBQ0JNCllB
RUFoQWtzQUlBd2dRVUFFQ2F3QUFEQ0JCWUFRSmpBQWdBSUUxZ0FBR0VDQ3dBZ1RHQUJBSVFKTEFD
QU1JRUZBQkFtc0FBQXdnUVcKQUVDWXdBSUFDQk5ZQUFCaEFnc0FJRXhnQVFDRUNTd0FnRENCQlFB
UUpyQUFBTUlFRmdCQW1NQUNBQWdUV0FBQVlRSUxBQ0JNWUFFQQpoQWtzQUlBd2dRVUFFQ2F3QUFE
Q0JCWUFRSmpBQWdBSUUxZ0FBR0VDQ3dBZ1RHQUJBSVFKTEFDQU1JRUZBQkFtc0FBQXdnUVdBRUNZ
CndBSUFDQk5ZQUFCaEFnc0FJRXhnQVFDRUNTd0FnRENCQlFBUUpyQUFBTUlFRmdCQW1NQUNBQWdU
V0FBQVlRSUxBQ0JNWUFFQWhBa3MKQUlBd2dRVUFFQ2F3QUFEQ0JCWUFRSmpBQWdBSUUxZ0FBR0VD
Q3dBZ1RHQUJBSVFKTEFDQU1JRUZBQkFtc0FBQXdnUVdBRUNZd0FJQQpDQk5ZQUFCaEFnc0FJRXhn
QVFDRUNTd0FnRENCQlFBUUpyQUFBTUlFRmdCQW1NQUNBQWdUV0FBQVlRSUxBQ0JNWUFFQWhBa3NB
SUF3CmdRVUFFQ2F3QUFEQ0JCWUFRSmpBQWdBSUUxZ0FBR0VDQ3dBZ1RHQUJBSVFKTEFDQU1JRUZB
QkFtc0FBQXdnUVdBRUNZd0FJQUNCTlkKQUFCaEFnc0FJRXhnQVFDRUNTd0FnRENCQlFBUUpyQUFB
TUlFRmdCQW1NQUNBQWdUV0FBQVlRSUxBQ0JNWUFFQWhBa3NBSUF3Z1FVQQpFQ2F3QUFEQ0JCWUFR
SmpBQWdBSUUxZ0FBR0VDQ3dBZ1RHQUJBSVFKTEFDQU1JRUZBQkFtc0FBQXdnUVdBRUNZd0FJQUNC
TllBQUJoCkFnc0FJRXhnQVFDRUNTd0FnRENCQlFBUUpyQUFBTUlFRmdCQW1NQUNBQWdUV0FBQVlR
SUxBQ0JNWUFFQWhBa3NBSUF3Z1FVQUVDYXcKQUFEQ0JCWUFRSmpBQWdBSUUxZ0FBR0VDQ3dBZ1RH
QUJBSVFKTEFDQU1JRUZBQkFtc0FBQXdnUVdBRUNZd0FJQUNCTllBQUJoQWdzQQpJRXhnQVFDRUNT
d0FnRENCQlFBUUpyQUFBTUlFRmdCQW1NQUNBQWdUV0FBQVlRSUxBQ0JNWUFFQWhBa3NBSUF3Z1FV
QUVDYXdBQURDCkJCWUFRSmpBQWdBSUUxZ0FBR0VDQ3dBZ1RHQUJBSVFKTEFDQU1JRUZBQkFtc0FB
QXdnUVdBRUNZd0FJQUNCTllBQUJoQWdzQUlFeGcKQVFDRUNTd0FnRENCQlFBUUpyQUFBTUlFRmdC
QW1NQUNBQWdUV0FBQVlRSUxBQ0JNWUFFQWhBa3NBSUF3Z1FVQUVDYXdBQURDQkJZQQpRSmpBQWdB
SUUxZ0FBR0VDQ3dBZ1RHQUJBSVFKTEFDQU1JRUZBQkFtc0FBQXdnUVdBRUNZd0FJQUNCTllBQUJo
QWdzQUlFeGdBUUNFCkNTd0FnRENCQlFBUUpyQUFBTUlFRmdCQW1NQUNBQWdUV0FBQVlRSUxBQ0JN
WUFFQWhBa3NBSUF3Z1FVQUVDYXdBQURDQkJZQVFKakEKQWdBSUUxZ0FBR0VDQ3dBZ1RHQUJBSVFK
TEFDQU1JRUZBQkFtc0FBQXdnUVdBRUNZd0FJQUNCTllBQUJoQWdzQUlFeGdBUUNFQ1N3QQpnRENC
QlFBUUpyQUFBTUlFRmdCQW1NQUNBQWdUV0FBQVlRSUxBQ0JNWUFFQWhBa3NBSUF3Z1FVQUVDYXdB
QURDQkJZQVFKakFBZ0FJCkUxZ0FBR0VDQ3dBZ1RHQUJBSVFKTEFDQU1JRUZBQkFtc0FBQXdnUVdB
RUNZd0FJQUNCTllBQUJoQWdzQUlFeGdBUUNFQ1N3QWdEQ0IKQlFBUUpyQUFBTUlFRmdCQW1NQUNB
QWdUV0FBQVlRSUxBQ0JNWUFFQWhBa3NBSUF3Z1FVQUVDYXdBQURDQkJZQVFKakFBZ0FJRTFnQQpB
R0VDQ3dBZ1RHQUJBSVFKTEFDQU1JRUZBQkFtc0FBQXdnUVdBRUNZd0FJQUNCTllBQUJoQWdzQUlF
eGdBUUNFQ1N3QWdEQ0JCUUFRCkpyQUFBTUlFRmdCQW1NQUNBQWdUV0FBQVlRSUxBQ0JNWUFFQWhB
a3NBSUF3Z1FVQUVDYXdBQURDQkJZQVFKakFBZ0FJRTFnQUFHRUMKQ3dBZzdIK1Bic2tNanBCbUdB
QUFBQUJKUlU1RXJrSmdnZz09Cgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>76229</attachid>
            <date>2010-12-10 11:37:36 -0800</date>
            <delta_ts>2010-12-10 13:29:42 -0800</delta_ts>
            <desc>patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>3748</size>
            <attacher>dgrogan</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5jcHAJKHJldmlzaW9uIDczNjMwKQorKysgV2Vi
Q29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOSw2ICsz
OSw3IEBACiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KICNpbmNsdWRlIDx3dGYvU3RkTGli
RXh0cmFzLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQnVmZmVyLmg+CisjaW5jbHVkZSA8
bWF0aC5oPgogCiAjaWYgRU5BQkxFKERBU0hCT0FSRF9TVVBQT1JUKQogI2luY2x1ZGUgIkRhc2hi
b2FyZFJlZ2lvbi5oIgpAQCAtMzg4LDYgKzM4OSw3IEBAIGRvdWJsZSBDU1NQcmltaXRpdmVWYWx1
ZTo6Y29tcHV0ZUxlbmd0aEQKICAgICAvLyBhcyB3ZWxsIGFzIGVuZm9yY2luZyB0aGUgaW1wbGlj
aXQgInNtYXJ0IG1pbmltdW0uIiAgSW4gYWRkaXRpb24gdGhlIENTUyBwcm9wZXJ0eSB0ZXh0LXNp
emUtYWRqdXN0IGlzIHVzZWQgdG8KICAgICAvLyBwcmV2ZW50IHRleHQgZnJvbSB6b29taW5nIGF0
IGFsbC4gIFRoZXJlZm9yZSB3ZSB3aWxsIG5vdCBhcHBseSB0aGUgem9vbSBoZXJlIGlmIHdlIGFy
ZSBjb21wdXRpbmcgZm9udC1zaXplLgogICAgIGJvb2wgYXBwbHlab29tTXVsdGlwbGllciA9ICFj
b21wdXRpbmdGb250U2l6ZTsKKyAgICBib29sIHNob3VsZFJvdW5kID0gdHJ1ZTsKIAogICAgIGRv
dWJsZSBmYWN0b3IgPSAxLjA7CiAgICAgc3dpdGNoICh0eXBlKSB7CkBAIC00MDcsNiArNDA5LDcg
QEAgZG91YmxlIENTU1ByaW1pdGl2ZVZhbHVlOjpjb21wdXRlTGVuZ3RoRAogICAgICAgICAgICAg
ZmFjdG9yID0gY29tcHV0aW5nRm9udFNpemUgPyByb290U3R5bGUtPmZvbnREZXNjcmlwdGlvbigp
LnNwZWNpZmllZFNpemUoKSA6IHJvb3RTdHlsZS0+Zm9udERlc2NyaXB0aW9uKCkuY29tcHV0ZWRT
aXplKCk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBDU1NfUFg6CisgICAgICAg
ICAgICBzaG91bGRSb3VuZCA9IGZhbHNlOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNh
c2UgQ1NTX0NNOgogICAgICAgICAgICAgZmFjdG9yID0gY3NzUGl4ZWxzUGVySW5jaCAvIDIuNTQ7
IC8vICgyLjU0IGNtL2luKQpAQCAtNDI5LDkgKzQzMiwxMyBAQCBkb3VibGUgQ1NTUHJpbWl0aXZl
VmFsdWU6OmNvbXB1dGVMZW5ndGhECiAgICAgfQogCiAgICAgZG91YmxlIHJlc3VsdCA9IGdldERv
dWJsZVZhbHVlKCkgKiBmYWN0b3I7CisgICAgZG91YmxlIHJvdW5kZWRfcmVzdWx0ID0gcmVzdWx0
OworICAgIGlmIChzaG91bGRSb3VuZCkgeworICAgICAgICByb3VuZGVkX3Jlc3VsdCA9IHJvdW5k
KHJlc3VsdCk7CisgICAgfQogICAgIGlmICghYXBwbHlab29tTXVsdGlwbGllciB8fCBtdWx0aXBs
aWVyID09IDEuMCkKLSAgICAgICAgcmV0dXJuIHJlc3VsdDsKLSAgICAgCisgICAgICAgIHJldHVy
biByb3VuZGVkX3Jlc3VsdDsKKwogICAgIC8vIEFueSBvcmlnaW5hbCByZXN1bHQgdGhhdCB3YXMg
Pj0gMSBzaG91bGQgbm90IGJlIGFsbG93ZWQgdG8gZmFsbCBiZWxvdyAxLiAgVGhpcyBrZWVwcyBi
b3JkZXIgbGluZXMgZnJvbQogICAgIC8vIHZhbmlzaGluZy4KICAgICBkb3VibGUgem9vbWVkUmVz
dWx0ID0gcmVzdWx0ICogbXVsdGlwbGllcjsKSW5kZXg6IExheW91dFRlc3RzL2NzczEvdW5pdHMv
cm91bmRpbmctZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2NzczEvdW5p
dHMvcm91bmRpbmctZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvY3Nz
MS91bml0cy9yb3VuZGluZy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTIg
QEAKK25vIGdhcCBiZWxvdworbm8gZ2FwIGFib3ZlCitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgZmxv
YXRpbmcgcG9pbnQgcm91bmRpbmcgZG9lc24ndCBjYXVzZSBtaXNhbGlnbm1lbnQuIFRoZXJlIHNo
b3VsZCBiZSBubyBnYXAgYmV0d2VlbiB0aGUgZGl2cy4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGRpdnRvcC5ib3R0b20gaXMgMzEKK1BBU1MgZGl2Ym90dG9tLnRvcCBpcyAz
MQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5k
ZXg6IExheW91dFRlc3RzL2NzczEvdW5pdHMvcm91bmRpbmcuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9jc3MxL3VuaXRzL3JvdW5kaW5nLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlv
dXRUZXN0cy9jc3MxL3VuaXRzL3JvdW5kaW5nLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEs
NDkgQEAKKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4u
L2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8c3R5bGUgdHlwZT0idGV4
dC9jc3MiPgorICAgIGJvZHksIGRpdiB7CisgICAgICAgIG1hcmdpbjogMDsKKyAgICAgICAgcGFk
ZGluZzogMDsKKyAgICAgICAgYm9yZGVyOiAwOworICAgIH0KKyAgICAjdG9wLCAjYm90dG9tIHsK
KyAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTsKKyAgICAgICAgZm9udC1zaXplOiA3MCU7CisgICAg
ICAgIGJhY2tncm91bmQ6Z3JlZW47CisgICAgICAgIGNvbG9yOndoaXRlOworICAgICAgICB3aWR0
aDoxMDAlOworICAgIH0KKyAgICAjdG9wIHsKKyAgICAgICAgcGFkZGluZzouNmVtIDAgLjdlbTsK
KyAgICB9CisgICAgI2JvdHRvbSB7CisgICAgICBwb3NpdGlvbjphYnNvbHV0ZTsKKyAgICAgIHRv
cDoyLjhlbTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+CisKKzxkaXYgaWQ9InRv
cCI+bm8gZ2FwIGJlbG93PC9kaXY+Cis8ZGl2IGlkPSJib3R0b20iPm5vIGdhcCBhYm92ZTwvZGl2
PgorCis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0PgorCitkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IGNoZWNrcyB0aGF0
IGZsb2F0aW5nIHBvaW50IHJvdW5kaW5nIGRvZXNuJ3QgY2F1c2UgbWlzYWxpZ25tZW50LiAgVGhl
cmUgc2hvdWxkIGJlIG5vIGdhcCBiZXR3ZWVuIHRoZSBkaXZzLiIpOworCit2YXIgZGl2dG9wID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRvcCIpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOwor
dmFyIGRpdmJvdHRvbSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJib3R0b20iKS5nZXRCb3Vu
ZGluZ0NsaWVudFJlY3QoKTsKK3Nob3VsZEJlKCdkaXZ0b3AuYm90dG9tJywgJzMxJyk7CitzaG91
bGRCZSgnZGl2Ym90dG9tLnRvcCcsICczMScpOworCitzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVl
OworPC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorCis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>76248</attachid>
            <date>2010-12-10 13:29:42 -0800</date>
            <delta_ts>2010-12-10 13:59:23 -0800</delta_ts>
            <desc>patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>3735</size>
            <attacher>dgrogan</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5jcHAJKHJldmlzaW9uIDczNjMwKQorKysgV2Vi
Q29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNCw2ICsz
NCw3IEBACiAjaW5jbHVkZSAiUkdCQ29sb3IuaCIKICNpbmNsdWRlICJSZWN0LmgiCiAjaW5jbHVk
ZSAiUmVuZGVyU3R5bGUuaCIKKyNpbmNsdWRlIDxtYXRoLmg+CiAjaW5jbHVkZSA8d3RmL0FTQ0lJ
Q1R5cGUuaD4KICNpbmNsdWRlIDx3dGYvRGVjaW1hbE51bWJlci5oPgogI2luY2x1ZGUgPHd0Zi9N
YXRoRXh0cmFzLmg+CkBAIC0zODgsNiArMzg5LDcgQEAgZG91YmxlIENTU1ByaW1pdGl2ZVZhbHVl
Ojpjb21wdXRlTGVuZ3RoRAogICAgIC8vIGFzIHdlbGwgYXMgZW5mb3JjaW5nIHRoZSBpbXBsaWNp
dCAic21hcnQgbWluaW11bS4iICBJbiBhZGRpdGlvbiB0aGUgQ1NTIHByb3BlcnR5IHRleHQtc2l6
ZS1hZGp1c3QgaXMgdXNlZCB0bwogICAgIC8vIHByZXZlbnQgdGV4dCBmcm9tIHpvb21pbmcgYXQg
YWxsLiAgVGhlcmVmb3JlIHdlIHdpbGwgbm90IGFwcGx5IHRoZSB6b29tIGhlcmUgaWYgd2UgYXJl
IGNvbXB1dGluZyBmb250LXNpemUuCiAgICAgYm9vbCBhcHBseVpvb21NdWx0aXBsaWVyID0gIWNv
bXB1dGluZ0ZvbnRTaXplOworICAgIGJvb2wgc2hvdWxkUm91bmQgPSB0cnVlOwogCiAgICAgZG91
YmxlIGZhY3RvciA9IDEuMDsKICAgICBzd2l0Y2ggKHR5cGUpIHsKQEAgLTQwNyw2ICs0MDksNyBA
QCBkb3VibGUgQ1NTUHJpbWl0aXZlVmFsdWU6OmNvbXB1dGVMZW5ndGhECiAgICAgICAgICAgICBm
YWN0b3IgPSBjb21wdXRpbmdGb250U2l6ZSA/IHJvb3RTdHlsZS0+Zm9udERlc2NyaXB0aW9uKCku
c3BlY2lmaWVkU2l6ZSgpIDogcm9vdFN0eWxlLT5mb250RGVzY3JpcHRpb24oKS5jb21wdXRlZFNp
emUoKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIENTU19QWDoKKyAgICAgICAg
ICAgIHNob3VsZFJvdW5kID0gZmFsc2U7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2Fz
ZSBDU1NfQ006CiAgICAgICAgICAgICBmYWN0b3IgPSBjc3NQaXhlbHNQZXJJbmNoIC8gMi41NDsg
Ly8gKDIuNTQgY20vaW4pCkBAIC00MjksOSArNDMyLDEyIEBAIGRvdWJsZSBDU1NQcmltaXRpdmVW
YWx1ZTo6Y29tcHV0ZUxlbmd0aEQKICAgICB9CiAKICAgICBkb3VibGUgcmVzdWx0ID0gZ2V0RG91
YmxlVmFsdWUoKSAqIGZhY3RvcjsKKyAgICBkb3VibGUgcm91bmRlZFJlc3VsdCA9IHJlc3VsdDsK
KyAgICBpZiAoc2hvdWxkUm91bmQpCisgICAgICAgIHJvdW5kZWRSZXN1bHQgPSByb3VuZChyZXN1
bHQpOwogICAgIGlmICghYXBwbHlab29tTXVsdGlwbGllciB8fCBtdWx0aXBsaWVyID09IDEuMCkK
LSAgICAgICAgcmV0dXJuIHJlc3VsdDsKLSAgICAgCisgICAgICAgIHJldHVybiByb3VuZGVkUmVz
dWx0OworCiAgICAgLy8gQW55IG9yaWdpbmFsIHJlc3VsdCB0aGF0IHdhcyA+PSAxIHNob3VsZCBu
b3QgYmUgYWxsb3dlZCB0byBmYWxsIGJlbG93IDEuICBUaGlzIGtlZXBzIGJvcmRlciBsaW5lcyBm
cm9tCiAgICAgLy8gdmFuaXNoaW5nLgogICAgIGRvdWJsZSB6b29tZWRSZXN1bHQgPSByZXN1bHQg
KiBtdWx0aXBsaWVyOwpJbmRleDogTGF5b3V0VGVzdHMvY3NzMS91bml0cy9yb3VuZGluZy1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvY3NzMS91bml0cy9yb3VuZGluZy1l
eHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9jc3MxL3VuaXRzL3JvdW5k
aW5nLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxMiBAQAorbm8gZ2FwIGJl
bG93CitubyBnYXAgYWJvdmUKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBmbG9hdGluZyBwb2ludCBy
b3VuZGluZyBkb2Vzbid0IGNhdXNlIG1pc2FsaWdubWVudC4gVGhlcmUgc2hvdWxkIGJlIG5vIGdh
cCBiZXR3ZWVuIHRoZSBkaXZzLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1Mg
ZGl2dG9wLmJvdHRvbSBpcyAzMQorUEFTUyBkaXZib3R0b20udG9wIGlzIDMxCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJbmRleDogTGF5b3V0VGVz
dHMvY3NzMS91bml0cy9yb3VuZGluZy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Nz
czEvdW5pdHMvcm91bmRpbmcuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2NzczEv
dW5pdHMvcm91bmRpbmcuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0OSBAQAorPGh0bWw+
Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vZmFzdC9qcy9yZXNv
dXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisgICAg
Ym9keSwgZGl2IHsKKyAgICAgICAgbWFyZ2luOiAwOworICAgICAgICBwYWRkaW5nOiAwOworICAg
ICAgICBib3JkZXI6IDA7CisgICAgfQorICAgICN0b3AsICNib3R0b20geworICAgICAgICBsaW5l
LWhlaWdodDogMS41OworICAgICAgICBmb250LXNpemU6IDcwJTsKKyAgICAgICAgYmFja2dyb3Vu
ZDpncmVlbjsKKyAgICAgICAgY29sb3I6d2hpdGU7CisgICAgICAgIHdpZHRoOjEwMCU7CisgICAg
fQorICAgICN0b3AgeworICAgICAgICBwYWRkaW5nOi42ZW0gMCAuN2VtOworICAgIH0KKyAgICAj
Ym90dG9tIHsKKyAgICAgIHBvc2l0aW9uOmFic29sdXRlOworICAgICAgdG9wOjIuOGVtOworICAg
IH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKworPGRpdiBpZD0idG9wIj5ubyBnYXAgYmVs
b3c8L2Rpdj4KKzxkaXYgaWQ9ImJvdHRvbSI+bm8gZ2FwIGFib3ZlPC9kaXY+CisKKzxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQ+CisKK2Rlc2NyaXB0aW9uKCJUaGlzIHRlc3QgY2hlY2tzIHRoYXQgZmxvYXRpbmcgcG9p
bnQgcm91bmRpbmcgZG9lc24ndCBjYXVzZSBtaXNhbGlnbm1lbnQuICBUaGVyZSBzaG91bGQgYmUg
bm8gZ2FwIGJldHdlZW4gdGhlIGRpdnMuIik7CisKK3ZhciBkaXZ0b3AgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgidG9wIikuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7Cit2YXIgZGl2Ym90dG9t
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJvdHRvbSIpLmdldEJvdW5kaW5nQ2xpZW50UmVj
dCgpOworc2hvdWxkQmUoJ2RpdnRvcC5ib3R0b20nLCAnMzEnKTsKK3Nob3VsZEJlKCdkaXZib3R0
b20udG9wJywgJzMxJyk7CisKK3N1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4K
KworPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+CisKKzwvYm9keT4KKzwvaHRtbD4K
</data>
<flag name="review"
          id="67162"
          type_id="1"
          status="-"
          setter="abarth"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>76255</attachid>
            <date>2010-12-10 13:59:23 -0800</date>
            <delta_ts>2011-01-05 18:14:42 -0800</delta_ts>
            <desc>patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>5103</size>
            <attacher>dgrogan</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3Mzc5OSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTYgQEAKKzIwMTAtMTItMTAgIERhdmlkIEdyb2dhbiAgPGRncm9nYW5AZ29vZ2xl
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBN
YWtlIFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpjb21wdXRlTGVuZ3RoRG91YmxlIHJvdW5k
LCByYXRoZXIKKyAgICAgICAgdGhhbiB0cnVuY2F0ZSwgbGVuZ3RocyBzcGVjaWZpZWQgaW4gdW5p
dHMgb3RoZXIgdGhhbiBwaXhlbHMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMjc1OQorCisgICAgICAgIFRlc3Q6IGNzczEvdW5pdHMvcm91bmRpbmcu
aHRtbAorCisgICAgICAgICogY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpjb21wdXRlTGVuZ3RoRG91YmxlKToKKwogMjAxMC0x
Mi0xMCAgRW1pbCBFa2x1bmQgIDxlYWVAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2Vk
IGJ5IEFkYW0gQmFydGguCkluZGV4OiBXZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3BwCShyZXZpc2lv
biA3MzYzMCkKKysrIFdlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMzQsNiArMzQsNyBAQAogI2luY2x1ZGUgIlJHQkNvbG9yLmgiCiAjaW5jbHVkZSAi
UmVjdC5oIgogI2luY2x1ZGUgIlJlbmRlclN0eWxlLmgiCisjaW5jbHVkZSA8bWF0aC5oPgogI2lu
Y2x1ZGUgPHd0Zi9BU0NJSUNUeXBlLmg+CiAjaW5jbHVkZSA8d3RmL0RlY2ltYWxOdW1iZXIuaD4K
ICNpbmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgpAQCAtMzg4LDYgKzM4OSw3IEBAIGRvdWJsZSBD
U1NQcmltaXRpdmVWYWx1ZTo6Y29tcHV0ZUxlbmd0aEQKICAgICAvLyBhcyB3ZWxsIGFzIGVuZm9y
Y2luZyB0aGUgaW1wbGljaXQgInNtYXJ0IG1pbmltdW0uIiAgSW4gYWRkaXRpb24gdGhlIENTUyBw
cm9wZXJ0eSB0ZXh0LXNpemUtYWRqdXN0IGlzIHVzZWQgdG8KICAgICAvLyBwcmV2ZW50IHRleHQg
ZnJvbSB6b29taW5nIGF0IGFsbC4gIFRoZXJlZm9yZSB3ZSB3aWxsIG5vdCBhcHBseSB0aGUgem9v
bSBoZXJlIGlmIHdlIGFyZSBjb21wdXRpbmcgZm9udC1zaXplLgogICAgIGJvb2wgYXBwbHlab29t
TXVsdGlwbGllciA9ICFjb21wdXRpbmdGb250U2l6ZTsKKyAgICBib29sIHNob3VsZFJvdW5kID0g
dHJ1ZTsKIAogICAgIGRvdWJsZSBmYWN0b3IgPSAxLjA7CiAgICAgc3dpdGNoICh0eXBlKSB7CkBA
IC00MDcsNiArNDA5LDcgQEAgZG91YmxlIENTU1ByaW1pdGl2ZVZhbHVlOjpjb21wdXRlTGVuZ3Ro
RAogICAgICAgICAgICAgZmFjdG9yID0gY29tcHV0aW5nRm9udFNpemUgPyByb290U3R5bGUtPmZv
bnREZXNjcmlwdGlvbigpLnNwZWNpZmllZFNpemUoKSA6IHJvb3RTdHlsZS0+Zm9udERlc2NyaXB0
aW9uKCkuY29tcHV0ZWRTaXplKCk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBD
U1NfUFg6CisgICAgICAgICAgICBzaG91bGRSb3VuZCA9IGZhbHNlOwogICAgICAgICAgICAgYnJl
YWs7CiAgICAgICAgIGNhc2UgQ1NTX0NNOgogICAgICAgICAgICAgZmFjdG9yID0gY3NzUGl4ZWxz
UGVySW5jaCAvIDIuNTQ7IC8vICgyLjU0IGNtL2luKQpAQCAtNDI5LDkgKzQzMiwxMiBAQCBkb3Vi
bGUgQ1NTUHJpbWl0aXZlVmFsdWU6OmNvbXB1dGVMZW5ndGhECiAgICAgfQogCiAgICAgZG91Ymxl
IHJlc3VsdCA9IGdldERvdWJsZVZhbHVlKCkgKiBmYWN0b3I7CisgICAgZG91YmxlIHJvdW5kZWRS
ZXN1bHQgPSByZXN1bHQ7CisgICAgaWYgKHNob3VsZFJvdW5kKQorICAgICAgICByb3VuZGVkUmVz
dWx0ID0gcm91bmQocmVzdWx0KTsKICAgICBpZiAoIWFwcGx5Wm9vbU11bHRpcGxpZXIgfHwgbXVs
dGlwbGllciA9PSAxLjApCi0gICAgICAgIHJldHVybiByZXN1bHQ7Ci0gICAgIAorICAgICAgICBy
ZXR1cm4gcm91bmRlZFJlc3VsdDsKKwogICAgIC8vIEFueSBvcmlnaW5hbCByZXN1bHQgdGhhdCB3
YXMgPj0gMSBzaG91bGQgbm90IGJlIGFsbG93ZWQgdG8gZmFsbCBiZWxvdyAxLiAgVGhpcyBrZWVw
cyBib3JkZXIgbGluZXMgZnJvbQogICAgIC8vIHZhbmlzaGluZy4KICAgICBkb3VibGUgem9vbWVk
UmVzdWx0ID0gcmVzdWx0ICogbXVsdGlwbGllcjsKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxv
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDczNzk5KQor
KysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAK
KzIwMTAtMTItMTAgIERhdmlkIEdyb2dhbiAgPGRncm9nYW5AZ29vZ2xlLmNvbT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNYWtlIFdlYkNvcmU6OkNT
U1ByaW1pdGl2ZVZhbHVlOjpjb21wdXRlTGVuZ3RoRG91YmxlIHJvdW5kLCByYXRoZXIKKyAgICAg
ICAgdGhhbiB0cnVuY2F0ZSwgbGVuZ3RocyBzcGVjaWZpZWQgaW4gdW5pdHMgb3RoZXIgdGhhbiBw
aXhlbHMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
Mjc1OQorCisgICAgICAgICogY3NzMS91bml0cy9yb3VuZGluZy1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGNzczEvdW5pdHMvcm91bmRpbmcuaHRtbDogQWRkZWQuCisKIDIwMTAtMTIt
MTAgIEVtaWwgRWtsdW5kICA8ZWFlQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBi
eSBBZGFtIEJhcnRoLgpJbmRleDogTGF5b3V0VGVzdHMvY3NzMS91bml0cy9yb3VuZGluZy1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvY3NzMS91bml0cy9yb3VuZGluZy1l
eHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9jc3MxL3VuaXRzL3JvdW5k
aW5nLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxMiBAQAorbm8gZ2FwIGJl
bG93CitubyBnYXAgYWJvdmUKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBmbG9hdGluZyBwb2ludCBy
b3VuZGluZyBkb2Vzbid0IGNhdXNlIG1pc2FsaWdubWVudC4gVGhlcmUgc2hvdWxkIGJlIG5vIGdh
cCBiZXR3ZWVuIHRoZSBkaXZzLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1Mg
ZGl2dG9wLmJvdHRvbSBpcyAzMQorUEFTUyBkaXZib3R0b20udG9wIGlzIDMxCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJbmRleDogTGF5b3V0VGVz
dHMvY3NzMS91bml0cy9yb3VuZGluZy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Nz
czEvdW5pdHMvcm91bmRpbmcuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2NzczEv
dW5pdHMvcm91bmRpbmcuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0OSBAQAorPGh0bWw+
Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vZmFzdC9qcy9yZXNv
dXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisgICAg
Ym9keSwgZGl2IHsKKyAgICAgICAgbWFyZ2luOiAwOworICAgICAgICBwYWRkaW5nOiAwOworICAg
ICAgICBib3JkZXI6IDA7CisgICAgfQorICAgICN0b3AsICNib3R0b20geworICAgICAgICBsaW5l
LWhlaWdodDogMS41OworICAgICAgICBmb250LXNpemU6IDcwJTsKKyAgICAgICAgYmFja2dyb3Vu
ZDpncmVlbjsKKyAgICAgICAgY29sb3I6d2hpdGU7CisgICAgICAgIHdpZHRoOjEwMCU7CisgICAg
fQorICAgICN0b3AgeworICAgICAgICBwYWRkaW5nOi42ZW0gMCAuN2VtOworICAgIH0KKyAgICAj
Ym90dG9tIHsKKyAgICAgIHBvc2l0aW9uOmFic29sdXRlOworICAgICAgdG9wOjIuOGVtOworICAg
IH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKworPGRpdiBpZD0idG9wIj5ubyBnYXAgYmVs
b3c8L2Rpdj4KKzxkaXYgaWQ9ImJvdHRvbSI+bm8gZ2FwIGFib3ZlPC9kaXY+CisKKzxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQ+CisKK2Rlc2NyaXB0aW9uKCJUaGlzIHRlc3QgY2hlY2tzIHRoYXQgZmxvYXRpbmcgcG9p
bnQgcm91bmRpbmcgZG9lc24ndCBjYXVzZSBtaXNhbGlnbm1lbnQuICBUaGVyZSBzaG91bGQgYmUg
bm8gZ2FwIGJldHdlZW4gdGhlIGRpdnMuIik7CisKK3ZhciBkaXZ0b3AgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgidG9wIikuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7Cit2YXIgZGl2Ym90dG9t
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJvdHRvbSIpLmdldEJvdW5kaW5nQ2xpZW50UmVj
dCgpOworc2hvdWxkQmUoJ2RpdnRvcC5ib3R0b20nLCAnMzEnKTsKK3Nob3VsZEJlKCdkaXZib3R0
b20udG9wJywgJzMxJyk7CisKK3N1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4K
KworPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+CisKKzwvYm9keT4KKzwvaHRtbD4K
</data>
<flag name="review"
          id="67173"
          type_id="1"
          status="-"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>78083</attachid>
            <date>2011-01-05 18:14:42 -0800</date>
            <delta_ts>2011-02-28 14:28:10 -0800</delta_ts>
            <desc>Patch updated to address Darin&apos;s comment.</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>5038</size>
            <attacher>dgrogan</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3NTEyNCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTYgQEAKKzIwMTEtMDEtMDUgIERhdmlkIEdyb2dhbiAgPGRncm9nYW5AZ29vZ2xl
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBN
YWtlIFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpjb21wdXRlTGVuZ3RoRG91YmxlIHJvdW5k
LCByYXRoZXIKKyAgICAgICAgdGhhbiB0cnVuY2F0ZSwgbGVuZ3RocyBzcGVjaWZpZWQgaW4gdW5p
dHMgb3RoZXIgdGhhbiBwaXhlbHMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMjc1OQorCisgICAgICAgIFRlc3Q6IGNzczEvdW5pdHMvcm91bmRpbmcu
aHRtbAorCisgICAgICAgICogY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpjb21wdXRlTGVuZ3RoRG91YmxlKToKKwogMjAxMS0w
MS0wNSAgSmFtZXMgU2ltb25zZW4gIDxzaW1vbmphbUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgRGFyaW4gRmlzaGVyLgpJbmRleDogV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZl
VmFsdWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmNw
cAkocmV2aXNpb24gNzUxMjMpCisrKyBXZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTM0LDYgKzM0LDcgQEAKICNpbmNsdWRlICJSR0JDb2xvci5oIgog
I2luY2x1ZGUgIlJlY3QuaCIKICNpbmNsdWRlICJSZW5kZXJTdHlsZS5oIgorI2luY2x1ZGUgPG1h
dGguaD4KICNpbmNsdWRlIDx3dGYvQVNDSUlDVHlwZS5oPgogI2luY2x1ZGUgPHd0Zi9EZWNpbWFs
TnVtYmVyLmg+CiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KQEAgLTM4OCw2ICszODksNyBA
QCBkb3VibGUgQ1NTUHJpbWl0aXZlVmFsdWU6OmNvbXB1dGVMZW5ndGhECiAgICAgLy8gYXMgd2Vs
bCBhcyBlbmZvcmNpbmcgdGhlIGltcGxpY2l0ICJzbWFydCBtaW5pbXVtLiIgIEluIGFkZGl0aW9u
IHRoZSBDU1MgcHJvcGVydHkgdGV4dC1zaXplLWFkanVzdCBpcyB1c2VkIHRvCiAgICAgLy8gcHJl
dmVudCB0ZXh0IGZyb20gem9vbWluZyBhdCBhbGwuICBUaGVyZWZvcmUgd2Ugd2lsbCBub3QgYXBw
bHkgdGhlIHpvb20gaGVyZSBpZiB3ZSBhcmUgY29tcHV0aW5nIGZvbnQtc2l6ZS4KICAgICBib29s
IGFwcGx5Wm9vbU11bHRpcGxpZXIgPSAhY29tcHV0aW5nRm9udFNpemU7CisgICAgYm9vbCBzaG91
bGRSb3VuZCA9IHRydWU7CiAKICAgICBkb3VibGUgZmFjdG9yID0gMS4wOwogICAgIHN3aXRjaCAo
dHlwZSkgewpAQCAtNDA3LDYgKzQwOSw3IEBAIGRvdWJsZSBDU1NQcmltaXRpdmVWYWx1ZTo6Y29t
cHV0ZUxlbmd0aEQKICAgICAgICAgICAgIGZhY3RvciA9IGNvbXB1dGluZ0ZvbnRTaXplID8gcm9v
dFN0eWxlLT5mb250RGVzY3JpcHRpb24oKS5zcGVjaWZpZWRTaXplKCkgOiByb290U3R5bGUtPmZv
bnREZXNjcmlwdGlvbigpLmNvbXB1dGVkU2l6ZSgpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAg
ICAgIGNhc2UgQ1NTX1BYOgorICAgICAgICAgICAgc2hvdWxkUm91bmQgPSBmYWxzZTsKICAgICAg
ICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIENTU19DTToKICAgICAgICAgICAgIGZhY3RvciA9
IGNzc1BpeGVsc1BlckluY2ggLyAyLjU0OyAvLyAoMi41NCBjbS9pbikKQEAgLTQzMCw4ICs0MzMs
OCBAQCBkb3VibGUgQ1NTUHJpbWl0aXZlVmFsdWU6OmNvbXB1dGVMZW5ndGhECiAKICAgICBkb3Vi
bGUgcmVzdWx0ID0gZ2V0RG91YmxlVmFsdWUoKSAqIGZhY3RvcjsKICAgICBpZiAoIWFwcGx5Wm9v
bU11bHRpcGxpZXIgfHwgbXVsdGlwbGllciA9PSAxLjApCi0gICAgICAgIHJldHVybiByZXN1bHQ7
Ci0gICAgIAorICAgICAgICByZXR1cm4gc2hvdWxkUm91bmQgPyByb3VuZChyZXN1bHQpIDogcmVz
dWx0OworCiAgICAgLy8gQW55IG9yaWdpbmFsIHJlc3VsdCB0aGF0IHdhcyA+PSAxIHNob3VsZCBu
b3QgYmUgYWxsb3dlZCB0byBmYWxsIGJlbG93IDEuICBUaGlzIGtlZXBzIGJvcmRlciBsaW5lcyBm
cm9tCiAgICAgLy8gdmFuaXNoaW5nLgogICAgIGRvdWJsZSB6b29tZWRSZXN1bHQgPSByZXN1bHQg
KiBtdWx0aXBsaWVyOwpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gNzUxMjQpCisrKyBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAorMjAxMS0wMS0wNSAgRGF2
aWQgR3JvZ2FuICA8ZGdyb2dhbkBnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorICAgICAgICBNYWtlIFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpj
b21wdXRlTGVuZ3RoRG91YmxlIHJvdW5kLCByYXRoZXIKKyAgICAgICAgdGhhbiB0cnVuY2F0ZSwg
bGVuZ3RocyBzcGVjaWZpZWQgaW4gdW5pdHMgb3RoZXIgdGhhbiBwaXhlbHMuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjc1OQorCisgICAgICAgICog
Y3NzMS91bml0cy9yb3VuZGluZy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNzczEv
dW5pdHMvcm91bmRpbmcuaHRtbDogQWRkZWQuCisKIDIwMTEtMDEtMDUgIEphbWVzIFNpbW9uc2Vu
ICA8c2ltb25qYW1AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEZp
c2hlci4KSW5kZXg6IExheW91dFRlc3RzL2NzczEvdW5pdHMvcm91bmRpbmctZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2NzczEvdW5pdHMvcm91bmRpbmctZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvY3NzMS91bml0cy9yb3VuZGluZy1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTIgQEAKK25vIGdhcCBiZWxvdworbm8g
Z2FwIGFib3ZlCitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgZmxvYXRpbmcgcG9pbnQgcm91bmRpbmcg
ZG9lc24ndCBjYXVzZSBtaXNhbGlnbm1lbnQuIFRoZXJlIHNob3VsZCBiZSBubyBnYXAgYmV0d2Vl
biB0aGUgZGl2cy4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGRpdnRvcC5i
b3R0b20gaXMgMzEKK1BBU1MgZGl2Ym90dG9tLnRvcCBpcyAzMQorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91dFRlc3RzL2NzczEv
dW5pdHMvcm91bmRpbmcuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9jc3MxL3VuaXRz
L3JvdW5kaW5nLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9jc3MxL3VuaXRzL3Jv
dW5kaW5nLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNDkgQEAKKzxodG1sPgorPGhlYWQ+
Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pz
LXRlc3Qtc3R5bGUuY3NzIi8+Cis8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorICAgIGJvZHksIGRp
diB7CisgICAgICAgIG1hcmdpbjogMDsKKyAgICAgICAgcGFkZGluZzogMDsKKyAgICAgICAgYm9y
ZGVyOiAwOworICAgIH0KKyAgICAjdG9wLCAjYm90dG9tIHsKKyAgICAgICAgbGluZS1oZWlnaHQ6
IDEuNTsKKyAgICAgICAgZm9udC1zaXplOiA3MCU7CisgICAgICAgIGJhY2tncm91bmQ6Z3JlZW47
CisgICAgICAgIGNvbG9yOndoaXRlOworICAgICAgICB3aWR0aDoxMDAlOworICAgIH0KKyAgICAj
dG9wIHsKKyAgICAgICAgcGFkZGluZzouNmVtIDAgLjdlbTsKKyAgICB9CisgICAgI2JvdHRvbSB7
CisgICAgICBwb3NpdGlvbjphYnNvbHV0ZTsKKyAgICAgIHRvcDoyLjhlbTsKKyAgICB9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+CisKKzxkaXYgaWQ9InRvcCI+bm8gZ2FwIGJlbG93PC9kaXY+
Cis8ZGl2IGlkPSJib3R0b20iPm5vIGdhcCBhYm92ZTwvZGl2PgorCis8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0Pgor
CitkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGZsb2F0aW5nIHBvaW50IHJvdW5k
aW5nIGRvZXNuJ3QgY2F1c2UgbWlzYWxpZ25tZW50LiAgVGhlcmUgc2hvdWxkIGJlIG5vIGdhcCBi
ZXR3ZWVuIHRoZSBkaXZzLiIpOworCit2YXIgZGl2dG9wID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInRvcCIpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOwordmFyIGRpdmJvdHRvbSA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJib3R0b20iKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKK3No
b3VsZEJlKCdkaXZ0b3AuYm90dG9tJywgJzMxJyk7CitzaG91bGRCZSgnZGl2Ym90dG9tLnRvcCcs
ICczMScpOworCitzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+CisKKzxzY3Jp
cHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorCis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>84112</attachid>
            <date>2011-02-28 13:54:23 -0800</date>
            <delta_ts>2011-06-17 15:22:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-22759-20110228135422.patch</filename>
            <type>text/plain</type>
            <size>5414</size>
            <attacher name="David Grogan">dgrogan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogNzk3MTAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA5Y2U4YjExNjNiMDI0NGUyMDkzNzQ4
ZWQwYmExYjFmMGZkNzQwODFhLi40MGYxYzQ4N2RhZTQzMjM5ZTk1NWQxOWNlODI0ZThiMGRkMjE2
MjE3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMDItMjQgIERhdmlkIEdyb2dhbiAgPGRn
cm9nYW5AZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KyAgICAgICAgTWFrZSBXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6Y29tcHV0ZUxlbmd0aERv
dWJsZSByb3VuZCwgcmF0aGVyCisgICAgICAgIHRoYW4gdHJ1bmNhdGUsIGxlbmd0aHMgc3BlY2lm
aWVkIGluIHVuaXRzIG90aGVyIHRoYW4gcGl4ZWxzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI3NTkKKworICAgICAgICAqIGNzczEvdW5pdHMvcm91
bmRpbmctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjc3MxL3VuaXRzL3JvdW5kaW5n
Lmh0bWw6IEFkZGVkLgorCiAyMDExLTAyLTI1ICBNaWhhaSBQYXJwYXJpdGEgIDxtaWhhaXBAY2hy
b21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQgQ2hyb21pdW0gZXhwZWN0YXRpb25zIHVw
ZGF0ZS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczEvdW5pdHMvcm91bmRpbmctZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3NzMS91bml0cy9yb3VuZGluZy1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNmJmMjY4OGM5ZmU1NzMxNDBiMzNhYmI1MTgwZjZjODBkZGQyMmJhNwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczEvdW5pdHMvcm91bmRpbmctZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTIgQEAKK25vIGdhcCBiZWxvdworbm8gZ2FwIGFib3ZlCitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgZmxvYXRpbmcgcG9pbnQgcm91bmRpbmcgZG9lc24ndCBjYXVzZSBtaXNhbGln
bm1lbnQuIFRoZXJlIHNob3VsZCBiZSBubyBnYXAgYmV0d2VlbiB0aGUgZGl2cy4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGRpdnRvcC5ib3R0b20gaXMgMzEKK1BBU1MgZGl2
Ym90dG9tLnRvcCBpcyAzMQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczEvdW5pdHMvcm91bmRpbmcu
aHRtbCBiL0xheW91dFRlc3RzL2NzczEvdW5pdHMvcm91bmRpbmcuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5i
ZWU2YmQ1M2JkMGExMDA2ZTg5MTdiOGY4MjU3ZmQwMTcyZDA3Zjg4Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvY3NzMS91bml0cy9yb3VuZGluZy5odG1sCkBAIC0wLDAgKzEsNDkgQEAK
KzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2Zhc3Qv
anMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8c3R5bGUgdHlwZT0idGV4dC9jc3Mi
PgorICAgIGJvZHksIGRpdiB7CisgICAgICAgIG1hcmdpbjogMDsKKyAgICAgICAgcGFkZGluZzog
MDsKKyAgICAgICAgYm9yZGVyOiAwOworICAgIH0KKyAgICAjdG9wLCAjYm90dG9tIHsKKyAgICAg
ICAgbGluZS1oZWlnaHQ6IDEuNTsKKyAgICAgICAgZm9udC1zaXplOiA3MCU7CisgICAgICAgIGJh
Y2tncm91bmQ6Z3JlZW47CisgICAgICAgIGNvbG9yOndoaXRlOworICAgICAgICB3aWR0aDoxMDAl
OworICAgIH0KKyAgICAjdG9wIHsKKyAgICAgICAgcGFkZGluZzouNmVtIDAgLjdlbTsKKyAgICB9
CisgICAgI2JvdHRvbSB7CisgICAgICBwb3NpdGlvbjphYnNvbHV0ZTsKKyAgICAgIHRvcDoyLjhl
bTsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+CisKKzxkaXYgaWQ9InRvcCI+bm8g
Z2FwIGJlbG93PC9kaXY+Cis8ZGl2IGlkPSJib3R0b20iPm5vIGdhcCBhYm92ZTwvZGl2PgorCis8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0PgorCitkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGZsb2F0
aW5nIHBvaW50IHJvdW5kaW5nIGRvZXNuJ3QgY2F1c2UgbWlzYWxpZ25tZW50LiAgVGhlcmUgc2hv
dWxkIGJlIG5vIGdhcCBiZXR3ZWVuIHRoZSBkaXZzLiIpOworCit2YXIgZGl2dG9wID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInRvcCIpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOwordmFyIGRp
dmJvdHRvbSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJib3R0b20iKS5nZXRCb3VuZGluZ0Ns
aWVudFJlY3QoKTsKK3Nob3VsZEJlKCdkaXZ0b3AuYm90dG9tJywgJzMxJyk7CitzaG91bGRCZSgn
ZGl2Ym90dG9tLnRvcCcsICczMScpOworCitzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9z
Y3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWRlZmZk
ZjE3MjBhY2E3YmFmZGMwZWI2ZWMwNDNhMmY0MTk4MjM3NC4uMjMzZGNmMTJmMWQ3ZTExZmJkNzgy
NjMyNWM3ZWRmOTM5ZDcxOTkxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDExLTAy
LTI0ICBEYXZpZCBHcm9nYW4gIDxkZ3JvZ2FuQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWFrZSBXZWJDb3JlOjpDU1NQcmltaXRp
dmVWYWx1ZTo6Y29tcHV0ZUxlbmd0aERvdWJsZSByb3VuZCwgcmF0aGVyCisgICAgICAgIHRoYW4g
dHJ1bmNhdGUsIGxlbmd0aHMgc3BlY2lmaWVkIGluIHVuaXRzIG90aGVyIHRoYW4gcGl4ZWxzLgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI3NTkKKwor
ICAgICAgICBUZXN0OiBjc3MxL3VuaXRzL3JvdW5kaW5nLmh0bWwKKworICAgICAgICAqIGNzcy9D
U1NQcmltaXRpdmVWYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1
ZTo6Y29tcHV0ZUxlbmd0aERvdWJsZSk6CisKIDIwMTEtMDItMjUgIERhdmlkIEh5YXR0ICA8aHlh
dHRAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFNhbSBXZWluaWcuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3BwIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmNwcAppbmRleCA1YWEzY2YwMTc5MDQzOTRkZjNh
N2YxZmIxM2FlODAxYmJjMWU0ZjkxLi44ODQwYmJkNzAxMjVhZGU1Yjg4ZGViMzcyZWI0ZmI1NTY5
NDA1MzU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5jcHAKQEAgLTM0
LDYgKzM0LDcgQEAKICNpbmNsdWRlICJSR0JDb2xvci5oIgogI2luY2x1ZGUgIlJlY3QuaCIKICNp
bmNsdWRlICJSZW5kZXJTdHlsZS5oIgorI2luY2x1ZGUgPG1hdGguaD4KICNpbmNsdWRlIDx3dGYv
QVNDSUlDVHlwZS5oPgogI2luY2x1ZGUgPHd0Zi9EZWNpbWFsTnVtYmVyLmg+CiAjaW5jbHVkZSA8
d3RmL01hdGhFeHRyYXMuaD4KQEAgLTM5OCw2ICszOTksNyBAQCBkb3VibGUgQ1NTUHJpbWl0aXZl
VmFsdWU6OmNvbXB1dGVMZW5ndGhEb3VibGUoUmVuZGVyU3R5bGUqIHN0eWxlLCBSZW5kZXJTdHls
ZSogcgogICAgIC8vIGFzIHdlbGwgYXMgZW5mb3JjaW5nIHRoZSBpbXBsaWNpdCAic21hcnQgbWlu
aW11bS4iICBJbiBhZGRpdGlvbiB0aGUgQ1NTIHByb3BlcnR5IHRleHQtc2l6ZS1hZGp1c3QgaXMg
dXNlZCB0bwogICAgIC8vIHByZXZlbnQgdGV4dCBmcm9tIHpvb21pbmcgYXQgYWxsLiAgVGhlcmVm
b3JlIHdlIHdpbGwgbm90IGFwcGx5IHRoZSB6b29tIGhlcmUgaWYgd2UgYXJlIGNvbXB1dGluZyBm
b250LXNpemUuCiAgICAgYm9vbCBhcHBseVpvb21NdWx0aXBsaWVyID0gIWNvbXB1dGluZ0ZvbnRT
aXplOworICAgIGJvb2wgc2hvdWxkUm91bmQgPSB0cnVlOwogCiAgICAgZG91YmxlIGZhY3RvciA9
IDEuMDsKICAgICBzd2l0Y2ggKHR5cGUpIHsKQEAgLTQxNyw2ICs0MTksNyBAQCBkb3VibGUgQ1NT
UHJpbWl0aXZlVmFsdWU6OmNvbXB1dGVMZW5ndGhEb3VibGUoUmVuZGVyU3R5bGUqIHN0eWxlLCBS
ZW5kZXJTdHlsZSogcgogICAgICAgICAgICAgZmFjdG9yID0gY29tcHV0aW5nRm9udFNpemUgPyBy
b290U3R5bGUtPmZvbnREZXNjcmlwdGlvbigpLnNwZWNpZmllZFNpemUoKSA6IHJvb3RTdHlsZS0+
Zm9udERlc2NyaXB0aW9uKCkuY29tcHV0ZWRTaXplKCk7CiAgICAgICAgICAgICBicmVhazsKICAg
ICAgICAgY2FzZSBDU1NfUFg6CisgICAgICAgICAgICBzaG91bGRSb3VuZCA9IGZhbHNlOwogICAg
ICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgQ1NTX0NNOgogICAgICAgICAgICAgZmFjdG9y
ID0gY3NzUGl4ZWxzUGVySW5jaCAvIDIuNTQ7IC8vICgyLjU0IGNtL2luKQpAQCAtNDQwLDggKzQ0
Myw4IEBAIGRvdWJsZSBDU1NQcmltaXRpdmVWYWx1ZTo6Y29tcHV0ZUxlbmd0aERvdWJsZShSZW5k
ZXJTdHlsZSogc3R5bGUsIFJlbmRlclN0eWxlKiByCiAKICAgICBkb3VibGUgcmVzdWx0ID0gZ2V0
RG91YmxlVmFsdWUoKSAqIGZhY3RvcjsKICAgICBpZiAoIWFwcGx5Wm9vbU11bHRpcGxpZXIgfHwg
bXVsdGlwbGllciA9PSAxLjApCi0gICAgICAgIHJldHVybiByZXN1bHQ7Ci0gICAgIAorICAgICAg
ICByZXR1cm4gc2hvdWxkUm91bmQgPyByb3VuZChyZXN1bHQpIDogcmVzdWx0OworCiAgICAgLy8g
QW55IG9yaWdpbmFsIHJlc3VsdCB0aGF0IHdhcyA+PSAxIHNob3VsZCBub3QgYmUgYWxsb3dlZCB0
byBmYWxsIGJlbG93IDEuICBUaGlzIGtlZXBzIGJvcmRlciBsaW5lcyBmcm9tCiAgICAgLy8gdmFu
aXNoaW5nLgogICAgIGRvdWJsZSB6b29tZWRSZXN1bHQgPSByZXN1bHQgKiBtdWx0aXBsaWVyOwo=
</data>
<flag name="review"
          id="76061"
          type_id="1"
          status="-"
          setter="eric"
    />
          </attachment>
      

    </bug>

</bugzilla>