<?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>42273</bug_id>
          
          <creation_ts>2010-07-14 11:06:46 -0700</creation_ts>
          <short_desc>Convolution computation causes bad alpha channel values</short_desc>
          <delta_ts>2010-07-16 22:44:16 -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>SVG</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alex Nicolaou">anicolao</reporter>
          <assigned_to name="Nikolas Zimmermann">zimmermann</assigned_to>
          <cc>agl</cc>
    
    <cc>brettw</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric</cc>
    
    <cc>krit</cc>
    
    <cc>oliver</cc>
    
    <cc>zherczeg</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>251294</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Nicolaou">anicolao</who>
    <bug_when>2010-07-14 11:06:46 -0700</bug_when>
    <thetext>First pointed out in http://code.google.com/p/chromium/issues/detail?id=48498 there is a problem with convolution of alpha values for SVG.

The SVG specification is wrong in my opinion. However, what it says in http://www.w3.org/TR/SVG/filters.html#feConvolveMatrixElement is that if preserveAlpha is true, then unpremultiply, convolve, and multiply again (sounds good to me); while if it&apos;s false, just apply the convolution to every channel (easy to create invalid results). I think the two should have the same semantics; unpremultiply, convolve either just the color channels or color+alpha, then premultiply again. 

Ignoring my opinion, the bottom line is that the spec implies that each channel should be transformed independently. This can produce an alpha channel that is lower than the premultiplied R, G, or B channels, which is invalid. The result is either assertion failures or crashes in the skia rendering path for chromium.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251300</commentid>
    <comment_count>1</comment_count>
      <attachid>61543</attachid>
    <who name="Alex Nicolaou">anicolao</who>
    <bug_when>2010-07-14 11:19:02 -0700</bug_when>
    <thetext>Created attachment 61543
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251398</commentid>
    <comment_count>2</comment_count>
    <who name="Adam Langley">agl</who>
    <bug_when>2010-07-14 13:29:53 -0700</bug_when>
    <thetext>There&apos;s a comment in the layout test HTML saying that this test simply shouldn&apos;t crash. However, I think that comment should exist in the output, otherwise the expected values are pretty mysterious.

Secondly, if it still crashes as a text-only layout test, that would be a plus. (I could well believe that it doesn&apos;t, but it would be nice to check.)

The fix for the crash looks good.

I&apos;m afraid that I don&apos;t know enough to really comment on the change to the convolution. I don&apos;t think values should be un-premultiplied before convolving (which I don&apos;t think this patch does): It seems right that adding $x times an almost transparent pixel doesn&apos;t do a lot.

So this code looks sane, but I could imagine other sane solutions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251427</commentid>
    <comment_count>3</comment_count>
      <attachid>61543</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-07-14 14:27:59 -0700</bug_when>
    <thetext>Comment on attachment 61543
Patch

LayoutTests/ChangeLog:14
 +          * svg/custom/sigfpe.svg: Added.
This doesn&apos;t seem like a very useful name for a layout test.

LayoutTests/svg/custom/sigfpe.svg:5
 +  &lt;rect x=&quot;10&quot; y=&quot;10&quot; width=&quot;20&quot; height=&quot;20&quot; fill=&quot;green&quot;/&gt;
historicaly 100x100 green rect has meant success in graphical tests.  I&apos;m not sure this test even needs pixel results though.  &lt;text&gt; which said PASS would be sufficient.  Then you could mark it as layoutTestController.dumpAsText().

WebCore/platform/graphics/skia/SkiaUtils.cpp:89
 +          SkASSERT(false); // invalid colour channels; r,g,b should be 0 if a=0
Please use full english sentences, beginning with a capital and ending in a period.

WebCore/platform/graphics/skia/SkiaUtils.cpp:90
 +          // protect against sigfpe for production
divide by zero might be a more common name for SIGFPE.

WebCore/svg/graphics/filters/SVGFEConvolveMatrix.cpp:251
 +                  paintingData.dstPixelArray-&gt;set(pixel++, std::min(clampRGBAValue(totals[0] / m_divisor + paintingData.bias), alpha));
Bah.  This should be a function of some form.  Copy/pasting 4 lines in a row is silly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251428</commentid>
    <comment_count>4</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-07-14 14:28:23 -0700</bug_when>
    <thetext>I don&apos;t disagree with the fix.  I just think the code quality of the patch could be much better/more readable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251433</commentid>
    <comment_count>5</comment_count>
    <who name="Alex Nicolaou">anicolao</who>
    <bug_when>2010-07-14 14:39:32 -0700</bug_when>
    <thetext>@ Adam

For the moment, let&apos;s ignore my comment on whether the SVG spec is right or not.

I am not clear if your&apos;e not happy with the clamping of the values in the convolve filter (necessary to avoid creating bogus premultiplied rgba values) or if you&apos;re OK on the whole patch.

I&apos;ll check whether it crashes without the pixel test, I think it will actually. Sorry for not doing that in the first place (Eric points this out too).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251438</commentid>
    <comment_count>6</comment_count>
    <who name="Alex Nicolaou">anicolao</who>
    <bug_when>2010-07-14 14:45:04 -0700</bug_when>
    <thetext>@Eric

All your comments are trivial to apply except this one:


| WebCore/svg/graphics/filters/SVGFEConvolveMatrix.cpp:251
|  +                  paintingData.dstPixelArray-&gt;set(pixel++, std::min(clampRGBAValue(totals[0] / m_divisor + paintingData.bias), alpha));
| Bah.  This should be a function of some form.  Copy/pasting 4 lines in a row is silly.

This just follows the pattern that was already in the code, including a side effect on pixel and the only change between lines being totals[0] -&gt; 1, 2. I could make it prettier but it&apos;s not germane to the fix. Would you prefer:

paintingData.dstPixelArray-&gt;setPixel(pixel++, computeChannel(totals[0], alpha));
paintingData.dstPixelArray-&gt;setPixel(pixel++, computeChannel(totals[1], alpha));
paintingData.dstPixelArray-&gt;setPixel(pixel++, computeChannel(totals[2], alpha));

If that looks better it&apos;s trivial enough for me to put into this patch. If you&apos;d like a bigger rearrange of the code can we put it on a follow up bug? Thanks for your feedback!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251439</commentid>
    <comment_count>7</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-07-14 14:56:00 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; | WebCore/svg/graphics/filters/SVGFEConvolveMatrix.cpp:251
&gt; |  +                  paintingData.dstPixelArray-&gt;set(pixel++, std::min(clampRGBAValue(totals[0] / m_divisor + paintingData.bias), alpha));
&gt; | Bah.  This should be a function of some form.  Copy/pasting 4 lines in a row is silly.
&gt; 
&gt; This just follows the pattern that was already in the code, including a side effect on pixel and the only change between lines being totals[0] -&gt; 1, 2. I could make it prettier but it&apos;s not germane to the fix.

Agreed.  The problem is you&apos;re adding more bad copy/paste-ness.

Would you prefer:
&gt; 
&gt; paintingData.dstPixelArray-&gt;setPixel(pixel++, computeChannel(totals[0], alpha));
&gt; paintingData.dstPixelArray-&gt;setPixel(pixel++, computeChannel(totals[1], alpha));
&gt; paintingData.dstPixelArray-&gt;setPixel(pixel++, computeChannel(totals[2], alpha));
&gt; 
&gt; If that looks better it&apos;s trivial enough for me to put into this patch. If you&apos;d like a bigger rearrange of the code can we put it on a follow up bug? Thanks for your feedback!

compute channel, or simply a inlline like:

doTheSetPixelStuff(paintingData, totals, alpha);

I don&apos;t know exactly what parts I woudl throw into an inline, but there is clearly code to share here.

Part of the goal of using inlines for things like this is to elmiinate the possibliy of copy/paste errors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251444</commentid>
    <comment_count>8</comment_count>
    <who name="Adam Langley">agl</who>
    <bug_when>2010-07-14 14:59:23 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; I am not clear if your&apos;e not happy with the clamping of the values in the convolve filter (necessary to avoid creating bogus premultiplied rgba values) or if you&apos;re OK on the whole patch.

I&apos;m not sure what should happen. However, I agree that this patch improves matters, so LGTM once Eric is happy with the form of the patch itself.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251445</commentid>
    <comment_count>9</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-07-14 15:01:05 -0700</bug_when>
    <thetext>I&apos;m not trying to get in the way of a nice crash fix. :)  But I do think code readablity is super-important to the long-term health of the project, and so it&apos;s importnat to maintain it.  Part of that is making sure we have no copy paste code. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251672</commentid>
    <comment_count>10</comment_count>
    <who name="Alex Nicolaou">anicolao</who>
    <bug_when>2010-07-14 21:58:27 -0700</bug_when>
    <thetext>OK I&apos;ll take another run at this and put up a new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251675</commentid>
    <comment_count>11</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2010-07-14 22:13:32 -0700</bug_when>
    <thetext>Adding the original author of our feConvoloveMatrix implementation.
To the code: normaly we use wtf/MathExtra.h instead of math.h.
You mentioned a problem in the spec, is this related to http://www.w3.org/Graphics/SVG/WG/track/products/24 ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251711</commentid>
    <comment_count>12</comment_count>
      <attachid>61613</attachid>
    <who name="Alex Nicolaou">anicolao</who>
    <bug_when>2010-07-15 00:07:16 -0700</bug_when>
    <thetext>Created attachment 61613
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251712</commentid>
    <comment_count>13</comment_count>
      <attachid>61614</attachid>
    <who name="Alex Nicolaou">anicolao</who>
    <bug_when>2010-07-15 00:13:56 -0700</bug_when>
    <thetext>Created attachment 61614
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251713</commentid>
    <comment_count>14</comment_count>
    <who name="Zoltan Herczeg">zherczeg</who>
    <bug_when>2010-07-15 00:20:37 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; Adding the original author of our feConvoloveMatrix implementation.

Thanks Dirk.

I like this patch. Just one more thing: wouldn&apos;t it be better to add an extra argument to clampRGBAValue, since it actually a min/max function?

So changing: min(min(max(value, 0), 255), alpha) to min(max(value, 0), alpha) ? It would also remove the &lt;math.h&gt; dependency, which is not preferred in WebKit.

clampRGBAValue is inline, so it would not cause slowdown on the unchanged case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251714</commentid>
    <comment_count>15</comment_count>
    <who name="Alex Nicolaou">anicolao</who>
    <bug_when>2010-07-15 00:22:59 -0700</bug_when>
    <thetext>OK I think this last patch satisfies all comments so far on the bug. Please take another look.

@Dirk - no, the particular complaint I have isn&apos;t yet raised against the specification. When I become 100% sure about it I&apos;ll try to figure out how to ask someone to add it as an issue. Put as simply as I can phrase it, premultiplied alpha is an optimization, and whether we store the bytes of an image premultiplied or not should not affect the output of a filter like a convolution. However, as the specification currently stands, the same image premultiplied will produce a different output than the non-premultipled version after applying certain convolution filters...it seems to me that if I apply the same filter, and if the image looked the same to begin with, the output should be the same, whether the user agent works with premultiplied image data or not. I am, separately, working on an example to demonstrate the issue.

@Zoltan - yes, I had the same idea as I tried to clean up the code per Eric&apos;s request. Have a look at the latest patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251715</commentid>
    <comment_count>16</comment_count>
    <who name="Zoltan Herczeg">zherczeg</who>
    <bug_when>2010-07-15 00:23:48 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; Created an attachment (id=61614) [details]
&gt; Patch

Mid air collision :)

You have already noticed what I suggested. The patch is ok for me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251723</commentid>
    <comment_count>17</comment_count>
      <attachid>61614</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-07-15 00:46:39 -0700</bug_when>
    <thetext>Comment on attachment 61614
Patch

Way better.  Thank you.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251726</commentid>
    <comment_count>18</comment_count>
      <attachid>61614</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-07-15 00:52:59 -0700</bug_when>
    <thetext>Comment on attachment 61614
Patch

LayoutTests/ChangeLog:5
 +          Bug https://bugs.webkit.org/show_bug.cgi?id=42273
Please rerun, prepare-ChangeLog --bug=42273. It generates the correct template to be used in WebKit ChangeLogs.
It will list the bug title, that&apos;s currently missing here, and leads to confusion.

WebCore/ChangeLog:5
 +          Bug https://bugs.webkit.org/show_bug.cgi?id=42273
Ditto.

WebCore/platform/graphics/skia/SkiaUtils.cpp:89
 +          // A 0 alpha when there are non-zero R, G, or B channels is an 
I&apos;d use &quot;A zero alpha value&quot; instead of &quot;A 0 alpha&quot;.

WebCore/platform/graphics/skia/SkiaUtils.cpp:90
 +          // invalid premultiplid color (since all channels should have been
Typo, premultiplied.

WebCore/platform/graphics/skia/SkiaUtils.cpp:91
 +          // multiplied by 0 if a=0). Assert(false) to catch in debug mode.
I don&apos;t think you need to mention that you&apos;re asserting, pretty clear from the line below :-)

WebCore/platform/graphics/skia/SkiaUtils.cpp:93
 +          // In production, return 0 to protect against divide by 0.
rephrase, to protect against division by zero.

WebCore/svg/graphics/filters/SVGFEConvolveMatrix.cpp:207
 +  ALWAYS_INLINE void setDestinationPixels(CanvasPixelArray *image, int *pixel, float *totals, float divisor, float bias, CanvasPixelArray *src)
Style issues: the star * goes next to the type. I&apos;d suggest to use int&amp; pixel, to avoid, using (*pixel)++, see the next comments.

WebCore/svg/graphics/filters/SVGFEConvolveMatrix.cpp:209
 +      for (int i = 0; i &lt; 3 + !preserveAlphaValues; ++i)
I hope this compiles on Windows, it&apos;s sometimes picky about these contructs, to be safe, I&apos;d use: &quot;3 + (preserveAlphaValues ? 0 : 1)&quot;. That&apos;s also used in other parts of the code.


WebCore/svg/graphics/filters/SVGFEConvolveMatrix.cpp:214
 +          image-&gt;set((*pixel)++, clampRGBAValue(totals[0], alpha));
Okay, this should really read: image-&gt;set(pixel++, clampRGBAValue(....)), just pass the pixel int by reference, that&apos;s faster and avoids the unnecessary dereference operator usage.

I still think the function could be more readable, suggestion:

template&lt;bool preserveAlphaValues&gt;
ALWAYS_INLINE void setDestinationPixels(CanvasPixelArray* image, int&amp; pixel, float* totals, float divisor, float bias, CanvasPixelArray* src)
{
    unsigned char maxAlpha = 255;
    if (!preserveAlphaValues)
        maxAlpha = clampRGBAValue(totals[3]);

    for (int i = 0; i &lt; 3; ++i)
        image-&gt;set(pixel++, clampRGBAValue(totals[i], maxAlpha);

    image-&gt;set(pixel + 1, preserveAlphaValues ? src-&gt;get(pixel) : alpha);
    ++pixel;
}

Note that I&apos;ve decided to not use the &quot;image-&gt;set(pixel++ ? src-&gt;get(pixel) : alpha)&quot; approach, as I think it&apos;s hard to read, better be explicit than confusing.
What do you think?

Other than that, it&apos;s a nice patch! Looking forward to the next one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251728</commentid>
    <comment_count>19</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-07-15 00:54:34 -0700</bug_when>
    <thetext>Wow, I&apos;m an awful reviewer.  Thanks Niko!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251729</commentid>
    <comment_count>20</comment_count>
      <attachid>61614</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-07-15 00:54:55 -0700</bug_when>
    <thetext>Comment on attachment 61614
Patch

Resetting, cq to - as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251735</commentid>
    <comment_count>21</comment_count>
    <who name="Zoltan Herczeg">zherczeg</who>
    <bug_when>2010-07-15 01:21:12 -0700</bug_when>
    <thetext>
&gt;     image-&gt;set(pixel + 1, preserveAlphaValues ? src-&gt;get(pixel) : alpha);
&gt;     ++pixel;

Are you sure it is &quot;pixel + 1&quot;? Isn&apos;t it just &quot;pixel&quot;? And &quot;pixel++&quot; even shorter.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251737</commentid>
    <comment_count>22</comment_count>
    <who name="Zoltan Herczeg">zherczeg</who>
    <bug_when>2010-07-15 01:23:27 -0700</bug_when>
    <thetext>    unsigned char maxAlpha = 255;
    if (!preserveAlphaValues)
        maxAlpha = clampRGBAValue(totals[3]);

Maybe:

    unsigned char maxAlpha = preserveAlphaValues ? 255 : clampRGBAValue(totals[3]);

Not sure this is preferred.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251739</commentid>
    <comment_count>23</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-07-15 01:30:00 -0700</bug_when>
    <thetext>(In reply to comment #22)
&gt;     unsigned char maxAlpha = 255;
&gt;     if (!preserveAlphaValues)
&gt;         maxAlpha = clampRGBAValue(totals[3]);
&gt; 
&gt; Maybe:
&gt; 
&gt;     unsigned char maxAlpha = preserveAlphaValues ? 255 : clampRGBAValue(totals[3]);
&gt; 
&gt; Not sure this is preferred.

Definately, good suggestion.

(In reply to comment #21)
&gt; &gt;     image-&gt;set(pixel + 1, preserveAlphaValues ? src-&gt;get(pixel) : alpha);
&gt; &gt;     ++pixel;
&gt; 
&gt; Are you sure it is &quot;pixel + 1&quot;? Isn&apos;t it just &quot;pixel&quot;? And &quot;pixel++&quot; even shorter.

I think both versions are wrong, this should be correct (please correct me if I&apos;m wrong):

if (preserveAlphaValues) {
     image-&gt;set(pixel, src-&gt;get(pixel));
     ++pixel;
} else
    image-&gt;set(pixel++, alpha);

I find &quot;image-&gt;set(pixel++, src-&gt;get(pixel));&quot; hard to read, that&apos;s why I was suggesting the change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251911</commentid>
    <comment_count>24</comment_count>
      <attachid>61667</attachid>
    <who name="Alex Nicolaou">anicolao</who>
    <bug_when>2010-07-15 08:47:57 -0700</bug_when>
    <thetext>Created attachment 61667
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251917</commentid>
    <comment_count>25</comment_count>
    <who name="Alex Nicolaou">anicolao</who>
    <bug_when>2010-07-15 08:55:38 -0700</bug_when>
    <thetext>OK I&apos;ve taken another run at this.  Please take another look.

&lt;aside&gt;
My personal preference would be to submit simple patches that fix bugs, like the very first patch that I had for this bug; and only then make a new bug that has a patch for the pretty code whose only purpose is to clean it up. I feel like the final patch has really obscured what was once a simple fix that avoided a crash; while if we commit two patches there&apos;ll be the obvious bugfix and then the code cleanup one, and later analysis of further bugs would be easier. Given that we&apos;ve gone down this road, let&apos;s just get this committed (or fix it up further as needed), but also it would be useful to me to set my expectation on separation of form and function for future changes. Thanks!
&lt;/aside&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251979</commentid>
    <comment_count>26</comment_count>
    <who name="Brett Wilson (Google)">brettw</who>
    <bug_when>2010-07-15 10:35:08 -0700</bug_when>
    <thetext>This code looks good to me, as long as the compiler will actually unroll your loops.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>252008</commentid>
    <comment_count>27</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-07-15 11:28:21 -0700</bug_when>
    <thetext>I&apos;m sorry to have distracted you with Nikolas and my code readability preferences.  I&apos;m going to let Niko (or one of the active SVG folks) complete this review, as I clearly missed some things in my last go at it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>252019</commentid>
    <comment_count>28</comment_count>
      <attachid>61667</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-07-15 11:45:08 -0700</bug_when>
    <thetext>Comment on attachment 61667
Patch

Personally I liked v2 better.  But it doesn&apos;t matter.  We can go more iterations of cleanup on a second bug as you suggest.

Thank you for attempting to get rid of the copy/paste code which someone left there before.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>252198</commentid>
    <comment_count>29</comment_count>
      <attachid>61667</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-07-15 16:14:19 -0700</bug_when>
    <thetext>Comment on attachment 61667
Patch

Clearing flags on attachment: 61667

Committed r63485: &lt;http://trac.webkit.org/changeset/63485&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>252199</commentid>
    <comment_count>30</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-07-15 16:14:28 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>252416</commentid>
    <comment_count>31</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-07-16 02:22:24 -0700</bug_when>
    <thetext>Hm, this broke svg/W3C-SVG-1.1/filters-conv-01-f.svg	 on Mac/CG.
It&apos;s all grey, the color is gone. Can someone investigate, please?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>252420</commentid>
    <comment_count>32</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-07-16 02:31:36 -0700</bug_when>
    <thetext>Issue 1:
float* totals is passed from fastSetInteriorPixels, and the new helper function setDestinationPixels is called multiple times. That means you&apos;re doing the divisior division multiple times, accumulated!

for (int i = 0; i &lt; numTotals; ++i)
    totals[i] = totals[i] / divisor + bias;

Issue 2:
for (int i = 0; i &lt; 3; ++i)
    image-&gt;set(pixel++, clampRGBAValue(totals[0], maxAlpha));

You&apos;re always clamping totals[0], not totals[i].

Very evil!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>252421</commentid>
    <comment_count>33</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-07-16 02:34:15 -0700</bug_when>
    <thetext>Reopend bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>252425</commentid>
    <comment_count>34</comment_count>
      <attachid>61786</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-07-16 02:42:35 -0700</bug_when>
    <thetext>Created attachment 61786
Fixup patch

Unbreak feConvolveMatrix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>252428</commentid>
    <comment_count>35</comment_count>
      <attachid>61786</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2010-07-16 02:47:44 -0700</bug_when>
    <thetext>Comment on attachment 61786
Fixup patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>252429</commentid>
    <comment_count>36</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-07-16 02:47:55 -0700</bug_when>
    <thetext>Landed in r63535. Please always run tests, when doing last minute modifications :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>252465</commentid>
    <comment_count>37</comment_count>
    <who name="Alex Nicolaou">anicolao</who>
    <bug_when>2010-07-16 05:36:47 -0700</bug_when>
    <thetext>Oh how embarrassing :-(

Unfortunately I&apos;m on my way to a funeral so it&apos;ll be hours before I can fix. I&apos;ll get on it as soon as I&apos;m at a computer. 

Re totals if memory serves they are reset to 0 each time around the loop so that should be ok. But I could be misremembering.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>252676</commentid>
    <comment_count>38</comment_count>
    <who name="Alex Nicolaou">anicolao</who>
    <bug_when>2010-07-16 13:24:10 -0700</bug_when>
    <thetext>I&apos;m back from the funeral, sorry for the huge delay.

I think splitting out the divisor+bias computation in the last CL is a readability mistake. The totals values are never reused and the original code was correct. In each case, the setDestinationPixels occurs as the last thing in the loop that accumulates the totals and the totals are cleared at the top of the loop. Should we clean it up or leave it well enough alone?

Once again, I&apos;m sorry I didn&apos;t catch the hideous error introduced by the last style rewrite.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>252838</commentid>
    <comment_count>39</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-07-16 22:44:16 -0700</bug_when>
    <thetext>(In reply to comment #38)
&gt; I&apos;m back from the funeral, sorry for the huge delay.
No worries, there are more important things than WebKit.
 
&gt; I think splitting out the divisor+bias computation in the last CL is a readability mistake. The totals values are never reused and the original code was correct. In each case, the setDestinationPixels occurs as the last thing in the loop that accumulates the totals and the totals are cleared at the top of the loop. Should we clean it up or leave it well enough alone?
Oh yes, I misread the loop. If you feel it should be cleaned up, post a patch.
I think it&apos;s not hurting readability, and saves a local variable, but if you have strong feelings don&apos;t hesitate to write a patch :-)

&gt; Once again, I&apos;m sorry I didn&apos;t catch the hideous error introduced by the last style rewrite.
No problem, just run tests before comitting as general rule, that helps to avoid these things :-)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>61543</attachid>
            <date>2010-07-14 11:19:02 -0700</date>
            <delta_ts>2010-07-15 00:07:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-42273-20100714141907.patch</filename>
            <type>text/plain</type>
            <size>9506</size>
            <attacher name="Alex Nicolaou">anicolao</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAzYzc1OWFlOTY0NGJjMmQ1YzM0ZDMxZDYxNTRjNmViOTJiOGIzODhkLi4yMDFmZTBk
ODQzYWEzYmZjNGNiMmI3MDk3ZWYyNWNjMjA0M2FkZDM4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAK
KzIwMTAtMDctMTQgIEFsZXggTmljb2xhb3UgIDxhbmljb2xhb0BjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQnVnIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MjI3MworICAgICAgICAKKyAgICAgICAg
Rml4ZWQgYnkgY2xhbXBpbmcgY29sb3VyIGNoYW5uZWwgdmFsdWVzIHRvIHRoZSBhbHBoYSB2YWx1
ZSBzbyB0aGF0IAorICAgICAgICByIDw9IGEsIGcgPD0gYSwgYW5kIGIgPD0gYSBhZnRlciB0aGUg
Y29udm9sdXRpb24gaXMgYXBwbGllZC4gU2VlCisgICAgICAgIHRoZSBidWcgZm9yIHdoeSBJIGJl
bGlldmUgdGhlIFNWRyBzcGVjaWZpY2F0aW9uIG5lZWRzIHRvIGJlIHVwZGF0ZWQuIAorCisgICAg
ICAgICogcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vc2lnZnBlLWV4cGVjdGVkLmNoZWNrc3VtOiBB
ZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9zaWdmcGUtZXhwZWN0ZWQu
cG5nOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9zaWdmcGUtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBzdmcvY3VzdG9tL3NpZ2ZwZS5zdmc6IEFkZGVk
LgorCiAyMDEwLTA3LTEzICBNYWNpZWogU3RhY2hvd2lhayAgPG1qc0BhcHBsZS5jb20+CiAKICAg
ICAgICAgUmV2aWV3ZWQgYnkgT2xpdmVyIEh1bnQuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9zaWdmcGUtZXhwZWN0ZWQuY2hlY2tzdW0gYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9zaWdmcGUtZXhwZWN0ZWQuY2hlY2tzdW0KbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNjQwMGRmNTMwYWUwYzg3YzdmYjM2NDEyMmU1MzBlMmU1OGIyZTI5NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY3VzdG9tL3NpZ2ZwZS1l
eHBlY3RlZC5jaGVja3N1bQpAQCAtMCwwICsxIEBACitjYjJlNTMwMGU1ZTdhMDQwMDZmMTE0MGQ1
YzhmYTkwNwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9zdmcvY3VzdG9tL3NpZ2ZwZS1leHBlY3RlZC5wbmcgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9zaWdmcGUtZXhwZWN0ZWQucG5nCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjE1OTA5NDdkZThjZThlZjJlMjUxMWNmOTRhOWE4YzlkNjFjMjE3NGMKR0lUIGJpbmFyeSBw
YXRjaApsaXRlcmFsIDI4MzIKemNtZUFTQE4/KG9sSHlgdVZCcSFpYTB5fnlVeyt2WVYyYT5pMCpa
KT1oXmpMJWE5I0l3YVNXLUxeWStlMFA5e2VJCnpoZF9VeGI7OHtuUlMhQ05aPDJgSz4yUXNZPWdI
d2lLalctNmAyM2llRiNZJUUoIUYhfDg1bXJxODZKQmglZkx8Zgp6KVN7WV5wPCVDSjFPdE8lQlAp
WXxGam1JSyVpbGwjaXJEYEIrd0lHYnBLJTg+SmRvZCt6e3FmZk1VMjcwaG5mdFMKenRCJGdBR2Jw
SFNVfD5qTThmQTxJIWV+a3UlPnw+bVVeRXd1PTdQfiZGcSNXU0xONTVtYztLfH5eMmNoN1BrPTM1
Ck4yMldRJW12djRGTyNuSmYtMjRDbAoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vc2lnZnBlLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY3VzdG9tL3NpZ2ZwZS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZmQ0ZDE2MDY1NWQxZWI2YjY2MzI0NTA2YTkzZjMxMDQ4OThhY2M5Mgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY3VzdG9tL3Np
Z2ZwZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMSBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4
MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCww
KSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyU1ZHUm9vdCB7c3ZnfSBhdCAoMCwwKSBzaXplIDMweDMw
CisgICAgUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyIHtkZWZzfSBhdCAoMCwwKSBzaXplIDB4MAor
ICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIge2ZpbHRlcn0gW2lkPSJmb28iXSBbZmlsdGVy
VW5pdHM9b2JqZWN0Qm91bmRpbmdCb3hdIFtwcmltaXRpdmVVbml0cz11c2VyU3BhY2VPblVzZV0K
KyAgICAgICAgW2ZlQ29udm9sdmVNYXRyaXggb3JkZXI9IndpZHRoPTMgaGVpZ2h0PTMiIGtlcm5l
bE1hdHJpeD0iWzAuMDAsIDAuMDAsIDAuMDAsIDAuMDAsIDEuMDAsIDAuMDAsIDAuMDAsIDAuMDAs
IC0xLjAwXSIgZGl2aXNvcj0iMS4wMCIgYmlhcz0iMC4wMCIgdGFyZ2V0PSIoMSwxKSIgZWRnZU1v
ZGU9IkRVUExJQ0FURSIga2VybmVsVW5pdExlbmd0aD0iKDAsMCkiIHByZXNlcnZlQWxwaGE9IjAi
XQorICAgICAgICAgIFtTb3VyY2VHcmFwaGljXQorICAgIFJlbmRlclNWR0ltYWdlIHtpbWFnZX0g
YXQgKDAsMCkgc2l6ZSAzeDQKKyAgICAgIFtmaWx0ZXI9ImZvbyJdIFJlbmRlclNWR1Jlc291cmNl
RmlsdGVyIHtmaWx0ZXJ9IGF0ICgtMC4yMCwtMC4zMCkgc2l6ZSAyLjQweDMuNjAKKyAgICBSZW5k
ZXJQYXRoIHtyZWN0fSBhdCAoMTAsMTApIHNpemUgMjB4MjAgW2ZpbGw9e1t0eXBlPVNPTElEXSBb
Y29sb3I9IzAwODAwMF19XSBbZGF0YT0iTTEwLjAwLDEwLjAwIEwzMC4wMCwxMC4wMCBMMzAuMDAs
MzAuMDAgTDEwLjAwLDMwLjAwIFoiXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3Rv
bS9zaWdmcGUuc3ZnIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9zaWdmcGUuc3ZnCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmExZTk4NWNmMDczY2IzYWUyZjlhNDc0M2I1NDlmNzcyNGI5N2ZlNzUKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3NpZ2ZwZS5zdmcKQEAgLTAsMCArMSw2IEBA
Cis8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0
dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgorPGRlZnM+IDxmaWx0ZXIgaWQ9ImZvbyI+IDxm
ZUNvbnZvbHZlTWF0cml4IGtlcm5lbE1hdHJpeD0iMCAwIDAgMCAxIDAgMCAwIC0xIi8+IDwvZmls
dGVyPiA8L2RlZnM+Cis8aW1hZ2Ugd2lkdGg9IjIiIGhlaWdodD0iMyIgeGxpbms6aHJlZj0iYmFy
IiBmaWx0ZXI9InVybCgjZm9vKSIgLz4KKzwhLS0gaWYgd2UgY2FuIGRyYXcgdGhlIHJlY3Rhbmds
ZSB3aXRob3V0IGNyYXNoaW5nIHdlIHBhc3NlZCAtLT4KKzxyZWN0IHg9IjEwIiB5PSIxMCIgd2lk
dGg9IjIwIiBoZWlnaHQ9IjIwIiBmaWxsPSJncmVlbiIvPgorPC9zdmc+CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDMyNjM0OWI1ZjkyZDQ5
ODdjYTE0NWU4MDI0MWI2NTk1NzRkMDI3MWYuLjI2N2YxYWFkZThmNDJkNDExNjdmYTc0YmIyMDRk
NWFjYzcxYWQ2NGMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTAtMDctMTQgIEFsZXggTmljb2xhb3UgIDxh
bmljb2xhb0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgQnVnIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD00MjI3MworICAgICAgICAKKyAgICAgICAgRml4ZWQgYnkgY2xhbXBpbmcgY29sb3VyIGNoYW5u
ZWwgdmFsdWVzIHRvIHRoZSBhbHBoYSB2YWx1ZSBzbyB0aGF0IAorICAgICAgICByIDw9IGEsIGcg
PD0gYSwgYW5kIGIgPD0gYSBhZnRlciB0aGUgY29udm9sdXRpb24gaXMgYXBwbGllZC4gU2VlCisg
ICAgICAgIHRoZSBidWcgZm9yIHdoeSBJIGJlbGlldmUgdGhlIFNWRyBzcGVjaWZpY2F0aW9uIG5l
ZWRzIHRvIGJlIHVwZGF0ZWQuIAorCisgICAgICAgICogc3ZnL2dyYXBoaWNzL2ZpbHRlcnMvU1ZH
RkVDb252b2x2ZU1hdHJpeC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGRUNvbnZvbHZlTWF0cml4
OjpmYXN0U2V0SW50ZXJpb3JQaXhlbHMpOgorICAgICAgICAoV2ViQ29yZTo6RkVDb252b2x2ZU1h
dHJpeDo6ZmFzdFNldE91dGVyUGl4ZWxzKToKKwogMjAxMC0wNy0xMyAgU2hlcmlmZiBCb3QgIDx3
ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGlu
ZyBvdXQgcjYzMTYyLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lh
L1NraWFVdGlscy5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvU2tpYVV0aWxz
LmNwcAppbmRleCA3OGNkMDVhMmQ3YzlhOGIwYjA0NGZkNmUzMDRjYTVjMGNhYWQzOTg3Li42MThk
OGU3YzUxZmNmZTY4Zjg0ZjE1ZmNhOTlhODYxNmNkODMzYTJmIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvU2tpYVV0aWxzLmNwcAorKysgYi9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3NraWEvU2tpYVV0aWxzLmNwcApAQCAtODIsMTAgKzgyLDE1IEBAIHN0YXRp
YyBVOENQVSBJbnZTY2FsZUJ5dGUoVThDUFUgY29tcG9uZW50LCB1aW50MzJfdCBzY2FsZSkKIAog
U2tDb2xvciBTa1BNQ29sb3JUb0NvbG9yKFNrUE1Db2xvciBwbSkKIHsKLSAgICBpZiAoMCA9PSBw
bSkKKyAgICBpZiAoIXBtKQogICAgICAgICByZXR1cm4gMDsKLSAgICAKICAgICB1bnNpZ25lZCBh
ID0gU2tHZXRQYWNrZWRBMzIocG0pOworICAgIGlmICghYSkgeworICAgICAgICBTa0FTU0VSVChm
YWxzZSk7IC8vIGludmFsaWQgY29sb3VyIGNoYW5uZWxzOyByLGcsYiBzaG91bGQgYmUgMCBpZiBh
PTAKKyAgICAgICAgLy8gcHJvdGVjdCBhZ2FpbnN0IHNpZ2ZwZSBmb3IgcHJvZHVjdGlvbgorICAg
ICAgICByZXR1cm4gMDsKKyAgICB9CisgICAgCiAgICAgdWludDMyX3Qgc2NhbGUgPSAoMjU1IDw8
IDE2KSAvIGE7CiAgICAgCiAgICAgcmV0dXJuIFNrQ29sb3JTZXRBUkdCKGEsCmRpZmYgLS1naXQg
YS9XZWJDb3JlL3N2Zy9ncmFwaGljcy9maWx0ZXJzL1NWR0ZFQ29udm9sdmVNYXRyaXguY3BwIGIv
V2ViQ29yZS9zdmcvZ3JhcGhpY3MvZmlsdGVycy9TVkdGRUNvbnZvbHZlTWF0cml4LmNwcAppbmRl
eCAzOWIzZTU3ZmU2YmU2YjA0Y2FiYjYwMTM5OWY4OTBjM2MxODI4MzU2Li5mOWY4NjY5ZjAxY2Ex
YzVmNTVkZTZlYmVlMzhiOTJkZWRlMTcyOTcwIDEwMDY0NAotLS0gYS9XZWJDb3JlL3N2Zy9ncmFw
aGljcy9maWx0ZXJzL1NWR0ZFQ29udm9sdmVNYXRyaXguY3BwCisrKyBiL1dlYkNvcmUvc3ZnL2dy
YXBoaWNzL2ZpbHRlcnMvU1ZHRkVDb252b2x2ZU1hdHJpeC5jcHAKQEAgLTMxLDYgKzMxLDggQEAK
ICNpbmNsdWRlICJJbWFnZURhdGEuaCIKICNpbmNsdWRlICJTVkdSZW5kZXJUcmVlQXNUZXh0Lmgi
CiAKKyNpbmNsdWRlIDxtYXRoLmg+CisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogRkVDb252b2x2
ZU1hdHJpeDo6RkVDb252b2x2ZU1hdHJpeChGaWx0ZXJFZmZlY3QqIGluLCBjb25zdCBJbnRTaXpl
JiBrZXJuZWxTaXplLApAQCAtMjQ0LDEyICsyNDYsMTYgQEAgQUxXQVlTX0lOTElORSB2b2lkIEZF
Q29udm9sdmVNYXRyaXg6OmZhc3RTZXRJbnRlcmlvclBpeGVscyhQYWludGluZ0RhdGEmIHBhaW50
aW4KICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIHBhaW50
aW5nRGF0YS5kc3RQaXhlbEFycmF5LT5zZXQocGl4ZWwrKywgY2xhbXBSR0JBVmFsdWUodG90YWxz
WzBdIC8gbV9kaXZpc29yICsgcGFpbnRpbmdEYXRhLmJpYXMpKTsKLSAgICAgICAgICAgIHBhaW50
aW5nRGF0YS5kc3RQaXhlbEFycmF5LT5zZXQocGl4ZWwrKywgY2xhbXBSR0JBVmFsdWUodG90YWxz
WzFdIC8gbV9kaXZpc29yICsgcGFpbnRpbmdEYXRhLmJpYXMpKTsKLSAgICAgICAgICAgIHBhaW50
aW5nRGF0YS5kc3RQaXhlbEFycmF5LT5zZXQocGl4ZWwrKywgY2xhbXBSR0JBVmFsdWUodG90YWxz
WzJdIC8gbV9kaXZpc29yICsgcGFpbnRpbmdEYXRhLmJpYXMpKTsKLSAgICAgICAgICAgIGlmICgh
cHJlc2VydmVBbHBoYVZhbHVlcykKLSAgICAgICAgICAgICAgICBwYWludGluZ0RhdGEuZHN0UGl4
ZWxBcnJheS0+c2V0KHBpeGVsKyssIGNsYW1wUkdCQVZhbHVlKHRvdGFsc1szXSAvIG1fZGl2aXNv
ciArIHBhaW50aW5nRGF0YS5iaWFzKSk7Ci0gICAgICAgICAgICBlbHNlIHsKKyAgICAgICAgICAg
IGlmICghcHJlc2VydmVBbHBoYVZhbHVlcykgeworICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNo
YXIgYWxwaGEgPSBjbGFtcFJHQkFWYWx1ZSh0b3RhbHNbM10gLyBtX2Rpdmlzb3IgKyBwYWludGlu
Z0RhdGEuYmlhcyk7CisgICAgICAgICAgICAgICAgcGFpbnRpbmdEYXRhLmRzdFBpeGVsQXJyYXkt
PnNldChwaXhlbCsrLCBzdGQ6Om1pbihjbGFtcFJHQkFWYWx1ZSh0b3RhbHNbMF0gLyBtX2Rpdmlz
b3IgKyBwYWludGluZ0RhdGEuYmlhcyksIGFscGhhKSk7CisgICAgICAgICAgICAgICAgcGFpbnRp
bmdEYXRhLmRzdFBpeGVsQXJyYXktPnNldChwaXhlbCsrLCBzdGQ6Om1pbihjbGFtcFJHQkFWYWx1
ZSh0b3RhbHNbMV0gLyBtX2Rpdmlzb3IgKyBwYWludGluZ0RhdGEuYmlhcyksIGFscGhhKSk7Cisg
ICAgICAgICAgICAgICAgcGFpbnRpbmdEYXRhLmRzdFBpeGVsQXJyYXktPnNldChwaXhlbCsrLCBz
dGQ6Om1pbihjbGFtcFJHQkFWYWx1ZSh0b3RhbHNbMl0gLyBtX2Rpdmlzb3IgKyBwYWludGluZ0Rh
dGEuYmlhcyksIGFscGhhKSk7CisgICAgICAgICAgICAgICAgcGFpbnRpbmdEYXRhLmRzdFBpeGVs
QXJyYXktPnNldChwaXhlbCsrLCBhbHBoYSk7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAg
ICAgICAgICAgIHBhaW50aW5nRGF0YS5kc3RQaXhlbEFycmF5LT5zZXQocGl4ZWwrKywgY2xhbXBS
R0JBVmFsdWUodG90YWxzWzBdIC8gbV9kaXZpc29yICsgcGFpbnRpbmdEYXRhLmJpYXMpKTsKKyAg
ICAgICAgICAgICAgICBwYWludGluZ0RhdGEuZHN0UGl4ZWxBcnJheS0+c2V0KHBpeGVsKyssIGNs
YW1wUkdCQVZhbHVlKHRvdGFsc1sxXSAvIG1fZGl2aXNvciArIHBhaW50aW5nRGF0YS5iaWFzKSk7
CisgICAgICAgICAgICAgICAgcGFpbnRpbmdEYXRhLmRzdFBpeGVsQXJyYXktPnNldChwaXhlbCsr
LCBjbGFtcFJHQkFWYWx1ZSh0b3RhbHNbMl0gLyBtX2Rpdmlzb3IgKyBwYWludGluZ0RhdGEuYmlh
cykpOwogICAgICAgICAgICAgICAgIHBhaW50aW5nRGF0YS5kc3RQaXhlbEFycmF5LT5zZXQocGl4
ZWwsIHBhaW50aW5nRGF0YS5zcmNQaXhlbEFycmF5LT5nZXQocGl4ZWwpKTsKICAgICAgICAgICAg
ICAgICArK3BpeGVsOwogICAgICAgICAgICAgfQpAQCAtMzM3LDEyICszNDMsMTYgQEAgdm9pZCBG
RUNvbnZvbHZlTWF0cml4OjpmYXN0U2V0T3V0ZXJQaXhlbHMoUGFpbnRpbmdEYXRhJiBwYWludGlu
Z0RhdGEsIGludCB4MSwgaW4KICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9CiAKLSAg
ICAgICAgICAgIHBhaW50aW5nRGF0YS5kc3RQaXhlbEFycmF5LT5zZXQocGl4ZWwrKywgY2xhbXBS
R0JBVmFsdWUodG90YWxzWzBdIC8gbV9kaXZpc29yICsgcGFpbnRpbmdEYXRhLmJpYXMpKTsKLSAg
ICAgICAgICAgIHBhaW50aW5nRGF0YS5kc3RQaXhlbEFycmF5LT5zZXQocGl4ZWwrKywgY2xhbXBS
R0JBVmFsdWUodG90YWxzWzFdIC8gbV9kaXZpc29yICsgcGFpbnRpbmdEYXRhLmJpYXMpKTsKLSAg
ICAgICAgICAgIHBhaW50aW5nRGF0YS5kc3RQaXhlbEFycmF5LT5zZXQocGl4ZWwrKywgY2xhbXBS
R0JBVmFsdWUodG90YWxzWzJdIC8gbV9kaXZpc29yICsgcGFpbnRpbmdEYXRhLmJpYXMpKTsKLSAg
ICAgICAgICAgIGlmICghcHJlc2VydmVBbHBoYVZhbHVlcykKLSAgICAgICAgICAgICAgICBwYWlu
dGluZ0RhdGEuZHN0UGl4ZWxBcnJheS0+c2V0KHBpeGVsKyssIGNsYW1wUkdCQVZhbHVlKHRvdGFs
c1szXSAvIG1fZGl2aXNvciArIHBhaW50aW5nRGF0YS5iaWFzKSk7Ci0gICAgICAgICAgICBlbHNl
IHsKKyAgICAgICAgICAgIGlmICghcHJlc2VydmVBbHBoYVZhbHVlcykgeworICAgICAgICAgICAg
ICAgIHVuc2lnbmVkIGNoYXIgYWxwaGEgPSBjbGFtcFJHQkFWYWx1ZSh0b3RhbHNbM10gLyBtX2Rp
dmlzb3IgKyBwYWludGluZ0RhdGEuYmlhcyk7CisgICAgICAgICAgICAgICAgcGFpbnRpbmdEYXRh
LmRzdFBpeGVsQXJyYXktPnNldChwaXhlbCsrLCBzdGQ6Om1pbihjbGFtcFJHQkFWYWx1ZSh0b3Rh
bHNbMF0gLyBtX2Rpdmlzb3IgKyBwYWludGluZ0RhdGEuYmlhcyksIGFscGhhKSk7CisgICAgICAg
ICAgICAgICAgcGFpbnRpbmdEYXRhLmRzdFBpeGVsQXJyYXktPnNldChwaXhlbCsrLCBzdGQ6Om1p
bihjbGFtcFJHQkFWYWx1ZSh0b3RhbHNbMV0gLyBtX2Rpdmlzb3IgKyBwYWludGluZ0RhdGEuYmlh
cyksIGFscGhhKSk7CisgICAgICAgICAgICAgICAgcGFpbnRpbmdEYXRhLmRzdFBpeGVsQXJyYXkt
PnNldChwaXhlbCsrLCBzdGQ6Om1pbihjbGFtcFJHQkFWYWx1ZSh0b3RhbHNbMl0gLyBtX2Rpdmlz
b3IgKyBwYWludGluZ0RhdGEuYmlhcyksIGFscGhhKSk7CisgICAgICAgICAgICAgICAgcGFpbnRp
bmdEYXRhLmRzdFBpeGVsQXJyYXktPnNldChwaXhlbCsrLCBhbHBoYSk7CisgICAgICAgICAgICB9
IGVsc2UgeworICAgICAgICAgICAgICAgIHBhaW50aW5nRGF0YS5kc3RQaXhlbEFycmF5LT5zZXQo
cGl4ZWwrKywgY2xhbXBSR0JBVmFsdWUodG90YWxzWzBdIC8gbV9kaXZpc29yICsgcGFpbnRpbmdE
YXRhLmJpYXMpKTsKKyAgICAgICAgICAgICAgICBwYWludGluZ0RhdGEuZHN0UGl4ZWxBcnJheS0+
c2V0KHBpeGVsKyssIGNsYW1wUkdCQVZhbHVlKHRvdGFsc1sxXSAvIG1fZGl2aXNvciArIHBhaW50
aW5nRGF0YS5iaWFzKSk7CisgICAgICAgICAgICAgICAgcGFpbnRpbmdEYXRhLmRzdFBpeGVsQXJy
YXktPnNldChwaXhlbCsrLCBjbGFtcFJHQkFWYWx1ZSh0b3RhbHNbMl0gLyBtX2Rpdmlzb3IgKyBw
YWludGluZ0RhdGEuYmlhcykpOwogICAgICAgICAgICAgICAgIHBhaW50aW5nRGF0YS5kc3RQaXhl
bEFycmF5LT5zZXQocGl4ZWwsIHBhaW50aW5nRGF0YS5zcmNQaXhlbEFycmF5LT5nZXQocGl4ZWwp
KTsKICAgICAgICAgICAgICAgICArK3BpeGVsOwogICAgICAgICAgICAgfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>61613</attachid>
            <date>2010-07-15 00:07:16 -0700</date>
            <delta_ts>2010-07-15 00:13:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-42273-20100715030722.patch</filename>
            <type>text/plain</type>
            <size>8745</size>
            <attacher name="Alex Nicolaou">anicolao</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA3NzZjMDIzN2Y0MTg3MWI3YzRhMTEyYzY1NzI0YjM4YjQzM2RhY2E5Li40YmYzMWUw
N2RjODI5Y2QwZjNlYmRmZmRiOTVmZGFhOGNjOGFjYjY0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAK
KzIwMTAtMDctMTQgIEFsZXggTmljb2xhb3UgIDxhbmljb2xhb0BjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQnVnIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MjI3MworICAgICAgICAKKyAgICAgICAg
Rml4ZWQgYnkgY2xhbXBpbmcgY29sb3VyIGNoYW5uZWwgdmFsdWVzIHRvIHRoZSBhbHBoYSB2YWx1
ZSBzbyB0aGF0IAorICAgICAgICByIDw9IGEsIGcgPD0gYSwgYW5kIGIgPD0gYSBhZnRlciB0aGUg
Y29udm9sdXRpb24gaXMgYXBwbGllZC4gU2VlCisgICAgICAgIHRoZSBidWcgZm9yIHdoeSBJIGJl
bGlldmUgdGhlIFNWRyBzcGVjaWZpY2F0aW9uIG5lZWRzIHRvIGJlIHVwZGF0ZWQuIAorICAgICAg
ICBUZXN0IG11c3QgYmUgZHJhd24gdG8gY3Jhc2guIDEwMHgxMDAgZ3JlZW4gcmVjdGFuZ2xlIGlz
IHVzZWQgdG8gCisgICAgICAgIGluZGljYXRlIHBhc3MgdG8gbWluaW1pemUgdGhlIGNoYW5jZSBv
ZiByZWdyZXNzaW9uLgorCisgICAgICAgICogcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vY29udm9s
dXRpb24tY3Jhc2gtZXhwZWN0ZWQuY2hlY2tzdW06IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3Jt
L21hYy9zdmcvY3VzdG9tL2NvbnZvbHV0aW9uLWNyYXNoLWV4cGVjdGVkLnBuZzogQWRkZWQuCisg
ICAgICAgICogcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vY29udm9sdXRpb24tY3Jhc2gtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBzdmcvY3VzdG9tL2NvbnZvbHV0aW9uLWNyYXNoLnN2
ZzogQWRkZWQuCisKIDIwMTAtMDctMTQgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RA
Z21haWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHI2MzM1Mi4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY3VzdG9tL2NvbnZvbHV0aW9u
LWNyYXNoLWV4cGVjdGVkLmNoZWNrc3VtIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9j
dXN0b20vY29udm9sdXRpb24tY3Jhc2gtZXhwZWN0ZWQuY2hlY2tzdW0KbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmY3
ZDhhMDQyY2JkZTU1NTc1YmRjOTgzMzEzY2QzNWZiZGM0N2UwOQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY3VzdG9tL2NvbnZvbHV0aW9uLWNyYXNoLWV4
cGVjdGVkLmNoZWNrc3VtCkBAIC0wLDAgKzEgQEAKKzQwMWYzYjVlNmZmZTYzZDlhYjVmYTE1OTkz
YzBiNDQwClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vY29udm9sdXRpb24tY3Jhc2gtZXhwZWN0ZWQucG5n
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vY29udm9sdXRpb24tY3Jhc2gt
ZXhwZWN0ZWQucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjAwNzNkZWY3YzMxNDczYWQzMDQ5NzU1ZmM2MmQyYjdj
MTIwZjYzMzcKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDI4MjYKemNtZUFTQE4/KG9sSHlgdVZC
cSFpYTB5fnlVeyt2WVYyYT5pMCpaKT1oXmpMJWE5Izl0YVNXLUxeWStmaGx9P1QjCnp0ezJWYXQy
YXRTfDU4WnU3RTNuMiZldm1SQ3ZuWTctU1hpeHckMWFfZkIqbHNpaCk1Tyh6eTU9OCQtanxLWFl2
dgp6NyF1NXh4RVUxR0haVStHVlB9OzZ7SV5IJHdZanlLTDMjVyhDV2hrPW5eK2twMnVDbjU3JmZ2
cDIjaGpAUnY8KH0Kejw5PGcxQmZ9OUVGJE0+cFFPME4+akhaT3FUcmlwb01zdll2RSpRLVAxRHAl
JjdOLWQ7enJ8dmYyNWpScGMpSSR6Ckp0YUQwZTBzeW03RFlGMG8KCmxpdGVyYWwgMApIY21WP2Qw
MDAwMQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY3VzdG9tL2Nv
bnZvbHV0aW9uLWNyYXNoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9z
dmcvY3VzdG9tL2NvbnZvbHV0aW9uLWNyYXNoLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ODlh
NTc4MTA2M2M2ZTYwNWZlYTQxZWU2MGE1ZmYxNWE5NjVhMmE0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vY29udm9sdXRpb24tY3Jhc2gtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAor
ICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4
MDB4NjAwCisgIFJlbmRlclNWR1Jvb3Qge3N2Z30gYXQgKDAsMCkgc2l6ZSAxMTB4MTEwCisgICAg
UmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyIHtkZWZzfSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAg
UmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIge2ZpbHRlcn0gW2lkPSJmb28iXSBbZmlsdGVyVW5pdHM9
b2JqZWN0Qm91bmRpbmdCb3hdIFtwcmltaXRpdmVVbml0cz11c2VyU3BhY2VPblVzZV0KKyAgICAg
ICAgW2ZlQ29udm9sdmVNYXRyaXggb3JkZXI9IndpZHRoPTMgaGVpZ2h0PTMiIGtlcm5lbE1hdHJp
eD0iWzAuMDAsIDAuMDAsIDAuMDAsIDAuMDAsIDEuMDAsIDAuMDAsIDAuMDAsIDAuMDAsIC0xLjAw
XSIgZGl2aXNvcj0iMS4wMCIgYmlhcz0iMC4wMCIgdGFyZ2V0PSIoMSwxKSIgZWRnZU1vZGU9IkRV
UExJQ0FURSIga2VybmVsVW5pdExlbmd0aD0iKDAsMCkiIHByZXNlcnZlQWxwaGE9IjAiXQorICAg
ICAgICAgIFtTb3VyY2VHcmFwaGljXQorICAgIFJlbmRlclNWR0ltYWdlIHtpbWFnZX0gYXQgKDAs
MCkgc2l6ZSAzeDQKKyAgICAgIFtmaWx0ZXI9ImZvbyJdIFJlbmRlclNWR1Jlc291cmNlRmlsdGVy
IHtmaWx0ZXJ9IGF0ICgtMC4yMCwtMC4zMCkgc2l6ZSAyLjQweDMuNjAKKyAgICBSZW5kZXJQYXRo
IHtyZWN0fSBhdCAoMTAsMTApIHNpemUgMTAweDEwMCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xv
cj0jMDA4MDAwXX1dIFtkYXRhPSJNMTAuMDAsMTAuMDAgTDExMC4wMCwxMC4wMCBMMTEwLjAwLDEx
MC4wMCBMMTAuMDAsMTEwLjAwIFoiXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3Rv
bS9jb252b2x1dGlvbi1jcmFzaC5zdmcgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2NvbnZvbHV0
aW9uLWNyYXNoLnN2ZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jMTFjYTZlNmJlYWMwYzNmMTE2MDVlODY1NDkxYjFj
M2RjZjlmMDdkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9jb252
b2x1dGlvbi1jcmFzaC5zdmcKQEAgLTAsMCArMSw1IEBACis8c3ZnIHhtbG5zPSJodHRwOi8vd3d3
LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxp
bmsiPgorPGRlZnM+IDxmaWx0ZXIgaWQ9ImZvbyI+IDxmZUNvbnZvbHZlTWF0cml4IGtlcm5lbE1h
dHJpeD0iMCAwIDAgMCAxIDAgMCAwIC0xIi8+IDwvZmlsdGVyPiA8L2RlZnM+Cis8aW1hZ2Ugd2lk
dGg9IjIiIGhlaWdodD0iMyIgeGxpbms6aHJlZj0iYmFyIiBmaWx0ZXI9InVybCgjZm9vKSIgLz4K
KzxyZWN0IHg9IjEwIiB5PSIxMCIgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiIGZpbGw9ImdyZWVu
Ii8+Cis8L3N2Zz4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9T
a2lhVXRpbHMuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL1NraWFVdGlscy5j
cHAKaW5kZXggNzhjZDA1YTJkN2M5YThiMGIwNDRmZDZlMzA0Y2E1YzBjYWFkMzk4Ny4uMTc0YjVm
MmMzNDE3OGI4ZDZkN2FlYzBhZmMwNTEwNzllYzc5YmFiYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9za2lhL1NraWFVdGlscy5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9za2lhL1NraWFVdGlscy5jcHAKQEAgLTgyLDEwICs4MiwxOCBAQCBzdGF0aWMg
VThDUFUgSW52U2NhbGVCeXRlKFU4Q1BVIGNvbXBvbmVudCwgdWludDMyX3Qgc2NhbGUpCiAKIFNr
Q29sb3IgU2tQTUNvbG9yVG9Db2xvcihTa1BNQ29sb3IgcG0pCiB7Ci0gICAgaWYgKDAgPT0gcG0p
CisgICAgaWYgKCFwbSkKICAgICAgICAgcmV0dXJuIDA7Ci0gICAgCiAgICAgdW5zaWduZWQgYSA9
IFNrR2V0UGFja2VkQTMyKHBtKTsKKyAgICBpZiAoIWEpIHsKKyAgICAgICAgLy8gQSAwIGFscGhh
IHdoZW4gdGhlcmUgYXJlIG5vbi16ZXJvIFIsIEcsIG9yIEIgY2hhbm5lbHMgaXMgYW4gCisgICAg
ICAgIC8vIGludmFsaWQgcHJlbXVsdGlwbGlkIGNvbG9yIChzaW5jZSBhbGwgY2hhbm5lbHMgc2hv
dWxkIGhhdmUgYmVlbgorICAgICAgICAvLyBtdWx0aXBsaWVkIGJ5IDAgaWYgYT0wKS4gQXNzZXJ0
KGZhbHNlKSB0byBjYXRjaCBpbiBkZWJ1ZyBtb2RlLgorICAgICAgICBTa0FTU0VSVChmYWxzZSk7
IAorICAgICAgICAvLyBJbiBwcm9kdWN0aW9uLCByZXR1cm4gMCB0byBwcm90ZWN0IGFnYWluc3Qg
ZGl2aWRlIGJ5IDAuCisgICAgICAgIHJldHVybiAwOworICAgIH0KKyAgICAKICAgICB1aW50MzJf
dCBzY2FsZSA9ICgyNTUgPDwgMTYpIC8gYTsKICAgICAKICAgICByZXR1cm4gU2tDb2xvclNldEFS
R0IoYSwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL2ZpbHRlcnMvU1ZHRkVDb252
b2x2ZU1hdHJpeC5jcHAgYi9XZWJDb3JlL3N2Zy9ncmFwaGljcy9maWx0ZXJzL1NWR0ZFQ29udm9s
dmVNYXRyaXguY3BwCmluZGV4IDM5YjNlNTdmZTZiZTZiMDRjYWJiNjAxMzk5Zjg5MGMzYzE4Mjgz
NTYuLmI3MDRiMDYwYzZjZGFlMTE0MDc4NzZjNmY5MjU4Nzg3YjYzMWUzYWIgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvc3ZnL2dyYXBoaWNzL2ZpbHRlcnMvU1ZHRkVDb252b2x2ZU1hdHJpeC5jcHAKKysr
IGIvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvZmlsdGVycy9TVkdGRUNvbnZvbHZlTWF0cml4LmNwcApA
QCAtMTk0LDEzICsxOTQsMzMgQEAgdm9pZCBGRUNvbnZvbHZlTWF0cml4OjpzZXRQcmVzZXJ2ZUFs
cGhhKGJvb2wgcHJlc2VydmVBbHBoYSkKICAgIGFuZCB3b3VsZCBtYWtlIGl0IHJlYWxseSBoYXJk
IHRvIHVuZGVyc3RhbmQuCiAqLwogCi1zdGF0aWMgQUxXQVlTX0lOTElORSB1bnNpZ25lZCBjaGFy
IGNsYW1wUkdCQVZhbHVlKGZsb2F0IHJnYmEpCitzdGF0aWMgQUxXQVlTX0lOTElORSB1bnNpZ25l
ZCBjaGFyIGNsYW1wUkdCQVZhbHVlKGZsb2F0IGNoYW5uZWwsIHVuc2lnbmVkIGNoYXIgbWF4ID0g
MjU1KQogewotICAgIGlmIChyZ2JhIDw9IDApCisgICAgaWYgKGNoYW5uZWwgPD0gMCkKICAgICAg
ICAgcmV0dXJuIDA7Ci0gICAgaWYgKHJnYmEgPj0gMjU1KQotICAgICAgICByZXR1cm4gMjU1Owot
ICAgIHJldHVybiByZ2JhOworICAgIGlmIChjaGFubmVsID49IG1heCkKKyAgICAgICAgcmV0dXJu
IG1heDsKKyAgICByZXR1cm4gY2hhbm5lbDsKK30KKwordGVtcGxhdGU8Ym9vbCBwcmVzZXJ2ZUFs
cGhhVmFsdWVzPgorQUxXQVlTX0lOTElORSB2b2lkIHNldERlc3RpbmF0aW9uUGl4ZWxzKENhbnZh
c1BpeGVsQXJyYXkgKmltYWdlLCBpbnQgKnBpeGVsLCBmbG9hdCAqdG90YWxzLCBmbG9hdCBkaXZp
c29yLCBmbG9hdCBiaWFzLCBDYW52YXNQaXhlbEFycmF5ICpzcmMpCit7CisgICAgZm9yIChpbnQg
aSA9IDA7IGkgPCAzICsgIXByZXNlcnZlQWxwaGFWYWx1ZXM7ICsraSkKKyAgICAgICAgdG90YWxz
W2ldID0gdG90YWxzW2ldIC8gZGl2aXNvciArIGJpYXM7CisKKyAgICBpZiAoIXByZXNlcnZlQWxw
aGFWYWx1ZXMpIHsKKyAgICAgICAgdW5zaWduZWQgY2hhciBhbHBoYSA9IGNsYW1wUkdCQVZhbHVl
KHRvdGFsc1szXSk7CisgICAgICAgIGltYWdlLT5zZXQoKCpwaXhlbCkrKywgY2xhbXBSR0JBVmFs
dWUodG90YWxzWzBdLCBhbHBoYSkpOworICAgICAgICBpbWFnZS0+c2V0KCgqcGl4ZWwpKyssIGNs
YW1wUkdCQVZhbHVlKHRvdGFsc1sxXSwgYWxwaGEpKTsKKyAgICAgICAgaW1hZ2UtPnNldCgoKnBp
eGVsKSsrLCBjbGFtcFJHQkFWYWx1ZSh0b3RhbHNbMl0sIGFscGhhKSk7CisgICAgICAgIGltYWdl
LT5zZXQoKCpwaXhlbCkrKywgYWxwaGEpOworICAgIH0gZWxzZSB7CisgICAgICAgIGltYWdlLT5z
ZXQoKCpwaXhlbCkrKywgY2xhbXBSR0JBVmFsdWUodG90YWxzWzBdKSk7CisgICAgICAgIGltYWdl
LT5zZXQoKCpwaXhlbCkrKywgY2xhbXBSR0JBVmFsdWUodG90YWxzWzFdKSk7CisgICAgICAgIGlt
YWdlLT5zZXQoKCpwaXhlbCkrKywgY2xhbXBSR0JBVmFsdWUodG90YWxzWzJdKSk7CisgICAgICAg
IGltYWdlLT5zZXQoKCpwaXhlbCkrKywgc3JjLT5nZXQoKnBpeGVsKSk7CisgICAgfQogfQogCiAv
LyBPbmx5IGZvciByZWdpb24gQwpAQCAtMjQ0LDE1ICsyNjQsNyBAQCBBTFdBWVNfSU5MSU5FIHZv
aWQgRkVDb252b2x2ZU1hdHJpeDo6ZmFzdFNldEludGVyaW9yUGl4ZWxzKFBhaW50aW5nRGF0YSYg
cGFpbnRpbgogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAg
cGFpbnRpbmdEYXRhLmRzdFBpeGVsQXJyYXktPnNldChwaXhlbCsrLCBjbGFtcFJHQkFWYWx1ZSh0
b3RhbHNbMF0gLyBtX2Rpdmlzb3IgKyBwYWludGluZ0RhdGEuYmlhcykpOwotICAgICAgICAgICAg
cGFpbnRpbmdEYXRhLmRzdFBpeGVsQXJyYXktPnNldChwaXhlbCsrLCBjbGFtcFJHQkFWYWx1ZSh0
b3RhbHNbMV0gLyBtX2Rpdmlzb3IgKyBwYWludGluZ0RhdGEuYmlhcykpOwotICAgICAgICAgICAg
cGFpbnRpbmdEYXRhLmRzdFBpeGVsQXJyYXktPnNldChwaXhlbCsrLCBjbGFtcFJHQkFWYWx1ZSh0
b3RhbHNbMl0gLyBtX2Rpdmlzb3IgKyBwYWludGluZ0RhdGEuYmlhcykpOwotICAgICAgICAgICAg
aWYgKCFwcmVzZXJ2ZUFscGhhVmFsdWVzKQotICAgICAgICAgICAgICAgIHBhaW50aW5nRGF0YS5k
c3RQaXhlbEFycmF5LT5zZXQocGl4ZWwrKywgY2xhbXBSR0JBVmFsdWUodG90YWxzWzNdIC8gbV9k
aXZpc29yICsgcGFpbnRpbmdEYXRhLmJpYXMpKTsKLSAgICAgICAgICAgIGVsc2UgewotICAgICAg
ICAgICAgICAgIHBhaW50aW5nRGF0YS5kc3RQaXhlbEFycmF5LT5zZXQocGl4ZWwsIHBhaW50aW5n
RGF0YS5zcmNQaXhlbEFycmF5LT5nZXQocGl4ZWwpKTsKLSAgICAgICAgICAgICAgICArK3BpeGVs
OwotICAgICAgICAgICAgfQorICAgICAgICAgICAgc2V0RGVzdGluYXRpb25QaXhlbHM8cHJlc2Vy
dmVBbHBoYVZhbHVlcz4ocGFpbnRpbmdEYXRhLmRzdFBpeGVsQXJyYXksICZwaXhlbCwgdG90YWxz
LCBtX2Rpdmlzb3IsIHBhaW50aW5nRGF0YS5iaWFzLCBwYWludGluZ0RhdGEuc3JjUGl4ZWxBcnJh
eSk7CiAgICAgICAgICAgICBzdGFydEtlcm5lbFBpeGVsICs9IDQ7CiAgICAgICAgIH0KICAgICAg
ICAgcGl4ZWwgKz0geEluY3JlYXNlOwpAQCAtMzM3LDE1ICszNDksNyBAQCB2b2lkIEZFQ29udm9s
dmVNYXRyaXg6OmZhc3RTZXRPdXRlclBpeGVscyhQYWludGluZ0RhdGEmIHBhaW50aW5nRGF0YSwg
aW50IHgxLCBpbgogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KIAotICAgICAgICAg
ICAgcGFpbnRpbmdEYXRhLmRzdFBpeGVsQXJyYXktPnNldChwaXhlbCsrLCBjbGFtcFJHQkFWYWx1
ZSh0b3RhbHNbMF0gLyBtX2Rpdmlzb3IgKyBwYWludGluZ0RhdGEuYmlhcykpOwotICAgICAgICAg
ICAgcGFpbnRpbmdEYXRhLmRzdFBpeGVsQXJyYXktPnNldChwaXhlbCsrLCBjbGFtcFJHQkFWYWx1
ZSh0b3RhbHNbMV0gLyBtX2Rpdmlzb3IgKyBwYWludGluZ0RhdGEuYmlhcykpOwotICAgICAgICAg
ICAgcGFpbnRpbmdEYXRhLmRzdFBpeGVsQXJyYXktPnNldChwaXhlbCsrLCBjbGFtcFJHQkFWYWx1
ZSh0b3RhbHNbMl0gLyBtX2Rpdmlzb3IgKyBwYWludGluZ0RhdGEuYmlhcykpOwotICAgICAgICAg
ICAgaWYgKCFwcmVzZXJ2ZUFscGhhVmFsdWVzKQotICAgICAgICAgICAgICAgIHBhaW50aW5nRGF0
YS5kc3RQaXhlbEFycmF5LT5zZXQocGl4ZWwrKywgY2xhbXBSR0JBVmFsdWUodG90YWxzWzNdIC8g
bV9kaXZpc29yICsgcGFpbnRpbmdEYXRhLmJpYXMpKTsKLSAgICAgICAgICAgIGVsc2UgewotICAg
ICAgICAgICAgICAgIHBhaW50aW5nRGF0YS5kc3RQaXhlbEFycmF5LT5zZXQocGl4ZWwsIHBhaW50
aW5nRGF0YS5zcmNQaXhlbEFycmF5LT5nZXQocGl4ZWwpKTsKLSAgICAgICAgICAgICAgICArK3Bp
eGVsOwotICAgICAgICAgICAgfQorICAgICAgICAgICAgc2V0RGVzdGluYXRpb25QaXhlbHM8cHJl
c2VydmVBbHBoYVZhbHVlcz4ocGFpbnRpbmdEYXRhLmRzdFBpeGVsQXJyYXksICZwaXhlbCwgdG90
YWxzLCBtX2Rpdmlzb3IsIHBhaW50aW5nRGF0YS5iaWFzLCBwYWludGluZ0RhdGEuc3JjUGl4ZWxB
cnJheSk7CiAgICAgICAgICAgICArK3N0YXJ0S2VybmVsUGl4ZWxYOwogICAgICAgICB9CiAgICAg
ICAgIHBpeGVsICs9IHhJbmNyZWFzZTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>61614</attachid>
            <date>2010-07-15 00:13:56 -0700</date>
            <delta_ts>2010-07-15 08:47:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-42273-20100715031402.patch</filename>
            <type>text/plain</type>
            <size>9734</size>
            <attacher name="Alex Nicolaou">anicolao</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA3NzZjMDIzN2Y0MTg3MWI3YzRhMTEyYzY1NzI0YjM4YjQzM2RhY2E5Li40YmYzMWUw
N2RjODI5Y2QwZjNlYmRmZmRiOTVmZGFhOGNjOGFjYjY0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAK
KzIwMTAtMDctMTQgIEFsZXggTmljb2xhb3UgIDxhbmljb2xhb0BjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQnVnIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MjI3MworICAgICAgICAKKyAgICAgICAg
Rml4ZWQgYnkgY2xhbXBpbmcgY29sb3VyIGNoYW5uZWwgdmFsdWVzIHRvIHRoZSBhbHBoYSB2YWx1
ZSBzbyB0aGF0IAorICAgICAgICByIDw9IGEsIGcgPD0gYSwgYW5kIGIgPD0gYSBhZnRlciB0aGUg
Y29udm9sdXRpb24gaXMgYXBwbGllZC4gU2VlCisgICAgICAgIHRoZSBidWcgZm9yIHdoeSBJIGJl
bGlldmUgdGhlIFNWRyBzcGVjaWZpY2F0aW9uIG5lZWRzIHRvIGJlIHVwZGF0ZWQuIAorICAgICAg
ICBUZXN0IG11c3QgYmUgZHJhd24gdG8gY3Jhc2guIDEwMHgxMDAgZ3JlZW4gcmVjdGFuZ2xlIGlz
IHVzZWQgdG8gCisgICAgICAgIGluZGljYXRlIHBhc3MgdG8gbWluaW1pemUgdGhlIGNoYW5jZSBv
ZiByZWdyZXNzaW9uLgorCisgICAgICAgICogcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vY29udm9s
dXRpb24tY3Jhc2gtZXhwZWN0ZWQuY2hlY2tzdW06IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3Jt
L21hYy9zdmcvY3VzdG9tL2NvbnZvbHV0aW9uLWNyYXNoLWV4cGVjdGVkLnBuZzogQWRkZWQuCisg
ICAgICAgICogcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vY29udm9sdXRpb24tY3Jhc2gtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBzdmcvY3VzdG9tL2NvbnZvbHV0aW9uLWNyYXNoLnN2
ZzogQWRkZWQuCisKIDIwMTAtMDctMTQgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RA
Z21haWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHI2MzM1Mi4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY3VzdG9tL2NvbnZvbHV0aW9u
LWNyYXNoLWV4cGVjdGVkLmNoZWNrc3VtIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9j
dXN0b20vY29udm9sdXRpb24tY3Jhc2gtZXhwZWN0ZWQuY2hlY2tzdW0KbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmY3
ZDhhMDQyY2JkZTU1NTc1YmRjOTgzMzEzY2QzNWZiZGM0N2UwOQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY3VzdG9tL2NvbnZvbHV0aW9uLWNyYXNoLWV4
cGVjdGVkLmNoZWNrc3VtCkBAIC0wLDAgKzEgQEAKKzQwMWYzYjVlNmZmZTYzZDlhYjVmYTE1OTkz
YzBiNDQwClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vY29udm9sdXRpb24tY3Jhc2gtZXhwZWN0ZWQucG5n
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vY29udm9sdXRpb24tY3Jhc2gt
ZXhwZWN0ZWQucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjAwNzNkZWY3YzMxNDczYWQzMDQ5NzU1ZmM2MmQyYjdj
MTIwZjYzMzcKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDI4MjYKemNtZUFTQE4/KG9sSHlgdVZC
cSFpYTB5fnlVeyt2WVYyYT5pMCpaKT1oXmpMJWE5Izl0YVNXLUxeWStmaGx9P1QjCnp0ezJWYXQy
YXRTfDU4WnU3RTNuMiZldm1SQ3ZuWTctU1hpeHckMWFfZkIqbHNpaCk1Tyh6eTU9OCQtanxLWFl2
dgp6NyF1NXh4RVUxR0haVStHVlB9OzZ7SV5IJHdZanlLTDMjVyhDV2hrPW5eK2twMnVDbjU3JmZ2
cDIjaGpAUnY8KH0Kejw5PGcxQmZ9OUVGJE0+cFFPME4+akhaT3FUcmlwb01zdll2RSpRLVAxRHAl
JjdOLWQ7enJ8dmYyNWpScGMpSSR6Ckp0YUQwZTBzeW03RFlGMG8KCmxpdGVyYWwgMApIY21WP2Qw
MDAwMQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY3VzdG9tL2Nv
bnZvbHV0aW9uLWNyYXNoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9z
dmcvY3VzdG9tL2NvbnZvbHV0aW9uLWNyYXNoLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ODlh
NTc4MTA2M2M2ZTYwNWZlYTQxZWU2MGE1ZmYxNWE5NjVhMmE0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vY29udm9sdXRpb24tY3Jhc2gtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAor
ICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4
MDB4NjAwCisgIFJlbmRlclNWR1Jvb3Qge3N2Z30gYXQgKDAsMCkgc2l6ZSAxMTB4MTEwCisgICAg
UmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyIHtkZWZzfSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAg
UmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIge2ZpbHRlcn0gW2lkPSJmb28iXSBbZmlsdGVyVW5pdHM9
b2JqZWN0Qm91bmRpbmdCb3hdIFtwcmltaXRpdmVVbml0cz11c2VyU3BhY2VPblVzZV0KKyAgICAg
ICAgW2ZlQ29udm9sdmVNYXRyaXggb3JkZXI9IndpZHRoPTMgaGVpZ2h0PTMiIGtlcm5lbE1hdHJp
eD0iWzAuMDAsIDAuMDAsIDAuMDAsIDAuMDAsIDEuMDAsIDAuMDAsIDAuMDAsIDAuMDAsIC0xLjAw
XSIgZGl2aXNvcj0iMS4wMCIgYmlhcz0iMC4wMCIgdGFyZ2V0PSIoMSwxKSIgZWRnZU1vZGU9IkRV
UExJQ0FURSIga2VybmVsVW5pdExlbmd0aD0iKDAsMCkiIHByZXNlcnZlQWxwaGE9IjAiXQorICAg
ICAgICAgIFtTb3VyY2VHcmFwaGljXQorICAgIFJlbmRlclNWR0ltYWdlIHtpbWFnZX0gYXQgKDAs
MCkgc2l6ZSAzeDQKKyAgICAgIFtmaWx0ZXI9ImZvbyJdIFJlbmRlclNWR1Jlc291cmNlRmlsdGVy
IHtmaWx0ZXJ9IGF0ICgtMC4yMCwtMC4zMCkgc2l6ZSAyLjQweDMuNjAKKyAgICBSZW5kZXJQYXRo
IHtyZWN0fSBhdCAoMTAsMTApIHNpemUgMTAweDEwMCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xv
cj0jMDA4MDAwXX1dIFtkYXRhPSJNMTAuMDAsMTAuMDAgTDExMC4wMCwxMC4wMCBMMTEwLjAwLDEx
MC4wMCBMMTAuMDAsMTEwLjAwIFoiXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3Rv
bS9jb252b2x1dGlvbi1jcmFzaC5zdmcgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2NvbnZvbHV0
aW9uLWNyYXNoLnN2ZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jMTFjYTZlNmJlYWMwYzNmMTE2MDVlODY1NDkxYjFj
M2RjZjlmMDdkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9jb252
b2x1dGlvbi1jcmFzaC5zdmcKQEAgLTAsMCArMSw1IEBACis8c3ZnIHhtbG5zPSJodHRwOi8vd3d3
LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxp
bmsiPgorPGRlZnM+IDxmaWx0ZXIgaWQ9ImZvbyI+IDxmZUNvbnZvbHZlTWF0cml4IGtlcm5lbE1h
dHJpeD0iMCAwIDAgMCAxIDAgMCAwIC0xIi8+IDwvZmlsdGVyPiA8L2RlZnM+Cis8aW1hZ2Ugd2lk
dGg9IjIiIGhlaWdodD0iMyIgeGxpbms6aHJlZj0iYmFyIiBmaWx0ZXI9InVybCgjZm9vKSIgLz4K
KzxyZWN0IHg9IjEwIiB5PSIxMCIgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiIGZpbGw9ImdyZWVu
Ii8+Cis8L3N2Zz4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFu
Z2VMb2cKaW5kZXggNDY4NWMwZjYxMDllNWMyNzYxZmI1NzkxYWFiNTJjZmM0NDc5ODk1MC4uNDE1
YTM0MzAxYzdjZDJmNmUwNjM3OWIzNzFlMjE5ZDBmNDdmNTc2MSAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAx
MC0wNy0xNCAgQWxleCBOaWNvbGFvdSAgPGFuaWNvbGFvQGNocm9taXVtLm9yZz4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBCdWcgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQyMjczCisgICAgICAgIAorICAgICAgICBGaXhl
ZCBieSBjbGFtcGluZyBjb2xvdXIgY2hhbm5lbCB2YWx1ZXMgdG8gdGhlIGFscGhhIHZhbHVlIHNv
IHRoYXQgCisgICAgICAgIHIgPD0gYSwgZyA8PSBhLCBhbmQgYiA8PSBhIGFmdGVyIHRoZSBjb252
b2x1dGlvbiBpcyBhcHBsaWVkLiBTZWUKKyAgICAgICAgdGhlIGJ1ZyBmb3Igd2h5IEkgYmVsaWV2
ZSB0aGUgU1ZHIHNwZWNpZmljYXRpb24gbmVlZHMgdG8gYmUgdXBkYXRlZC4gCisgICAgICAgIFRl
c3QgbXVzdCBiZSBkcmF3biB0byBjcmFzaC4gMTAweDEwMCBncmVlbiByZWN0YW5nbGUgaXMgdXNl
ZCB0byAKKyAgICAgICAgaW5kaWNhdGUgcGFzcyB0byBtaW5pbWl6ZSB0aGUgY2hhbmNlIG9mIHJl
Z3Jlc3Npb24uCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Ta2lhVXRpbHMuY3BwOiBl
eHRyYSBpbnN1cmFuY2UgYWdhaW5zdCAvMAorICAgICAgICAqIHN2Zy9ncmFwaGljcy9maWx0ZXJz
L1NWR0ZFQ29udm9sdmVNYXRyaXguY3BwOiBhdm9pZCBiYWQgY2hhbm5lbHMKKwogMjAxMC0wNy0x
NCAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CiAKICAgICAgICAg
VW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjYzMzUyLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9za2lhL1NraWFVdGlscy5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3NraWEvU2tpYVV0aWxzLmNwcAppbmRleCA3OGNkMDVhMmQ3YzlhOGIwYjA0NGZkNmUzMDRj
YTVjMGNhYWQzOTg3Li4xNzRiNWYyYzM0MTc4YjhkNmQ3YWVjMGFmYzA1MTA3OWVjNzliYWJhIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvU2tpYVV0aWxzLmNwcAor
KysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvU2tpYVV0aWxzLmNwcApAQCAtODIs
MTAgKzgyLDE4IEBAIHN0YXRpYyBVOENQVSBJbnZTY2FsZUJ5dGUoVThDUFUgY29tcG9uZW50LCB1
aW50MzJfdCBzY2FsZSkKIAogU2tDb2xvciBTa1BNQ29sb3JUb0NvbG9yKFNrUE1Db2xvciBwbSkK
IHsKLSAgICBpZiAoMCA9PSBwbSkKKyAgICBpZiAoIXBtKQogICAgICAgICByZXR1cm4gMDsKLSAg
ICAKICAgICB1bnNpZ25lZCBhID0gU2tHZXRQYWNrZWRBMzIocG0pOworICAgIGlmICghYSkgewor
ICAgICAgICAvLyBBIDAgYWxwaGEgd2hlbiB0aGVyZSBhcmUgbm9uLXplcm8gUiwgRywgb3IgQiBj
aGFubmVscyBpcyBhbiAKKyAgICAgICAgLy8gaW52YWxpZCBwcmVtdWx0aXBsaWQgY29sb3IgKHNp
bmNlIGFsbCBjaGFubmVscyBzaG91bGQgaGF2ZSBiZWVuCisgICAgICAgIC8vIG11bHRpcGxpZWQg
YnkgMCBpZiBhPTApLiBBc3NlcnQoZmFsc2UpIHRvIGNhdGNoIGluIGRlYnVnIG1vZGUuCisgICAg
ICAgIFNrQVNTRVJUKGZhbHNlKTsgCisgICAgICAgIC8vIEluIHByb2R1Y3Rpb24sIHJldHVybiAw
IHRvIHByb3RlY3QgYWdhaW5zdCBkaXZpZGUgYnkgMC4KKyAgICAgICAgcmV0dXJuIDA7CisgICAg
fQorICAgIAogICAgIHVpbnQzMl90IHNjYWxlID0gKDI1NSA8PCAxNikgLyBhOwogICAgIAogICAg
IHJldHVybiBTa0NvbG9yU2V0QVJHQihhLApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdmcvZ3JhcGhp
Y3MvZmlsdGVycy9TVkdGRUNvbnZvbHZlTWF0cml4LmNwcCBiL1dlYkNvcmUvc3ZnL2dyYXBoaWNz
L2ZpbHRlcnMvU1ZHRkVDb252b2x2ZU1hdHJpeC5jcHAKaW5kZXggMzliM2U1N2ZlNmJlNmIwNGNh
YmI2MDEzOTlmODkwYzNjMTgyODM1Ni4uYjcwNGIwNjBjNmNkYWUxMTQwNzg3NmM2ZjkyNTg3ODdi
NjMxZTNhYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvZmlsdGVycy9TVkdGRUNv
bnZvbHZlTWF0cml4LmNwcAorKysgYi9XZWJDb3JlL3N2Zy9ncmFwaGljcy9maWx0ZXJzL1NWR0ZF
Q29udm9sdmVNYXRyaXguY3BwCkBAIC0xOTQsMTMgKzE5NCwzMyBAQCB2b2lkIEZFQ29udm9sdmVN
YXRyaXg6OnNldFByZXNlcnZlQWxwaGEoYm9vbCBwcmVzZXJ2ZUFscGhhKQogICAgYW5kIHdvdWxk
IG1ha2UgaXQgcmVhbGx5IGhhcmQgdG8gdW5kZXJzdGFuZC4KICovCiAKLXN0YXRpYyBBTFdBWVNf
SU5MSU5FIHVuc2lnbmVkIGNoYXIgY2xhbXBSR0JBVmFsdWUoZmxvYXQgcmdiYSkKK3N0YXRpYyBB
TFdBWVNfSU5MSU5FIHVuc2lnbmVkIGNoYXIgY2xhbXBSR0JBVmFsdWUoZmxvYXQgY2hhbm5lbCwg
dW5zaWduZWQgY2hhciBtYXggPSAyNTUpCiB7Ci0gICAgaWYgKHJnYmEgPD0gMCkKKyAgICBpZiAo
Y2hhbm5lbCA8PSAwKQogICAgICAgICByZXR1cm4gMDsKLSAgICBpZiAocmdiYSA+PSAyNTUpCi0g
ICAgICAgIHJldHVybiAyNTU7Ci0gICAgcmV0dXJuIHJnYmE7CisgICAgaWYgKGNoYW5uZWwgPj0g
bWF4KQorICAgICAgICByZXR1cm4gbWF4OworICAgIHJldHVybiBjaGFubmVsOworfQorCit0ZW1w
bGF0ZTxib29sIHByZXNlcnZlQWxwaGFWYWx1ZXM+CitBTFdBWVNfSU5MSU5FIHZvaWQgc2V0RGVz
dGluYXRpb25QaXhlbHMoQ2FudmFzUGl4ZWxBcnJheSAqaW1hZ2UsIGludCAqcGl4ZWwsIGZsb2F0
ICp0b3RhbHMsIGZsb2F0IGRpdmlzb3IsIGZsb2F0IGJpYXMsIENhbnZhc1BpeGVsQXJyYXkgKnNy
YykKK3sKKyAgICBmb3IgKGludCBpID0gMDsgaSA8IDMgKyAhcHJlc2VydmVBbHBoYVZhbHVlczsg
KytpKQorICAgICAgICB0b3RhbHNbaV0gPSB0b3RhbHNbaV0gLyBkaXZpc29yICsgYmlhczsKKwor
ICAgIGlmICghcHJlc2VydmVBbHBoYVZhbHVlcykgeworICAgICAgICB1bnNpZ25lZCBjaGFyIGFs
cGhhID0gY2xhbXBSR0JBVmFsdWUodG90YWxzWzNdKTsKKyAgICAgICAgaW1hZ2UtPnNldCgoKnBp
eGVsKSsrLCBjbGFtcFJHQkFWYWx1ZSh0b3RhbHNbMF0sIGFscGhhKSk7CisgICAgICAgIGltYWdl
LT5zZXQoKCpwaXhlbCkrKywgY2xhbXBSR0JBVmFsdWUodG90YWxzWzFdLCBhbHBoYSkpOworICAg
ICAgICBpbWFnZS0+c2V0KCgqcGl4ZWwpKyssIGNsYW1wUkdCQVZhbHVlKHRvdGFsc1syXSwgYWxw
aGEpKTsKKyAgICAgICAgaW1hZ2UtPnNldCgoKnBpeGVsKSsrLCBhbHBoYSk7CisgICAgfSBlbHNl
IHsKKyAgICAgICAgaW1hZ2UtPnNldCgoKnBpeGVsKSsrLCBjbGFtcFJHQkFWYWx1ZSh0b3RhbHNb
MF0pKTsKKyAgICAgICAgaW1hZ2UtPnNldCgoKnBpeGVsKSsrLCBjbGFtcFJHQkFWYWx1ZSh0b3Rh
bHNbMV0pKTsKKyAgICAgICAgaW1hZ2UtPnNldCgoKnBpeGVsKSsrLCBjbGFtcFJHQkFWYWx1ZSh0
b3RhbHNbMl0pKTsKKyAgICAgICAgaW1hZ2UtPnNldCgoKnBpeGVsKSsrLCBzcmMtPmdldCgqcGl4
ZWwpKTsKKyAgICB9CiB9CiAKIC8vIE9ubHkgZm9yIHJlZ2lvbiBDCkBAIC0yNDQsMTUgKzI2NCw3
IEBAIEFMV0FZU19JTkxJTkUgdm9pZCBGRUNvbnZvbHZlTWF0cml4OjpmYXN0U2V0SW50ZXJpb3JQ
aXhlbHMoUGFpbnRpbmdEYXRhJiBwYWludGluCiAgICAgICAgICAgICAgICAgfQogICAgICAgICAg
ICAgfQogCi0gICAgICAgICAgICBwYWludGluZ0RhdGEuZHN0UGl4ZWxBcnJheS0+c2V0KHBpeGVs
KyssIGNsYW1wUkdCQVZhbHVlKHRvdGFsc1swXSAvIG1fZGl2aXNvciArIHBhaW50aW5nRGF0YS5i
aWFzKSk7Ci0gICAgICAgICAgICBwYWludGluZ0RhdGEuZHN0UGl4ZWxBcnJheS0+c2V0KHBpeGVs
KyssIGNsYW1wUkdCQVZhbHVlKHRvdGFsc1sxXSAvIG1fZGl2aXNvciArIHBhaW50aW5nRGF0YS5i
aWFzKSk7Ci0gICAgICAgICAgICBwYWludGluZ0RhdGEuZHN0UGl4ZWxBcnJheS0+c2V0KHBpeGVs
KyssIGNsYW1wUkdCQVZhbHVlKHRvdGFsc1syXSAvIG1fZGl2aXNvciArIHBhaW50aW5nRGF0YS5i
aWFzKSk7Ci0gICAgICAgICAgICBpZiAoIXByZXNlcnZlQWxwaGFWYWx1ZXMpCi0gICAgICAgICAg
ICAgICAgcGFpbnRpbmdEYXRhLmRzdFBpeGVsQXJyYXktPnNldChwaXhlbCsrLCBjbGFtcFJHQkFW
YWx1ZSh0b3RhbHNbM10gLyBtX2Rpdmlzb3IgKyBwYWludGluZ0RhdGEuYmlhcykpOwotICAgICAg
ICAgICAgZWxzZSB7Ci0gICAgICAgICAgICAgICAgcGFpbnRpbmdEYXRhLmRzdFBpeGVsQXJyYXkt
PnNldChwaXhlbCwgcGFpbnRpbmdEYXRhLnNyY1BpeGVsQXJyYXktPmdldChwaXhlbCkpOwotICAg
ICAgICAgICAgICAgICsrcGl4ZWw7Ci0gICAgICAgICAgICB9CisgICAgICAgICAgICBzZXREZXN0
aW5hdGlvblBpeGVsczxwcmVzZXJ2ZUFscGhhVmFsdWVzPihwYWludGluZ0RhdGEuZHN0UGl4ZWxB
cnJheSwgJnBpeGVsLCB0b3RhbHMsIG1fZGl2aXNvciwgcGFpbnRpbmdEYXRhLmJpYXMsIHBhaW50
aW5nRGF0YS5zcmNQaXhlbEFycmF5KTsKICAgICAgICAgICAgIHN0YXJ0S2VybmVsUGl4ZWwgKz0g
NDsKICAgICAgICAgfQogICAgICAgICBwaXhlbCArPSB4SW5jcmVhc2U7CkBAIC0zMzcsMTUgKzM0
OSw3IEBAIHZvaWQgRkVDb252b2x2ZU1hdHJpeDo6ZmFzdFNldE91dGVyUGl4ZWxzKFBhaW50aW5n
RGF0YSYgcGFpbnRpbmdEYXRhLCBpbnQgeDEsIGluCiAgICAgICAgICAgICAgICAgfQogICAgICAg
ICAgICAgfQogCi0gICAgICAgICAgICBwYWludGluZ0RhdGEuZHN0UGl4ZWxBcnJheS0+c2V0KHBp
eGVsKyssIGNsYW1wUkdCQVZhbHVlKHRvdGFsc1swXSAvIG1fZGl2aXNvciArIHBhaW50aW5nRGF0
YS5iaWFzKSk7Ci0gICAgICAgICAgICBwYWludGluZ0RhdGEuZHN0UGl4ZWxBcnJheS0+c2V0KHBp
eGVsKyssIGNsYW1wUkdCQVZhbHVlKHRvdGFsc1sxXSAvIG1fZGl2aXNvciArIHBhaW50aW5nRGF0
YS5iaWFzKSk7Ci0gICAgICAgICAgICBwYWludGluZ0RhdGEuZHN0UGl4ZWxBcnJheS0+c2V0KHBp
eGVsKyssIGNsYW1wUkdCQVZhbHVlKHRvdGFsc1syXSAvIG1fZGl2aXNvciArIHBhaW50aW5nRGF0
YS5iaWFzKSk7Ci0gICAgICAgICAgICBpZiAoIXByZXNlcnZlQWxwaGFWYWx1ZXMpCi0gICAgICAg
ICAgICAgICAgcGFpbnRpbmdEYXRhLmRzdFBpeGVsQXJyYXktPnNldChwaXhlbCsrLCBjbGFtcFJH
QkFWYWx1ZSh0b3RhbHNbM10gLyBtX2Rpdmlzb3IgKyBwYWludGluZ0RhdGEuYmlhcykpOwotICAg
ICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICAgICAgcGFpbnRpbmdEYXRhLmRzdFBpeGVsQXJy
YXktPnNldChwaXhlbCwgcGFpbnRpbmdEYXRhLnNyY1BpeGVsQXJyYXktPmdldChwaXhlbCkpOwot
ICAgICAgICAgICAgICAgICsrcGl4ZWw7Ci0gICAgICAgICAgICB9CisgICAgICAgICAgICBzZXRE
ZXN0aW5hdGlvblBpeGVsczxwcmVzZXJ2ZUFscGhhVmFsdWVzPihwYWludGluZ0RhdGEuZHN0UGl4
ZWxBcnJheSwgJnBpeGVsLCB0b3RhbHMsIG1fZGl2aXNvciwgcGFpbnRpbmdEYXRhLmJpYXMsIHBh
aW50aW5nRGF0YS5zcmNQaXhlbEFycmF5KTsKICAgICAgICAgICAgICsrc3RhcnRLZXJuZWxQaXhl
bFg7CiAgICAgICAgIH0KICAgICAgICAgcGl4ZWwgKz0geEluY3JlYXNlOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>61667</attachid>
            <date>2010-07-15 08:47:57 -0700</date>
            <delta_ts>2010-07-16 02:42:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-42273-20100715114802.patch</filename>
            <type>text/plain</type>
            <size>9823</size>
            <attacher name="Alex Nicolaou">anicolao</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBhM2U0OWYwMDVjMzAyNjVlNDRlNzE4NzFiZWU3MDA2YjViNjBkYjBlLi4xZTNhMmZk
Y2ZlYzBiZDU4YTE0YTBlNzZhMTIyMmM0YTI1ZjM0NTU4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAK
KzIwMTAtMDctMTUgIEFsZXggTmljb2xhb3UgIDxhbmljb2xhb0BjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ29udm9sdXRpb24g
Y29tcHV0YXRpb24gY2F1c2VzIGJhZCBhbHBoYSBjaGFubmVsIHZhbHVlcworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDIyNzMKKworICAgICAgICBGaXhl
ZCBieSBjbGFtcGluZyBjb2xvdXIgY2hhbm5lbCB2YWx1ZXMgdG8gdGhlIGFscGhhIHZhbHVlIHNv
IHRoYXQgCisgICAgICAgIHIgPD0gYSwgZyA8PSBhLCBhbmQgYiA8PSBhIGFmdGVyIHRoZSBjb252
b2x1dGlvbiBpcyBhcHBsaWVkLiBTZWUKKyAgICAgICAgdGhlIGJ1ZyBmb3Igd2h5IEkgYmVsaWV2
ZSB0aGUgU1ZHIHNwZWNpZmljYXRpb24gbmVlZHMgdG8gYmUgdXBkYXRlZC4gCisgICAgICAgIFRl
c3QgbXVzdCBiZSBkcmF3biB0byBjcmFzaC4gMTAweDEwMCBncmVlbiByZWN0YW5nbGUgaXMgdXNl
ZCB0byAKKyAgICAgICAgaW5kaWNhdGUgcGFzcyB0byBtaW5pbWl6ZSB0aGUgY2hhbmNlIG9mIHJl
Z3Jlc3Npb24uCisKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9jb252b2x1dGlv
bi1jcmFzaC1leHBlY3RlZC5jaGVja3N1bTogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFj
L3N2Zy9jdXN0b20vY29udm9sdXRpb24tY3Jhc2gtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBzdmcvY3VzdG9tL2NvbnZvbHV0aW9uLWNyYXNoLnN2ZzogQWRkZWQuCisKIDIwMTAtMDct
MTUgIFBhdmVsIFBvZGl2aWxvdiAgPHBvZGl2aWxvdkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgWXVyeSBTZW1pa2hhdHNreS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9zdmcvY3VzdG9tL2NvbnZvbHV0aW9uLWNyYXNoLWV4cGVjdGVkLmNoZWNrc3Vt
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vY29udm9sdXRpb24tY3Jhc2gt
ZXhwZWN0ZWQuY2hlY2tzdW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTA5YmE2ZDc2NTlhODI5ZmEyMTkwZTljNTRk
N2M0YWYzYzJmMDJlMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9zdmcvY3VzdG9tL2NvbnZvbHV0aW9uLWNyYXNoLWV4cGVjdGVkLmNoZWNrc3VtCkBAIC0wLDAg
KzEgQEAKKzNjNzg1YjU5MDhjOTAyNDY2MzVhMWJhMTJhMWY4YWNmClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9jdXN0
b20vY29udm9sdXRpb24tY3Jhc2gtZXhwZWN0ZWQucG5nIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL3N2Zy9jdXN0b20vY29udm9sdXRpb24tY3Jhc2gtZXhwZWN0ZWQucG5nCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjExOTcwOTE0ODYzMWI2MjlmM2E3YjE2NjMxNjdjNzgwOGI1NzljOWMKR0lUIGJpbmFyeSBwYXRj
aApsaXRlcmFsIDI4MTkKemNtZUFTQE4/KG9sSHlgdVZCcSFpYTB5fnlVeyt2WVYyYT5pMCpaKT1o
XmpMJWFHbW1XYVNXLUxeWSlHKipJQCR6CnpTNFp0MUhgKVloS0Foelp2UH17JlVPT3deWnJnPWo/
fDwpRiRJUUBoViVFJiU8X3J1dVByclUpVX0oNkBwfktLSAp6O3tYI3cyUGFtPmppMHxPWXA+T3A8
c3t0T20mM30/Y2JKdSVLfHleMzE0OXhNa2ZBb3A3KmNfLUUkIUokVUl2RWYKeiFoPCo/OThYI3Bt
Qk59dU11VE5FU2EyMWVxaUpJX1pIJVVrKE9mV14zeTh9RndUdWd8MnJQSHtEU1FzdHhNbEVrCkxe
PmJQMGwrWGtLQlIlX0UKCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY3VzdG9tL2NvbnZvbHV0aW9uLWNyYXNoLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY3VzdG9tL2NvbnZvbHV0aW9uLWNy
YXNoLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ODlhNTc4MTA2M2M2ZTYwNWZlYTQxZWU2MGE1
ZmYxNWE5NjVhMmE0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L3N2Zy9jdXN0b20vY29udm9sdXRpb24tY3Jhc2gtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEg
QEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNp
emUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclNWR1Jvb3Qg
e3N2Z30gYXQgKDAsMCkgc2l6ZSAxMTB4MTEwCisgICAgUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVy
IHtkZWZzfSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIg
e2ZpbHRlcn0gW2lkPSJmb28iXSBbZmlsdGVyVW5pdHM9b2JqZWN0Qm91bmRpbmdCb3hdIFtwcmlt
aXRpdmVVbml0cz11c2VyU3BhY2VPblVzZV0KKyAgICAgICAgW2ZlQ29udm9sdmVNYXRyaXggb3Jk
ZXI9IndpZHRoPTMgaGVpZ2h0PTMiIGtlcm5lbE1hdHJpeD0iWzAuMDAsIDAuMDAsIDAuMDAsIDAu
MDAsIDEuMDAsIDAuMDAsIDAuMDAsIDAuMDAsIC0xLjAwXSIgZGl2aXNvcj0iMS4wMCIgYmlhcz0i
MC4wMCIgdGFyZ2V0PSIoMSwxKSIgZWRnZU1vZGU9IkRVUExJQ0FURSIga2VybmVsVW5pdExlbmd0
aD0iKDAsMCkiIHByZXNlcnZlQWxwaGE9IjAiXQorICAgICAgICAgIFtTb3VyY2VHcmFwaGljXQor
ICAgIFJlbmRlclNWR0ltYWdlIHtpbWFnZX0gYXQgKDAsMCkgc2l6ZSAzeDQKKyAgICAgIFtmaWx0
ZXI9ImZvbyJdIFJlbmRlclNWR1Jlc291cmNlRmlsdGVyIHtmaWx0ZXJ9IGF0ICgtMC4yMCwtMC4z
MCkgc2l6ZSAyLjQweDMuNjAKKyAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMTAsMTApIHNpemUg
MTAweDEwMCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDA4MDAwXX1dIFtkYXRhPSJNMTAu
MDAsMTAuMDAgTDExMC4wMCwxMC4wMCBMMTEwLjAwLDExMC4wMCBMMTAuMDAsMTEwLjAwIFoiXQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9jb252b2x1dGlvbi1jcmFzaC5zdmcg
Yi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2NvbnZvbHV0aW9uLWNyYXNoLnN2ZwpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5jMTFjYTZlNmJlYWMwYzNmMTE2MDVlODY1NDkxYjFjM2RjZjlmMDdkCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9jb252b2x1dGlvbi1jcmFzaC5zdmcKQEAgLTAs
MCArMSw1IEBACis8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6
eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgorPGRlZnM+IDxmaWx0ZXIgaWQ9
ImZvbyI+IDxmZUNvbnZvbHZlTWF0cml4IGtlcm5lbE1hdHJpeD0iMCAwIDAgMCAxIDAgMCAwIC0x
Ii8+IDwvZmlsdGVyPiA8L2RlZnM+Cis8aW1hZ2Ugd2lkdGg9IjIiIGhlaWdodD0iMyIgeGxpbms6
aHJlZj0iYmFyIiBmaWx0ZXI9InVybCgjZm9vKSIgLz4KKzxyZWN0IHg9IjEwIiB5PSIxMCIgd2lk
dGg9IjEwMCIgaGVpZ2h0PSIxMDAiIGZpbGw9ImdyZWVuIi8+Cis8L3N2Zz4KZGlmZiAtLWdpdCBh
L1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjc5NDZiZGY0ZTY4
MmRjMWEzZTc1ZDAwNzc3ZWY3MWZlNjQ1MjVmNS4uZDYzZDY0NjNmZDU2MzJiZGY4MzMxZDc5OTMz
OGM2ZWMyMmYxZWRiNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29y
ZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBAQAorMjAxMC0wNy0xNSAgQWxleCBOaWNvbGFvdSAg
PGFuaWNvbGFvQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBDb252b2x1dGlvbiBjb21wdXRhdGlvbiBjYXVzZXMgYmFkIGFscGhh
IGNoYW5uZWwgdmFsdWVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD00MjI3MworCisgICAgICAgIEZpeGVkIGJ5IGNsYW1waW5nIGNvbG91ciBjaGFubmVs
IHZhbHVlcyB0byB0aGUgYWxwaGEgdmFsdWUgc28gdGhhdCAKKyAgICAgICAgciA8PSBhLCBnIDw9
IGEsIGFuZCBiIDw9IGEgYWZ0ZXIgdGhlIGNvbnZvbHV0aW9uIGlzIGFwcGxpZWQuIFNlZQorICAg
ICAgICB0aGUgYnVnIGZvciB3aHkgSSBiZWxpZXZlIHRoZSBTVkcgc3BlY2lmaWNhdGlvbiBuZWVk
cyB0byBiZSB1cGRhdGVkLiAKKyAgICAgICAgVGVzdCBtdXN0IGJlIGRyYXduIHRvIGNyYXNoLiAx
MDB4MTAwIGdyZWVuIHJlY3RhbmdsZSBpcyB1c2VkIHRvIAorICAgICAgICBpbmRpY2F0ZSBwYXNz
IHRvIG1pbmltaXplIHRoZSBjaGFuY2Ugb2YgcmVncmVzc2lvbi4KKworICAgICAgICBUZXN0OiBz
dmcvY3VzdG9tL2NvbnZvbHV0aW9uLWNyYXNoLnN2ZworCisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3Mvc2tpYS9Ta2lhVXRpbHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2tQTUNvbG9yVG9D
b2xvcik6CisgICAgICAgICogc3ZnL2dyYXBoaWNzL2ZpbHRlcnMvU1ZHRkVDb252b2x2ZU1hdHJp
eC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjbGFtcFJHQkFWYWx1ZSk6CisgICAgICAgIChXZWJD
b3JlOjpzZXREZXN0aW5hdGlvblBpeGVscyk6CisgICAgICAgIChXZWJDb3JlOjpGRUNvbnZvbHZl
TWF0cml4OjpmYXN0U2V0SW50ZXJpb3JQaXhlbHMpOgorICAgICAgICAoV2ViQ29yZTo6RkVDb252
b2x2ZU1hdHJpeDo6ZmFzdFNldE91dGVyUGl4ZWxzKToKKwogMjAxMC0wNy0xNSAgWXVyeSBTZW1p
a2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBQYXZl
bCBGZWxkbWFuLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL1Nr
aWFVdGlscy5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvU2tpYVV0aWxzLmNw
cAppbmRleCA3OGNkMDVhMmQ3YzlhOGIwYjA0NGZkNmUzMDRjYTVjMGNhYWQzOTg3Li43NDczZTdh
ZDc3ZjU2YjU0Y2IyYjYyNTAzOTgyNmVkOGU2ZDA4MjUwIDEwMDY0NAotLS0gYS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3NraWEvU2tpYVV0aWxzLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3NraWEvU2tpYVV0aWxzLmNwcApAQCAtODIsMTAgKzgyLDE4IEBAIHN0YXRpYyBV
OENQVSBJbnZTY2FsZUJ5dGUoVThDUFUgY29tcG9uZW50LCB1aW50MzJfdCBzY2FsZSkKIAogU2tD
b2xvciBTa1BNQ29sb3JUb0NvbG9yKFNrUE1Db2xvciBwbSkKIHsKLSAgICBpZiAoMCA9PSBwbSkK
KyAgICBpZiAoIXBtKQogICAgICAgICByZXR1cm4gMDsKLSAgICAKICAgICB1bnNpZ25lZCBhID0g
U2tHZXRQYWNrZWRBMzIocG0pOworICAgIGlmICghYSkgeworICAgICAgICAvLyBBIHplcm8gYWxw
aGEgdmFsdWUgd2hlbiB0aGVyZSBhcmUgbm9uLXplcm8gUiwgRywgb3IgQiBjaGFubmVscyBpcyBh
bgorICAgICAgICAvLyBpbnZhbGlkIHByZW11bHRpcGxpZWQgY29sb3IgKHNpbmNlIGFsbCBjaGFu
bmVscyBzaG91bGQgaGF2ZSBiZWVuCisgICAgICAgIC8vIG11bHRpcGxpZWQgYnkgMCBpZiBhPTAp
LgorICAgICAgICBTa0FTU0VSVChmYWxzZSk7IAorICAgICAgICAvLyBJbiBwcm9kdWN0aW9uLCBy
ZXR1cm4gMCB0byBwcm90ZWN0IGFnYWluc3QgZGl2aXNpb24gYnkgemVyby4KKyAgICAgICAgcmV0
dXJuIDA7CisgICAgfQorICAgIAogICAgIHVpbnQzMl90IHNjYWxlID0gKDI1NSA8PCAxNikgLyBh
OwogICAgIAogICAgIHJldHVybiBTa0NvbG9yU2V0QVJHQihhLApkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9zdmcvZ3JhcGhpY3MvZmlsdGVycy9TVkdGRUNvbnZvbHZlTWF0cml4LmNwcCBiL1dlYkNvcmUv
c3ZnL2dyYXBoaWNzL2ZpbHRlcnMvU1ZHRkVDb252b2x2ZU1hdHJpeC5jcHAKaW5kZXggMzliM2U1
N2ZlNmJlNmIwNGNhYmI2MDEzOTlmODkwYzNjMTgyODM1Ni4uNjE2ZTU0NWYxOGIxNjJhM2NhYWYy
Yzg3MjI2MDFlMWNkNDZiM2Q1OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvZmls
dGVycy9TVkdGRUNvbnZvbHZlTWF0cml4LmNwcAorKysgYi9XZWJDb3JlL3N2Zy9ncmFwaGljcy9m
aWx0ZXJzL1NWR0ZFQ29udm9sdmVNYXRyaXguY3BwCkBAIC0xOTQsMTMgKzE5NCwzNyBAQCB2b2lk
IEZFQ29udm9sdmVNYXRyaXg6OnNldFByZXNlcnZlQWxwaGEoYm9vbCBwcmVzZXJ2ZUFscGhhKQog
ICAgYW5kIHdvdWxkIG1ha2UgaXQgcmVhbGx5IGhhcmQgdG8gdW5kZXJzdGFuZC4KICovCiAKLXN0
YXRpYyBBTFdBWVNfSU5MSU5FIHVuc2lnbmVkIGNoYXIgY2xhbXBSR0JBVmFsdWUoZmxvYXQgcmdi
YSkKK3N0YXRpYyBBTFdBWVNfSU5MSU5FIHVuc2lnbmVkIGNoYXIgY2xhbXBSR0JBVmFsdWUoZmxv
YXQgY2hhbm5lbCwgdW5zaWduZWQgY2hhciBtYXggPSAyNTUpCiB7Ci0gICAgaWYgKHJnYmEgPD0g
MCkKKyAgICBpZiAoY2hhbm5lbCA8PSAwKQogICAgICAgICByZXR1cm4gMDsKLSAgICBpZiAocmdi
YSA+PSAyNTUpCi0gICAgICAgIHJldHVybiAyNTU7Ci0gICAgcmV0dXJuIHJnYmE7CisgICAgaWYg
KGNoYW5uZWwgPj0gbWF4KQorICAgICAgICByZXR1cm4gbWF4OworICAgIHJldHVybiBjaGFubmVs
OworfQorCit0ZW1wbGF0ZTxib29sIHByZXNlcnZlQWxwaGFWYWx1ZXM+CitBTFdBWVNfSU5MSU5F
IHZvaWQgc2V0RGVzdGluYXRpb25QaXhlbHMoQ2FudmFzUGl4ZWxBcnJheSogaW1hZ2UsIGludCYg
cGl4ZWwsIGZsb2F0KiB0b3RhbHMsIGZsb2F0IGRpdmlzb3IsIGZsb2F0IGJpYXMsIENhbnZhc1Bp
eGVsQXJyYXkqIHNyYykKK3sKKyAgICBpbnQgbnVtVG90YWxzID0gcHJlc2VydmVBbHBoYVZhbHVl
cyA/IDMgOiA0OworICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbnVtVG90YWxzOyArK2kpCisgICAg
ICAgIHRvdGFsc1tpXSA9IHRvdGFsc1tpXSAvIGRpdmlzb3IgKyBiaWFzOworCisgICAgdW5zaWdu
ZWQgY2hhciBtYXhBbHBoYTsKKyAgICBpZiAoIXByZXNlcnZlQWxwaGFWYWx1ZXMpCisgICAgICAg
IG1heEFscGhhID0gY2xhbXBSR0JBVmFsdWUodG90YWxzWzNdKTsKKyAgICBlbHNlIAorICAgICAg
ICBtYXhBbHBoYSA9IDI1NTsKKworICAgIGZvciAoaW50IGkgPSAwOyBpIDwgMzsgKytpKQorICAg
ICAgICBpbWFnZS0+c2V0KHBpeGVsKyssIGNsYW1wUkdCQVZhbHVlKHRvdGFsc1swXSwgbWF4QWxw
aGEpKTsKKworICAgIGlmICghcHJlc2VydmVBbHBoYVZhbHVlcykKKyAgICAgICAgaW1hZ2UtPnNl
dChwaXhlbCsrLCBtYXhBbHBoYSk7CisgICAgZWxzZSB7CisgICAgICAgIGltYWdlLT5zZXQocGl4
ZWwsIHNyYy0+Z2V0KHBpeGVsKSk7CisgICAgICAgICsrcGl4ZWw7CisgICAgfQogfQogCiAvLyBP
bmx5IGZvciByZWdpb24gQwpAQCAtMjQ0LDE1ICsyNjgsNyBAQCBBTFdBWVNfSU5MSU5FIHZvaWQg
RkVDb252b2x2ZU1hdHJpeDo6ZmFzdFNldEludGVyaW9yUGl4ZWxzKFBhaW50aW5nRGF0YSYgcGFp
bnRpbgogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgcGFp
bnRpbmdEYXRhLmRzdFBpeGVsQXJyYXktPnNldChwaXhlbCsrLCBjbGFtcFJHQkFWYWx1ZSh0b3Rh
bHNbMF0gLyBtX2Rpdmlzb3IgKyBwYWludGluZ0RhdGEuYmlhcykpOwotICAgICAgICAgICAgcGFp
bnRpbmdEYXRhLmRzdFBpeGVsQXJyYXktPnNldChwaXhlbCsrLCBjbGFtcFJHQkFWYWx1ZSh0b3Rh
bHNbMV0gLyBtX2Rpdmlzb3IgKyBwYWludGluZ0RhdGEuYmlhcykpOwotICAgICAgICAgICAgcGFp
bnRpbmdEYXRhLmRzdFBpeGVsQXJyYXktPnNldChwaXhlbCsrLCBjbGFtcFJHQkFWYWx1ZSh0b3Rh
bHNbMl0gLyBtX2Rpdmlzb3IgKyBwYWludGluZ0RhdGEuYmlhcykpOwotICAgICAgICAgICAgaWYg
KCFwcmVzZXJ2ZUFscGhhVmFsdWVzKQotICAgICAgICAgICAgICAgIHBhaW50aW5nRGF0YS5kc3RQ
aXhlbEFycmF5LT5zZXQocGl4ZWwrKywgY2xhbXBSR0JBVmFsdWUodG90YWxzWzNdIC8gbV9kaXZp
c29yICsgcGFpbnRpbmdEYXRhLmJpYXMpKTsKLSAgICAgICAgICAgIGVsc2UgewotICAgICAgICAg
ICAgICAgIHBhaW50aW5nRGF0YS5kc3RQaXhlbEFycmF5LT5zZXQocGl4ZWwsIHBhaW50aW5nRGF0
YS5zcmNQaXhlbEFycmF5LT5nZXQocGl4ZWwpKTsKLSAgICAgICAgICAgICAgICArK3BpeGVsOwot
ICAgICAgICAgICAgfQorICAgICAgICAgICAgc2V0RGVzdGluYXRpb25QaXhlbHM8cHJlc2VydmVB
bHBoYVZhbHVlcz4ocGFpbnRpbmdEYXRhLmRzdFBpeGVsQXJyYXksIHBpeGVsLCB0b3RhbHMsIG1f
ZGl2aXNvciwgcGFpbnRpbmdEYXRhLmJpYXMsIHBhaW50aW5nRGF0YS5zcmNQaXhlbEFycmF5KTsK
ICAgICAgICAgICAgIHN0YXJ0S2VybmVsUGl4ZWwgKz0gNDsKICAgICAgICAgfQogICAgICAgICBw
aXhlbCArPSB4SW5jcmVhc2U7CkBAIC0zMzcsMTUgKzM1Myw3IEBAIHZvaWQgRkVDb252b2x2ZU1h
dHJpeDo6ZmFzdFNldE91dGVyUGl4ZWxzKFBhaW50aW5nRGF0YSYgcGFpbnRpbmdEYXRhLCBpbnQg
eDEsIGluCiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQogCi0gICAgICAgICAgICBw
YWludGluZ0RhdGEuZHN0UGl4ZWxBcnJheS0+c2V0KHBpeGVsKyssIGNsYW1wUkdCQVZhbHVlKHRv
dGFsc1swXSAvIG1fZGl2aXNvciArIHBhaW50aW5nRGF0YS5iaWFzKSk7Ci0gICAgICAgICAgICBw
YWludGluZ0RhdGEuZHN0UGl4ZWxBcnJheS0+c2V0KHBpeGVsKyssIGNsYW1wUkdCQVZhbHVlKHRv
dGFsc1sxXSAvIG1fZGl2aXNvciArIHBhaW50aW5nRGF0YS5iaWFzKSk7Ci0gICAgICAgICAgICBw
YWludGluZ0RhdGEuZHN0UGl4ZWxBcnJheS0+c2V0KHBpeGVsKyssIGNsYW1wUkdCQVZhbHVlKHRv
dGFsc1syXSAvIG1fZGl2aXNvciArIHBhaW50aW5nRGF0YS5iaWFzKSk7Ci0gICAgICAgICAgICBp
ZiAoIXByZXNlcnZlQWxwaGFWYWx1ZXMpCi0gICAgICAgICAgICAgICAgcGFpbnRpbmdEYXRhLmRz
dFBpeGVsQXJyYXktPnNldChwaXhlbCsrLCBjbGFtcFJHQkFWYWx1ZSh0b3RhbHNbM10gLyBtX2Rp
dmlzb3IgKyBwYWludGluZ0RhdGEuYmlhcykpOwotICAgICAgICAgICAgZWxzZSB7Ci0gICAgICAg
ICAgICAgICAgcGFpbnRpbmdEYXRhLmRzdFBpeGVsQXJyYXktPnNldChwaXhlbCwgcGFpbnRpbmdE
YXRhLnNyY1BpeGVsQXJyYXktPmdldChwaXhlbCkpOwotICAgICAgICAgICAgICAgICsrcGl4ZWw7
Ci0gICAgICAgICAgICB9CisgICAgICAgICAgICBzZXREZXN0aW5hdGlvblBpeGVsczxwcmVzZXJ2
ZUFscGhhVmFsdWVzPihwYWludGluZ0RhdGEuZHN0UGl4ZWxBcnJheSwgcGl4ZWwsIHRvdGFscywg
bV9kaXZpc29yLCBwYWludGluZ0RhdGEuYmlhcywgcGFpbnRpbmdEYXRhLnNyY1BpeGVsQXJyYXkp
OwogICAgICAgICAgICAgKytzdGFydEtlcm5lbFBpeGVsWDsKICAgICAgICAgfQogICAgICAgICBw
aXhlbCArPSB4SW5jcmVhc2U7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>61786</attachid>
            <date>2010-07-16 02:42:35 -0700</date>
            <delta_ts>2010-07-16 02:47:44 -0700</delta_ts>
            <desc>Fixup patch</desc>
            <filename>FixFilters.diff</filename>
            <type>text/plain</type>
            <size>26823</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2MzUzNCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjAgQEAKKzIwMTAtMDctMTYgIE5pa29sYXMgWmltbWVybWFubiAgPG56aW1tZXJt
YW5uQHJpbS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQ29udm9sdXRpb24gY29tcHV0YXRpb24gY2F1c2VzIGJhZCBhbHBoYSBjaGFubmVsIHZh
bHVlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDIy
NzMKKworICAgICAgICBVbmJyZWFrIHRoZSBjb252b2x2ZSBtYXRyaXggZmlsdGVyLCBmaXhpbmcg
c3ZnL1czQy1TVkctMS4xL2ZpbHRlcnMtY29udi0wMS1mLnN2Zy4KKworICAgICAgICAxKSBGaXgg
Y2xhbXBpbmcgdGhlIHJnYiB2YWx1ZXM6CisgICAgICAgICJpbWFnZS0+c2V0KHBpeGVsKyssIGNs
YW1wUkdCQVZhbHVlKHRvdGFsc1swXSwgbWF4QWxwaGEpKTsiIHRvdGFsc1swXSAtPiB0b3RhbHNb
aV0uCisKKyAgICAgICAgMikgRG9uJ3QgYXBwbHkgdGhlIGRpdmlzaW9yIGRpdmlzb24gYW5kIGJp
YXMgYWRkaXRpb24gbXVsdGlwbGUgdGltZXMsIGFjY3VtdWxhdGVkIQorICAgIAorICAgICAgICAq
IHN2Zy9ncmFwaGljcy9maWx0ZXJzL1NWR0ZFQ29udm9sdmVNYXRyaXguY3BwOgorICAgICAgICAo
V2ViQ29yZTo6c2V0RGVzdGluYXRpb25QaXhlbHMpOiBGaXggdHdvIGV2aWwgYnVncywgYnJlYWtp
bmcgZmVDb252b2x2ZU1hdHJpeC4KKwogMjAxMC0wNy0xNiAgTmlrb2xhcyBaaW1tZXJtYW5uICA8
bnppbW1lcm1hbm5AcmltLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEaXJrIFNjaHVsemUu
CkluZGV4OiBXZWJDb3JlL3N2Zy9ncmFwaGljcy9maWx0ZXJzL1NWR0ZFQ29udm9sdmVNYXRyaXgu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL2dyYXBoaWNzL2ZpbHRlcnMvU1ZHRkVDb252
b2x2ZU1hdHJpeC5jcHAJKHJldmlzaW9uIDYzNTI2KQorKysgV2ViQ29yZS9zdmcvZ3JhcGhpY3Mv
ZmlsdGVycy9TVkdGRUNvbnZvbHZlTWF0cml4LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjA2LDI1
ICsyMDYsMTUgQEAgc3RhdGljIEFMV0FZU19JTkxJTkUgdW5zaWduZWQgY2hhciBjbGFtcAogdGVt
cGxhdGU8Ym9vbCBwcmVzZXJ2ZUFscGhhVmFsdWVzPgogQUxXQVlTX0lOTElORSB2b2lkIHNldERl
c3RpbmF0aW9uUGl4ZWxzKENhbnZhc1BpeGVsQXJyYXkqIGltYWdlLCBpbnQmIHBpeGVsLCBmbG9h
dCogdG90YWxzLCBmbG9hdCBkaXZpc29yLCBmbG9hdCBiaWFzLCBDYW52YXNQaXhlbEFycmF5KiBz
cmMpCiB7Ci0gICAgaW50IG51bVRvdGFscyA9IHByZXNlcnZlQWxwaGFWYWx1ZXMgPyAzIDogNDsK
LSAgICBmb3IgKGludCBpID0gMDsgaSA8IG51bVRvdGFsczsgKytpKQotICAgICAgICB0b3RhbHNb
aV0gPSB0b3RhbHNbaV0gLyBkaXZpc29yICsgYmlhczsKLQotICAgIHVuc2lnbmVkIGNoYXIgbWF4
QWxwaGE7Ci0gICAgaWYgKCFwcmVzZXJ2ZUFscGhhVmFsdWVzKQotICAgICAgICBtYXhBbHBoYSA9
IGNsYW1wUkdCQVZhbHVlKHRvdGFsc1szXSk7Ci0gICAgZWxzZSAKLSAgICAgICAgbWF4QWxwaGEg
PSAyNTU7Ci0KKyAgICB1bnNpZ25lZCBjaGFyIG1heEFscGhhID0gcHJlc2VydmVBbHBoYVZhbHVl
cyA/IDI1NSA6IGNsYW1wUkdCQVZhbHVlKHRvdGFsc1szXSAvIGRpdmlzb3IgKyBiaWFzKTsKICAg
ICBmb3IgKGludCBpID0gMDsgaSA8IDM7ICsraSkKLSAgICAgICAgaW1hZ2UtPnNldChwaXhlbCsr
LCBjbGFtcFJHQkFWYWx1ZSh0b3RhbHNbMF0sIG1heEFscGhhKSk7CisgICAgICAgIGltYWdlLT5z
ZXQocGl4ZWwrKywgY2xhbXBSR0JBVmFsdWUodG90YWxzW2ldIC8gZGl2aXNvciArIGJpYXMsIG1h
eEFscGhhKSk7CiAKLSAgICBpZiAoIXByZXNlcnZlQWxwaGFWYWx1ZXMpCi0gICAgICAgIGltYWdl
LT5zZXQocGl4ZWwrKywgbWF4QWxwaGEpOwotICAgIGVsc2UgeworICAgIGlmIChwcmVzZXJ2ZUFs
cGhhVmFsdWVzKSB7CiAgICAgICAgIGltYWdlLT5zZXQocGl4ZWwsIHNyYy0+Z2V0KHBpeGVsKSk7
CiAgICAgICAgICsrcGl4ZWw7Ci0gICAgfQorICAgIH0gZWxzZQorICAgICAgICBpbWFnZS0+c2V0
KHBpeGVsKyssIG1heEFscGhhKTsKIH0KIAogLy8gT25seSBmb3IgcmVnaW9uIEMKSW5kZXg6IExh
eW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJ
KHJldmlzaW9uIDYzNTM0KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDMgKzEsMTYgQEAKKzIwMTAtMDctMTYgIE5pa29sYXMgWmltbWVybWFubiAgPG56aW1t
ZXJtYW5uQHJpbS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQ29udm9sdXRpb24gY29tcHV0YXRpb24gY2F1c2VzIGJhZCBhbHBoYSBjaGFubmVs
IHZhbHVlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NDIyNzMKKworICAgICAgICBVbmJyZWFrIHRoZSBjb252b2x2ZSBtYXRyaXggZmlsdGVyLCBmaXhp
bmcgc3ZnL1czQy1TVkctMS4xL2ZpbHRlcnMtY29udi0wMS1mLnN2Zy4KKyAgICAgICAgVXBkYXRl
IGNvbnZvbHV0aW9uLWNyYXNoLnN2ZyByZXN1bHRzLgorCisgICAgICAgICogcGxhdGZvcm0vbWFj
L3N2Zy9jdXN0b20vY29udm9sdXRpb24tY3Jhc2gtZXhwZWN0ZWQuY2hlY2tzdW06CisgICAgICAg
ICogcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vY29udm9sdXRpb24tY3Jhc2gtZXhwZWN0ZWQucG5n
OgorCiAyMDEwLTA3LTE2ICBOaWtvbGFzIFppbW1lcm1hbm4gIDxuemltbWVybWFubkByaW0uY29t
PgogCiAgICAgICAgIE5vdCByZXZpZXdlZC4gUmViYXNlbGluZSB0d28gcmVzdWx0cyB3aGljaCBz
ZWVtZWQgdG8gYmUgY29ycnVwdCAoRFJUIHdhcm5zKS4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9zdmcvY3VzdG9tL2NvbnZvbHV0aW9uLWNyYXNoLWV4cGVjdGVkLmNoZWNrc3VtCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY3VzdG9tL2NvbnZvbHV0
aW9uLWNyYXNoLWV4cGVjdGVkLmNoZWNrc3VtCShyZXZpc2lvbiA2MzUzNCkKKysrIExheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9zdmcvY3VzdG9tL2NvbnZvbHV0aW9uLWNyYXNoLWV4cGVjdGVkLmNo
ZWNrc3VtCSh3b3JraW5nIGNvcHkpCkBAIC0xICsxIEBACi0yZjcxMzAwODkyODNmNjI0Yzg4MzEz
NWY3Mzk4Y2MzMApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK2FiZWI0NTgyMjJmZmI1OTY0
Nzk4OTA0YjkwOWY0M2Q5ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vY29udm9sdXRpb24tY3Jhc2gtZXhwZWN0ZWQu
cG5nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY3VzdG9tL2Nv
bnZvbHV0aW9uLWNyYXNoLWV4cGVjdGVkLnBuZwkocmV2aXNpb24gNjM1MzQpCisrKyBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9jb252b2x1dGlvbi1jcmFzaC1leHBlY3RlZC5w
bmcJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSw5IEBACiCJUE5HDQogGgotAAAADUlIRFIAAAMg
AAACWAgGAAAAmnaCcAAAAztpQ0NQSUNDIFByb2ZpbGUAAHgBhZRLaNRQFIb/jCmCtIKotRaU4EKL
tCU+0IpQ22m11pFxGPvQIsg0c2caTTMxmRkfiEhB3PlaihsfiIsq4kK6UHClC5FC62tRBHGlIohC
N1LG/ybtTCpWLyT5cs5/z+uGAFUPU45jRTRg2M67ya6odujwgLZ4AlWoQTW4UobntCcS+32mVj7n
r+m3UKRlsknGivUdmPi0bfX9S49i7+ue9vqe+fp5bzUuEwKKRuuKbMBbJQ8GvFfyybyTp+aIZGMo
lSY75Ea3J9lBvkFemg3xYIjTwjOAqjZqcobjMk5kBbmlaGRlzFGybqdNmzwl7WnPGKaG/UZ+yFnQ
xpWPAa1rgEUvK7YBDxi9C6xaX7E11AEr+4GxLRXbz6Q/H6V23Mts2eyHU6qjrOlDqfRzPbD4GjBz
tVT6datUmrnNHKzjmWUU3KKvZWHKKyCoN9jN+Mk5WoiDnnxVC3CTc+xfAsQuANc/AhseAMsfA4ka
oGcHIufZbnDlxSnOBejIOaddMzuU1zbr+natnUcrtG7baG7UUpal+S5Pc4Un3KJIN2PYKnDO/lrG
e7Wwew/yyf4i54S3e5aVkXSqk7NEM9v6khadu8mN5HsZc083uYHXVMbd0xuwstHMd/cEHOmzrTjP
RWoidfZg/ACZ8RXVyUflPCSPeMWDMqZvP5balyDX0548notJTS33tp0Z6uEZSVasM0Md8Vl+7RaS
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
ISBABpAzAQIECBAgQIAAAQKdgADpLC0RIECAAAECBAgQIDAEBMgAciZAgAABAgQIECBAoBMQIJ2l
JQIECBAgQIAAAQIEhoAAGUDOBAgQIECAAAECBAh0AgKks7REgAABAgQIECBAgMAQECADyJkAAQIE
CBAgQIAAgU5AgHSWlggQIECAAAECBAgQGAICZAA5EyBAgAABAgQIECDQCQiQztISAQIECBAgQIAA
AQJDQIAMIGcCBAgQIECAAAECBDoBAdJZWiJAgAABAgQIECBAYAgIkAHkTIAAAQIECBAgQIBAJyBA
OktLBAgQIECAAAECBAgMAQEygJwJECBAgAABAgQIEOgEBEhnaYkAAQIECBAgQIAAgSEgQAaQMwEC
BAgQIECAAAECnYAA6SwtESBAgAABAgQIECAwBATIAHImQIAAAQIECBAgQKATECCdpSUCBAgQIECA
AAECBIaAABlAzgQIECBAgAABAgQIdAICpLO0RIAAAQIECBAgQIDAEBAgA8iZAAECBAgQIECAAIFO
QIB0lpYIECBAgAABAgQIEBgCAmQAORMgQIAAAQIECBAg0AkIkM7SEgECBAgQIECAAAECQ0CADCBn
AgQIECBAgAABAgQ6AQHSWVoiQIAAAQIECBAgQGAICJAB5EyAAAECBAgQIECAQCcgQDpLSwQIECBA
gAABAgQIDAEBMoCcCRAgQIAAAQIECBDoBARIZ2mJAAECBAgQIECAAIEhIEAGkDMBAgQIECBAgAAB
Ap2AAOksLREgQIAAAQIECBAgMAQEyAByJkCAAAECBAgQIECgExAgnaUlAgQIECBAgAABAgSGgAAZ
QM4ECBAgQIAAAQIECHQCAqSztESAAAECBAgQIECAwBAQIAPImQABAgQIECBAgACBTkCAdJaWCBAg
QIAAAQIECBAYAgJkADkTIECAAAECBAgQINAJCJDO0hIBAgQIECBAgAABAkNAgAwgZwIECBAgQIAA
AQIEOgEB0llaIkCAAAECBAgQIEBgCAiQAeRMgAABAgQIECBAgEAnIEA6S0sECBAgQIAAAQIECAwB
ATKAnAkQIECAAAECBAgQ6AQESGdpiQABAgQIECBAgACBISBABpAzAQIECBAgQIAAAQKdgADpLC0R
IECAAAECBAgQIDAEBMgAciZAgAABAgQIECBAoBMQIJ2lJQIECBAgQIAAAQIEhoAAGUDOBAgQIECA
AAECBAh0AgKks7REgAABAgQIECBAgMAQECADyJkAAQIECBAgQIAAgU5AgHSWlggQIECAAAECBAgQ
GAICZAA5EyBAgAABAgQIECDQCQiQztISAQIECBAgQIAAAQJDQIAMIGcCBAgQIECAAAECBDoBAdJZ
WiJAgAABAgQIECBAYAgIkAHkTIAAAQIECBAgQIBAJyBAOktLBAgQIECAAAECBAgMAQEygJwJECBA
gAABAgQIEOgEBEhnaYkAAQIECBAgQIAAgSEgQAaQMwECBAgQIECAAAECnYAA6SwtESBAgAABAgQI
ECAwBATIAHImQIAAAQIECBAgQKATECCdpSUCBAgQIECAAAECBIaAABlAzgQIECBAgAABAgQIdAIC
pLO0RIAAAQIECBAgQIDAEBAgA8iZAAECBAgQIECAAIFOQIB0lpYIECBAgAABAgQIEBgCAmQAORMg
QIAAAQIECBAg0AkIkM7SEgECBAgQIECAAAECQ0CADCBnAgQIECBAgAABAgQ6AQHSWVoiQIAAAQIE
CBAgQGAICJAB5EyAAAECBAgQIECAQCcgQDpLSwQIECBAgAABAgQIDAEBMoCcCRAgQIAAAQIECBDo
BARIZ2mJAAECBAgQIECAAIEhIEAGkDMBAgQIECBAgAABAp2AAOksLREgQIAAAQIECBAgMAQEyABy
JkCAAAECBAgQIECgExAgnaUlAgQIECBAgAABAgSGgAAZQM4ECBAgQIAAAQIECHQCAqSztESAAAEC
BAgQIECAwBAQIAPImQABAgQIECBAgACBTkCAdJaWCBAgQIAAAQIECBAYAgJkADkTIECAAAECBAgQ
INAJCJDO0hIBAgQIECBAgAABAkNAgAwgZwIECBAgQIAAAQIEOgEB0llaIkCAAAECBAgQIEBgCAiQ
AeRMgAABAgQIECBAgEAnIEA6S0sECBAgQIAAAQIECAwBATKAnAkQIECAAAECBAgQ6AQESGdpiQAB
AgQIECBAgACBISBABpAzAQIECBAgQIAAAQKdgADpLC0RIECAAAECBAgQIDAEBMgAciZAgAABAgQI
ECBAoBMQIJ2lJQIECBAgQIAAAQIEhoAAGUDOBAgQIECAAAECBAh0AgKks7REgAABAgQIECBAgMAQ
ECADyJkAAQIECBAgQIAAgU5AgHSWlggQIECAAAECBAgQGAICZAA5EyBAgAABAgQIECDQCQiQztIS
AQIECBAgQIAAAQJDQIAMIGcCBAgQIECAAAECBDoBAdJZWiJAgAABAgQIECBAYAgIkAHkTIAAAQIE
CBAgQIBAJyBAOktLBAgQIECAAAECBAgMAQEygJwJECBAgAABAgQIEOgEBEhnaYkAAQIECBAgQIAA
gSEgQAaQMwECBAgQIECAAAECnYAA6SwtESBAgAABAgQIECAwBATIAHImQIAAAQIECBAgQKATECCd
pSUCBAgQIECAAAECBIaAABlAzgQIECBAgAABAgQIdAICpLO0RIAAAQIECBAgQIDAEBAgA8iZAAEC
BAgQIECAAIFOQIB0lpYIECBAgAABAgQIEBgCAmQAORMgQIAAAQIECBAg0AkIkM7SEgECBAgQIECA
AAECQ0CADCBnAgQIECBAgAABAgQ6AQHSWVoiQIAAAQIECBAgQGAICJAB5EyAAAECBAgQIECAQCcg
QDpLSwQIECBAgAABAgQIDAEBMoCcCRAgQIAAAQIECBDoBARIZ2mJAAECBAgQIECAAIEhIEAGkDMB
AgQIECBAgAABAp2AAOksLREgQIAAAQIECBAgMAQEyAByJkCAAAECBAgQIECgExAgnaUlAgQIECBA
gAABAgSGgAAZQM4ECBAgQIAAAQIECHQCAqSztESAAAECBAgQIECAwBAQIAPImQABAgQIECBAgACB
TkCAdJaWCBAgQIAAAQIECBAYAgJkADkTIECAAAECBAgQINAJCJDO0hIBAgQIECBAgAABAkNAgAwg
ZwIECBAgQIAAAQIEOgEB0llaIkCAAAECBAgQIEBgCAiQAeRMgAABAgQIECBAgEAnIEA6S0sECBAg
QIAAAQIECAwBATKAnAkQIECAAAECBAgQ6AQESGdpiQABAgQIECBAgACBISBABpAzAQIECBAgQIAA
AQKdgADpLC0RIECAAAECBAgQIDAEBMgAciZAgAABAgQIECBAoBMQIJ2lJQIECBAgQIAAAQIEhoAA
GUDOBAgQIECAAAECBAh0AgKks7REgAABAgQIECBAgMAQECADyJkAAQIECBAgQIAAgU5AgHSWlggQ
IECAAAECBAgQGAICZAA5EyBAgAABAgQIECDQCQiQztISAQIECBAgQIAAAQJDQIAMIGcCBAgQIECA
AAECBDoBAdJZWiJAgAABAgQIECBAYAgIkAHkTIAAAQIECBAgQIBAJyBAOktLBAgQIECAAAECBAgM
AQEygJwJECBAgAABAgQIEOgEBEhnaYkAAQIECBAgQIAAgSEgQAaQMwECBAgQIECAAAECnYAA6Swt
ESBAgAABAgQIECAwBATIAHImQIAAAQIECBAgQKATECCdpSUCBAgQIECAAAECBIaAABlAzgQIECBA
gAABAgQIdAICpLO0RIAAAQIECBAgQIDAEBAgA8iZAAECBAgQIECAAIFOQIB0lpYIECBAgAABAgQI
EBgCAmQAORMgQIAAAQIECBAg0AkIkM7SEgECBAgQIECAAAECQ0CADCBnAgQIECBAgAABAgQ6AQHS
WVoiQIAAAQIECBAgQGAICJAB5EyAAAECBAgQIECAQCcgQDpLSwQIECBAgAABAgQIDAEBMoCcCRAg
QIAAAQIECBDoBARIZ2mJAAECBAgQIECAAIEhIEAGkDMBAgQIECBAgAABAp2AAOksLREgQIAAAQIE
CBAgMAQEyAByJkCAAAECBAgQIECgExAgnaUlAgQIECBAgAABAgSGgAAZQM4ECBAgQIAAAQIECHQC
AqSztESAAAECBAgQIECAwBAQIAPImQABAgQIECBAgACBTkCAdJaWCBAgQIAAAQIECBAYAgJkADkT
IECAAAECBAgQINAJCJDO0hIBAgQIECBAgAABAkNAgAwgZwIECBAgQIAAAQIEOgEB0llaIkCAAAEC
BAgQIEBgCAiQAeRMgAABAgQIECBAgEAnIEA6S0sECBAgQIAAAQIECAwBATKAnAkQIECAAAECBAgQ
6AQESGdpiQABAgQIECBAgACBISBABpAzAQIECBAgQIAAAQKdgADpLC0RIECAAAECBAgQIDAEBMgA
ciZAgAABAgQIECBAoBMQIJ2lJQIECBAgQIAAAQIEhoAAGUDOBAgQIECAAAECBAh0AgKks7REgAAB
AgQIECBAgMAQECADyJkAAQIECBAgQIAAgU5AgHSWlggQIECAAAECBAgQGAICZAA5EyBAgAABAgQI
ECDQCQiQztISAQIECBAgQIAAAQJDQIAMIGcCBAgQIECAAAECBDoBAdJZWiJAgAABAgQIECBAYAgI
kAHkTIAAAQIECBAgQIBAJyBAOktLBAgQIECAAAECBAgMAQEygJwJECBAgAABAgQIEOgEBEhnaYkA
AQIECBAgQIAAgSEgQAaQMwECBAgQIECAAAECnYAA6SwtESBAgAABAgQIECAwBATIAHImQIAAAQIE
CBAgQKATECCdpSUCBAgQIECAAAECBIaAABlAzgQIECBAgAABAgQIdAICpLO0RIAAAQIECBAgQIDA
EBAgA8iZAAECBAgQIECAAIFOQIB0lpYIECBAgAABAgQIEBgCAmQAORMgQIAAAQIECBAg0AkIkM7S
EgECBAgQIECAAAECQ0CADCBnAgQIECBAgAABAgQ6AQHSWVoiQIAAAQIECBAgQGAICJAB5EyAAAEC
BAgQIECAQCcgQDpLSwQIECBAgAABAgQIDAEBMoCcCRAgQIAAAQIECBDoBARIZ2mJAAECBAgQIECA
AIEhIEAGkDMBAgQIECBAgAABAp2AAOksLREgQIAAAQIECBAgMAQEyAByJkCAAAECBAgQIECgExAg
naUlAgQIECBAgAABAgSGgAAZQM4ECBAgQIAAAQIECHQCAqSztESAAAECBAgQIECAwBAQIAPImQAB
AgQIECBAgACBTkCAdJaWCBAgQIAAAQIECBAYAgJkADkTIECAAAECBAgQINAJCJDO0hIBAgQIECBA
gAABAkNAgAwgZwIECBAgQIAAAQIEOgEB0llaIkCAAAECBAgQIEBgCAiQAeRMgAABAgQIECBAgEAn
IEA6S0sECBAgQIAAAQIECAwBATKAnAkQIECAAAECBAgQ6AQESGdpiQABAgQIECBAgACBISBABpAz
AQIECBAgQIAAAQKdgADpLC0RIECAAAECBAgQIDAEBMgAciZAgAABAgQIECBAoBMQIJ2lJQIECBAg
QIAAAQIEhoAAGUDOBAgQIECAAAECBAh0AgKks7REgAABAgQIECBAgMAQECADyJkAAQIECBAgQIAA
gU5AgHSWlggQIECAAAECBAgQGAICZAA5EyBAgAABAgQIECDQCQiQztISAQIECBAgQIAAAQJDQIAM
IGcCBAgQIECAAAECBDoBAdJZWiJAgAABAgQIECBAYAgIkAHkTIAAAQIECBAgQIBAJyBAOktLBAgQ
IECAAAECBAgMAQEygJwJECBAgAABAgQIEOgEBEhnaYkAAQIECBAgQIAAgSEgQAaQMwECBAgQIECA
AAECnYAA6SwtESBAgAABAgQIECAwBATIAHImQIAAAQIECBAgQKATECCdpSUCBAgQIECAAAECBIaA
ABlAzgQIECBAgAABAgQIdAICpLO0RIAAAQIECBAgQIDAEBAgA8iZAAECBAgQIECAAIFOQIB0lpYI
ECBAgAABAgQIEBgCAmQAORMgQIAAAQIECBAg0AkIkM7SEgECBAgQIECAAAECQ0CADCBnAgQIECBA
gAABAgQ6AQHSWVoiQIAAAQIECBAgQGAICJAB5EyAAAECBAgQIECAQCcgQDpLSwQIECBAgAABAgQI
DAEBMoCcCRAgQIAAAQIECBDoBARIZ2mJAAECBAgQIECAAIEhIEAGkDMBAgQIECBAgAABAp2AAOks
LREgQIAAAQIECBAgMAQEyAByJkCAAAECBAgQIECgExAgnaUlAgQIECBAgAABAgSGgAAZQM4ECBAg
QIAAAQIECHQCAqSztESAAAECBAgQIECAwBAQIAPImQABAgQIECBAgACBTkCAdJaWCBAgQIAAAQIE
CBAYAgJkADkTIECAAAECBAgQINAJCJDO0hIBAgQIECBAgAABAkNAgAwgZwIECBAgQIAAAQIEOgEB
0llaIkCAAAECBAgQIEBgCAiQAeRMgAABAgQIECBAgEAnIEA6S0sECBAgQIAAAQIECAwBATKAnAkQ
IECAAAECBAgQ6AQESGdpiQABAgQIECBAgACBISBABpAzAQIECBAgQIAAAQKdgADpLC0RIECAAAEC
BAgQIDAEBMgAciZAgAABAgQIECBAoBMQIJ2lJQIECBAgQIAAAQIEhoAAGUDOBAgQIECAAAECBAh0
AgKks7REgAABAgQIECBAgMAQECADyJkAAQIECBAgQIAAgU5AgHSWlggQIECAAAECBAgQGAICZAA5
EyBAgAABAgQIECDQCQiQztISAQIECBAgQIAAAQJDQIAMIGcCBAgQIECAAAECBDoBAdJZWiJAgAAB
AgQIECBAYAgIkAHkTIAAAQIECBAgQIBAJyBAOktLBAgQIECAAAECBAgMAQEygJwJECBAgAABAgQI
EOgEBEhnaYkAAQIECBAgQIAAgSEgQAaQMwECBAgQIECAAAECnYAA6SwtESBAgAABAgQIECAwBATI
AHImQIAAAQIECBAgQKATECCdpSUCBAgQIECAAAECBIaAABlAzgQIECBAgAABAgQIdAICpLO0RIAA
AQIECBAgQIDAEBAgA8iZAAECBAgQIECAAIFOQIB0lpYIECBAgAABAgQIEBgCAmQAORMgQIAAAQIE
CBAg0AkIkM7SEgECBAgQIECAAAECQ0CADCBnAgQIECBAgAABAgQ6AQHSWVoiQIAAAQIECBAgQGAI
CJAB5EyAAAECBAgQIECAQCcgQDpLSwQIECBAgAABAgQIDAEBMoCcCRAgQIAAAQIECBDoBARIZ2mJ
AAECBAgQIECAAIEhIEAGkDMBAgQIECBAgAABAp2AAOksLREgQIAAAQIECBAgMAQEyAByJkCAAAEC
BAgQIECgExAgnaUlAgQIECBAgAABAgSGgAAZQM4ECBAgQIAAAQIECHQCAqSztESAAAECBAgQIECA
wBAQIAPImQABAgQIECBAgACBTkCAdJaWCBAgQIAAAQIECBAYAgJkADkTIECAAAECBAgQINAJCJDO
0hIBAgQIECBAgAABAkNAgAwgZwIECBAgQIAAAQIEOgEB0llaIkCAAAECBAgQIFKSXxsAAAj2SURB
VEBgCAiQAeRMgAABAgQIECBAgEAnIEA6S0sECBAgQIAAAQIECAwBATKAnAkQIECAAAECBAgQ6AQE
SGdpiQABAgQIECBAgACBISBABpAzAQIECBAgQIAAAQKdgADpLC0RIECAAAECBAgQIDAEBMgAciZA
gAABAgQIECBAoBMQIJ2lJQIECBAgQIAAAQIEhoAAGUDOBAgQIECAAAECBAh0AgKks7REgAABAgQI
ECBAgMAQECADyJkAAQIECBAgQIAAgU5AgHSWlggQIECAAAECBAgQGAICZAA5EyBAgAABAgQIECDQ
CQiQztISAQIECBAgQIAAAQJDQIAMIGcCBAgQIECAAAECBDoBAdJZWiJAgAABAgQIECBAYAgIkAHk
TIAAAQIECBAgQIBAJyBAOktLBAgQIECAAAECBAgMAQEygJwJECBAgAABAgQIEOgEBEhnaYkAAQIE
CBAgQIAAgSEgQAaQMwECBAgQIECAAAECnYAA6SwtESBAgAABAgQIECAwBATIAHImQIAAAQIECBAg
QKATECCdpSUCBAgQIECAAAECBIaAABlAzgQIECBAgAABAgQIdAICpLO0RIAAAQIECBAgQIDAEBAg
A8iZAAECBAgQIECAAIFOQIB0lpYIECBAgAABAgQIEBgCAmQAORMgQIAAAQIECBAg0AkIkM7SEgEC
BAgQIECAAAECQ0CADCBnAgQIECBAgAABAgQ6AQHSWVoiQIAAAQIECBAgQGAICJAB5EyAAAECBAgQ
IECAQCcgQDpLSwQIECBAgAABAgQIDAEBMoCcCRAgQIAAAQIECBDoBARIZ2mJAAECBAgQIECAAIEh
IEAGkDMBAgQIECBAgAABAp2AAOksLREgQIAAAQIECBAgMAQEyAByJkCAAAECBAgQIECgExAgnaUl
AgQIECBAgAABAgSGgAAZQM4ECBAgQIAAAQIECHQCAqSztESAAAECBAgQIECAwBAQIAPImQABAgQI
ECBAgACBTkCAdJaWCBAgQIAAAQIECBAYAgJkADkTIECAAAECBAgQINAJCJDO0hIBAgQIECBAgAAB
AkNAgAwgZwIECBAgQIAAAQIEOgEB0llaIkCAAAECBAgQIEBgCAiQAeRMgAABAgQIECBAgEAnIEA6
S0sECBAgQIAAAQIECAwBATKAnAkQIECAAAECBAgQ6AQESGdpiQABAgQIECBAgACBISBABpAzAQIE
CBAgQIAAAQKdgADpLC0RIECAAAECBAgQIDAEBMgAciZAgAABAgQIECBAoBMQIJ2lJQIECBAgQIAA
AQIEhoAAGUDOBAgQIECAAAECBAh0AgKks7REgAABAgQIECBAgMAQECADyJkAAQIECBAgQIAAgU5A
gHSWlggQIECAAAECBAgQGAICZAA5EyBAgAABAgQIECDQCQiQztISAQIECBAgQIAAAQJDQIAMIGcC
BAgQIECAAAECBDoBAdJZWiJAgAABAgQIECBAYAgIkAHkTIAAAQIECBAgQIBAJyBAOktLBAgQIECA
AAECBAgMAQEygJwJECBAgAABAgQIEOgEBEhnaYkAAQIECBAgQIAAgSEgQAaQMwECBAgQIECAAAEC
nYAA6SwtESBAgAABAgQIECAwBATIAHImQIAAAQIECBAgQKATECCdpSUCBAgQIECAAAECBIaAABlA
zgQIECBAgAABAgQIdAICpLO0RIAAAQIECBAgQIDAEBAgA8iZAAECBAgQIECAAIFOQIB0lpYIECBA
gAABAgQIEBgCAmQAORMgQIAAAQIECBAg0AkIkM7SEgECBAgQIECAAAECQ0CADCBnAgQIECBAgAAB
AgQ6AQHSWVoiQIAAAQIECBAgQGAICJAB5EyAAAECBAgQIECAQCcgQDpLSwQIECBAgAABAgQIDAEB
MoCcCRAgQIAAAQIECBDoBARIZ2mJAAECBAgQIECAAIEhIEAGkDMBAgQIECBAgAABAp2AAOksLREg
QIAAAQIECBAgMAQEyAByJkCAAAECBAgQIECgExAgnaUlAgQIECBAgAABAgSGgAAZQM4ECBAgQIAA
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
cJwIECBAgAABAgQIEGgFBEjraY0AAQIECBAgQIAAgUPg9fntc9ydCBAgQIAAAQIECBAgkAn4BSSj
NESAAAECBAgQIECAwBIQIEvInQABAgQIECBAgACBTECAZJSGCBAgQIAAAQIECBBYAgJkCbkTIECA
AAECBAgQIJAJCJCM0hABAgQIECBAgAABAktAgCwhdwIECBAgQIAAAQIEMgEBklEaIkCAAAECBAgQ
IEBgCQiQJeROgAABAgQIECBAgEAmIEAySkMECBAgQIAAAQIECCwBAbKE3AkQIECAAAECBAgQyAQE
SEZpiAABAgQIECBAgACBJSBAlpA7AQIECBAgQIAAAQKZgADJKA0RIECAAAECBAgQILAEBMgScidA
gAABAgQIECBAIBMQIBmlIQIECBAgQIAAAQIEloAAWULuBAgQIECAAAECBAhkAgIkozREgAABAgQI
ECBAgMASECBLyJ0AAQIECBAgQIAAgUxAgGSUhggQIECAAAECBAgQWAICZAm5EyBAgAABAgQIECCQ
CQiQjNIQAQIECBAgQIAAAQJLQIAsIXcCBAgQIECAAAECBDIBAZJRGiJAgAABAgQIECBAYAkIkCXk
ToAAAQIECBAgQIBAJiBAMkpDBAgQIECAAAECBAgsAQGyhNwJECBAgAABAgQIEMgEBEhGaYgAAQIE
CBAgQIAAgSUgQJaQOwECBAgQIECAAAECmYAAySgNESBAgAABAgQIECCwBATIEnInQIAAAQIECBAg
QCATECAZpSECBAgQIECAAAECBJaAAFlC7gQIECBAgAABAgQIZAICJKM0RIAAAQIECBAgQIDAEhAg
S8idAAECBAgQIECAAIFMQIBklIYIECBAgAABAgQIEFgCAmQJuRMgQIAAAQIECBAgkAkIkIzSEAEC
BAgQIECAAAECS0CALCF3AgQIECBAgAABAgQyAQGSURoiQIAAAQIECBAgQGAJCJAl5E6AAAECBAgQ
IECAQCYgQDJKQwQIECBAgAABAgQILAEBsoTcCRAgQIAAAQIECBDIBARIRmmIAAECBAgQIECAAIEl
IECWkDsBAgQIECBAgAABApmAAMkoDREgQIAAAQIECBAgsAQEyBJyJ0CAAAECBAgQIEAgExAgGaUh
AgQIECBAgAABAgSWgABZQu4ECBAgQIAAAQIECGQCAiSjNESAAAECBAgQIECAwBIQIEvInQABAgQI
ECBAgACBTECAZJSGCBAgQIAAAQIECBBYAgJkCbkTIECAAAECBAgQIJAJCJCM0hABAgQIECBAgAAB
AktAgCwhdwIECBAgQIAAAQIEMgEBklEaIkCAAAECBAgQIEBgCQiQJeROgAABAgQIECBAgEAmIEAy
SkMECBAgQIAAAQIECCwBAbKE3AkQIECAAAECBAgQyAQESEZpiAABAgQIECBAgACBJSBAlpA7AQIE
CBAgQIAAAQKZgADJKA0RIECAAAECBAgQILAEBMgScidAgAABAgQIECBAIBMQIBmlIQIECBAgQIAA
AQIEloAAWULuBAgQIECAAAECBAhkAgIkozREgAABAgQIECBAgMASECBLyJ0AAQIECBAgQIAAgUxA
gGSUhggQIECAAAECBAgQWAICZAm5EyBAgAABAgQIECCQCQiQjNIQAQIECBAgQIAAAQJLQIAsIXcC
BAgQIECAAAECBDIBAZJRGiJAgAABAgQIECBAYAkIkCXkToAAAQIECBAgQIBAJiBAMkpDBAgQIECA
AAECBAgsAQGyhNwJECBAgAABAgQIEMgEBEhGaYgAAQIECBAgQIAAgSUgQJaQOwECBAgQIECAAAEC
mYAAySgNESBAgAABAgQIECCwBATIEnInQIAAAQIECBAgQCATECAZpSECBAgQIECAAAECBJaAAFlC
7gQIECBAgAABAgQIZAICJKM0RIAAAQIECBAgQIDAEhAgS8idAAECBAgQIECAAIFMQIBklIYIECBA
gAABAgQIEFgCAmQJuRMgQIAAAQIECBAgkAkIkIzSEAECBAgQIECAAAECS0CALCF3AgQIECBAgAAB
AgQyAQGSURoiQIAAAQIECBAgQGAJCJAl5E6AAAECBAgQIECAQCYgQDJKQwQIECBAgAABAgQILAEB
soTcCRAgQIAAAQIECBDIBARIRmmIAAECBAgQIECAAIElIECWkDsBAgQIECBAgAABApmAAMkoDREg
QIAAAQIECBAgsAQEyBJyJ0CAAAECBAgQIEAgExAgGaUhAgQIECBAgAABAgSWgABZQu4ECBAgQIAA
AQIECGQCAiSjNESAAAECBAgQIECAwBIQIEvInQABAgQIECBAgACBTECAZJSGCBAgQIAAAQIECBBY
AgJkCbkTIECAAAECBAgQIJAJCJCM0hABAgQIECBAgAABAktAgCwhdwIECBAgQIAAAQIEMgEBklEa
IkCAAAECBAgQIEBgCQiQJeROgAABAgQIECBAgEAmIEAySkMECBAgQIAAAQIECCwBAbKE3AkQIECA
AAECBAgQyAQESEZpiAABAgQIECBAgACBJSBAlpA7AQIECBAgQIAAAQKZgADJKA0RIECAAAECBAgQ
ILAEBMgScidAgAABAgQIECBAIBMQIBmlIQIECBAgQIAAAQIEloAAWULuBAgQIECAAAECBAhkAgIk
ozREgAABAgQIECBAgMASECBLyJ0AAQIECBAgQIAAgUxAgGSUhggQIECAAAECBAgQWAICZAm5EyBA
gAABAgQIECCQCQiQjNIQAQIECBAgQIAAAQJLQIAsIXcCBAgQIECAAAECBDIBAZJRGiJAgAABAgQI
ECBAYAkIkCXkToAAAQIECBAgQIBAJiBAMkpDBAgQIECAAAECBAgsAQGyhNwJECBAgAABAgQIEMgE
BEhGaYgAAQIECBAgQIAAgSUgQJaQOwECBAgQIECAAAECmYAAySgNESBAgAABAgQIECCwBATIEnIn
QIAAAQIECBAgQCATECAZpSECBAgQIECAAAECBJaAAFlC7gQIECBAgAABAgQIZAICJKM0RIAAAQIE
CBAgQIDAEhAgS8idAAECBAgQIECAAIFMQIBklIYIECBAgAABAgQIEFgCAmQJuRMgQIAAAQIECBAg
kAkIkIzSEAECBAgQIECAAAECS0CALCF3AgQIECBAgAABAgQyAQGSURoiQIAAAQIECBAgQGAJCJAl
5E6AAAECBAgQIECAQCYgQDJKQwQIECBAgAABAgQILAEBsoTcCRAgQIAAAQIECBDIBARIRmmIAAEC
BAgQIECAAIElIECWkDsBAgQIECBAgAABApmAAMkoDREgQIAAAQIECBAgsAQEyBJyJ0CAAAECBAgQ
IEAgExAgGaUhAgQIECBAgAABAgSWgABZQu4ECBAgQIAAAQIECGQCAiSjNESAAAECBAgQIECAwBIQ
IEvInQABAgQIECBAgACBTECAZJSGCBAgQIAAAQIECBBYAgJkCbkTIECAAAECBAgQIJAJCJCM0hAB
AgQIECBAgAABAktAgCwhdwIECBAgQIAAAQIEMgEBklEaIkCAAAECBAgQIEBgCQiQJeROgAABAgQI
ECBAgEAmIEAySkMECBAgQIAAAQIECCwBAbKE3AkQIECAAAECBAgQyAQESEZpiAABAgQIECBAgACB
JSBAlpA7AQIECBAgQIAAAQKZgADJKA0RIECAAAECBAgQILAEBMgScidAgAABAgQIECBAIBMQIBml
IQIECBAgQIAAAQIEloAAWULuBAgQIECAAAECBAhkAgIkozREgAABAgQIECBAgMASECBLyJ0AAQIE
CBAgQIAAgUxAgGSUhggQIECAAAECBAgQWAICZAm5EyBAgAABAgQIECCQCQiQjNIQAQIECBAgQIAA
AQJLQIAsIXcCBAgQIECAAAECBDIBAZJRGiJAgAABAgQIECBAYAkIkCXkToAAAQIECBAgQIBAJiBA
MkpDBAgQIECAAAECBAgsAQGyhNwJECBAgAABAgQIEMgEBEhGaYgAAQIECBAgQIAAgSUgQJaQOwEC
BAgQIECAAAECmYAAySgNESBAgAABAgQIECCwBATIEnInQIAAAQIECBAgQCATECAZpSECBAgQIECA
AAECBJaAAFlC7gQIECBAgAABAgQIZAICJKM0RIAAAQIECBAgQIDAEhAgS8idAAECBAgQIECAAIFM
QIBklIYIECBAgAABAgQIEFgCAmQJuRMgQIAAAQIECBAgkAkIkIzSEAECBAgQIECAAAECS0CALCF3
AgQIECBAgAABAgQyAQGSURoiQIAAAQIECBAgQGAJCJAl5E6AAAECBAgQIECAQCYgQDJKQwQIECBA
gAABAgQILAEBsoTcCRAgQIAAAQIECBDIBARIRmmIAAECBAgQIECAAIElIECWkDsBAgQIECBAgAAB
ApmAAMkoDREgQIAAAQIECBAgsAQEyBJyJ0CAAAECBAgQIEAgExAgGaUhAgQIECBAgAABAgSWgABZ
Qu4ECBAgQIAAAQIECGQCAiSjNESAAAECBAgQIECAwBIQIEvInQABAgQIECBAgACBTECAZJSGCBAg
QIAAAQIECBBYAgJkCbkTIECAAAECBAgQIJAJCJCM0hABAgQIECBAgAABAktAgCwhdwIECBAgQIAA
AQIEMgEBklEaIkCAAAECBAgQIEBgCQiQJeROgAABAgQIECBAgEAmIEAySkMECBAgQIAAAQIECCwB
AbKE3AkQIECAAAECBAgQyAQESEZpiAABAgQIECBAgACBJSBAlpA7AQIECBAgQIAAAQKZgADJKA0R
IECAAAECBAgQILAEBMgScidAgAABAgQIECBAIBMQIBmlIQIECBAgQIAAAQIEloAAWULuBAgQIECA
AAECBAhkAgIkozREgAABAgQIECBAgMASECBLyJ0AAQIECBAgQIAAgUxAgGSUhggQIECAAAECBAgQ
WAICZAm5EyBAgAABAgQIECCQCQiQjNIQAQIECBAgQIAAAQJLQIAsIXcCBAgQIECAAAECBDIBAZJR
GiJAgAABAgQIECBAYAkIkCXkToAAAQIECBAgQIBAJiBAMkpDBAgQIECAAAECBAgsAQGyhNwJECBA
gAABAgQIEMgEBEhGaYgAAQIECBAgQIAAgSUgQJaQOwECBAgQIECAAAECmYAAySgNESBAgAABAgQI
ECCwBATIEnInQIAAAQIECBAgQCATECAZpSECBAgQIECAAAECBJaAAFlC7gQIECBAgAABAgQIZAIC
JKM0RIAAAQIECBAgQIDAEhAgS8idAAECBAgQIECAAIFMQIBklIYIECBAgAABAgQIEFgCAmQJuRMg
QIAAAQIECBAgkAkIkIzSEAECBAgQIECAAAECS0CALCF3AgQIECBAgAABAgQyAQGSURoiQIAAAQIE
CBAgQGAJCJAl5E6AAAECBAgQIECAQCYgQDJKQwQIECBAgAABAgQILAEBsoTcCRAgQIAAAQIECBDI
BARIRmmIAAECBAgQIECAAIElIECWkDsBAgQIECBAgAABApmAAMkoDREgQIAAAQIECBAgsAQEyBJy
J0CAAAECBAgQIEAgExAgGaUhAgQIECBAgAABAgSWgABZQu4ECBAgQIAAAQIECGQCAiSjNESAAAEC
BAgQIECAwBIQIEvInQABAgQIECBAgACBTECAZJSGCBAgQIAAAQIECBBYAgJkCbkTIECAAAECBAgQ
IJAJCJCM0hABAgQIECBAgAABAktAgCwhdwIECBAgQIAAAQIEMgEBklEaIkCAAAECBAgQIEBgCQiQ
JeROgAABAgQIECBAgEAmIEAySkMECBAgQIAAAQIECCwBAbKE3AkQIECAAAECBAgQyAQESEZpiAAB
AgQIECBAgACBJSBAlpA7AQIECBAgQIAAAQKZgADJKA0RIECAAAECBAgQILAEBMgScidAgAABAgQI
ECBAIBMQIBmlIQIECBAgQIAAAQIEloAAWULuBAgQIECAAAECBAhkAgIkozREgAABAgQIECBAgMAS
ECBLyJ0AAQIECBAgQIAAgUxAgGSUhggQIECAAAECBAgQWAICZAm5EyBAgAABAgQIECCQCQiQjNIQ
AQIECBAgQIAAAQJLQIAsIXcCBAgQIECAAAECBDIBAZJRGiJAgAABAgQIECBAYAkIkCXkToAAAQIE
CBAgQIBAJiBAMkpDBAgQIECAAAECBAgsAQGyhNwJECBAgAABAgQIEMgEBEhGaYgAAQIECBAgQIAA
gSUgQJaQOwECBAgQIECAAAECmYAAySgNESBAgAABAgQIECCwBATIEnInQIAAAQIECBAgQCATECAZ
pSECBAgQIECAAAECBJaAAFlC7gQIECBAgAABAgQIZAICJKM0RIAAAQIECBAgQIDAEhAgS8idAAEC
BAgQIECAAIFMQIBklIYIECBAgAABAgQIEFgCAmQJuRMgQIAAAQIECBAgkAkIkIzSEAECBAgQIECA
AAECS0CALCF3AgQIECBAgAABAgQyAQGSURoiQIAAAQIECBAgQGAJCJAl5E6AAAECBAgQIECAQCYg
QDJKQwQIECBAgAABAgQILAEBsoTcCRAgQIAAAQIECBDIBARIRmmIAAECBAgQIECAAIElIECWkDsB
AgQIECBAgAABApmAAMkoDREgQIAAAQIECBAgsAQEyBJyJ0CAAAECBAgQIEAgExAgGaUhAgQIECBA
gAABAgSWgABZQu4ECBAgQIAAAQIECGQCAiSjNESAAAECBAgQIECAwBIQIEvInQABAgQIECBAgACB
TECAZJSGCBAgQIAAAQIECBBYAgJkCbkTIECAAAECBAgQIJAJCJCM0hABAgQIECBAgAABAktAgCwh
dwIECBAgQIAAAQIEMgEBklEaIkCAAAECBAgQIEBgCQiQJeROgAABAgQIECBAgEAmIEAySkMECBAg
QIAAAQIECCwBAbKE3AkQIECAAAECBAgQyAQESEZpiAABAgQIECBAgACBJSBAlpA7AQIECBAgQIAA
AQKZgADJKA0RIECAAAECBAgQILAEBMgScidAgAABAgQIECBAIBMQIBmlIQIECBAgQIAAAQIEloAA
WULuBAgQIECAAAECBAhkAgIkozREgAABAgQIECBAgMASECBLyJ0AAQIECBAgQIAAgUxAgGSUhggQ
IECAAAECBAgQWAICZAm5EyBAgAABAgQIECCQCQiQjNIQAQIECBAgQIAAAQJLQIAsIXcCBAgQIECA
AAECBDIBAZJRGiJAgAABAgQIECBAYAkIkCXkToAAAQIECBAgQIBAJiBAMkpDBAgQIECAAAECBAgs
AQGyhNwJECBAgAABAgQIEMgEBEhGaYgAAQIECBAgQIAAgSUgQJaQOwECBAgQIECAAAECmYAAySgN
ESBAgAABAgQIECCwBATIEnInQIAAAQIECBAgQCATECAZpSECBAgQIECAAAECBJaAAFlC7gQIECBA
gAABAgQIZAICJKM0RIAAAQIECBAgQIDAEhAgS8idAAECBAgQIECAAIFMQIBklIYIECBAgAABAgQI
EFgCAmQJuRMgQIAAAQIECBAgkAkIkIzSEAECBAgQIECAAAECS0CALCF3AgQIECBAgAABAgQyAQGS
URoiQIAAAQIECBAgQGAJCJAl5E6AAAECBAgQIECAQCYgQDJKQwQIECBAgAABAgQILAEBsoTcCRAg
QIAAAQIECBDIBARIRmmIAAECBAgQIECAAIElIECWkDsBAgQIECBAgAABApmAAMkoDREgQIAAAQIE
CBAgsAQEyBJyJ0CAAAECBAgQIEAgExAgGaUhAgQIECBAgAABAgSWgABZQu4ECBAgQIAAAQIECGQC
AiSjNESAAAECBAgQIECAwBIQIEvInQABAgQIECBAgACBTECAZJSGCBAgQIAAAQIECBBYAgJkCbkT
IECAAAECBAgQIJAJCJCM0hABAgQIECBAgAABAktAgCwhdwIECBAgQIAAAQIEMgEBklEaIkCAAAEC
BAgQIEBgCQiQJeROgAABAgQIECBAgEAmIEAySkMECBAgQIAAAQIECCwBAbKE3AkQIECAAAECBAgQ
yAQESEZpiAABAgQIECBAgACBJSBAlpA7AQIECBAgQIAAAQKZgADJKA0RIECAAAECBAgQILAEBMgS
cidAgAABAgQIECBAIBMQIBmlIQIECBAgQIAAAQIEloAAWULuBAgQIECAAAECBAhkAgIkozREgAAB
AgQIECBAgMASECBLyJ0AAQIECBAgQIAAgUxAgGSUhggQIECAAAECBAgQWAICZAm5EyBAgAABAgQI
ECCQCQiQjNIQAQJDbbnMAAAI/klEQVQECBAgQIAAAQJLQIAsIXcCBAgQIECAAAECBDIBAZJRGiJA
gAABAgQIECBAYAkIkCXkToAAAQIECBAgQIBAJiBAMkpDBAgQIECAAAECBAgsAQGyhNwJECBAgAAB
AgQIEMgEBEhGaYgAAQIECBAgQIAAgSUgQJaQOwECBAgQIECAAAECmYAAySgNESBAgAABAgQIECCw
BATIEnInQIAAAQIECBAgQCATECAZpSECBAgQIECAAAECBJaAAFlC7gQIECBAgAABAgQIZAICJKM0
RIAAAQIECBAgQIDAEhAgS8idAAECBAgQIECAAIFMQIBklIYIECBAgAABAgQIEFgCAmQJuRMgQIAA
AQIECBAgkAkIkIzSEAECBAgQIECAAAECS0CALCF3AgQIECBAgAABAgQyAQGSURoiQIAAAQIECBAg
QGAJCJAl5E6AAAECBAgQIECAQCYgQDJKQwQIECBAgAABAgQILAEBsoTcCRAgQIAAAQIECBDIBARI
RmmIAAECBAgQIECAAIElIECWkDsBAgQIECBAgAABApmAAMkoDREgQIAAAQIECBAgsAQEyBJyJ0CA
AAECBAgQIEAgExAgGaUhAgQIECBAgAABAgSWgABZQu4ECBAgQIAAAQIECGQCAiSjNESAAAECBAgQ
IECAwBIQIEvInQABAgQIECBAgACBTECAZJSGCBAgQIAAAQIECBBYAgJkCbkTIECAAAECBAgQIJAJ
CJCM0hABAgQIECBAgAABAktAgCwhdwIECBAgQIAAAQIEMgEBklEaIkCAAAECBAgQIEBgCQiQJeRO
gAABAgQIECBAgEAmIEAySkMECBAgQIAAAQIECCwBAbKE3AkQIECAAAECBAgQyAQESEZpiAABAgQI
ECBAgACBJSBAlpA7AQIECBAgQIAAAQKZgADJKA0RIECAAAECBAgQILAEBMgScidAgAABAgQIECBA
IBMQIBmlIQIECBAgQIAAAQIEloAAWULuBAgQIECAAAECBAhkAgIkozREgAABAgQIECBAgMASECBL
yJ0AAQIECBAgQIAAgUxAgGSUhggQIECAAAECBAgQWAICZAm5EyBAgAABAgQIECCQCQiQjNIQAQIE
CBAgQIAAAQJLQIAsIXcCBAgQIECAAAECBDIBAZJRGiJAgAABAgQIECBAYAkIkCXkToAAAQIECBAg
QIBAJiBAMkpDBAgQIECAAAECBAgsAQGyhNwJECBAgAABAgQIEMgEBEhGaYgAAQIECBAgQIAAgSUg
QJaQOwECBAgQIECAAAECmYAAySgNESBAgAABAgQIECCwBATIEnInQIAAAQIECBAgQCATECAZpSEC
BAgQIECAAAECBJaAAFlC7gQIECBAgAABAgQIZAICJKM0RIAAAQIECBAgQIDAEhAgS8idAAECBAgQ
IECAAIFMQIBklIYIECBAgAABAgQIEFgCAmQJuRMgQIAAAQIECBAgkAkIkIzSEAECBAgQIECAAAEC
S0CALCF3AgQIECBAgAABAgQyAQGSURoiQIAAAQIECBAgQGAJCJAl5E6AAAECBAgQIECAQCYgQDJK
QwQIECBAgAABAgQILAEBsoTcCRAgQIAAAQIECBDIBARIRmmIAAECBAgQIECAAIElIECWkDsBAgQI
ECBAgAABApmAAMkoDREgQIAAAQIECBAgsAQEyBJyJ0CAAAECBAgQIEAgExAgGaUhAgQIECBAgAAB
AgSWgABZQu4ECBAgQIAAAQIECGQCAiSjNESAAAECBAgQIECAwBIQIEvInQABAgQIECBAgACBTECA
ZJSGCBAgQIAAAQIECBBYAgJkCbkTIECAAAECBAgQIJAJCJCM0hABAgQIECBAgAABAktAgCwhdwIE
CBAgQIAAAQIEMgEBklEaIkCAAAECBAgQIEBgCQiQJeROgAABAgQIECBAgEAmIEAySkMECBAgQIAA
AQIECCwBAbKE3AkQIECAAAECBAgQyAQESEZpiAABAgQIECBAgACBJSBAlpA7AQIECBAgQIAAAQKZ
gADJKA0RIECAAAECBAgQILAEBMgScidAgAABAgQIECBAIBMQIBmlIQIECBAgQIAAAQIEloAAWULu
BAgQIECAAAECBAhkAgIkozREgAABAgQIECBAgMASECBLyJ0AAQIECBAgQIAAgUxAgGSUhggQIECA
AAECBAgQWAICZAm5EyBAgAABAgQIECCQCQiQjNIQAQIECBAgQIAAAQJLQIAsIXcCBAgQIECAAAEC
BDIBAZJRGiJAgAABAgQIECBAYAkIkCXkToAAAQIECBAgQIBAJiBAMkpDBAgQIECAAAECBAgsAQGy
hNwJECBAgAABAgQIEMgEBEhGaYgAAQIECBAgQIAAgSUgQJaQOwECBAgQIECAAAECmYAAySgNESBA
gAABAgQIECCwBATIEnInQIAAAQIECBAgQCATECAZpSECBAgQIECAAAECBJaAAFlC7gQIECBAgAAB
AgQIZAICJKM0RIAAAQIECBAgQIDAEhAgS8idAAECBAgQIECAAIFMQIBklIYIECBAgAABAgQIEFgC
AmQJuRMgQIAAAQIECBAgkAkIkIzSEAECBAgQIECAAAECS0CALCF3AgQIECBAgAABAgQyAQGSURoi
QIAAAQIECBAgQGAJCJAl5E6AAAECBAgQIECAQCYgQDJKQwQIECBAgAABAgQILAEBsoTcCRAgQIAA
AQIECBDIBARIRmmIAAECBAgQIECAAIElIECWkDsBAgQIECBAgAABApmAAMkoDREgQIAAAQIECBAg
sAQEyBJyJ0CAAAECBAgQIEAgExAgGaUhAgQIECBAgAABAgSWgABZQu4ECBAgQIAAAQIECGQCAiSj
NESAAAECBAgQIECAwBIQIEvInQABAgQIECBAgACBTECAZJSGCBAgQIAAAQIECBBYAgJkCbkTIECA
AAECBAgQIJAJCJCM0hABAgQIECBAgAABAktAgCwhdwIECBAgQIAAAQIEMgEBklEaIkCAAAECBAgQ
IEBgCQiQJeROgAABAgQIECBAgEAmIEAySkMECBAgQIAAAQIECCyB/wBqvxPBaXVaNgAAAABJRU5E
rkJgggpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
</data>
<flag name="review"
          id="49872"
          type_id="1"
          status="+"
          setter="krit"
    />
          </attachment>
      

    </bug>

</bugzilla>