<?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>19652</bug_id>
          
          <creation_ts>2008-06-18 05:29:14 -0700</creation_ts>
          <short_desc>[CAIRO] wrong drawing of border-image</short_desc>
          <delta_ts>2009-05-24 04:29:21 -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>CSS</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Cairo, Gtk</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dirk Schulze">krit</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>alp</cc>
    
    <cc>krit</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>83755</commentid>
    <comment_count>0</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2008-06-18 05:29:14 -0700</bug_when>
    <thetext>The pattern in ImageCairo::drawImage() doesn&apos;t use tileRect(). Thats why border-images are drawn wrong in some cases. See: http://www.css3.info/preview/border-image/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>83756</commentid>
    <comment_count>1</comment_count>
      <attachid>21816</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2008-06-18 05:38:48 -0700</bug_when>
    <thetext>Created attachment 21816
border-image

Added support for tileRect() for a correct drawing of border-images. I hope it is effiecent enough.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>83762</commentid>
    <comment_count>2</comment_count>
      <attachid>21818</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2008-06-18 07:55:09 -0700</bug_when>
    <thetext>Created attachment 21818
border-image

for more safety</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>83794</commentid>
    <comment_count>3</comment_count>
      <attachid>21823</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2008-06-18 13:42:26 -0700</bug_when>
    <thetext>Created attachment 21823
border-image

cairo_t* cr_surface must be defined before the if clause, to make cairo_destroy(cr_surface). Even if we don&apos;t need cr_surface :-(

I changed rectangle and fill with cairo_paint, it&apos;s more efficient.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>83841</commentid>
    <comment_count>4</comment_count>
      <attachid>21823</attachid>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2008-06-18 22:54:42 -0700</bug_when>
    <thetext>Comment on attachment 21823
border-image

This call to cairo_destroy can pass an uninitialized value for cr_surface which I doubt is safe:

+    cairo_destroy(cr_surface);

Why does the call to cairo_destroy need to be outside the body of the if block where cr_surface is used?  The naming of cr_surface seems like poor choice too:  both surface and cr_surface are cairo types, and I can&apos;t see any particular significance to the cr_ prefix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>83843</commentid>
    <comment_count>5</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2008-06-19 00:57:29 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 21823 [edit])
&gt; This call to cairo_destroy can pass an uninitialized value for cr_surface which
&gt; I doubt is safe:
&gt; 
&gt; +    cairo_destroy(cr_surface);
&gt; 
&gt; Why does the call to cairo_destroy need to be outside the body of the if block
&gt; where cr_surface is used?

cairo_destroy decreases the reference count. And every acces to image (where the new surface is stored at the end) caused crashes of webkit.

&gt; The naming of cr_surface seems like poor choice too
rigth. How about:
surface -&gt; clippedImage
cr_surface -&gt; clippedImageContext
?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>88744</commentid>
    <comment_count>6</comment_count>
      <attachid>22854</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2008-08-18 12:42:12 -0700</bug_when>
    <thetext>Created attachment 22854
border-image

Renamed the functions and destroy surface after using it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>89568</commentid>
    <comment_count>7</comment_count>
      <attachid>22854</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2008-08-27 17:18:33 -0700</bug_when>
    <thetext>Comment on attachment 22854
border-image

You can force a FloatSize to an IntSize using IntSize(floatSize);

nativeImageForCurrentFrame is supposed to return a pointer to a cached frame image, so you shouldn&apos;t be releasing it.  Does cairo intentionally have a different memory management model for this?  Maybe Images aren&apos;t ref-counted in Cairo?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>90647</commentid>
    <comment_count>8</comment_count>
      <attachid>23291</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2008-09-09 04:43:56 -0700</bug_when>
    <thetext>Created attachment 23291
Cairo border-image

cairo_surface&apos;s are ref-counted in cairo. Thats why I put auto_ptr&lt;ImageBuffer&gt; above the if-clause. Otherwise the image is cleaned-up to early and I get a ref-count error (ref-count lower than zero).
But I measured the call and it takes only 0.000047s extra time as worst-case (normaly 0.000009s).
I don&apos;t know (or understand) what you mean with nativeImageForCurrentFrame().
I need a cairo_suface_t* out of the imageBuffer and nativeImageForCurrentFrame() can give it.
 
I haven&apos;t r? the patch, to discuss the changes again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>92653</commentid>
    <comment_count>9</comment_count>
    <who name="Alp Toker">alp</who>
    <bug_when>2008-09-24 18:54:22 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; Created an attachment (id=23291) [edit]
&gt; Cairo border-image
&gt; 
&gt; cairo_surface&apos;s are ref-counted in cairo. Thats why I put auto_ptr&lt;ImageBuffer&gt;
&gt; above the if-clause. Otherwise the image is cleaned-up to early and I get a
&gt; ref-count error (ref-count lower than zero).
&gt; But I measured the call and it takes only 0.000047s extra time as worst-case
&gt; (normaly 0.000009s).
&gt; I don&apos;t know (or understand) what you mean with nativeImageForCurrentFrame().
&gt; I need a cairo_suface_t* out of the imageBuffer and
&gt; nativeImageForCurrentFrame() can give it.
&gt; 
&gt; I haven&apos;t r? the patch, to discuss the changes again.
&gt; 

Maybe you could do something like this (completely untested) instead of using ImageBuffer?

    cairo_pattern_t* pattern;
    if (tileRect.size() == size())
        pattern = cairo_pattern_create_for_surface(image);
    else {
        cairo_push_group(cr);
        //IntRect imageSize = enclosingIntRect(tileRect);
        cairo_set_source_surface(cr, image, -tileRect.x(), -tileRect.y());
        cairo_paint(cr);
        pattern = cairo_pop_group(cr);
    }

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>92955</commentid>
    <comment_count>10</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2008-09-26 12:29:28 -0700</bug_when>
    <thetext>(In reply to comment #9)
Thanks for your reply. It is a great idea. I tested it with many modifications and spend much time on it, but didn&apos;t get it to work.

The problem is, the geometry of the context isn&apos;t reset. That means, the dimension of the context is different on every time.
The second problem is: You don&apos;t only move the the image by -tileRect.x(), -tileRect.y(), you need a part of it, e.g. if you have a 90x90 surface, you need 5 parts. One would be (30, 0, 30, 30)/(x,y,width,height). I wasn&apos;t able to realise it with push_to_group. One thing why i didn&apos;t manage it was that a rect with the coordinate 0,0 wasn&apos;t placed at the top,left of the context, it was somewhere out of the view area.
I have to admit, that this behavior makes it difficult to understand the sense of push_to_group.

In summary:
I need a context with a height and width of the surface. Otherwise I&apos;ll get problems with the pattern. It will give more than just this part of a surface.
If it is possible to get the width and height of the current context and the coordinates of the first pixel in the top/left of the context, you can scale and transform the created image (pop_to_group).
But I don&apos;t believe that it will be more affective than just creating a new surface with the height and width given by tileRect and draw the part of the image into it&apos;s context.

If you have more suggestions, please post it. It would be great to do it without an new surface or ImageBuffer and an acceptable complexity.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>100456</commentid>
    <comment_count>11</comment_count>
      <attachid>23291</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2008-11-26 14:59:15 -0800</bug_when>
    <thetext>Comment on attachment 23291
Cairo border-image

This would be super-easy to approve if Gtk supported pixel tests. ;)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>107573</commentid>
    <comment_count>12</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2009-01-29 13:19:38 -0800</bug_when>
    <thetext>@eseidel: don&apos;t upset the gtk gods.

I talked about this problem in #cairo on irc and it was assured me, that this is already the fastest way. 
cairo_pop_to_group does not work here. We still create a surface, but with a undefined size. That means we have no win, it is neither a speed-up, nor more resource affective.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>122666</commentid>
    <comment_count>13</comment_count>
      <attachid>23291</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-05-22 08:00:51 -0700</bug_when>
    <thetext>Comment on attachment 23291
Cairo border-image

Please add a note in the changelog pointing to a LayoutTest which will test this once Gtk has pixel tests.  If there is no such test, please add one.

Otherwise this looks sane enough.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>122939</commentid>
    <comment_count>14</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2009-05-24 04:29:21 -0700</bug_when>
    <thetext>landed in r44081.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>21816</attachid>
            <date>2008-06-18 05:38:48 -0700</date>
            <delta_ts>2008-06-18 22:49:23 -0700</delta_ts>
            <desc>border-image</desc>
            <filename>CairoBorderImage.patch</filename>
            <type>text/plain</type>
            <size>2234</size>
            <attacher name="Dirk Schulze">krit</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAzNDY0NikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTYgQEAKKzIwMDgtMDYtMTggIERpcmsgU2NodWx6ZSAgPHZiczg1QGdteC5kZT4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk2NTIKKyAgICAgICAgW0NBSVJPXSB3
cm9uZyBkcmF3aW5nIG9mIGJvcmRlci1pbWFnZQorCisgICAgICAgIEFkZGVkIHVzZSBvZiB0aWxl
UmVjdCgpIGZvciBhIGNvcnJlY3QgZHJhd2luZyBvZgorICAgICAgICBib3JkZXItaW1hZ2VzLgor
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vSW1hZ2VDYWlyby5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpJbWFnZTo6ZHJhd1BhdHRlcm4pOgorCiAyMDA4LTA2LTE4ICBDaHJpc3Rp
YW4gRHl3YW4gIDxjaHJpc3RpYW5AdHdvdG9hc3RzLmRlPgogCiAgICAgICAgIEd0ayBidWlsZCBm
aXgsIGJyb3VnaHQgdXAgYnkgRGlyayBTY2h1bHplLgpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jYWlyby9JbWFnZUNhaXJvLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NhaXJvL0ltYWdlQ2Fpcm8uY3BwCShyZXZpc2lvbiAzNDY0NikKKysrIFdl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vSW1hZ2VDYWlyby5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTEsNiArMSw3IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1LCAyMDA2
IEFwcGxlIENvbXB1dGVyLCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0
IChDKSAyMDA3IEFscCBUb2tlciA8YWxwQGF0b2tlci5jb20+CisgKiBDb3B5cmlnaHQgKEMpIDIw
MDggRGlyayBTY2h1bHplIDx2YnM4NUBnbXguZGU+CiAgKgogICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKQEAgLTE0Niw3ICsxNDcsMTcgQEAgdm9pZCBJbWFnZTo6ZHJhd1BhdHRlcm4oR3JhcGhp
Y3NDb250ZXh0KgogICAgIGNhaXJvX3QqIGNyID0gY29udGV4dC0+cGxhdGZvcm1Db250ZXh0KCk7
CiAgICAgY29udGV4dC0+c2F2ZSgpOwogCi0gICAgLy8gVE9ETzogTWFrZSB1c2Ugb2YgdGlsZVJl
Y3QuCisgICAgaW50IGltYWdlV2lkdGggPSBjYWlyb19pbWFnZV9zdXJmYWNlX2dldF93aWR0aChp
bWFnZSk7CisgICAgaW50IGltYWdlSGVpZ2h0ID0gY2Fpcm9faW1hZ2Vfc3VyZmFjZV9nZXRfaGVp
Z2h0KGltYWdlKTsKKyAgICBpZiAodGlsZVJlY3QueCgpIHx8IHRpbGVSZWN0LnkoKSB8fCAoaW50
KXRpbGVSZWN0LndpZHRoKCkgIT0gaW1hZ2VXaWR0aCB8fCAoaW50KXRpbGVSZWN0LmhlaWdodCgp
ICE9IGltYWdlSGVpZ2h0KSB7CisgICAgICAgIGNhaXJvX3N1cmZhY2VfdCogc3VyZmFjZTsKKyAg
ICAgICAgc3VyZmFjZSA9IGNhaXJvX2ltYWdlX3N1cmZhY2VfY3JlYXRlKENBSVJPX0ZPUk1BVF9B
UkdCMzIsIHRpbGVSZWN0LndpZHRoKCksIHRpbGVSZWN0LmhlaWdodCgpKTsKKyAgICAgICAgY2Fp
cm9fdCogY3Jfc3VyZmFjZSA9IGNhaXJvX2NyZWF0ZShzdXJmYWNlKTsKKyAgICAgICAgY2Fpcm9f
c2V0X3NvdXJjZV9zdXJmYWNlKGNyX3N1cmZhY2UsIGltYWdlLCAtdGlsZVJlY3QueCgpLCAtdGls
ZVJlY3QueSgpKTsKKyAgICAgICAgY2Fpcm9fcmVjdGFuZ2xlKGNyX3N1cmZhY2UsIDAsIDAsIHRp
bGVSZWN0LndpZHRoKCksIHRpbGVSZWN0LmhlaWdodCgpKTsKKyAgICAgICAgY2Fpcm9fZmlsbChj
cl9zdXJmYWNlKTsKKyAgICAgICAgaW1hZ2UgPSBzdXJmYWNlOworICAgIH0KIAogICAgIGNhaXJv
X3BhdHRlcm5fdCogcGF0dGVybiA9IGNhaXJvX3BhdHRlcm5fY3JlYXRlX2Zvcl9zdXJmYWNlKGlt
YWdlKTsKICAgICBjYWlyb19wYXR0ZXJuX3NldF9leHRlbmQocGF0dGVybiwgQ0FJUk9fRVhURU5E
X1JFUEVBVCk7Cgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>21818</attachid>
            <date>2008-06-18 07:55:09 -0700</date>
            <delta_ts>2008-06-18 22:49:21 -0700</delta_ts>
            <desc>border-image</desc>
            <filename>CairoBorderImage.patch</filename>
            <type>text/plain</type>
            <size>2524</size>
            <attacher name="Dirk Schulze">krit</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAzNDY0NikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTYgQEAKKzIwMDgtMDYtMTggIERpcmsgU2NodWx6ZSAgPHZiczg1QGdteC5kZT4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk2NTIKKyAgICAgICAgW0NBSVJPXSB3
cm9uZyBkcmF3aW5nIG9mIGJvcmRlci1pbWFnZQorCisgICAgICAgIEFkZGVkIHVzZSBvZiB0aWxl
UmVjdCgpIGZvciBhIGNvcnJlY3QgZHJhd2luZyBvZgorICAgICAgICBib3JkZXItaW1hZ2VzLgor
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vSW1hZ2VDYWlyby5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpJbWFnZTo6ZHJhd1BhdHRlcm4pOgorCiAyMDA4LTA2LTE4ICBDaHJpc3Rp
YW4gRHl3YW4gIDxjaHJpc3RpYW5AdHdvdG9hc3RzLmRlPgogCiAgICAgICAgIEd0ayBidWlsZCBm
aXgsIGJyb3VnaHQgdXAgYnkgRGlyayBTY2h1bHplLgpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jYWlyby9JbWFnZUNhaXJvLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NhaXJvL0ltYWdlQ2Fpcm8uY3BwCShyZXZpc2lvbiAzNDY0NikKKysrIFdl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vSW1hZ2VDYWlyby5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTEsNiArMSw3IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1LCAyMDA2
IEFwcGxlIENvbXB1dGVyLCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0
IChDKSAyMDA3IEFscCBUb2tlciA8YWxwQGF0b2tlci5jb20+CisgKiBDb3B5cmlnaHQgKEMpIDIw
MDggRGlyayBTY2h1bHplIDx2YnM4NUBnbXguZGU+CiAgKgogICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKQEAgLTI5LDYgKzMwLDcgQEAKIAogI2lmIFBMQVRGT1JNKENBSVJPKQogCisjaW5jbHVk
ZSAiSW1hZ2VCdWZmZXIuaCIKICNpbmNsdWRlICJBZmZpbmVUcmFuc2Zvcm0uaCIKICNpbmNsdWRl
ICJGbG9hdFJlY3QuaCIKICNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQuaCIKQEAgLTE0Niw3ICsx
NDgsMTggQEAgdm9pZCBJbWFnZTo6ZHJhd1BhdHRlcm4oR3JhcGhpY3NDb250ZXh0KgogICAgIGNh
aXJvX3QqIGNyID0gY29udGV4dC0+cGxhdGZvcm1Db250ZXh0KCk7CiAgICAgY29udGV4dC0+c2F2
ZSgpOwogCi0gICAgLy8gVE9ETzogTWFrZSB1c2Ugb2YgdGlsZVJlY3QuCisgICAgaW50IGltYWdl
V2lkdGggPSBjYWlyb19pbWFnZV9zdXJmYWNlX2dldF93aWR0aChpbWFnZSk7CisgICAgaW50IGlt
YWdlSGVpZ2h0ID0gY2Fpcm9faW1hZ2Vfc3VyZmFjZV9nZXRfaGVpZ2h0KGltYWdlKTsKKyAgICBp
ZiAodGlsZVJlY3QueCgpIHx8IHRpbGVSZWN0LnkoKSB8fCBzdGF0aWNfY2FzdDxpbnQ+KHRpbGVS
ZWN0LndpZHRoKCkpICE9IGltYWdlV2lkdGggfHwgc3RhdGljX2Nhc3Q8aW50Pih0aWxlUmVjdC5o
ZWlnaHQoKSkgIT0gaW1hZ2VIZWlnaHQpIHsKKyAgICAgICAgSW50U2l6ZSBpbWFnZVNpemUoc3Rh
dGljX2Nhc3Q8aW50Pih0aWxlUmVjdC53aWR0aCgpKSwgc3RhdGljX2Nhc3Q8aW50Pih0aWxlUmVj
dC5oZWlnaHQoKSkpOworICAgICAgICBzdGQ6OmF1dG9fcHRyPEltYWdlQnVmZmVyPiBpbWFnZVN1
cmZhY2UoSW1hZ2VCdWZmZXI6OmNyZWF0ZShpbWFnZVNpemUsIGZhbHNlKSk7CisgICAgICAgIGNh
aXJvX3N1cmZhY2VfdCogc3VyZmFjZSA9IGltYWdlU3VyZmFjZS0+c3VyZmFjZSgpOworICAgICAg
ICBjYWlyb190KiBjcl9zdXJmYWNlID0gY2Fpcm9fY3JlYXRlKHN1cmZhY2UpOworICAgICAgICBj
YWlyb19zZXRfc291cmNlX3N1cmZhY2UoY3Jfc3VyZmFjZSwgaW1hZ2UsIC10aWxlUmVjdC54KCks
IC10aWxlUmVjdC55KCkpOworICAgICAgICBjYWlyb19yZWN0YW5nbGUoY3Jfc3VyZmFjZSwgMCwg
MCwgdGlsZVJlY3Qud2lkdGgoKSwgdGlsZVJlY3QuaGVpZ2h0KCkpOworICAgICAgICBjYWlyb19m
aWxsKGNyX3N1cmZhY2UpOworICAgICAgICBpbWFnZSA9IHN1cmZhY2U7CisgICAgfQogCiAgICAg
Y2Fpcm9fcGF0dGVybl90KiBwYXR0ZXJuID0gY2Fpcm9fcGF0dGVybl9jcmVhdGVfZm9yX3N1cmZh
Y2UoaW1hZ2UpOwogICAgIGNhaXJvX3BhdHRlcm5fc2V0X2V4dGVuZChwYXR0ZXJuLCBDQUlST19F
WFRFTkRfUkVQRUFUKTsKCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>21823</attachid>
            <date>2008-06-18 13:42:26 -0700</date>
            <delta_ts>2008-08-18 12:42:12 -0700</delta_ts>
            <desc>border-image</desc>
            <filename>CairoBorderImage.patch</filename>
            <type>text/plain</type>
            <size>2587</size>
            <attacher name="Dirk Schulze">krit</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAzNDY0OSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTYgQEAKKzIwMDgtMDYtMTggIERpcmsgU2NodWx6ZSAgPHZiczg1QGdteC5kZT4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk2NTIKKyAgICAgICAgW0NBSVJPXSB3
cm9uZyBkcmF3aW5nIG9mIGJvcmRlci1pbWFnZQorCisgICAgICAgIEFkZGVkIHRoZSB1c2Ugb2Yg
dGlsZVJlY3QoKSBmb3IgYSBjb3JyZWN0IGRyYXdpbmcgb2YKKyAgICAgICAgYm9yZGVyLWltYWdl
cy4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0ltYWdlQ2Fpcm8uY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SW1hZ2U6OmRyYXdQYXR0ZXJuKToKKwogMjAwOC0wNi0xOCAgUm9i
IEJ1aXMgIDxidWlzQGtkZS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4uCkluZGV4
OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0ltYWdlQ2Fpcm8uY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vSW1hZ2VDYWlyby5jcHAJKHJl
dmlzaW9uIDM0NjQ2KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9JbWFnZUNh
aXJvLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDcgQEAKIC8qCiAgKiBDb3B5cmlnaHQg
KEMpIDIwMDQsIDIwMDUsIDIwMDYgQXBwbGUgQ29tcHV0ZXIsIEluYy4gIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDcgQWxwIFRva2VyIDxhbHBAYXRva2VyLmNvbT4K
KyAqIENvcHlyaWdodCAoQykgMjAwOCBEaXJrIFNjaHVsemUgPHZiczg1QGdteC5kZT4KICAqCiAg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjksNiArMzAsNyBAQAogCiAjaWYgUExBVEZP
Uk0oQ0FJUk8pCiAKKyNpbmNsdWRlICJJbWFnZUJ1ZmZlci5oIgogI2luY2x1ZGUgIkFmZmluZVRy
YW5zZm9ybS5oIgogI2luY2x1ZGUgIkZsb2F0UmVjdC5oIgogI2luY2x1ZGUgIkdyYXBoaWNzQ29u
dGV4dC5oIgpAQCAtMTQ2LDEwICsxNDgsMjIgQEAgdm9pZCBJbWFnZTo6ZHJhd1BhdHRlcm4oR3Jh
cGhpY3NDb250ZXh0KgogICAgIGNhaXJvX3QqIGNyID0gY29udGV4dC0+cGxhdGZvcm1Db250ZXh0
KCk7CiAgICAgY29udGV4dC0+c2F2ZSgpOwogCi0gICAgLy8gVE9ETzogTWFrZSB1c2Ugb2YgdGls
ZVJlY3QuCisgICAgY2Fpcm9fdCogY3Jfc3VyZmFjZTsKKyAgICBpbnQgaW1hZ2VXaWR0aCA9IGNh
aXJvX2ltYWdlX3N1cmZhY2VfZ2V0X3dpZHRoKGltYWdlKTsKKyAgICBpbnQgaW1hZ2VIZWlnaHQg
PSBjYWlyb19pbWFnZV9zdXJmYWNlX2dldF9oZWlnaHQoaW1hZ2UpOworICAgIGlmICh0aWxlUmVj
dC54KCkgfHwgdGlsZVJlY3QueSgpIHx8IHN0YXRpY19jYXN0PGludD4odGlsZVJlY3Qud2lkdGgo
KSkgIT0gaW1hZ2VXaWR0aCB8fCBzdGF0aWNfY2FzdDxpbnQ+KHRpbGVSZWN0LmhlaWdodCgpKSAh
PSBpbWFnZUhlaWdodCkgeworICAgICAgICBJbnRTaXplIGltYWdlU2l6ZShzdGF0aWNfY2FzdDxp
bnQ+KHRpbGVSZWN0LndpZHRoKCkpLCBzdGF0aWNfY2FzdDxpbnQ+KHRpbGVSZWN0LmhlaWdodCgp
KSk7CisgICAgICAgIHN0ZDo6YXV0b19wdHI8SW1hZ2VCdWZmZXI+IGltYWdlU3VyZmFjZShJbWFn
ZUJ1ZmZlcjo6Y3JlYXRlKGltYWdlU2l6ZSwgZmFsc2UpKTsKKyAgICAgICAgY2Fpcm9fc3VyZmFj
ZV90KiBzdXJmYWNlID0gaW1hZ2VTdXJmYWNlLT5zdXJmYWNlKCk7CisgICAgICAgIGNyX3N1cmZh
Y2UgPSBjYWlyb19jcmVhdGUoc3VyZmFjZSk7CisgICAgICAgIGNhaXJvX3NldF9zb3VyY2Vfc3Vy
ZmFjZShjcl9zdXJmYWNlLCBpbWFnZSwgLXRpbGVSZWN0LngoKSwgLXRpbGVSZWN0LnkoKSk7Cisg
ICAgICAgIGNhaXJvX3BhaW50KGNyX3N1cmZhY2UpOworICAgICAgICBpbWFnZSA9IHN1cmZhY2U7
CisgICAgfQogCiAgICAgY2Fpcm9fcGF0dGVybl90KiBwYXR0ZXJuID0gY2Fpcm9fcGF0dGVybl9j
cmVhdGVfZm9yX3N1cmZhY2UoaW1hZ2UpOwogICAgIGNhaXJvX3BhdHRlcm5fc2V0X2V4dGVuZChw
YXR0ZXJuLCBDQUlST19FWFRFTkRfUkVQRUFUKTsKKyAgICBjYWlyb19kZXN0cm95KGNyX3N1cmZh
Y2UpOwogCiAgICAgLy8gV29ya2Fyb3VuZCB0byBhdm9pZCB0aGUgdW53YW50ZWQgZ3JhZGllbnQg
ZWZmZWN0ICgjMTQwMTcpCiAgICAgY2Fpcm9fcGF0dGVybl9zZXRfZmlsdGVyKHBhdHRlcm4sIENB
SVJPX0ZJTFRFUl9ORUFSRVNUKTsKCg==
</data>
<flag name="review"
          id="9580"
          type_id="1"
          status="-"
          setter="mrowe"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>22854</attachid>
            <date>2008-08-18 12:42:12 -0700</date>
            <delta_ts>2008-09-09 04:43:56 -0700</delta_ts>
            <desc>border-image</desc>
            <filename>border-image.patch</filename>
            <type>text/plain</type>
            <size>2260</size>
            <attacher name="Dirk Schulze">krit</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAzNTgxOSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTYgQEAKKzIwMDgtMDgtMTggIERpcmsgU2NodWx6ZSAgPHZiczg1QGdteC5kZT4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk2NTIKKyAgICAgICAgW0NBSVJPXSB3
cm9uZyBkcmF3aW5nIG9mIGJvcmRlci1pbWFnZQorCisgICAgICAgIEFkZGVkIHRoZSB1c2Ugb2Yg
dGlsZVJlY3QoKSBmb3IgYSBjb3JyZWN0IGRyYXdpbmcgb2YKKyAgICAgICAgYm9yZGVyLWltYWdl
cy4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0ltYWdlQ2Fpcm8uY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SW1hZ2U6OmRyYXdQYXR0ZXJuKToKKwogMjAwOC0wOC0xOCAgRGly
ayBTY2h1bHplICA8dmJzODVAZ214LmRlPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2Vp
ZGVsLgpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9JbWFnZUNhaXJvLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0ltYWdlQ2Fp
cm8uY3BwCShyZXZpc2lvbiAzNTc4MikKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fp
cm8vSW1hZ2VDYWlyby5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNs
dWRlICJBZmZpbmVUcmFuc2Zvcm0uaCIKICNpbmNsdWRlICJGbG9hdFJlY3QuaCIKICNpbmNsdWRl
ICJHcmFwaGljc0NvbnRleHQuaCIKKyNpbmNsdWRlICJJbWFnZUJ1ZmZlci5oIgogI2luY2x1ZGUg
IkltYWdlT2JzZXJ2ZXIuaCIKICNpbmNsdWRlIDxjYWlyby5oPgogI2luY2x1ZGUgPG1hdGguaD4K
QEAgLTE0Niw3ICsxNDcsMTkgQEAgdm9pZCBJbWFnZTo6ZHJhd1BhdHRlcm4oR3JhcGhpY3NDb250
ZXh0KgogICAgIGNhaXJvX3QqIGNyID0gY29udGV4dC0+cGxhdGZvcm1Db250ZXh0KCk7CiAgICAg
Y29udGV4dC0+c2F2ZSgpOwogCi0gICAgLy8gVE9ETzogTWFrZSB1c2Ugb2YgdGlsZVJlY3QuCisg
ICAgaW50IGltYWdlV2lkdGggPSBjYWlyb19pbWFnZV9zdXJmYWNlX2dldF93aWR0aChpbWFnZSk7
CisgICAgaW50IGltYWdlSGVpZ2h0ID0gY2Fpcm9faW1hZ2Vfc3VyZmFjZV9nZXRfaGVpZ2h0KGlt
YWdlKTsKKyAgICBpZiAodGlsZVJlY3QueCgpIHx8IHRpbGVSZWN0LnkoKSB8fCBzdGF0aWNfY2Fz
dDxpbnQ+KHRpbGVSZWN0LndpZHRoKCkpICE9IGltYWdlV2lkdGggfHwgc3RhdGljX2Nhc3Q8aW50
Pih0aWxlUmVjdC5oZWlnaHQoKSkgIT0gaW1hZ2VIZWlnaHQpIHsKKyAgICAgICAgY2Fpcm9fdCog
Y2xpcHBlZEltYWdlQ29udGV4dDsKKyAgICAgICAgSW50U2l6ZSBpbWFnZVNpemUoc3RhdGljX2Nh
c3Q8aW50Pih0aWxlUmVjdC53aWR0aCgpKSwgc3RhdGljX2Nhc3Q8aW50Pih0aWxlUmVjdC5oZWln
aHQoKSkpOworICAgICAgICBzdGQ6OmF1dG9fcHRyPEltYWdlQnVmZmVyPiBpbWFnZVN1cmZhY2Uo
SW1hZ2VCdWZmZXI6OmNyZWF0ZShpbWFnZVNpemUsIGZhbHNlKSk7CisgICAgICAgIGNhaXJvX3N1
cmZhY2VfdCogY2xpcHBlZEltYWdlID0gaW1hZ2VTdXJmYWNlLT5pbWFnZSgpLT5uYXRpdmVJbWFn
ZUZvckN1cnJlbnRGcmFtZSgpOworICAgICAgICBjbGlwcGVkSW1hZ2VDb250ZXh0ID0gY2Fpcm9f
Y3JlYXRlKGNsaXBwZWRJbWFnZSk7CisgICAgICAgIGNhaXJvX3NldF9zb3VyY2Vfc3VyZmFjZShj
bGlwcGVkSW1hZ2VDb250ZXh0LCBpbWFnZSwgLXRpbGVSZWN0LngoKSwgLXRpbGVSZWN0LnkoKSk7
CisgICAgICAgIGNhaXJvX3BhaW50KGNsaXBwZWRJbWFnZUNvbnRleHQpOworICAgICAgICBpbWFn
ZSA9IGNsaXBwZWRJbWFnZTsKKyAgICAgICAgY2Fpcm9fc3VyZmFjZV9kZXN0cm95KGNsaXBwZWRJ
bWFnZSk7CisgICAgfQogCiAgICAgY2Fpcm9fcGF0dGVybl90KiBwYXR0ZXJuID0gY2Fpcm9fcGF0
dGVybl9jcmVhdGVfZm9yX3N1cmZhY2UoaW1hZ2UpOwogICAgIGNhaXJvX3BhdHRlcm5fc2V0X2V4
dGVuZChwYXR0ZXJuLCBDQUlST19FWFRFTkRfUkVQRUFUKTsKCg==
</data>
<flag name="review"
          id="10161"
          type_id="1"
          status="-"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>23291</attachid>
            <date>2008-09-09 04:43:56 -0700</date>
            <delta_ts>2009-05-22 08:00:51 -0700</delta_ts>
            <desc>Cairo border-image</desc>
            <filename>Cairo-border-image.patch</filename>
            <type>text/plain</type>
            <size>1897</size>
            <attacher name="Dirk Schulze">krit</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAzNjI5MikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTYgQEAKKzIwMDgtMDktMDkgIERpcmsgU2NodWx6ZSAgPHZiczg1QGdteC5kZT4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCB0
aGUgdXNlIG9mIHRpbGVSZWN0KCkgZm9yIGEgY29ycmVjdCBkcmF3aW5nIG9mCisgICAgICAgIGJv
cmRlci1pbWFnZXMuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE5NjUyCisgICAgICAgIFtDQUlST10gd3JvbmcgZHJhd2luZyBvZiBib3JkZXItaW1h
Z2UKKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0ltYWdlQ2Fpcm8uY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SW1hZ2U6OmRyYXdQYXR0ZXJuKToKKwogMjAwOC0wOS0wOSAgSnVu
Z3NoaWsgU2hpbiAgPGp1bmdzaGlrLnNoaW5AZ21haWwuY29tPgogCiAgICAgICAgIFJldmlld2Vk
IGJ5IEFsZXhleSBQcm9za3VyeWFrb3YuCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NhaXJvL0ltYWdlQ2Fpcm8uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2Fpcm8vSW1hZ2VDYWlyby5jcHAJKHJldmlzaW9uIDM2MjY5KQorKysgV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jYWlyby9JbWFnZUNhaXJvLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MzIsNiArMzIsNyBAQAogI2luY2x1ZGUgIkFmZmluZVRyYW5zZm9ybS5oIgogI2luY2x1ZGUgIkZs
b2F0UmVjdC5oIgogI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dC5oIgorI2luY2x1ZGUgIkltYWdl
QnVmZmVyLmgiCiAjaW5jbHVkZSAiSW1hZ2VPYnNlcnZlci5oIgogI2luY2x1ZGUgPGNhaXJvLmg+
CiAjaW5jbHVkZSA8bWF0aC5oPgpAQCAtMTQ3LDcgKzE0OCwxNSBAQCB2b2lkIEltYWdlOjpkcmF3
UGF0dGVybihHcmFwaGljc0NvbnRleHQqCiAgICAgY2Fpcm9fdCogY3IgPSBjb250ZXh0LT5wbGF0
Zm9ybUNvbnRleHQoKTsKICAgICBjb250ZXh0LT5zYXZlKCk7CiAKLSAgICAvLyBUT0RPOiBNYWtl
IHVzZSBvZiB0aWxlUmVjdC4KKyAgICBJbnRSZWN0IGltYWdlU2l6ZSA9IGVuY2xvc2luZ0ludFJl
Y3QodGlsZVJlY3QpOworICAgIHN0ZDo6YXV0b19wdHI8SW1hZ2VCdWZmZXI+IGltYWdlU3VyZmFj
ZSA9IEltYWdlQnVmZmVyOjpjcmVhdGUoaW1hZ2VTaXplLnNpemUoKSwgZmFsc2UpOworCisgICAg
aWYgKHRpbGVSZWN0LnNpemUoKSAhPSBzaXplKCkpIHsKKyAgICAgICAgY2Fpcm9fdCogY2xpcHBl
ZEltYWdlQ29udGV4dCA9IGltYWdlU3VyZmFjZS0+Y29udGV4dCgpLT5wbGF0Zm9ybUNvbnRleHQo
KTsKKyAgICAgICAgY2Fpcm9fc2V0X3NvdXJjZV9zdXJmYWNlKGNsaXBwZWRJbWFnZUNvbnRleHQs
IGltYWdlLCAtdGlsZVJlY3QueCgpLCAtdGlsZVJlY3QueSgpKTsKKyAgICAgICAgY2Fpcm9fcGFp
bnQoY2xpcHBlZEltYWdlQ29udGV4dCk7CisgICAgICAgIGltYWdlID0gaW1hZ2VTdXJmYWNlLmdl
dCgpLT5pbWFnZSgpLT5uYXRpdmVJbWFnZUZvckN1cnJlbnRGcmFtZSgpOworICAgIH0KIAogICAg
IGNhaXJvX3BhdHRlcm5fdCogcGF0dGVybiA9IGNhaXJvX3BhdHRlcm5fY3JlYXRlX2Zvcl9zdXJm
YWNlKGltYWdlKTsKICAgICBjYWlyb19wYXR0ZXJuX3NldF9leHRlbmQocGF0dGVybiwgQ0FJUk9f
RVhURU5EX1JFUEVBVCk7Cg==
</data>
<flag name="review"
          id="10600"
          type_id="1"
          status="+"
          setter="eric"
    />
          </attachment>
      

    </bug>

</bugzilla>