<?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>30308</bug_id>
          
          <creation_ts>2009-10-12 09:12:20 -0700</creation_ts>
          <short_desc>[GStreamer] Add direct support for ARGB videos</short_desc>
          <delta_ts>2009-10-30 10:43:41 -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>Media</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</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="Sebastian Dröge (slomo)">slomo</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>eric</cc>
    
    <cc>pnormand</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>154077</commentid>
    <comment_count>0</comment_count>
    <who name="Sebastian Dröge (slomo)">slomo</who>
    <bug_when>2009-10-12 09:12:20 -0700</bug_when>
    <thetext>Hi,
attached patch adds direct support for ARGB videos, without loosing the alpha channel. Not that ARGB or videos with alpha channel are very common but this at least makes sure that the alpha channel doesn&apos;t get lost :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>154079</commentid>
    <comment_count>1</comment_count>
      <attachid>41048</attachid>
    <who name="Sebastian Dröge (slomo)">slomo</who>
    <bug_when>2009-10-12 09:14:54 -0700</bug_when>
    <thetext>Created attachment 41048
0002-Add-support-for-ARGB-videos.patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>154114</commentid>
    <comment_count>2</comment_count>
      <attachid>41048</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2009-10-12 11:20:19 -0700</bug_when>
    <thetext>Comment on attachment 41048
0002-Add-support-for-ARGB-videos.patch

&gt; +        m_buffer = gst_buffer_make_writable (m_buffer);

Space.

&gt; +        int x, y;

You should declare these inside the for loops initialization.

&gt; +        unsigned short a;

Can we make this alpha, for better readability? =)

&gt; +#if G_BYTE_ORDER == G_LITTLE_ENDIAN
&gt; +                a = data[3];
&gt; +                data[0] = (a &gt; 0) ? MIN ((data[0] * 255 + a / 2) / a, 255) : 0;
&gt; +                data[1] = (a &gt; 0) ? MIN ((data[1] * 255 + a / 2) / a, 255) : 0;
&gt; +                data[2] = (a &gt; 0) ? MIN ((data[2] * 255 + a / 2) / a, 255) : 0;
&gt; +                data += 4;
&gt; +#else
&gt; +                a = data[0];
&gt; +                data[1] = (a &gt; 0) ? MIN ((data[1] * 255 + a / 2) / a, 255) : 0;
&gt; +                data[2] = (a &gt; 0) ? MIN ((data[2] * 255 + a / 2) / a, 255) : 0;
&gt; +                data[3] = (a &gt; 0) ? MIN ((data[3] * 255 + a / 2) / a, 255) : 0;
&gt; +                data += 4;
&gt; +#endif

I was asking krit about this. He pointed me to code in WebCore/platform/graphics/Color.cpp that does this and is apparently faster. We are wondering if that code could be reused?

unsigned premultipliedARGBFromColor(const Color&amp; color)
{
    unsigned pixelColor;

    if (unsigned alpha = color.alpha()) {
        pixelColor = alpha &lt;&lt; 24 |
             ((color.red() * alpha  + 254) / 255) &lt;&lt; 16 | 
             ((color.green() * alpha  + 254) / 255) &lt;&lt; 8 | 
             ((color.blue() * alpha  + 254) / 255);
    } else
         pixelColor = color.rgb();

    return pixelColor;
}</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>154270</commentid>
    <comment_count>3</comment_count>
    <who name="Sebastian Dröge (slomo)">slomo</who>
    <bug_when>2009-10-12 22:41:45 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 41048 [details])
&gt; &gt; +        m_buffer = gst_buffer_make_writable (m_buffer);
&gt; 
&gt; Space.

*sigh* I&apos;m so used to those spaces that I don&apos;t even notice them anymore, sorry

&gt; &gt; +        int x, y;
&gt; 
&gt; You should declare these inside the for loops initialization.

Ah right, C++ can do that :)

&gt; &gt; +#if G_BYTE_ORDER == G_LITTLE_ENDIAN
&gt; &gt; +                a = data[3];
&gt; &gt; +                data[0] = (a &gt; 0) ? MIN ((data[0] * 255 + a / 2) / a, 255) : 0;
&gt; &gt; +                data[1] = (a &gt; 0) ? MIN ((data[1] * 255 + a / 2) / a, 255) : 0;
&gt; &gt; +                data[2] = (a &gt; 0) ? MIN ((data[2] * 255 + a / 2) / a, 255) : 0;
&gt; &gt; +                data += 4;
&gt; &gt; +#else
&gt; &gt; +                a = data[0];
&gt; &gt; +                data[1] = (a &gt; 0) ? MIN ((data[1] * 255 + a / 2) / a, 255) : 0;
&gt; &gt; +                data[2] = (a &gt; 0) ? MIN ((data[2] * 255 + a / 2) / a, 255) : 0;
&gt; &gt; +                data[3] = (a &gt; 0) ? MIN ((data[3] * 255 + a / 2) / a, 255) : 0;
&gt; &gt; +                data += 4;
&gt; &gt; +#endif
&gt; 
&gt; I was asking krit about this. He pointed me to code in
&gt; WebCore/platform/graphics/Color.cpp that does this and is apparently faster. We
&gt; are wondering if that code could be reused?

Well, the above code was wrong anyway (that was doing un-premultiplication but we want premultiplication). But using the code from Color.cpp really can&apos;t be faster... you don&apos;t want a function call for every pixel and even if it was inlined the byte array had to be converted to a Color and then from a unsigned int to 4 bytes again...

I&apos;ll attach a new patch that does it correctly... and in a more efficient fashion (only a single time for every buffer and not from the main thread).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>154290</commentid>
    <comment_count>4</comment_count>
    <who name="Sebastian Dröge (slomo)">slomo</who>
    <bug_when>2009-10-13 00:36:20 -0700</bug_when>
    <thetext>Ok, small update after looking into it a bit more:

The problem is, that we have to change the buffer content in the ARGB case. There are two possible solutions for this:

a) do it in GstBaseSink::render(), the timeout callback, or in MediaPlayerPrivate::paint(). Because GstBaseSink::render() doesn&apos;t have reference/write-ownership of the buffer content (because of a GStreamer API bug IMHO), everything else after it doesn&apos;t have this either. This means, that in the ARGB case there always needs to be a malloc/memcpy of the buffer content which is not nice.
In the normal RGB case this is no problem because we only need to get an additional reference to the buffer and we only need to read from it.

b) Invent a new &quot;webkitvideotransform&quot; element, that would be plugged into the GStreamer pipeline before the video sink, which then does the conversion. This wouldn&apos;t have the problem from a) but has a new problem. First of all, the output caps of this element can&apos;t be video/x-raw-rgb anymore because in the ARGB case it&apos;s simply something different... this would mean that we need video/x-raw-rgb-webkit or something like that. On this the gst_video_format_parse_caps_*() functions don&apos;t work anymore and everything becomes a bit inconvenient.
This solution introduces a lot more complexity just for ARGB.


Which one do you prefer? :) I prefer a), we need to touch every bit of the video buffer anyway in the ARGB case and the additional malloc doesn&apos;t hurt that much I guess.



Oh and one sidenote: ARGB is *not* supported by any video codec I know. Only things like MNG, animated GIFs, &quot;motion&quot; PNG support it. But Dirac for example supports AYUV, which would be converted to ARGB by GStreamer. So I think it makes sense to support ARGB, even if it&apos;s a bit annoying :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>154292</commentid>
    <comment_count>5</comment_count>
      <attachid>41093</attachid>
    <who name="Sebastian Dröge (slomo)">slomo</who>
    <bug_when>2009-10-13 01:09:55 -0700</bug_when>
    <thetext>Created attachment 41093
0001-Add-support-for-ARGB-videos.patch

New patch that does this, fixes code style at some places and adds some comments everywhere.
There&apos;s also an explanation why I don&apos;t use the code from Color.

It&apos;s now all done from the streaming thread and not from the main thread, to only do the necessary bits from the main thread and not block it just because of the ARGB conversion.

Note: the premultiplication in Color is not optimal IMO, instead of always rounding upwards it should round to nearest. See also http://cgit.freedesktop.org/cairo/tree/src/cairo-png.c#n408
My code rounds to nearest too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>154293</commentid>
    <comment_count>6</comment_count>
      <attachid>41094</attachid>
    <who name="Sebastian Dröge (slomo)">slomo</who>
    <bug_when>2009-10-13 01:15:09 -0700</bug_when>
    <thetext>Created attachment 41094
0001-Add-support-for-ARGB-videos.patch

And now fix a very stupid bug :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158869</commentid>
    <comment_count>7</comment_count>
      <attachid>41094</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2009-10-29 05:40:24 -0700</bug_when>
    <thetext>Comment on attachment 41094
0001-Add-support-for-ARGB-videos.patch

 
&gt; +    // Calculate the display width/height from the storage width/height and the pixel aspect ratio
&gt;      displayWidth *= doublePixelAspectRatioNumerator / doublePixelAspectRatioDenominator;
&gt;      displayHeight *= doublePixelAspectRatioDenominator / doublePixelAspectRatioNumerator;
&gt;  
&gt; -    scale = MIN (rect.width () / displayWidth, rect.height () / displayHeight);
&gt; +    // Calculate the largest scale factor that would fill the target surface
&gt; +    scale = MIN(rect.width() / displayWidth, rect.height() / displayHeight);
&gt; +    // And calculate the new display width/height
&gt;      displayWidth *= scale;
&gt;      displayHeight *= scale;
&gt;  
&gt; -    // Calculate gap between border an picture
&gt; +    // Calculate gap between border an picture on every side
&gt;      gapWidth = (rect.width() - displayWidth) / 2.0;
&gt;      gapHeight = (rect.height() - displayHeight) / 2.0;
&gt;  
&gt; -    // paint the rectangle on the context and draw the surface inside.
&gt; +    // paint the rectangle on the context and draw the buffer inside

You may want to make this a full sentence.

&gt; +    // Go to the new origin and center the video frame.
&gt;      cairo_translate(cr, rect.x() + gapWidth, rect.y() + gapHeight);
&gt;      cairo_rectangle(cr, 0, 0, rect.width(), rect.height());
&gt; +    // Scale the video frame according to the pixel aspect ratio.
&gt;      cairo_scale(cr, doublePixelAspectRatioNumerator / doublePixelAspectRatioDenominator,
&gt;                  doublePixelAspectRatioDenominator / doublePixelAspectRatioNumerator);
&gt; +    // Scale the video frame to fill the target surface as good as possible.
&gt;      cairo_scale(cr, scale, scale);
&gt; +    // And paint it.
&gt;      cairo_set_source_surface(cr, src, 0, 0);
&gt;      cairo_fill(cr);
&gt;      cairo_restore(cr);

I like the comments, and style fix, but I think they deserve a separate commit.

&gt;      // Use HIGH_IDLE+20 priority, like Gtk+ for redrawing operations.
&gt;      priv-&gt;timeout_id = g_timeout_add_full(G_PRIORITY_HIGH_IDLE + 20, 0,
&gt;                                            webkit_video_sink_timeout_func,
&gt;                                            gst_object_ref(sink),
&gt; -                                          (GDestroyNotify)gst_object_unref);
&gt; +                                          (GDestroyNotify) gst_object_unref);

rogue space addition. Fix these, and split the patches, and they look good to go.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158873</commentid>
    <comment_count>8</comment_count>
      <attachid>42093</attachid>
    <who name="Sebastian Dröge (slomo)">slomo</who>
    <bug_when>2009-10-29 06:03:50 -0700</bug_when>
    <thetext>Created attachment 42093
0001-Add-support-for-ARGB-videos.patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158874</commentid>
    <comment_count>9</comment_count>
      <attachid>42094</attachid>
    <who name="Sebastian Dröge (slomo)">slomo</who>
    <bug_when>2009-10-29 06:04:20 -0700</bug_when>
    <thetext>Created attachment 42094
0002-Add-some-comments.patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158958</commentid>
    <comment_count>10</comment_count>
      <attachid>42093</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-10-29 10:50:59 -0700</bug_when>
    <thetext>Comment on attachment 42093
0001-Add-support-for-ARGB-videos.patch

Clearing flags on attachment: 42093

Committed r50284: &lt;http://trac.webkit.org/changeset/50284&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158973</commentid>
    <comment_count>11</comment_count>
      <attachid>42094</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-10-29 11:11:51 -0700</bug_when>
    <thetext>Comment on attachment 42094
0002-Add-some-comments.patch

Rejecting patch 42094 from commit-queue.

Failed to run &quot;[&apos;git&apos;, &apos;svn&apos;, &apos;dcommit&apos;]&quot; exit_code: 1
Last 500 characters of output:
//svn.webkit.org/repository/webkit/trunk ...
	M	WebCore/ChangeLog
	M	WebCore/platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp
A repository hook failed: MERGE request failed on &apos;/repository/webkit/trunk&apos;: Commit blocked by pre-commit hook (exit code 1) with output:
svnlook: Can&apos;t write to stream: Broken pipe

    The following ChangeLog files contain OOPS:

        trunk/WebCore/ChangeLog

    Please don&apos;t ever say &quot;OOPS&quot; in a ChangeLog file.
 at /usr/local/libexec/git-core//git-svn line 469</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158980</commentid>
    <comment_count>12</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-10-29 11:24:26 -0700</bug_when>
    <thetext>Until bug 30683 is fixed, svn-apply can&apos;t handle diffs which don&apos;t start at line 1. :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158982</commentid>
    <comment_count>13</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-10-29 11:25:32 -0700</bug_when>
    <thetext>Which is why the second patch wasn&apos;t handled correctly by the commit-queue, because svn-apply didn&apos;t know how to translate the patch correctly so that it could set the reviewer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>159284</commentid>
    <comment_count>14</comment_count>
      <attachid>42202</attachid>
    <who name="Sebastian Dröge (slomo)">slomo</who>
    <bug_when>2009-10-30 03:12:59 -0700</bug_when>
    <thetext>Created attachment 42202
0001-Add-some-comments.patch

The ARGB patch was apparently applied cleanly, the other one was dropped. Here is it again, rebased to apply</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>159285</commentid>
    <comment_count>15</comment_count>
      <attachid>42093</attachid>
    <who name="Sebastian Dröge (slomo)">slomo</who>
    <bug_when>2009-10-30 03:13:36 -0700</bug_when>
    <thetext>Comment on attachment 42093
0001-Add-support-for-ARGB-videos.patch

This one is committed already</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>159359</commentid>
    <comment_count>16</comment_count>
      <attachid>42202</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-10-30 10:43:37 -0700</bug_when>
    <thetext>Comment on attachment 42202
0001-Add-some-comments.patch

Clearing flags on attachment: 42202

Committed r50343: &lt;http://trac.webkit.org/changeset/50343&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>159360</commentid>
    <comment_count>17</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-10-30 10:43:41 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>41048</attachid>
            <date>2009-10-12 09:14:54 -0700</date>
            <delta_ts>2009-10-13 01:09:55 -0700</delta_ts>
            <desc>0002-Add-support-for-ARGB-videos.patch</desc>
            <filename>0002-Add-support-for-ARGB-videos.patch</filename>
            <type>text/plain</type>
            <size>5677</size>
            <attacher name="Sebastian Dröge (slomo)">slomo</attacher>
            
              <data encoding="base64">RnJvbSBiM2ExNzdiOGY3N2JhMGNlZjg4NzQ1ZjI4ZmJmNWFmZjM4YmQ0YTNhIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/U2ViYXN0aWFuPTIwRHI9QzM9QjZnZT89IDxz
ZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KRGF0ZTogTW9uLCAxMiBPY3QgMjAwOSAx
ODoxNDowMCArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMi8yXSBBZGQgc3VwcG9ydCBmb3IgQVJHQiB2
aWRlb3MKCiAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMw
MzA4CgogICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3RrL01lZGlhUGxheWVyUHJpdmF0ZUdT
dHJlYW1lci5jcHA6CiAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZTo6ZHVyYXRp
b24pOgogICAgICAgIEhhbmRsZSBBUkdCIHZpZGVvIGJ1ZmZlcnMgYW5kIGNvbnZlcnQgR1N0cmVh
bWVyJ3MgQVJHQgogICAgICAgIGZvcm1hdCB0byBDYWlybydzIEFSR0Igd2l0aCBwcmUtbXVsdGlw
bGllZCBhbHBoYS4KCiAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ndGsvVmlkZW9TaW5rR1N0
cmVhbWVyLmNwcDoKICAgICAgICBBZGQgQVJHQi9CR1JBIHRvIHRoZSB2aWRlbyBzaW5rIHBhZCB0
ZW1wbGF0ZSBjYXBzLgotLS0KIFdlYkNvcmUvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHwgICAxNSArKysrKysrKwogLi4uL2dyYXBoaWNzL2d0ay9NZWRpYVBsYXll
clByaXZhdGVHU3RyZWFtZXIuY3BwICAgfCAgIDM3ICsrKysrKysrKysrKysrKysrKy0KIC4uLi9w
bGF0Zm9ybS9ncmFwaGljcy9ndGsvVmlkZW9TaW5rR1N0cmVhbWVyLmNwcCAgIHwgICAgNCArLQog
MyBmaWxlcyBjaGFuZ2VkLCA1MiBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTFhNDNh
Yi4uM2NmNzc2NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9D
aGFuZ2VMb2cKQEAgLTIsNiArMiwyMSBAQAogCiAgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgogCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0zMDMwOAorICAgICAgICBBZGQgc3VwcG9ydCBmb3IgQVJHQiB2aWRlb3MuCisKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9ndGsvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZTo6ZHVyYXRpb24pOgorICAgICAg
ICBIYW5kbGUgQVJHQiB2aWRlbyBidWZmZXJzIGFuZCBjb252ZXJ0IEdTdHJlYW1lcidzIEFSR0IK
KyAgICAgICAgZm9ybWF0IHRvIENhaXJvJ3MgQVJHQiB3aXRoIHByZS1tdWx0aXBsaWVkIGFscGhh
LgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3RrL1ZpZGVvU2lua0dTdHJlYW1lci5j
cHA6CisgICAgICAgIEFkZCBBUkdCL0JHUkEgdG8gdGhlIHZpZGVvIHNpbmsgcGFkIHRlbXBsYXRl
IGNhcHMuCisKKzIwMDktMTAtMTIgIFNlYmFzdGlhbiBEcsO2Z2UgIDxzZWJhc3RpYW4uZHJvZWdl
QGNvbGxhYm9yYS5jby51az4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KwogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzAzMDcK
ICAgICAgICAgCiAgICAgICAgIEZpeCAwIHNlbnRpbmVsIGZvciBnX29iamVjdF9zZXQoKSBmdW5j
dGlvbiBjYWxsLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ndGsvTWVk
aWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3RrL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAKaW5kZXggNzZiOTkyZi4uY2ZlMDk5
NCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ndGsvTWVkaWFQbGF5ZXJQ
cml2YXRlR1N0cmVhbWVyLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2d0ay9N
ZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwCkBAIC02NTksMTAgKzY1OSwxMSBAQCB2b2lk
IE1lZGlhUGxheWVyUHJpdmF0ZTo6cGFpbnQoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25z
dCBJbnRSZWN0JiByZWN0KQogICAgIGRvdWJsZSBkaXNwbGF5V2lkdGg7CiAgICAgZG91YmxlIGRp
c3BsYXlIZWlnaHQ7CiAgICAgZG91YmxlIHNjYWxlLCBnYXBIZWlnaHQsIGdhcFdpZHRoOworICAg
IEdzdFZpZGVvRm9ybWF0IGZvcm1hdDsKIAogICAgIEdzdENhcHMgKmNhcHMgPSBnc3RfYnVmZmVy
X2dldF9jYXBzKG1fYnVmZmVyKTsKIAotICAgIGlmICghZ3N0X3ZpZGVvX2Zvcm1hdF9wYXJzZV9j
YXBzKGNhcHMsIE5VTEwsICZ3aWR0aCwgJmhlaWdodCkgfHwKKyAgICBpZiAoIWdzdF92aWRlb19m
b3JtYXRfcGFyc2VfY2FwcyhjYXBzLCAmZm9ybWF0LCAmd2lkdGgsICZoZWlnaHQpIHx8CiAgICAg
ICAgICFnc3RfdmlkZW9fcGFyc2VfY2Fwc19waXhlbF9hc3BlY3RfcmF0aW8oY2FwcywgJnBpeGVs
QXNwZWN0UmF0aW9OdW1lcmF0b3IsICZwaXhlbEFzcGVjdFJhdGlvRGVub21pbmF0b3IpKSB7CiAg
ICAgICBnc3RfY2Fwc191bnJlZihjYXBzKTsKICAgICAgIHJldHVybjsKQEAgLTY3Myw5ICs2NzQs
NDEgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGU6OnBhaW50KEdyYXBoaWNzQ29udGV4dCogY29u
dGV4dCwgY29uc3QgSW50UmVjdCYgcmVjdCkKICAgICBkb3VibGVQaXhlbEFzcGVjdFJhdGlvTnVt
ZXJhdG9yID0gcGl4ZWxBc3BlY3RSYXRpb051bWVyYXRvcjsKICAgICBkb3VibGVQaXhlbEFzcGVj
dFJhdGlvRGVub21pbmF0b3IgPSBwaXhlbEFzcGVjdFJhdGlvRGVub21pbmF0b3I7CiAKKyAgICBj
YWlyb19mb3JtYXRfdCBjYWlyb0Zvcm1hdCA9IENBSVJPX0ZPUk1BVF9SR0IyNDsKKworICAgIGlm
IChmb3JtYXQgPT0gR1NUX1ZJREVPX0ZPUk1BVF9BUkdCIHx8IGZvcm1hdCA9PSBHU1RfVklERU9f
Rk9STUFUX0JHUkEpIHsKKyAgICAgICAgY2Fpcm9Gb3JtYXQgPSBDQUlST19GT1JNQVRfQVJHQjMy
OworICAgICAgICBtX2J1ZmZlciA9IGdzdF9idWZmZXJfbWFrZV93cml0YWJsZSAobV9idWZmZXIp
OworCisgICAgICAgIGludCB4LCB5OworICAgICAgICB1bnNpZ25lZCBzaG9ydCBhOworCisgICAg
ICAgIC8vIENhaXJvJ3MgQVJHQiBoYXMgcHJlLW11bHRpcGxpZWQgYWxwaGEgd2hpbGUgR1N0cmVh
bWVyJ3MKKyAgICAgICAgLy8gZG9lc24ndC4gSGVyZSB3ZSBjb252ZXJ0IHRvIENhaXJvJ3MgQVJH
Qi4KKworICAgICAgICBndWludDggKmRhdGEgPSBHU1RfQlVGRkVSX0RBVEEobV9idWZmZXIpOwor
ICAgICAgICBmb3IgKHggPSAwOyB4IDwgaGVpZ2h0OyB4KyspIHsKKyAgICAgICAgICAgIGZvciAo
eSA9IDA7IHkgPCB3aWR0aDsgeSsrKSB7CisjaWYgR19CWVRFX09SREVSID09IEdfTElUVExFX0VO
RElBTgorICAgICAgICAgICAgICAgIGEgPSBkYXRhWzNdOworICAgICAgICAgICAgICAgIGRhdGFb
MF0gPSAoYSA+IDApID8gTUlOICgoZGF0YVswXSAqIDI1NSArIGEgLyAyKSAvIGEsIDI1NSkgOiAw
OworICAgICAgICAgICAgICAgIGRhdGFbMV0gPSAoYSA+IDApID8gTUlOICgoZGF0YVsxXSAqIDI1
NSArIGEgLyAyKSAvIGEsIDI1NSkgOiAwOworICAgICAgICAgICAgICAgIGRhdGFbMl0gPSAoYSA+
IDApID8gTUlOICgoZGF0YVsyXSAqIDI1NSArIGEgLyAyKSAvIGEsIDI1NSkgOiAwOworICAgICAg
ICAgICAgICAgIGRhdGEgKz0gNDsKKyNlbHNlCisgICAgICAgICAgICAgICAgYSA9IGRhdGFbMF07
CisgICAgICAgICAgICAgICAgZGF0YVsxXSA9IChhID4gMCkgPyBNSU4gKChkYXRhWzFdICogMjU1
ICsgYSAvIDIpIC8gYSwgMjU1KSA6IDA7CisgICAgICAgICAgICAgICAgZGF0YVsyXSA9IChhID4g
MCkgPyBNSU4gKChkYXRhWzJdICogMjU1ICsgYSAvIDIpIC8gYSwgMjU1KSA6IDA7CisgICAgICAg
ICAgICAgICAgZGF0YVszXSA9IChhID4gMCkgPyBNSU4gKChkYXRhWzNdICogMjU1ICsgYSAvIDIp
IC8gYSwgMjU1KSA6IDA7CisgICAgICAgICAgICAgICAgZGF0YSArPSA0OworI2VuZGlmCisgICAg
ICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CisKICAgICBjYWlyb190KiBjciA9IGNvbnRleHQt
PnBsYXRmb3JtQ29udGV4dCgpOwogICAgIGNhaXJvX3N1cmZhY2VfdCogc3JjID0gY2Fpcm9faW1h
Z2Vfc3VyZmFjZV9jcmVhdGVfZm9yX2RhdGEoR1NUX0JVRkZFUl9EQVRBKG1fYnVmZmVyKSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIENBSVJPX0ZPUk1BVF9SR0IyNCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhaXJvRm9ybWF0LAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGgs
IGhlaWdodCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDQgKiB3aWR0aCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3RrL1ZpZGVvU2lua0dTdHJlYW1lci5jcHAgYi9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2d0ay9WaWRlb1NpbmtHU3RyZWFtZXIuY3BwCmluZGV4IDU5YzU2ZGUuLjE0OTll
NTQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3RrL1ZpZGVvU2lua0dT
dHJlYW1lci5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ndGsvVmlkZW9TaW5r
R1N0cmVhbWVyLmNwcApAQCAtMzcsOSArMzcsOSBAQCBzdGF0aWMgR3N0U3RhdGljUGFkVGVtcGxh
dGUgc2lua3RlbXBsYXRlID0gR1NUX1NUQVRJQ19QQURfVEVNUExBVEUoInNpbmsiLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIEdTVF9QQURfU0lOSywgR1NUX1BBRF9BTFdBWVMsCiAvLyBDQUlST19GT1JNQVRfUkdCMjQg
dXNlZCB0byByZW5kZXIgdGhlIHZpZGVvIGJ1ZmZlcnMgaXMgbGl0dGxlL2JpZyBlbmRpYW4gZGVw
ZW5kYW50LgogI2lmIEdfQllURV9PUkRFUiA9PSBHX0xJVFRMRV9FTkRJQU4KLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBH
U1RfU1RBVElDX0NBUFMoR1NUX1ZJREVPX0NBUFNfQkdSeCkKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHU1RfU1RBVElD
X0NBUFMoR1NUX1ZJREVPX0NBUFNfQkdSeCAiOyIgR1NUX1ZJREVPX0NBUFNfQkdSQSkKICNlbHNl
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgR1NUX1NUQVRJQ19DQVBTKEdTVF9WSURFT19DQVBTX3hSR0IpCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgR1NUX1NUQVRJQ19DQVBTKEdTVF9WSURFT19DQVBTX3hSR0IgIjsiIEdTVF9WSURFT19DQVBT
X0FSR0IpCiAjZW5kaWYKICk7CiAKLS0gCjEuNi40LjMKCg==
</data>
<flag name="review"
          id="22361"
          type_id="1"
          status="-"
          setter="gustavo"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>41093</attachid>
            <date>2009-10-13 01:09:55 -0700</date>
            <delta_ts>2009-10-13 01:15:09 -0700</delta_ts>
            <desc>0001-Add-support-for-ARGB-videos.patch</desc>
            <filename>0001-Add-support-for-ARGB-videos.patch</filename>
            <type>text/plain</type>
            <size>10333</size>
            <attacher name="Sebastian Dröge (slomo)">slomo</attacher>
            
              <data encoding="base64">RnJvbSAwZWQwMzlhOWEzMjBlNjZjMTllOGEzYjRlZTZjMTE4MGNiYzMwMjM4IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/U2ViYXN0aWFuPTIwRHI9QzM9QjZnZT89IDxz
ZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KRGF0ZTogTW9uLCAxMiBPY3QgMjAwOSAx
ODoxNDowMCArMDIwMApTdWJqZWN0OiBbUEFUQ0hdIEFkZCBzdXBwb3J0IGZvciBBUkdCIHZpZGVv
cwoKICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzAzMDgK
CiAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ndGsvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVh
bWVyLmNwcDoKICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlOjpkdXJhdGlvbik6
CiAgICAgICAgSGFuZGxlIEFSR0IgdmlkZW8gYnVmZmVycyBhbmQgY29udmVydCBHU3RyZWFtZXIn
cyBBUkdCCiAgICAgICAgZm9ybWF0IHRvIENhaXJvJ3MgQVJHQiB3aXRoIHByZS1tdWx0aXBsaWVk
IGFscGhhLgoKICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2d0ay9WaWRlb1NpbmtHU3RyZWFt
ZXIuY3BwOgogICAgICAgIEFkZCBBUkdCL0JHUkEgdG8gdGhlIHZpZGVvIHNpbmsgcGFkIHRlbXBs
YXRlIGNhcHMuCi0tLQogV2ViQ29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgfCAgIDE1ICsrKysKIC4uLi9ncmFwaGljcy9ndGsvTWVkaWFQbGF5ZXJQcml2YXRl
R1N0cmVhbWVyLmNwcCAgIHwgICAyNyArKysrKystLQogLi4uL3BsYXRmb3JtL2dyYXBoaWNzL2d0
ay9WaWRlb1NpbmtHU3RyZWFtZXIuY3BwICAgfCAgIDczICsrKysrKysrKysrKysrKysrLS0KIDMg
ZmlsZXMgY2hhbmdlZCwgMTAxIGluc2VydGlvbnMoKyksIDE0IGRlbGV0aW9ucygtKQoKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjg4OWRm
Zi4uZGUwZWUwMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9D
aGFuZ2VMb2cKQEAgLTIzNCw2ICsyMzQsMjEgQEAKIAogMjAwOS0xMC0xMiAgU2ViYXN0aWFuIERy
w7ZnZSAgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgogCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0zMDMwOAorICAgICAgICBBZGQgc3VwcG9ydCBmb3IgQVJHQiB2aWRl
b3MuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ndGsvTWVkaWFQbGF5ZXJQcml2YXRl
R1N0cmVhbWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZTo6ZHVy
YXRpb24pOgorICAgICAgICBIYW5kbGUgQVJHQiB2aWRlbyBidWZmZXJzIGFuZCBjb252ZXJ0IEdT
dHJlYW1lcidzIEFSR0IKKyAgICAgICAgZm9ybWF0IHRvIENhaXJvJ3MgQVJHQiB3aXRoIHByZS1t
dWx0aXBsaWVkIGFscGhhLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3RrL1ZpZGVv
U2lua0dTdHJlYW1lci5jcHA6CisgICAgICAgIEFkZCBBUkdCL0JHUkEgdG8gdGhlIHZpZGVvIHNp
bmsgcGFkIHRlbXBsYXRlIGNhcHMuCisKKzIwMDktMTAtMTIgIFNlYmFzdGlhbiBEcsO2Z2UgIDxz
ZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KKwogICAgICAgICBSZXZpZXdlZCBieSBH
dXN0YXZvIE5vcm9uaGEuCiAKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTMwMzA3CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2d0
ay9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9ndGsvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAppbmRleCA3NmI5OTJmLi43
ZDNkMWQzIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2d0ay9NZWRpYVBs
YXllclByaXZhdGVHU3RyZWFtZXIuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3RrL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAKQEAgLTY1OSwxMSArNjU5LDEyIEBA
IHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlOjpwYWludChHcmFwaGljc0NvbnRleHQqIGNvbnRleHQs
IGNvbnN0IEludFJlY3QmIHJlY3QpCiAgICAgZG91YmxlIGRpc3BsYXlXaWR0aDsKICAgICBkb3Vi
bGUgZGlzcGxheUhlaWdodDsKICAgICBkb3VibGUgc2NhbGUsIGdhcEhlaWdodCwgZ2FwV2lkdGg7
CisgICAgR3N0VmlkZW9Gb3JtYXQgZm9ybWF0OwogCiAgICAgR3N0Q2FwcyAqY2FwcyA9IGdzdF9i
dWZmZXJfZ2V0X2NhcHMobV9idWZmZXIpOwogCi0gICAgaWYgKCFnc3RfdmlkZW9fZm9ybWF0X3Bh
cnNlX2NhcHMoY2FwcywgTlVMTCwgJndpZHRoLCAmaGVpZ2h0KSB8fAotICAgICAgICAhZ3N0X3Zp
ZGVvX3BhcnNlX2NhcHNfcGl4ZWxfYXNwZWN0X3JhdGlvKGNhcHMsICZwaXhlbEFzcGVjdFJhdGlv
TnVtZXJhdG9yLCAmcGl4ZWxBc3BlY3RSYXRpb0Rlbm9taW5hdG9yKSkgeworICAgIGlmIChHX1VO
TElLRUxZKCFnc3RfdmlkZW9fZm9ybWF0X3BhcnNlX2NhcHMoY2FwcywgJmZvcm1hdCwgJndpZHRo
LCAmaGVpZ2h0KSB8fAorICAgICAgICAhZ3N0X3ZpZGVvX3BhcnNlX2NhcHNfcGl4ZWxfYXNwZWN0
X3JhdGlvKGNhcHMsICZwaXhlbEFzcGVjdFJhdGlvTnVtZXJhdG9yLCAmcGl4ZWxBc3BlY3RSYXRp
b0Rlbm9taW5hdG9yKSkpIHsKICAgICAgIGdzdF9jYXBzX3VucmVmKGNhcHMpOwogICAgICAgcmV0
dXJuOwogICAgIH0KQEAgLTY3MywzMiArNjc0LDQ2IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRl
OjpwYWludChHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IEludFJlY3QmIHJlY3QpCiAg
ICAgZG91YmxlUGl4ZWxBc3BlY3RSYXRpb051bWVyYXRvciA9IHBpeGVsQXNwZWN0UmF0aW9OdW1l
cmF0b3I7CiAgICAgZG91YmxlUGl4ZWxBc3BlY3RSYXRpb0Rlbm9taW5hdG9yID0gcGl4ZWxBc3Bl
Y3RSYXRpb0Rlbm9taW5hdG9yOwogCisgICAgY2Fpcm9fZm9ybWF0X3QgY2Fpcm9Gb3JtYXQ7Cisg
ICAgaWYgKGZvcm1hdCA9PSBHU1RfVklERU9fRk9STUFUX0FSR0IgfHwgZm9ybWF0ID09IEdTVF9W
SURFT19GT1JNQVRfQkdSQSkKKyAgICAgICAgY2Fpcm9Gb3JtYXQgPSBDQUlST19GT1JNQVRfQVJH
QjMyOworICAgIGVsc2UKKyAgICAgICAgY2Fpcm9Gb3JtYXQgPSBDQUlST19GT1JNQVRfUkdCMjQ7
CisKICAgICBjYWlyb190KiBjciA9IGNvbnRleHQtPnBsYXRmb3JtQ29udGV4dCgpOwogICAgIGNh
aXJvX3N1cmZhY2VfdCogc3JjID0gY2Fpcm9faW1hZ2Vfc3VyZmFjZV9jcmVhdGVfZm9yX2RhdGEo
R1NUX0JVRkZFUl9EQVRBKG1fYnVmZmVyKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENBSVJPX0ZPUk1BVF9SR0IyNCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNhaXJvRm9ybWF0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGgsIGhlaWdodCwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQgKiB3aWR0aCk7
CiAKICAgICBjYWlyb19zYXZlKGNyKTsKICAgICBjYWlyb19zZXRfb3BlcmF0b3IoY3IsIENBSVJP
X09QRVJBVE9SX1NPVVJDRSk7CiAKKyAgICAvLyBDYWxjdWxhdGUgdGhlIGRpc3BsYXkgd2lkdGgv
aGVpZ2h0IGZyb20gdGhlIHN0b3JhZ2Ugd2lkdGgvaGVpZ2h0IGFuZCB0aGUgcGl4ZWwgYXNwZWN0
IHJhdGlvCiAgICAgZGlzcGxheVdpZHRoICo9IGRvdWJsZVBpeGVsQXNwZWN0UmF0aW9OdW1lcmF0
b3IgLyBkb3VibGVQaXhlbEFzcGVjdFJhdGlvRGVub21pbmF0b3I7CiAgICAgZGlzcGxheUhlaWdo
dCAqPSBkb3VibGVQaXhlbEFzcGVjdFJhdGlvRGVub21pbmF0b3IgLyBkb3VibGVQaXhlbEFzcGVj
dFJhdGlvTnVtZXJhdG9yOwogCi0gICAgc2NhbGUgPSBNSU4gKHJlY3Qud2lkdGggKCkgLyBkaXNw
bGF5V2lkdGgsIHJlY3QuaGVpZ2h0ICgpIC8gZGlzcGxheUhlaWdodCk7CisgICAgLy8gQ2FsY3Vs
YXRlIHRoZSBsYXJnZXN0IHNjYWxlIGZhY3RvciB0aGF0IHdvdWxkIGZpbGwgdGhlIHRhcmdldCBz
dXJmYWNlCisgICAgc2NhbGUgPSBNSU4ocmVjdC53aWR0aCgpIC8gZGlzcGxheVdpZHRoLCByZWN0
LmhlaWdodCgpIC8gZGlzcGxheUhlaWdodCk7CisgICAgLy8gQW5kIGNhbGN1bGF0ZSB0aGUgbmV3
IGRpc3BsYXkgd2lkdGgvaGVpZ2h0CiAgICAgZGlzcGxheVdpZHRoICo9IHNjYWxlOwogICAgIGRp
c3BsYXlIZWlnaHQgKj0gc2NhbGU7CiAKLSAgICAvLyBDYWxjdWxhdGUgZ2FwIGJldHdlZW4gYm9y
ZGVyIGFuIHBpY3R1cmUKKyAgICAvLyBDYWxjdWxhdGUgZ2FwIGJldHdlZW4gYm9yZGVyIGFuIHBp
Y3R1cmUgb24gZXZlcnkgc2lkZQogICAgIGdhcFdpZHRoID0gKHJlY3Qud2lkdGgoKSAtIGRpc3Bs
YXlXaWR0aCkgLyAyLjA7CiAgICAgZ2FwSGVpZ2h0ID0gKHJlY3QuaGVpZ2h0KCkgLSBkaXNwbGF5
SGVpZ2h0KSAvIDIuMDsKIAotICAgIC8vIHBhaW50IHRoZSByZWN0YW5nbGUgb24gdGhlIGNvbnRl
eHQgYW5kIGRyYXcgdGhlIHN1cmZhY2UgaW5zaWRlLgorICAgIC8vIHBhaW50IHRoZSByZWN0YW5n
bGUgb24gdGhlIGNvbnRleHQgYW5kIGRyYXcgdGhlIGJ1ZmZlciBpbnNpZGUKKworICAgIC8vIEdv
IHRvIHRoZSBuZXcgb3JpZ2luIGFuZCBjZW50ZXIgdGhlIHZpZGVvIGZyYW1lLgogICAgIGNhaXJv
X3RyYW5zbGF0ZShjciwgcmVjdC54KCkgKyBnYXBXaWR0aCwgcmVjdC55KCkgKyBnYXBIZWlnaHQp
OwogICAgIGNhaXJvX3JlY3RhbmdsZShjciwgMCwgMCwgcmVjdC53aWR0aCgpLCByZWN0LmhlaWdo
dCgpKTsKKyAgICAvLyBTY2FsZSB0aGUgdmlkZW8gZnJhbWUgYWNjb3JkaW5nIHRvIHRoZSBwaXhl
bCBhc3BlY3QgcmF0aW8uCiAgICAgY2Fpcm9fc2NhbGUoY3IsIGRvdWJsZVBpeGVsQXNwZWN0UmF0
aW9OdW1lcmF0b3IgLyBkb3VibGVQaXhlbEFzcGVjdFJhdGlvRGVub21pbmF0b3IsCiAgICAgICAg
ICAgICAgICAgZG91YmxlUGl4ZWxBc3BlY3RSYXRpb0Rlbm9taW5hdG9yIC8gZG91YmxlUGl4ZWxB
c3BlY3RSYXRpb051bWVyYXRvcik7CisgICAgLy8gU2NhbGUgdGhlIHZpZGVvIGZyYW1lIHRvIGZp
bGwgdGhlIHRhcmdldCBzdXJmYWNlIGFzIGdvb2QgYXMgcG9zc2libGUuCiAgICAgY2Fpcm9fc2Nh
bGUoY3IsIHNjYWxlLCBzY2FsZSk7CisgICAgLy8gQW5kIHBhaW50IGl0LgogICAgIGNhaXJvX3Nl
dF9zb3VyY2Vfc3VyZmFjZShjciwgc3JjLCAwLCAwKTsKICAgICBjYWlyb19maWxsKGNyKTsKICAg
ICBjYWlyb19yZXN0b3JlKGNyKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3RrL1ZpZGVvU2lua0dTdHJlYW1lci5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2d0ay9WaWRlb1NpbmtHU3RyZWFtZXIuY3BwCmluZGV4IDU5YzU2ZGUuLmVkYjExMjUgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3RrL1ZpZGVvU2lua0dTdHJlYW1lci5j
cHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ndGsvVmlkZW9TaW5rR1N0cmVhbWVy
LmNwcApAQCAtMzcsOSArMzcsOSBAQCBzdGF0aWMgR3N0U3RhdGljUGFkVGVtcGxhdGUgc2lua3Rl
bXBsYXRlID0gR1NUX1NUQVRJQ19QQURfVEVNUExBVEUoInNpbmsiLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdTVF9Q
QURfU0lOSywgR1NUX1BBRF9BTFdBWVMsCiAvLyBDQUlST19GT1JNQVRfUkdCMjQgdXNlZCB0byBy
ZW5kZXIgdGhlIHZpZGVvIGJ1ZmZlcnMgaXMgbGl0dGxlL2JpZyBlbmRpYW4gZGVwZW5kYW50Lgog
I2lmIEdfQllURV9PUkRFUiA9PSBHX0xJVFRMRV9FTkRJQU4KLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHU1RfU1RBVElD
X0NBUFMoR1NUX1ZJREVPX0NBUFNfQkdSeCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHU1RfU1RBVElDX0NBUFMoR1NU
X1ZJREVPX0NBUFNfQkdSeCAiOyIgR1NUX1ZJREVPX0NBUFNfQkdSQSkKICNlbHNlCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgR1NUX1NUQVRJQ19DQVBTKEdTVF9WSURFT19DQVBTX3hSR0IpCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR1NUX1NU
QVRJQ19DQVBTKEdTVF9WSURFT19DQVBTX3hSR0IgIjsiIEdTVF9WSURFT19DQVBTX0FSR0IpCiAj
ZW5kaWYKICk7CiAKQEAgLTExOSwxMSArMTE5LDYgQEAgd2Via2l0X3ZpZGVvX3NpbmtfdGltZW91
dF9mdW5jKGdwb2ludGVyIGRhdGEpCiAgICAgICAgIHJldHVybiBGQUxTRTsKICAgICB9CiAKLSAg
ICBpZiAoR19VTkxJS0VMWSghR1NUX0JVRkZFUl9DQVBTKGJ1ZmZlcikpKSB7Ci0gICAgICAgIGJ1
ZmZlciA9IGdzdF9idWZmZXJfbWFrZV9tZXRhZGF0YV93cml0YWJsZShidWZmZXIpOwotICAgICAg
ICBnc3RfYnVmZmVyX3NldF9jYXBzKGJ1ZmZlciwgR1NUX1BBRF9DQVBTKEdTVF9CQVNFX1NJTktf
UEFEKHNpbmspKSk7Ci0gICAgfQotCiAgICAgZ19zaWduYWxfZW1pdChzaW5rLCB3ZWJraXRfdmlk
ZW9fc2lua19zaWduYWxzW1JFUEFJTlRfUkVRVUVTVEVEXSwgMCwgYnVmZmVyKTsKICAgICBnc3Rf
YnVmZmVyX3VucmVmKGJ1ZmZlcik7CiAgICAgZ19jb25kX3NpZ25hbChwcml2LT5kYXRhX2NvbmQp
OwpAQCAtMTM5LDEzICsxMzQsNzUgQEAgd2Via2l0X3ZpZGVvX3NpbmtfcmVuZGVyKEdzdEJhc2VT
aW5rKiBic2luaywgR3N0QnVmZmVyKiBidWZmZXIpCiAgICAgV2ViS2l0VmlkZW9TaW5rUHJpdmF0
ZSogcHJpdiA9IHNpbmstPnByaXY7CiAKICAgICBnX211dGV4X2xvY2socHJpdi0+YnVmZmVyX211
dGV4KTsKKwogICAgIHByaXYtPmJ1ZmZlciA9IGdzdF9idWZmZXJfcmVmKGJ1ZmZlcik7CiAKKyAg
ICAvLyBGb3IgdGhlIHVubGlrZWx5IGNhc2Ugd2hlcmUgdGhlIGJ1ZmZlciBoYXMgbm8gY2Fwcywg
dGhlIGNhcHMKKyAgICAvLyBhcmUgaW1wbGljaXRlbHkgdGhlIGNhcHMgb2YgdGhlIHBhZC4gVGhp
cyBzaG91bGRuJ3QgaGFwcGVuLgorICAgIGlmIChHX1VOTElLRUxZKCFHU1RfQlVGRkVSX0NBUFMo
YnVmZmVyKSkpIHsKKyAgICAgICAgYnVmZmVyID0gcHJpdi0+YnVmZmVyID0gZ3N0X2J1ZmZlcl9t
YWtlX21ldGFkYXRhX3dyaXRhYmxlKHByaXYtPmJ1ZmZlcik7CisgICAgICAgIGdzdF9idWZmZXJf
c2V0X2NhcHMocHJpdi0+YnVmZmVyLCBHU1RfUEFEX0NBUFMoR1NUX0JBU0VfU0lOS19QQUQoYnNp
bmspKSk7CisgICAgfQorCisgICAgR3N0Q2FwcyAqY2FwcyA9IEdTVF9CVUZGRVJfQ0FQUyhidWZm
ZXIpOworICAgIEdzdFZpZGVvRm9ybWF0IGZvcm1hdDsKKyAgICBpbnQgd2lkdGgsIGhlaWdodDsK
KyAgICBpZiAoR19VTkxJS0VMWSghZ3N0X3ZpZGVvX2Zvcm1hdF9wYXJzZV9jYXBzKGNhcHMsICZm
b3JtYXQsICZ3aWR0aCwgJmhlaWdodCkpKSB7CisgICAgICAgIGdzdF9idWZmZXJfdW5yZWYoYnVm
ZmVyKTsKKyAgICAgICAgZ19tdXRleF91bmxvY2socHJpdi0+YnVmZmVyX211dGV4KTsKKyAgICAg
ICAgcmV0dXJuIEdTVF9GTE9XX0VSUk9SOworICAgIH0KKworICAgIC8vIENhaXJvJ3MgQVJHQiBo
YXMgcHJlLW11bHRpcGxpZWQgYWxwaGEgd2hpbGUgR1N0cmVhbWVyJ3MgZG9lc24ndC4KKyAgICAv
LyBIZXJlIHdlIGNvbnZlcnQgdG8gQ2Fpcm8ncyBBUkdCLgorICAgIGlmIChmb3JtYXQgPT0gR1NU
X1ZJREVPX0ZPUk1BVF9BUkdCIHx8IGZvcm1hdCA9PSBHU1RfVklERU9fRk9STUFUX0JHUkEpIHsK
KyAgICAgICAgLy8gQmVjYXVzZSBHc3RCYXNlU2luazo6cmVuZGVyKCkgb25seSBvd25zIHRoZSBi
dWZmZXIgcmVmZXJlbmNlIGluIHRoZQorICAgICAgICAvLyBtZXRob2Qgc2NvcGUgd2UgY2FuJ3Qg
dXNlIGdzdF9idWZmZXJfbWFrZV93cml0YWJsZSgpIGhlcmUuIEFsc28KKyAgICAgICAgLy8gVGhl
IGJ1ZmZlciBjb250ZW50IHNob3VsZCBub3QgYmUgY2hhbmdlZCBoZXJlIGJlY2F1c2UgdGhlIHNh
bWUgYnVmZmVyCisgICAgICAgIC8vIGNvdWxkIGJlIHBhc3NlZCBtdWx0aXBsZSB0aW1lcyB0byB0
aGlzIG1ldGhvZCAoaW4gdGhlb3J5KQorICAgICAgICBHc3RCdWZmZXIgKm5ld0J1ZmZlciA9IGdz
dF9idWZmZXJfdHJ5X25ld19hbmRfYWxsb2MoR1NUX0JVRkZFUl9TSVpFKGJ1ZmZlcikpOworCisg
ICAgICAgIC8vIENoZWNrIGlmIGFsbG9jYXRpb24gZmFpbGVkCisgICAgICAgIGlmIChHX1VOTElL
RUxZKCFuZXdCdWZmZXIpKSB7CisgICAgICAgICAgICBnc3RfYnVmZmVyX3VucmVmKGJ1ZmZlcik7
CisgICAgICAgICAgICBnX211dGV4X3VubG9jayhwcml2LT5idWZmZXJfbXV0ZXgpOworICAgICAg
ICAgICAgcmV0dXJuIEdTVF9GTE9XX0VSUk9SOworICAgICAgICB9CisKKyAgICAgICAgZ3N0X2J1
ZmZlcl9jb3B5X21ldGFkYXRhKG5ld0J1ZmZlciwgYnVmZmVyLCAoR3N0QnVmZmVyQ29weUZsYWdz
KSBHU1RfQlVGRkVSX0NPUFlfQUxMKTsKKworICAgICAgICAvLyBXZSBkb24ndCB1c2UgQ29sb3I6
OnByZW11bHRpcGxpZWRBUkdCRnJvbUNvbG9yKCkgaGVyZSBiZWNhdXNlCisgICAgICAgIC8vIG9u
ZSBmdW5jdGlvbiBjYWxsIHBlciB2aWRlbyBwaXhlbCBpcyBqdXN0IHRvbyBleHBlbnNpdmU6Cisg
ICAgICAgIC8vIEZvciA3MjBwL1BBTCBmb3IgZXhhbXBsZSB0aGlzIG1lYW5zIDEyODAqNzIwKjI1
PTIzMDQwMDAwCisgICAgICAgIC8vIGZ1bmN0aW9uIGNhbGxzIHBlciBzZWNvbmQhCisgICAgICAg
IHVuc2lnbmVkIHNob3J0IGFscGhhOworICAgICAgICBndWludDggKmRhdGEgPSBHU1RfQlVGRkVS
X0RBVEEoYnVmZmVyKTsKKworICAgICAgICBmb3IgKGludCB4ID0gMDsgeCA8IGhlaWdodDsgeCsr
KSB7CisgICAgICAgICAgICBmb3IgKGludCB5ID0gMDsgeSA8IHdpZHRoOyB5KyspIHsKKyNpZiBH
X0JZVEVfT1JERVIgPT0gR19MSVRUTEVfRU5ESUFOCisgICAgICAgICAgICAgICAgYWxwaGEgPSBk
YXRhWzNdOworICAgICAgICAgICAgICAgIGRhdGFbMF0gPSAoZGF0YVswXSAqIGFscGhhICsgMTI4
KSAvIDI1NTsKKyAgICAgICAgICAgICAgICBkYXRhWzFdID0gKGRhdGFbMV0gKiBhbHBoYSArIDEy
OCkgLyAyNTU7CisgICAgICAgICAgICAgICAgZGF0YVsyXSA9IChkYXRhWzJdICogYWxwaGEgKyAx
MjgpIC8gMjU1OworI2Vsc2UKKyAgICAgICAgICAgICAgICBhbHBoYSA9IGRhdGFbMF07CisgICAg
ICAgICAgICAgICAgZGF0YVsxXSA9IChkYXRhWzFdICogYWxwaGEgKyAxMjgpIC8gMjU1OworICAg
ICAgICAgICAgICAgIGRhdGFbMl0gPSAoZGF0YVsyXSAqIGFscGhhICsgMTI4KSAvIDI1NTsKKyAg
ICAgICAgICAgICAgICBkYXRhWzNdID0gKGRhdGFbM10gKiBhbHBoYSArIDEyOCkgLyAyNTU7Cisj
ZW5kaWYKKyAgICAgICAgICAgICAgICBkYXRhICs9IDQ7CisgICAgICAgICAgICB9CisgICAgICAg
IH0KKyAgICAgICAgZ3N0X2J1ZmZlcl91bnJlZihidWZmZXIpOworICAgICAgICBidWZmZXIgPSBw
cml2LT5idWZmZXIgPSBuZXdCdWZmZXI7CisgICAgfQorCiAgICAgLy8gVXNlIEhJR0hfSURMRSsy
MCBwcmlvcml0eSwgbGlrZSBHdGsrIGZvciByZWRyYXdpbmcgb3BlcmF0aW9ucy4KICAgICBwcml2
LT50aW1lb3V0X2lkID0gZ190aW1lb3V0X2FkZF9mdWxsKEdfUFJJT1JJVFlfSElHSF9JRExFICsg
MjAsIDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3ZWJraXRf
dmlkZW9fc2lua190aW1lb3V0X2Z1bmMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBnc3Rfb2JqZWN0X3JlZihzaW5rKSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIChHRGVzdHJveU5vdGlmeSlnc3Rfb2JqZWN0X3VucmVmKTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChHRGVzdHJveU5vdGlmeSkg
Z3N0X29iamVjdF91bnJlZik7CiAKICAgICBnX2NvbmRfd2FpdChwcml2LT5kYXRhX2NvbmQsIHBy
aXYtPmJ1ZmZlcl9tdXRleCk7CiAgICAgZ19tdXRleF91bmxvY2socHJpdi0+YnVmZmVyX211dGV4
KTsKLS0gCjEuNi40LjMKCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>41094</attachid>
            <date>2009-10-13 01:15:09 -0700</date>
            <delta_ts>2009-10-29 06:03:50 -0700</delta_ts>
            <desc>0001-Add-support-for-ARGB-videos.patch</desc>
            <filename>0001-Add-support-for-ARGB-videos.patch</filename>
            <type>text/plain</type>
            <size>10578</size>
            <attacher name="Sebastian Dröge (slomo)">slomo</attacher>
            
              <data encoding="base64">RnJvbSAwOWFiN2Y1MWE2YmIzNzNjNDJiMDQ0NDk5YzNmMzk5N2VhODVjOTk1IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/U2ViYXN0aWFuPTIwRHI9QzM9QjZnZT89IDxz
ZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KRGF0ZTogTW9uLCAxMiBPY3QgMjAwOSAx
ODoxNDowMCArMDIwMApTdWJqZWN0OiBbUEFUQ0hdIEFkZCBzdXBwb3J0IGZvciBBUkdCIHZpZGVv
cwoKICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzAzMDgK
CiAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ndGsvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVh
bWVyLmNwcDoKICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlOjpkdXJhdGlvbik6
CiAgICAgICAgSGFuZGxlIEFSR0IgdmlkZW8gYnVmZmVycyBhbmQgY29udmVydCBHU3RyZWFtZXIn
cyBBUkdCCiAgICAgICAgZm9ybWF0IHRvIENhaXJvJ3MgQVJHQiB3aXRoIHByZS1tdWx0aXBsaWVk
IGFscGhhLgoKICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2d0ay9WaWRlb1NpbmtHU3RyZWFt
ZXIuY3BwOgogICAgICAgIEFkZCBBUkdCL0JHUkEgdG8gdGhlIHZpZGVvIHNpbmsgcGFkIHRlbXBs
YXRlIGNhcHMuCi0tLQogV2ViQ29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgfCAgIDE1ICsrKysKIC4uLi9ncmFwaGljcy9ndGsvTWVkaWFQbGF5ZXJQcml2YXRl
R1N0cmVhbWVyLmNwcCAgIHwgICAyNyArKysrKystLQogLi4uL3BsYXRmb3JtL2dyYXBoaWNzL2d0
ay9WaWRlb1NpbmtHU3RyZWFtZXIuY3BwICAgfCAgIDc3ICsrKysrKysrKysrKysrKysrKy0tCiAz
IGZpbGVzIGNoYW5nZWQsIDEwNSBpbnNlcnRpb25zKCspLCAxNCBkZWxldGlvbnMoLSkKCmRpZmYg
LS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDI4ODlk
ZmYuLmRlMGVlMDMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUv
Q2hhbmdlTG9nCkBAIC0yMzQsNiArMjM0LDIxIEBACiAKIDIwMDktMTAtMTIgIFNlYmFzdGlhbiBE
csO2Z2UgIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KIAorICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MzAzMDgKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIEFSR0Igdmlk
ZW9zLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3RrL01lZGlhUGxheWVyUHJpdmF0
ZUdTdHJlYW1lci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGU6OmR1
cmF0aW9uKToKKyAgICAgICAgSGFuZGxlIEFSR0IgdmlkZW8gYnVmZmVycyBhbmQgY29udmVydCBH
U3RyZWFtZXIncyBBUkdCCisgICAgICAgIGZvcm1hdCB0byBDYWlybydzIEFSR0Igd2l0aCBwcmUt
bXVsdGlwbGllZCBhbHBoYS4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2d0ay9WaWRl
b1NpbmtHU3RyZWFtZXIuY3BwOgorICAgICAgICBBZGQgQVJHQi9CR1JBIHRvIHRoZSB2aWRlbyBz
aW5rIHBhZCB0ZW1wbGF0ZSBjYXBzLgorCisyMDA5LTEwLTEyICBTZWJhc3RpYW4gRHLDtmdlICA8
c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CisKICAgICAgICAgUmV2aWV3ZWQgYnkg
R3VzdGF2byBOb3JvbmhhLgogCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0zMDMwNwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
dGsvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3RrL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAKaW5kZXggNzZiOTkyZi4u
N2QzZDFkMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ndGsvTWVkaWFQ
bGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2d0ay9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwCkBAIC02NTksMTEgKzY1OSwxMiBA
QCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZTo6cGFpbnQoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0
LCBjb25zdCBJbnRSZWN0JiByZWN0KQogICAgIGRvdWJsZSBkaXNwbGF5V2lkdGg7CiAgICAgZG91
YmxlIGRpc3BsYXlIZWlnaHQ7CiAgICAgZG91YmxlIHNjYWxlLCBnYXBIZWlnaHQsIGdhcFdpZHRo
OworICAgIEdzdFZpZGVvRm9ybWF0IGZvcm1hdDsKIAogICAgIEdzdENhcHMgKmNhcHMgPSBnc3Rf
YnVmZmVyX2dldF9jYXBzKG1fYnVmZmVyKTsKIAotICAgIGlmICghZ3N0X3ZpZGVvX2Zvcm1hdF9w
YXJzZV9jYXBzKGNhcHMsIE5VTEwsICZ3aWR0aCwgJmhlaWdodCkgfHwKLSAgICAgICAgIWdzdF92
aWRlb19wYXJzZV9jYXBzX3BpeGVsX2FzcGVjdF9yYXRpbyhjYXBzLCAmcGl4ZWxBc3BlY3RSYXRp
b051bWVyYXRvciwgJnBpeGVsQXNwZWN0UmF0aW9EZW5vbWluYXRvcikpIHsKKyAgICBpZiAoR19V
TkxJS0VMWSghZ3N0X3ZpZGVvX2Zvcm1hdF9wYXJzZV9jYXBzKGNhcHMsICZmb3JtYXQsICZ3aWR0
aCwgJmhlaWdodCkgfHwKKyAgICAgICAgIWdzdF92aWRlb19wYXJzZV9jYXBzX3BpeGVsX2FzcGVj
dF9yYXRpbyhjYXBzLCAmcGl4ZWxBc3BlY3RSYXRpb051bWVyYXRvciwgJnBpeGVsQXNwZWN0UmF0
aW9EZW5vbWluYXRvcikpKSB7CiAgICAgICBnc3RfY2Fwc191bnJlZihjYXBzKTsKICAgICAgIHJl
dHVybjsKICAgICB9CkBAIC02NzMsMzIgKzY3NCw0NiBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0
ZTo6cGFpbnQoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBJbnRSZWN0JiByZWN0KQog
ICAgIGRvdWJsZVBpeGVsQXNwZWN0UmF0aW9OdW1lcmF0b3IgPSBwaXhlbEFzcGVjdFJhdGlvTnVt
ZXJhdG9yOwogICAgIGRvdWJsZVBpeGVsQXNwZWN0UmF0aW9EZW5vbWluYXRvciA9IHBpeGVsQXNw
ZWN0UmF0aW9EZW5vbWluYXRvcjsKIAorICAgIGNhaXJvX2Zvcm1hdF90IGNhaXJvRm9ybWF0Owor
ICAgIGlmIChmb3JtYXQgPT0gR1NUX1ZJREVPX0ZPUk1BVF9BUkdCIHx8IGZvcm1hdCA9PSBHU1Rf
VklERU9fRk9STUFUX0JHUkEpCisgICAgICAgIGNhaXJvRm9ybWF0ID0gQ0FJUk9fRk9STUFUX0FS
R0IzMjsKKyAgICBlbHNlCisgICAgICAgIGNhaXJvRm9ybWF0ID0gQ0FJUk9fRk9STUFUX1JHQjI0
OworCiAgICAgY2Fpcm9fdCogY3IgPSBjb250ZXh0LT5wbGF0Zm9ybUNvbnRleHQoKTsKICAgICBj
YWlyb19zdXJmYWNlX3QqIHNyYyA9IGNhaXJvX2ltYWdlX3N1cmZhY2VfY3JlYXRlX2Zvcl9kYXRh
KEdTVF9CVUZGRVJfREFUQShtX2J1ZmZlciksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDQUlST19GT1JNQVRfUkdCMjQsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjYWlyb0Zvcm1hdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoLCBoZWlnaHQsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0ICogd2lkdGgp
OwogCiAgICAgY2Fpcm9fc2F2ZShjcik7CiAgICAgY2Fpcm9fc2V0X29wZXJhdG9yKGNyLCBDQUlS
T19PUEVSQVRPUl9TT1VSQ0UpOwogCisgICAgLy8gQ2FsY3VsYXRlIHRoZSBkaXNwbGF5IHdpZHRo
L2hlaWdodCBmcm9tIHRoZSBzdG9yYWdlIHdpZHRoL2hlaWdodCBhbmQgdGhlIHBpeGVsIGFzcGVj
dCByYXRpbwogICAgIGRpc3BsYXlXaWR0aCAqPSBkb3VibGVQaXhlbEFzcGVjdFJhdGlvTnVtZXJh
dG9yIC8gZG91YmxlUGl4ZWxBc3BlY3RSYXRpb0Rlbm9taW5hdG9yOwogICAgIGRpc3BsYXlIZWln
aHQgKj0gZG91YmxlUGl4ZWxBc3BlY3RSYXRpb0Rlbm9taW5hdG9yIC8gZG91YmxlUGl4ZWxBc3Bl
Y3RSYXRpb051bWVyYXRvcjsKIAotICAgIHNjYWxlID0gTUlOIChyZWN0LndpZHRoICgpIC8gZGlz
cGxheVdpZHRoLCByZWN0LmhlaWdodCAoKSAvIGRpc3BsYXlIZWlnaHQpOworICAgIC8vIENhbGN1
bGF0ZSB0aGUgbGFyZ2VzdCBzY2FsZSBmYWN0b3IgdGhhdCB3b3VsZCBmaWxsIHRoZSB0YXJnZXQg
c3VyZmFjZQorICAgIHNjYWxlID0gTUlOKHJlY3Qud2lkdGgoKSAvIGRpc3BsYXlXaWR0aCwgcmVj
dC5oZWlnaHQoKSAvIGRpc3BsYXlIZWlnaHQpOworICAgIC8vIEFuZCBjYWxjdWxhdGUgdGhlIG5l
dyBkaXNwbGF5IHdpZHRoL2hlaWdodAogICAgIGRpc3BsYXlXaWR0aCAqPSBzY2FsZTsKICAgICBk
aXNwbGF5SGVpZ2h0ICo9IHNjYWxlOwogCi0gICAgLy8gQ2FsY3VsYXRlIGdhcCBiZXR3ZWVuIGJv
cmRlciBhbiBwaWN0dXJlCisgICAgLy8gQ2FsY3VsYXRlIGdhcCBiZXR3ZWVuIGJvcmRlciBhbiBw
aWN0dXJlIG9uIGV2ZXJ5IHNpZGUKICAgICBnYXBXaWR0aCA9IChyZWN0LndpZHRoKCkgLSBkaXNw
bGF5V2lkdGgpIC8gMi4wOwogICAgIGdhcEhlaWdodCA9IChyZWN0LmhlaWdodCgpIC0gZGlzcGxh
eUhlaWdodCkgLyAyLjA7CiAKLSAgICAvLyBwYWludCB0aGUgcmVjdGFuZ2xlIG9uIHRoZSBjb250
ZXh0IGFuZCBkcmF3IHRoZSBzdXJmYWNlIGluc2lkZS4KKyAgICAvLyBwYWludCB0aGUgcmVjdGFu
Z2xlIG9uIHRoZSBjb250ZXh0IGFuZCBkcmF3IHRoZSBidWZmZXIgaW5zaWRlCisKKyAgICAvLyBH
byB0byB0aGUgbmV3IG9yaWdpbiBhbmQgY2VudGVyIHRoZSB2aWRlbyBmcmFtZS4KICAgICBjYWly
b190cmFuc2xhdGUoY3IsIHJlY3QueCgpICsgZ2FwV2lkdGgsIHJlY3QueSgpICsgZ2FwSGVpZ2h0
KTsKICAgICBjYWlyb19yZWN0YW5nbGUoY3IsIDAsIDAsIHJlY3Qud2lkdGgoKSwgcmVjdC5oZWln
aHQoKSk7CisgICAgLy8gU2NhbGUgdGhlIHZpZGVvIGZyYW1lIGFjY29yZGluZyB0byB0aGUgcGl4
ZWwgYXNwZWN0IHJhdGlvLgogICAgIGNhaXJvX3NjYWxlKGNyLCBkb3VibGVQaXhlbEFzcGVjdFJh
dGlvTnVtZXJhdG9yIC8gZG91YmxlUGl4ZWxBc3BlY3RSYXRpb0Rlbm9taW5hdG9yLAogICAgICAg
ICAgICAgICAgIGRvdWJsZVBpeGVsQXNwZWN0UmF0aW9EZW5vbWluYXRvciAvIGRvdWJsZVBpeGVs
QXNwZWN0UmF0aW9OdW1lcmF0b3IpOworICAgIC8vIFNjYWxlIHRoZSB2aWRlbyBmcmFtZSB0byBm
aWxsIHRoZSB0YXJnZXQgc3VyZmFjZSBhcyBnb29kIGFzIHBvc3NpYmxlLgogICAgIGNhaXJvX3Nj
YWxlKGNyLCBzY2FsZSwgc2NhbGUpOworICAgIC8vIEFuZCBwYWludCBpdC4KICAgICBjYWlyb19z
ZXRfc291cmNlX3N1cmZhY2UoY3IsIHNyYywgMCwgMCk7CiAgICAgY2Fpcm9fZmlsbChjcik7CiAg
ICAgY2Fpcm9fcmVzdG9yZShjcik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2d0ay9WaWRlb1NpbmtHU3RyZWFtZXIuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9ndGsvVmlkZW9TaW5rR1N0cmVhbWVyLmNwcAppbmRleCA1OWM1NmRlLi5lZWNlZGY3IDEwMDY0
NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2d0ay9WaWRlb1NpbmtHU3RyZWFtZXIu
Y3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3RrL1ZpZGVvU2lua0dTdHJlYW1l
ci5jcHAKQEAgLTM3LDkgKzM3LDkgQEAgc3RhdGljIEdzdFN0YXRpY1BhZFRlbXBsYXRlIHNpbmt0
ZW1wbGF0ZSA9IEdTVF9TVEFUSUNfUEFEX1RFTVBMQVRFKCJzaW5rIiwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHU1Rf
UEFEX1NJTkssIEdTVF9QQURfQUxXQVlTLAogLy8gQ0FJUk9fRk9STUFUX1JHQjI0IHVzZWQgdG8g
cmVuZGVyIHRoZSB2aWRlbyBidWZmZXJzIGlzIGxpdHRsZS9iaWcgZW5kaWFuIGRlcGVuZGFudC4K
ICNpZiBHX0JZVEVfT1JERVIgPT0gR19MSVRUTEVfRU5ESUFOCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR1NUX1NUQVRJ
Q19DQVBTKEdTVF9WSURFT19DQVBTX0JHUngpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR1NUX1NUQVRJQ19DQVBTKEdT
VF9WSURFT19DQVBTX0JHUnggIjsiIEdTVF9WSURFT19DQVBTX0JHUkEpCiAjZWxzZQotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIEdTVF9TVEFUSUNfQ0FQUyhHU1RfVklERU9fQ0FQU194UkdCKQorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdTVF9T
VEFUSUNfQ0FQUyhHU1RfVklERU9fQ0FQU194UkdCICI7IiBHU1RfVklERU9fQ0FQU19BUkdCKQog
I2VuZGlmCiApOwogCkBAIC0xMTksMTEgKzExOSw2IEBAIHdlYmtpdF92aWRlb19zaW5rX3RpbWVv
dXRfZnVuYyhncG9pbnRlciBkYXRhKQogICAgICAgICByZXR1cm4gRkFMU0U7CiAgICAgfQogCi0g
ICAgaWYgKEdfVU5MSUtFTFkoIUdTVF9CVUZGRVJfQ0FQUyhidWZmZXIpKSkgewotICAgICAgICBi
dWZmZXIgPSBnc3RfYnVmZmVyX21ha2VfbWV0YWRhdGFfd3JpdGFibGUoYnVmZmVyKTsKLSAgICAg
ICAgZ3N0X2J1ZmZlcl9zZXRfY2FwcyhidWZmZXIsIEdTVF9QQURfQ0FQUyhHU1RfQkFTRV9TSU5L
X1BBRChzaW5rKSkpOwotICAgIH0KLQogICAgIGdfc2lnbmFsX2VtaXQoc2luaywgd2Via2l0X3Zp
ZGVvX3Npbmtfc2lnbmFsc1tSRVBBSU5UX1JFUVVFU1RFRF0sIDAsIGJ1ZmZlcik7CiAgICAgZ3N0
X2J1ZmZlcl91bnJlZihidWZmZXIpOwogICAgIGdfY29uZF9zaWduYWwocHJpdi0+ZGF0YV9jb25k
KTsKQEAgLTEzOSwxMyArMTM0LDc5IEBAIHdlYmtpdF92aWRlb19zaW5rX3JlbmRlcihHc3RCYXNl
U2luayogYnNpbmssIEdzdEJ1ZmZlciogYnVmZmVyKQogICAgIFdlYktpdFZpZGVvU2lua1ByaXZh
dGUqIHByaXYgPSBzaW5rLT5wcml2OwogCiAgICAgZ19tdXRleF9sb2NrKHByaXYtPmJ1ZmZlcl9t
dXRleCk7CisKICAgICBwcml2LT5idWZmZXIgPSBnc3RfYnVmZmVyX3JlZihidWZmZXIpOwogCisg
ICAgLy8gRm9yIHRoZSB1bmxpa2VseSBjYXNlIHdoZXJlIHRoZSBidWZmZXIgaGFzIG5vIGNhcHMs
IHRoZSBjYXBzCisgICAgLy8gYXJlIGltcGxpY2l0ZWx5IHRoZSBjYXBzIG9mIHRoZSBwYWQuIFRo
aXMgc2hvdWxkbid0IGhhcHBlbi4KKyAgICBpZiAoR19VTkxJS0VMWSghR1NUX0JVRkZFUl9DQVBT
KGJ1ZmZlcikpKSB7CisgICAgICAgIGJ1ZmZlciA9IHByaXYtPmJ1ZmZlciA9IGdzdF9idWZmZXJf
bWFrZV9tZXRhZGF0YV93cml0YWJsZShwcml2LT5idWZmZXIpOworICAgICAgICBnc3RfYnVmZmVy
X3NldF9jYXBzKHByaXYtPmJ1ZmZlciwgR1NUX1BBRF9DQVBTKEdTVF9CQVNFX1NJTktfUEFEKGJz
aW5rKSkpOworICAgIH0KKworICAgIEdzdENhcHMgKmNhcHMgPSBHU1RfQlVGRkVSX0NBUFMoYnVm
ZmVyKTsKKyAgICBHc3RWaWRlb0Zvcm1hdCBmb3JtYXQ7CisgICAgaW50IHdpZHRoLCBoZWlnaHQ7
CisgICAgaWYgKEdfVU5MSUtFTFkoIWdzdF92aWRlb19mb3JtYXRfcGFyc2VfY2FwcyhjYXBzLCAm
Zm9ybWF0LCAmd2lkdGgsICZoZWlnaHQpKSkgeworICAgICAgICBnc3RfYnVmZmVyX3VucmVmKGJ1
ZmZlcik7CisgICAgICAgIGdfbXV0ZXhfdW5sb2NrKHByaXYtPmJ1ZmZlcl9tdXRleCk7CisgICAg
ICAgIHJldHVybiBHU1RfRkxPV19FUlJPUjsKKyAgICB9CisKKyAgICAvLyBDYWlybydzIEFSR0Ig
aGFzIHByZS1tdWx0aXBsaWVkIGFscGhhIHdoaWxlIEdTdHJlYW1lcidzIGRvZXNuJ3QuCisgICAg
Ly8gSGVyZSB3ZSBjb252ZXJ0IHRvIENhaXJvJ3MgQVJHQi4KKyAgICBpZiAoZm9ybWF0ID09IEdT
VF9WSURFT19GT1JNQVRfQVJHQiB8fCBmb3JtYXQgPT0gR1NUX1ZJREVPX0ZPUk1BVF9CR1JBKSB7
CisgICAgICAgIC8vIEJlY2F1c2UgR3N0QmFzZVNpbms6OnJlbmRlcigpIG9ubHkgb3ducyB0aGUg
YnVmZmVyIHJlZmVyZW5jZSBpbiB0aGUKKyAgICAgICAgLy8gbWV0aG9kIHNjb3BlIHdlIGNhbid0
IHVzZSBnc3RfYnVmZmVyX21ha2Vfd3JpdGFibGUoKSBoZXJlLiBBbHNvCisgICAgICAgIC8vIFRo
ZSBidWZmZXIgY29udGVudCBzaG91bGQgbm90IGJlIGNoYW5nZWQgaGVyZSBiZWNhdXNlIHRoZSBz
YW1lIGJ1ZmZlcgorICAgICAgICAvLyBjb3VsZCBiZSBwYXNzZWQgbXVsdGlwbGUgdGltZXMgdG8g
dGhpcyBtZXRob2QgKGluIHRoZW9yeSkKKyAgICAgICAgR3N0QnVmZmVyICpuZXdCdWZmZXIgPSBn
c3RfYnVmZmVyX3RyeV9uZXdfYW5kX2FsbG9jKEdTVF9CVUZGRVJfU0laRShidWZmZXIpKTsKKwor
ICAgICAgICAvLyBDaGVjayBpZiBhbGxvY2F0aW9uIGZhaWxlZAorICAgICAgICBpZiAoR19VTkxJ
S0VMWSghbmV3QnVmZmVyKSkgeworICAgICAgICAgICAgZ3N0X2J1ZmZlcl91bnJlZihidWZmZXIp
OworICAgICAgICAgICAgZ19tdXRleF91bmxvY2socHJpdi0+YnVmZmVyX211dGV4KTsKKyAgICAg
ICAgICAgIHJldHVybiBHU1RfRkxPV19FUlJPUjsKKyAgICAgICAgfQorCisgICAgICAgIGdzdF9i
dWZmZXJfY29weV9tZXRhZGF0YShuZXdCdWZmZXIsIGJ1ZmZlciwgKEdzdEJ1ZmZlckNvcHlGbGFn
cykgR1NUX0JVRkZFUl9DT1BZX0FMTCk7CisKKyAgICAgICAgLy8gV2UgZG9uJ3QgdXNlIENvbG9y
OjpwcmVtdWx0aXBsaWVkQVJHQkZyb21Db2xvcigpIGhlcmUgYmVjYXVzZQorICAgICAgICAvLyBv
bmUgZnVuY3Rpb24gY2FsbCBwZXIgdmlkZW8gcGl4ZWwgaXMganVzdCB0b28gZXhwZW5zaXZlOgor
ICAgICAgICAvLyBGb3IgNzIwcC9QQUwgZm9yIGV4YW1wbGUgdGhpcyBtZWFucyAxMjgwKjcyMCoy
NT0yMzA0MDAwMAorICAgICAgICAvLyBmdW5jdGlvbiBjYWxscyBwZXIgc2Vjb25kIQorICAgICAg
ICB1bnNpZ25lZCBzaG9ydCBhbHBoYTsKKyAgICAgICAgY29uc3QgZ3VpbnQ4ICpzb3VyY2UgPSBH
U1RfQlVGRkVSX0RBVEEoYnVmZmVyKTsKKyAgICAgICAgZ3VpbnQ4ICpkZXN0aW5hdGlvbiA9IEdT
VF9CVUZGRVJfREFUQShuZXdCdWZmZXIpOworCisgICAgICAgIGZvciAoaW50IHggPSAwOyB4IDwg
aGVpZ2h0OyB4KyspIHsKKyAgICAgICAgICAgIGZvciAoaW50IHkgPSAwOyB5IDwgd2lkdGg7IHkr
KykgeworI2lmIEdfQllURV9PUkRFUiA9PSBHX0xJVFRMRV9FTkRJQU4KKyAgICAgICAgICAgICAg
ICBhbHBoYSA9IHNvdXJjZVszXTsKKyAgICAgICAgICAgICAgICBkZXN0aW5hdGlvblswXSA9IChz
b3VyY2VbMF0gKiBhbHBoYSArIDEyOCkgLyAyNTU7CisgICAgICAgICAgICAgICAgZGVzdGluYXRp
b25bMV0gPSAoc291cmNlWzFdICogYWxwaGEgKyAxMjgpIC8gMjU1OworICAgICAgICAgICAgICAg
IGRlc3RpbmF0aW9uWzJdID0gKHNvdXJjZVsyXSAqIGFscGhhICsgMTI4KSAvIDI1NTsKKyAgICAg
ICAgICAgICAgICBkZXN0aW5hdGlvblszXSA9IGFscGhhOworI2Vsc2UKKyAgICAgICAgICAgICAg
ICBhbHBoYSA9IHNvdXJjZVswXTsKKyAgICAgICAgICAgICAgICBkZXN0aW5hdGlvblswXSA9IGFs
cGhhOworICAgICAgICAgICAgICAgIGRlc3RpbmF0aW9uWzFdID0gKHNvdXJjZVsxXSAqIGFscGhh
ICsgMTI4KSAvIDI1NTsKKyAgICAgICAgICAgICAgICBkZXN0aW5hdGlvblsyXSA9IChzb3VyY2Vb
Ml0gKiBhbHBoYSArIDEyOCkgLyAyNTU7CisgICAgICAgICAgICAgICAgZGVzdGluYXRpb25bM10g
PSAoc291cmNlWzNdICogYWxwaGEgKyAxMjgpIC8gMjU1OworI2VuZGlmCisgICAgICAgICAgICAg
ICAgc291cmNlICs9IDQ7CisgICAgICAgICAgICAgICAgZGVzdGluYXRpb24gKz0gNDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBnc3RfYnVmZmVyX3VucmVmKGJ1ZmZlcik7Cisg
ICAgICAgIGJ1ZmZlciA9IHByaXYtPmJ1ZmZlciA9IG5ld0J1ZmZlcjsKKyAgICB9CisKICAgICAv
LyBVc2UgSElHSF9JRExFKzIwIHByaW9yaXR5LCBsaWtlIEd0aysgZm9yIHJlZHJhd2luZyBvcGVy
YXRpb25zLgogICAgIHByaXYtPnRpbWVvdXRfaWQgPSBnX3RpbWVvdXRfYWRkX2Z1bGwoR19QUklP
UklUWV9ISUdIX0lETEUgKyAyMCwgMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHdlYmtpdF92aWRlb19zaW5rX3RpbWVvdXRfZnVuYywKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdzdF9vYmplY3RfcmVmKHNpbmspLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKEdEZXN0cm95Tm90aWZ5KWdzdF9v
YmplY3RfdW5yZWYpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
KEdEZXN0cm95Tm90aWZ5KSBnc3Rfb2JqZWN0X3VucmVmKTsKIAogICAgIGdfY29uZF93YWl0KHBy
aXYtPmRhdGFfY29uZCwgcHJpdi0+YnVmZmVyX211dGV4KTsKICAgICBnX211dGV4X3VubG9jayhw
cml2LT5idWZmZXJfbXV0ZXgpOwotLSAKMS42LjQuMwoK
</data>
<flag name="review"
          id="22413"
          type_id="1"
          status="-"
          setter="gustavo"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>42093</attachid>
            <date>2009-10-29 06:03:50 -0700</date>
            <delta_ts>2009-10-30 03:13:35 -0700</delta_ts>
            <desc>0001-Add-support-for-ARGB-videos.patch</desc>
            <filename>0001-Add-support-for-ARGB-videos.patch</filename>
            <type>text/plain</type>
            <size>8544</size>
            <attacher name="Sebastian Dröge (slomo)">slomo</attacher>
            
              <data encoding="base64">RnJvbSAwZDdjNjAyYzAxNTE1NTIxMWIyZjYwNDdlOTQzOGM2ZGM5MzBjNThmIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/U2ViYXN0aWFuPTIwRHI9QzM9QjZnZT89IDxz
ZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KRGF0ZTogVGh1LCAyOSBPY3QgMjAwOSAx
Mzo1OTo1OCArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMS8yXSBBZGQgc3VwcG9ydCBmb3IgQVJHQiB2
aWRlb3MKCiAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ndGsvTWVkaWFQbGF5ZXJQcml2YXRl
R1N0cmVhbWVyLmNwcDoKICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlOjpwYWlu
dCk6CiAgICAgICAgQ3JlYXRlIHRoZSBDYWlybyBpbWFnZSBzdXJmYWNlIGZvciBBUkdCMzIgb3Ig
UkdCMjQKICAgICAgICBkZXBlbmRpbmcgb24gdGhlIGJ1ZmZlcidzIGNhcHMuCgogICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvZ3RrL1ZpZGVvU2lua0dTdHJlYW1lci5jcHA6CiAgICAgICAgKHdl
YmtpdF92aWRlb19zaW5rX3RpbWVvdXRfZnVuYyk6CiAgICAgICAgKHdlYmtpdF92aWRlb19zaW5r
X3JlbmRlcik6CiAgICAgICAgSGFuZGxlIEFSR0IgdmlkZW8gYW5kIGNvbnZlcnQgR1N0cmVhbWVy
J3MgQVJHQiB0bwogICAgICAgIENhaXJvJ3MgZm9yIGRpc3BsYXlpbmcuCi0tLQogV2ViQ29yZS9D
aGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDE5ICsrKysrCiAu
Li4vZ3JhcGhpY3MvZ3RrL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAgICB8ICAgMTMg
KysrLQogLi4uL3BsYXRmb3JtL2dyYXBoaWNzL2d0ay9WaWRlb1NpbmtHU3RyZWFtZXIuY3BwICAg
fCAgIDc0ICsrKysrKysrKysrKysrKysrKy0tCiAzIGZpbGVzIGNoYW5nZWQsIDk2IGluc2VydGlv
bnMoKyksIDEwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIv
V2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjRjNDVmZi4uMzE0MjQ5ZCAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAor
MjAwOS0xMC0yOSAgU2ViYXN0aWFuIERyw7ZnZSAgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3Jh
LmNvLnVrPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMDMwOAorICAgICAgICAK
KyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIEFSR0IgdmlkZW9zLgorCisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvZ3RrL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGU6OnBhaW50KToKKyAgICAgICAgQ3JlYXRlIHRo
ZSBDYWlybyBpbWFnZSBzdXJmYWNlIGZvciBBUkdCMzIgb3IgUkdCMjQKKyAgICAgICAgZGVwZW5k
aW5nIG9uIHRoZSBidWZmZXIncyBjYXBzLgorICAgICAgICAKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9ndGsvVmlkZW9TaW5rR1N0cmVhbWVyLmNwcDoKKyAgICAgICAgKHdlYmtpdF92aWRl
b19zaW5rX3RpbWVvdXRfZnVuYyk6CisgICAgICAgICh3ZWJraXRfdmlkZW9fc2lua19yZW5kZXIp
OgorICAgICAgICBIYW5kbGUgQVJHQiB2aWRlbyBhbmQgY29udmVydCBHU3RyZWFtZXIncyBBUkdC
IHRvCisgICAgICAgIENhaXJvJ3MgZm9yIGRpc3BsYXlpbmcuCisKIDIwMDktMTAtMjkgIEd1c3Rh
dm8gTm9yb25oYSBTaWx2YSAgPGd1c3Rhdm8ubm9yb25oYUBjb2xsYWJvcmEuY28udWs+CiAKICAg
ICAgICAgVW5yZXZpZXdlZC4gRml4ZXMgc3R5bGUgcHJvYmxlbXMgcG9pbnRlZCBvdXQgYnkgRXZh
biBNYXJ0aW4uCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2d0ay9NZWRp
YVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
dGsvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAppbmRleCA4ZDFkMjYxLi5mMDhiYzc4
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2d0ay9NZWRpYVBsYXllclBy
aXZhdGVHU3RyZWFtZXIuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3RrL01l
ZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAKQEAgLTYzMSwxMSArNjMxLDEyIEBAIHZvaWQg
TWVkaWFQbGF5ZXJQcml2YXRlOjpwYWludChHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0
IEludFJlY3QmIHJlY3QpCiAgICAgZG91YmxlIGRpc3BsYXlXaWR0aDsKICAgICBkb3VibGUgZGlz
cGxheUhlaWdodDsKICAgICBkb3VibGUgc2NhbGUsIGdhcEhlaWdodCwgZ2FwV2lkdGg7CisgICAg
R3N0VmlkZW9Gb3JtYXQgZm9ybWF0OwogCiAgICAgR3N0Q2FwcyAqY2FwcyA9IGdzdF9idWZmZXJf
Z2V0X2NhcHMobV9idWZmZXIpOwogCi0gICAgaWYgKCFnc3RfdmlkZW9fZm9ybWF0X3BhcnNlX2Nh
cHMoY2FwcywgTlVMTCwgJndpZHRoLCAmaGVpZ2h0KSB8fAotICAgICAgICAhZ3N0X3ZpZGVvX3Bh
cnNlX2NhcHNfcGl4ZWxfYXNwZWN0X3JhdGlvKGNhcHMsICZwaXhlbEFzcGVjdFJhdGlvTnVtZXJh
dG9yLCAmcGl4ZWxBc3BlY3RSYXRpb0Rlbm9taW5hdG9yKSkgeworICAgIGlmIChHX1VOTElLRUxZ
KCFnc3RfdmlkZW9fZm9ybWF0X3BhcnNlX2NhcHMoY2FwcywgJmZvcm1hdCwgJndpZHRoLCAmaGVp
Z2h0KSB8fAorICAgICAgICAhZ3N0X3ZpZGVvX3BhcnNlX2NhcHNfcGl4ZWxfYXNwZWN0X3JhdGlv
KGNhcHMsICZwaXhlbEFzcGVjdFJhdGlvTnVtZXJhdG9yLCAmcGl4ZWxBc3BlY3RSYXRpb0Rlbm9t
aW5hdG9yKSkpIHsKICAgICAgIGdzdF9jYXBzX3VucmVmKGNhcHMpOwogICAgICAgcmV0dXJuOwog
ICAgIH0KQEAgLTY0NSw5ICs2NDYsMTUgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGU6OnBhaW50
KEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgSW50UmVjdCYgcmVjdCkKICAgICBkb3Vi
bGVQaXhlbEFzcGVjdFJhdGlvTnVtZXJhdG9yID0gcGl4ZWxBc3BlY3RSYXRpb051bWVyYXRvcjsK
ICAgICBkb3VibGVQaXhlbEFzcGVjdFJhdGlvRGVub21pbmF0b3IgPSBwaXhlbEFzcGVjdFJhdGlv
RGVub21pbmF0b3I7CiAKKyAgICBjYWlyb19mb3JtYXRfdCBjYWlyb0Zvcm1hdDsKKyAgICBpZiAo
Zm9ybWF0ID09IEdTVF9WSURFT19GT1JNQVRfQVJHQiB8fCBmb3JtYXQgPT0gR1NUX1ZJREVPX0ZP
Uk1BVF9CR1JBKQorICAgICAgICBjYWlyb0Zvcm1hdCA9IENBSVJPX0ZPUk1BVF9BUkdCMzI7Cisg
ICAgZWxzZQorICAgICAgICBjYWlyb0Zvcm1hdCA9IENBSVJPX0ZPUk1BVF9SR0IyNDsKKwogICAg
IGNhaXJvX3QqIGNyID0gY29udGV4dC0+cGxhdGZvcm1Db250ZXh0KCk7CiAgICAgY2Fpcm9fc3Vy
ZmFjZV90KiBzcmMgPSBjYWlyb19pbWFnZV9zdXJmYWNlX2NyZWF0ZV9mb3JfZGF0YShHU1RfQlVG
RkVSX0RBVEEobV9idWZmZXIpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgQ0FJUk9fRk9STUFUX1JHQjI0LAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2Fp
cm9Gb3JtYXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB3aWR0aCwgaGVpZ2h0LAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNCAqIHdpZHRoKTsKIApkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ndGsvVmlkZW9TaW5rR1N0cmVhbWVy
LmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3RrL1ZpZGVvU2lua0dTdHJlYW1lci5j
cHAKaW5kZXggYjVlMWE4Yi4uZTYwNjVlNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9ndGsvVmlkZW9TaW5rR1N0cmVhbWVyLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2d0ay9WaWRlb1NpbmtHU3RyZWFtZXIuY3BwCkBAIC0zNyw5ICszNyw5IEBAIHN0
YXRpYyBHc3RTdGF0aWNQYWRUZW1wbGF0ZSBzaW5rdGVtcGxhdGUgPSBHU1RfU1RBVElDX1BBRF9U
RU1QTEFURSgic2luayIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgR1NUX1BBRF9TSU5LLCBHU1RfUEFEX0FMV0FZUywK
IC8vIENBSVJPX0ZPUk1BVF9SR0IyNCB1c2VkIHRvIHJlbmRlciB0aGUgdmlkZW8gYnVmZmVycyBp
cyBsaXR0bGUvYmlnIGVuZGlhbiBkZXBlbmRhbnQuCiAjaWYgR19CWVRFX09SREVSID09IEdfTElU
VExFX0VORElBTgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIEdTVF9TVEFUSUNfQ0FQUyhHU1RfVklERU9fQ0FQU19CR1J4
KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIEdTVF9TVEFUSUNfQ0FQUyhHU1RfVklERU9fQ0FQU19CR1J4ICI7IiBHU1Rf
VklERU9fQ0FQU19CR1JBKQogI2Vsc2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHU1RfU1RBVElDX0NBUFMoR1NUX1ZJ
REVPX0NBUFNfeFJHQikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBHU1RfU1RBVElDX0NBUFMoR1NUX1ZJREVPX0NBUFNf
eFJHQiAiOyIgR1NUX1ZJREVPX0NBUFNfQVJHQikKICNlbmRpZgogKTsKIApAQCAtMTI5LDExICsx
MjksNiBAQCB3ZWJraXRfdmlkZW9fc2lua190aW1lb3V0X2Z1bmMoZ3BvaW50ZXIgZGF0YSkKICAg
ICAgICAgcmV0dXJuIEZBTFNFOwogICAgIH0KIAotICAgIGlmIChHX1VOTElLRUxZKCFHU1RfQlVG
RkVSX0NBUFMoYnVmZmVyKSkpIHsKLSAgICAgICAgYnVmZmVyID0gZ3N0X2J1ZmZlcl9tYWtlX21l
dGFkYXRhX3dyaXRhYmxlKGJ1ZmZlcik7Ci0gICAgICAgIGdzdF9idWZmZXJfc2V0X2NhcHMoYnVm
ZmVyLCBHU1RfUEFEX0NBUFMoR1NUX0JBU0VfU0lOS19QQUQoc2luaykpKTsKLSAgICB9Ci0KICAg
ICBnX3NpZ25hbF9lbWl0KHNpbmssIHdlYmtpdF92aWRlb19zaW5rX3NpZ25hbHNbUkVQQUlOVF9S
RVFVRVNURURdLCAwLCBidWZmZXIpOwogICAgIGdzdF9idWZmZXJfdW5yZWYoYnVmZmVyKTsKICAg
ICBnX2NvbmRfc2lnbmFsKHByaXYtPmRhdGFfY29uZCk7CkBAIC0xNTcsNiArMTUyLDcxIEBAIHdl
YmtpdF92aWRlb19zaW5rX3JlbmRlcihHc3RCYXNlU2luayogYnNpbmssIEdzdEJ1ZmZlciogYnVm
ZmVyKQogCiAgICAgcHJpdi0+YnVmZmVyID0gZ3N0X2J1ZmZlcl9yZWYoYnVmZmVyKTsKIAorICAg
IC8vIEZvciB0aGUgdW5saWtlbHkgY2FzZSB3aGVyZSB0aGUgYnVmZmVyIGhhcyBubyBjYXBzLCB0
aGUgY2FwcworICAgIC8vIGFyZSBpbXBsaWNpdGVseSB0aGUgY2FwcyBvZiB0aGUgcGFkLiBUaGlz
IHNob3VsZG4ndCBoYXBwZW4uCisgICAgaWYgKEdfVU5MSUtFTFkoIUdTVF9CVUZGRVJfQ0FQUyhi
dWZmZXIpKSkgeworICAgICAgICBidWZmZXIgPSBwcml2LT5idWZmZXIgPSBnc3RfYnVmZmVyX21h
a2VfbWV0YWRhdGFfd3JpdGFibGUocHJpdi0+YnVmZmVyKTsKKyAgICAgICAgZ3N0X2J1ZmZlcl9z
ZXRfY2Fwcyhwcml2LT5idWZmZXIsIEdTVF9QQURfQ0FQUyhHU1RfQkFTRV9TSU5LX1BBRChic2lu
aykpKTsKKyAgICB9CisKKyAgICBHc3RDYXBzICpjYXBzID0gR1NUX0JVRkZFUl9DQVBTKGJ1ZmZl
cik7CisgICAgR3N0VmlkZW9Gb3JtYXQgZm9ybWF0OworICAgIGludCB3aWR0aCwgaGVpZ2h0Owor
ICAgIGlmIChHX1VOTElLRUxZKCFnc3RfdmlkZW9fZm9ybWF0X3BhcnNlX2NhcHMoY2FwcywgJmZv
cm1hdCwgJndpZHRoLCAmaGVpZ2h0KSkpIHsKKyAgICAgICAgZ3N0X2J1ZmZlcl91bnJlZihidWZm
ZXIpOworICAgICAgICBnX211dGV4X3VubG9jayhwcml2LT5idWZmZXJfbXV0ZXgpOworICAgICAg
ICByZXR1cm4gR1NUX0ZMT1dfRVJST1I7CisgICAgfQorCisgICAgLy8gQ2Fpcm8ncyBBUkdCIGhh
cyBwcmUtbXVsdGlwbGllZCBhbHBoYSB3aGlsZSBHU3RyZWFtZXIncyBkb2Vzbid0LgorICAgIC8v
IEhlcmUgd2UgY29udmVydCB0byBDYWlybydzIEFSR0IuCisgICAgaWYgKGZvcm1hdCA9PSBHU1Rf
VklERU9fRk9STUFUX0FSR0IgfHwgZm9ybWF0ID09IEdTVF9WSURFT19GT1JNQVRfQkdSQSkgewor
ICAgICAgICAvLyBCZWNhdXNlIEdzdEJhc2VTaW5rOjpyZW5kZXIoKSBvbmx5IG93bnMgdGhlIGJ1
ZmZlciByZWZlcmVuY2UgaW4gdGhlCisgICAgICAgIC8vIG1ldGhvZCBzY29wZSB3ZSBjYW4ndCB1
c2UgZ3N0X2J1ZmZlcl9tYWtlX3dyaXRhYmxlKCkgaGVyZS4gQWxzbworICAgICAgICAvLyBUaGUg
YnVmZmVyIGNvbnRlbnQgc2hvdWxkIG5vdCBiZSBjaGFuZ2VkIGhlcmUgYmVjYXVzZSB0aGUgc2Ft
ZSBidWZmZXIKKyAgICAgICAgLy8gY291bGQgYmUgcGFzc2VkIG11bHRpcGxlIHRpbWVzIHRvIHRo
aXMgbWV0aG9kIChpbiB0aGVvcnkpCisgICAgICAgIEdzdEJ1ZmZlciAqbmV3QnVmZmVyID0gZ3N0
X2J1ZmZlcl90cnlfbmV3X2FuZF9hbGxvYyhHU1RfQlVGRkVSX1NJWkUoYnVmZmVyKSk7CisKKyAg
ICAgICAgLy8gQ2hlY2sgaWYgYWxsb2NhdGlvbiBmYWlsZWQKKyAgICAgICAgaWYgKEdfVU5MSUtF
TFkoIW5ld0J1ZmZlcikpIHsKKyAgICAgICAgICAgIGdzdF9idWZmZXJfdW5yZWYoYnVmZmVyKTsK
KyAgICAgICAgICAgIGdfbXV0ZXhfdW5sb2NrKHByaXYtPmJ1ZmZlcl9tdXRleCk7CisgICAgICAg
ICAgICByZXR1cm4gR1NUX0ZMT1dfRVJST1I7CisgICAgICAgIH0KKworICAgICAgICBnc3RfYnVm
ZmVyX2NvcHlfbWV0YWRhdGEobmV3QnVmZmVyLCBidWZmZXIsIChHc3RCdWZmZXJDb3B5RmxhZ3Mp
IEdTVF9CVUZGRVJfQ09QWV9BTEwpOworCisgICAgICAgIC8vIFdlIGRvbid0IHVzZSBDb2xvcjo6
cHJlbXVsdGlwbGllZEFSR0JGcm9tQ29sb3IoKSBoZXJlIGJlY2F1c2UKKyAgICAgICAgLy8gb25l
IGZ1bmN0aW9uIGNhbGwgcGVyIHZpZGVvIHBpeGVsIGlzIGp1c3QgdG9vIGV4cGVuc2l2ZToKKyAg
ICAgICAgLy8gRm9yIDcyMHAvUEFMIGZvciBleGFtcGxlIHRoaXMgbWVhbnMgMTI4MCo3MjAqMjU9
MjMwNDAwMDAKKyAgICAgICAgLy8gZnVuY3Rpb24gY2FsbHMgcGVyIHNlY29uZCEKKyAgICAgICAg
dW5zaWduZWQgc2hvcnQgYWxwaGE7CisgICAgICAgIGNvbnN0IGd1aW50OCAqc291cmNlID0gR1NU
X0JVRkZFUl9EQVRBKGJ1ZmZlcik7CisgICAgICAgIGd1aW50OCAqZGVzdGluYXRpb24gPSBHU1Rf
QlVGRkVSX0RBVEEobmV3QnVmZmVyKTsKKworICAgICAgICBmb3IgKGludCB4ID0gMDsgeCA8IGhl
aWdodDsgeCsrKSB7CisgICAgICAgICAgICBmb3IgKGludCB5ID0gMDsgeSA8IHdpZHRoOyB5Kysp
IHsKKyNpZiBHX0JZVEVfT1JERVIgPT0gR19MSVRUTEVfRU5ESUFOCisgICAgICAgICAgICAgICAg
YWxwaGEgPSBzb3VyY2VbM107CisgICAgICAgICAgICAgICAgZGVzdGluYXRpb25bMF0gPSAoc291
cmNlWzBdICogYWxwaGEgKyAxMjgpIC8gMjU1OworICAgICAgICAgICAgICAgIGRlc3RpbmF0aW9u
WzFdID0gKHNvdXJjZVsxXSAqIGFscGhhICsgMTI4KSAvIDI1NTsKKyAgICAgICAgICAgICAgICBk
ZXN0aW5hdGlvblsyXSA9IChzb3VyY2VbMl0gKiBhbHBoYSArIDEyOCkgLyAyNTU7CisgICAgICAg
ICAgICAgICAgZGVzdGluYXRpb25bM10gPSBhbHBoYTsKKyNlbHNlCisgICAgICAgICAgICAgICAg
YWxwaGEgPSBzb3VyY2VbMF07CisgICAgICAgICAgICAgICAgZGVzdGluYXRpb25bMF0gPSBhbHBo
YTsKKyAgICAgICAgICAgICAgICBkZXN0aW5hdGlvblsxXSA9IChzb3VyY2VbMV0gKiBhbHBoYSAr
IDEyOCkgLyAyNTU7CisgICAgICAgICAgICAgICAgZGVzdGluYXRpb25bMl0gPSAoc291cmNlWzJd
ICogYWxwaGEgKyAxMjgpIC8gMjU1OworICAgICAgICAgICAgICAgIGRlc3RpbmF0aW9uWzNdID0g
KHNvdXJjZVszXSAqIGFscGhhICsgMTI4KSAvIDI1NTsKKyNlbmRpZgorICAgICAgICAgICAgICAg
IHNvdXJjZSArPSA0OworICAgICAgICAgICAgICAgIGRlc3RpbmF0aW9uICs9IDQ7CisgICAgICAg
ICAgICB9CisgICAgICAgIH0KKyAgICAgICAgZ3N0X2J1ZmZlcl91bnJlZihidWZmZXIpOworICAg
ICAgICBidWZmZXIgPSBwcml2LT5idWZmZXIgPSBuZXdCdWZmZXI7CisgICAgfQorCiAgICAgLy8g
VXNlIEhJR0hfSURMRSsyMCBwcmlvcml0eSwgbGlrZSBHdGsrIGZvciByZWRyYXdpbmcgb3BlcmF0
aW9ucy4KICAgICBwcml2LT50aW1lb3V0X2lkID0gZ190aW1lb3V0X2FkZF9mdWxsKEdfUFJJT1JJ
VFlfSElHSF9JRExFICsgMjAsIDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB3ZWJraXRfdmlkZW9fc2lua190aW1lb3V0X2Z1bmMsCi0tIAoxLjYuNQoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>42094</attachid>
            <date>2009-10-29 06:04:20 -0700</date>
            <delta_ts>2009-10-30 03:12:59 -0700</delta_ts>
            <desc>0002-Add-some-comments.patch</desc>
            <filename>0002-Add-some-comments.patch</filename>
            <type>text/plain</type>
            <size>3155</size>
            <attacher name="Sebastian Dröge (slomo)">slomo</attacher>
            
              <data encoding="base64">RnJvbSBkN2VkMDA3ZDdiNmNkNWIyYjBjZTUzN2UwODJmNTU2ZmQ4YTBhY2QyIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/U2ViYXN0aWFuPTIwRHI9QzM9QjZnZT89IDxz
ZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KRGF0ZTogVGh1LCAyOSBPY3QgMjAwOSAx
NDowMjoyOCArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMi8yXSBBZGQgc29tZSBjb21tZW50cwoKLS0t
CiBXZWJDb3JlL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAg
IDggKysrKysrKysKIC4uLi9ncmFwaGljcy9ndGsvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVy
LmNwcCAgIHwgICAxNCArKysrKysrKysrKy0tLQogMiBmaWxlcyBjaGFuZ2VkLCAxOSBpbnNlcnRp
b25zKCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIv
V2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzE0MjQ5ZC4uNjU3YmU1YyAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTIsNiArMiwxNCBAQAog
CiAgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgogCisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvZ3RrL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGU6OnBhaW50KToKKyAgICAgICAgQWRkIHNvbWUg
Y29tbWVudHMgdG8gZXhwbGFpbiB3aGF0IGlzIGhhcHBlbmluZyBoZXJlLgorCisyMDA5LTEwLTI5
ICBTZWJhc3RpYW4gRHLDtmdlICA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKICAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMwMzA4CiAgICAgICAgIAogICAgICAgICBB
ZGQgc3VwcG9ydCBmb3IgQVJHQiB2aWRlb3MuCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2d0ay9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwIGIvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9ndGsvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAppbmRl
eCBmMDhiYzc4Li43MTkxYjE1IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2d0ay9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3RrL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAKQEAgLTY2MSwy
MyArNjYxLDMxIEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlOjpwYWludChHcmFwaGljc0NvbnRl
eHQqIGNvbnRleHQsIGNvbnN0IEludFJlY3QmIHJlY3QpCiAgICAgY2Fpcm9fc2F2ZShjcik7CiAg
ICAgY2Fpcm9fc2V0X29wZXJhdG9yKGNyLCBDQUlST19PUEVSQVRPUl9TT1VSQ0UpOwogCisgICAg
Ly8gQ2FsY3VsYXRlIHRoZSBkaXNwbGF5IHdpZHRoL2hlaWdodCBmcm9tIHRoZSBzdG9yYWdlIHdp
ZHRoL2hlaWdodCBhbmQgdGhlIHBpeGVsIGFzcGVjdCByYXRpbwogICAgIGRpc3BsYXlXaWR0aCAq
PSBkb3VibGVQaXhlbEFzcGVjdFJhdGlvTnVtZXJhdG9yIC8gZG91YmxlUGl4ZWxBc3BlY3RSYXRp
b0Rlbm9taW5hdG9yOwogICAgIGRpc3BsYXlIZWlnaHQgKj0gZG91YmxlUGl4ZWxBc3BlY3RSYXRp
b0Rlbm9taW5hdG9yIC8gZG91YmxlUGl4ZWxBc3BlY3RSYXRpb051bWVyYXRvcjsKIAotICAgIHNj
YWxlID0gTUlOIChyZWN0LndpZHRoICgpIC8gZGlzcGxheVdpZHRoLCByZWN0LmhlaWdodCAoKSAv
IGRpc3BsYXlIZWlnaHQpOworICAgIC8vIENhbGN1bGF0ZSB0aGUgbGFyZ2VzdCBzY2FsZSBmYWN0
b3IgdGhhdCB3b3VsZCBmaWxsIHRoZSB0YXJnZXQgc3VyZmFjZQorICAgIHNjYWxlID0gTUlOKHJl
Y3Qud2lkdGgoKSAvIGRpc3BsYXlXaWR0aCwgcmVjdC5oZWlnaHQoKSAvIGRpc3BsYXlIZWlnaHQp
OworICAgIC8vIEFuZCBjYWxjdWxhdGUgdGhlIG5ldyBkaXNwbGF5IHdpZHRoL2hlaWdodAogICAg
IGRpc3BsYXlXaWR0aCAqPSBzY2FsZTsKICAgICBkaXNwbGF5SGVpZ2h0ICo9IHNjYWxlOwogCi0g
ICAgLy8gQ2FsY3VsYXRlIGdhcCBiZXR3ZWVuIGJvcmRlciBhbiBwaWN0dXJlCisgICAgLy8gQ2Fs
Y3VsYXRlIGdhcCBiZXR3ZWVuIGJvcmRlciBhbiBwaWN0dXJlIG9uIGV2ZXJ5IHNpZGUKICAgICBn
YXBXaWR0aCA9IChyZWN0LndpZHRoKCkgLSBkaXNwbGF5V2lkdGgpIC8gMi4wOwogICAgIGdhcEhl
aWdodCA9IChyZWN0LmhlaWdodCgpIC0gZGlzcGxheUhlaWdodCkgLyAyLjA7CiAKLSAgICAvLyBw
YWludCB0aGUgcmVjdGFuZ2xlIG9uIHRoZSBjb250ZXh0IGFuZCBkcmF3IHRoZSBzdXJmYWNlIGlu
c2lkZS4KKyAgICAvLyBQYWludCB0aGUgcmVjdGFuZ2xlIG9uIHRoZSBjb250ZXh0IGFuZCBkcmF3
IHRoZSBidWZmZXIgaW5zaWRlIHRoZSByZWN0YW5nbGUKKworICAgIC8vIEdvIHRvIHRoZSBuZXcg
b3JpZ2luIGFuZCBjZW50ZXIgdGhlIHZpZGVvIGZyYW1lLgogICAgIGNhaXJvX3RyYW5zbGF0ZShj
ciwgcmVjdC54KCkgKyBnYXBXaWR0aCwgcmVjdC55KCkgKyBnYXBIZWlnaHQpOwogICAgIGNhaXJv
X3JlY3RhbmdsZShjciwgMCwgMCwgcmVjdC53aWR0aCgpLCByZWN0LmhlaWdodCgpKTsKKyAgICAv
LyBTY2FsZSB0aGUgdmlkZW8gZnJhbWUgYWNjb3JkaW5nIHRvIHRoZSBwaXhlbCBhc3BlY3QgcmF0
aW8uCiAgICAgY2Fpcm9fc2NhbGUoY3IsIGRvdWJsZVBpeGVsQXNwZWN0UmF0aW9OdW1lcmF0b3Ig
LyBkb3VibGVQaXhlbEFzcGVjdFJhdGlvRGVub21pbmF0b3IsCiAgICAgICAgICAgICAgICAgZG91
YmxlUGl4ZWxBc3BlY3RSYXRpb0Rlbm9taW5hdG9yIC8gZG91YmxlUGl4ZWxBc3BlY3RSYXRpb051
bWVyYXRvcik7CisgICAgLy8gU2NhbGUgdGhlIHZpZGVvIGZyYW1lIHRvIGZpbGwgdGhlIHRhcmdl
dCBzdXJmYWNlIGFzIGdvb2QgYXMgcG9zc2libGUuCiAgICAgY2Fpcm9fc2NhbGUoY3IsIHNjYWxl
LCBzY2FsZSk7CisgICAgLy8gQW5kIHBhaW50IGl0LgogICAgIGNhaXJvX3NldF9zb3VyY2Vfc3Vy
ZmFjZShjciwgc3JjLCAwLCAwKTsKICAgICBjYWlyb19maWxsKGNyKTsKICAgICBjYWlyb19yZXN0
b3JlKGNyKTsKLS0gCjEuNi41Cgo=
</data>
<flag name="review"
          id="23597"
          type_id="1"
          status="+"
          setter="gustavo"
    />
    <flag name="commit-queue"
          id="23599"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>42202</attachid>
            <date>2009-10-30 03:12:59 -0700</date>
            <delta_ts>2009-10-30 10:43:37 -0700</delta_ts>
            <desc>0001-Add-some-comments.patch</desc>
            <filename>0001-Add-some-comments.patch</filename>
            <type>text/plain</type>
            <size>3092</size>
            <attacher name="Sebastian Dröge (slomo)">slomo</attacher>
            
              <data encoding="base64">RnJvbSA0MDQ0NDYzZTMxZTAxZDY5ZDE4NWFhOGViOGZkNjQ0ODU2Y2U3NGQ2IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/U2ViYXN0aWFuPTIwRHI9QzM9QjZnZT89IDxz
ZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KRGF0ZTogVGh1LCAyOSBPY3QgMjAwOSAx
NDowMjoyOCArMDEwMApTdWJqZWN0OiBbUEFUQ0hdIEFkZCBzb21lIGNvbW1lbnRzCgotLS0KIFdl
YkNvcmUvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgOCAr
KysrKysrKwogLi4uL2dyYXBoaWNzL2d0ay9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3Bw
ICAgfCAgIDE0ICsrKysrKysrKysrLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDE5IGluc2VydGlvbnMo
KyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJD
b3JlL0NoYW5nZUxvZwppbmRleCA4ODk5YmEwLi5lZmQzZDYwIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDExIEBACisyMDA5
LTEwLTMwICBTZWJhc3RpYW4gRHLDtmdlICA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28u
dWs+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9ndGsvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZTo6cGFpbnQpOgorICAgICAgICBBZGQg
c29tZSBjb21tZW50cyB0byBleHBsYWluIHdoYXQgaXMgaGFwcGVuaW5nIGhlcmUuCisKIDIwMDkt
MTAtMzAgIFpvbHRhbiBIb3J2YXRoICA8em9sdGFuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2
aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2d0ay9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwIGIvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9ndGsvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAppbmRleCAzZmM5
YTE1Li40MmQ4YjE1IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2d0ay9N
ZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3RrL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAKQEAgLTY2MSwyMyArNjYx
LDMxIEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlOjpwYWludChHcmFwaGljc0NvbnRleHQqIGNv
bnRleHQsIGNvbnN0IEludFJlY3QmIHJlY3QpCiAgICAgY2Fpcm9fc2F2ZShjcik7CiAgICAgY2Fp
cm9fc2V0X29wZXJhdG9yKGNyLCBDQUlST19PUEVSQVRPUl9TT1VSQ0UpOwogCisgICAgLy8gQ2Fs
Y3VsYXRlIHRoZSBkaXNwbGF5IHdpZHRoL2hlaWdodCBmcm9tIHRoZSBzdG9yYWdlIHdpZHRoL2hl
aWdodCBhbmQgdGhlIHBpeGVsIGFzcGVjdCByYXRpbwogICAgIGRpc3BsYXlXaWR0aCAqPSBkb3Vi
bGVQaXhlbEFzcGVjdFJhdGlvTnVtZXJhdG9yIC8gZG91YmxlUGl4ZWxBc3BlY3RSYXRpb0Rlbm9t
aW5hdG9yOwogICAgIGRpc3BsYXlIZWlnaHQgKj0gZG91YmxlUGl4ZWxBc3BlY3RSYXRpb0Rlbm9t
aW5hdG9yIC8gZG91YmxlUGl4ZWxBc3BlY3RSYXRpb051bWVyYXRvcjsKIAotICAgIHNjYWxlID0g
TUlOIChyZWN0LndpZHRoICgpIC8gZGlzcGxheVdpZHRoLCByZWN0LmhlaWdodCAoKSAvIGRpc3Bs
YXlIZWlnaHQpOworICAgIC8vIENhbGN1bGF0ZSB0aGUgbGFyZ2VzdCBzY2FsZSBmYWN0b3IgdGhh
dCB3b3VsZCBmaWxsIHRoZSB0YXJnZXQgc3VyZmFjZQorICAgIHNjYWxlID0gTUlOKHJlY3Qud2lk
dGgoKSAvIGRpc3BsYXlXaWR0aCwgcmVjdC5oZWlnaHQoKSAvIGRpc3BsYXlIZWlnaHQpOworICAg
IC8vIEFuZCBjYWxjdWxhdGUgdGhlIG5ldyBkaXNwbGF5IHdpZHRoL2hlaWdodAogICAgIGRpc3Bs
YXlXaWR0aCAqPSBzY2FsZTsKICAgICBkaXNwbGF5SGVpZ2h0ICo9IHNjYWxlOwogCi0gICAgLy8g
Q2FsY3VsYXRlIGdhcCBiZXR3ZWVuIGJvcmRlciBhbiBwaWN0dXJlCisgICAgLy8gQ2FsY3VsYXRl
IGdhcCBiZXR3ZWVuIGJvcmRlciBhbiBwaWN0dXJlIG9uIGV2ZXJ5IHNpZGUKICAgICBnYXBXaWR0
aCA9IChyZWN0LndpZHRoKCkgLSBkaXNwbGF5V2lkdGgpIC8gMi4wOwogICAgIGdhcEhlaWdodCA9
IChyZWN0LmhlaWdodCgpIC0gZGlzcGxheUhlaWdodCkgLyAyLjA7CiAKLSAgICAvLyBwYWludCB0
aGUgcmVjdGFuZ2xlIG9uIHRoZSBjb250ZXh0IGFuZCBkcmF3IHRoZSBzdXJmYWNlIGluc2lkZS4K
KyAgICAvLyBQYWludCB0aGUgcmVjdGFuZ2xlIG9uIHRoZSBjb250ZXh0IGFuZCBkcmF3IHRoZSBi
dWZmZXIgaW5zaWRlIHRoZSByZWN0YW5nbGUKKworICAgIC8vIEdvIHRvIHRoZSBuZXcgb3JpZ2lu
IGFuZCBjZW50ZXIgdGhlIHZpZGVvIGZyYW1lLgogICAgIGNhaXJvX3RyYW5zbGF0ZShjciwgcmVj
dC54KCkgKyBnYXBXaWR0aCwgcmVjdC55KCkgKyBnYXBIZWlnaHQpOwogICAgIGNhaXJvX3JlY3Rh
bmdsZShjciwgMCwgMCwgcmVjdC53aWR0aCgpLCByZWN0LmhlaWdodCgpKTsKKyAgICAvLyBTY2Fs
ZSB0aGUgdmlkZW8gZnJhbWUgYWNjb3JkaW5nIHRvIHRoZSBwaXhlbCBhc3BlY3QgcmF0aW8uCiAg
ICAgY2Fpcm9fc2NhbGUoY3IsIGRvdWJsZVBpeGVsQXNwZWN0UmF0aW9OdW1lcmF0b3IgLyBkb3Vi
bGVQaXhlbEFzcGVjdFJhdGlvRGVub21pbmF0b3IsCiAgICAgICAgICAgICAgICAgZG91YmxlUGl4
ZWxBc3BlY3RSYXRpb0Rlbm9taW5hdG9yIC8gZG91YmxlUGl4ZWxBc3BlY3RSYXRpb051bWVyYXRv
cik7CisgICAgLy8gU2NhbGUgdGhlIHZpZGVvIGZyYW1lIHRvIGZpbGwgdGhlIHRhcmdldCBzdXJm
YWNlIGFzIGdvb2QgYXMgcG9zc2libGUuCiAgICAgY2Fpcm9fc2NhbGUoY3IsIHNjYWxlLCBzY2Fs
ZSk7CisgICAgLy8gQW5kIHBhaW50IGl0LgogICAgIGNhaXJvX3NldF9zb3VyY2Vfc3VyZmFjZShj
ciwgc3JjLCAwLCAwKTsKICAgICBjYWlyb19maWxsKGNyKTsKICAgICBjYWlyb19yZXN0b3JlKGNy
KTsKLS0gCjEuNi41Cgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>