<?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>24584</bug_id>
          
          <creation_ts>2009-03-13 12:20:49 -0700</creation_ts>
          <short_desc>Translucent text rendering on Chromium is broken</short_desc>
          <delta_ts>2009-06-12 12:19:54 -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>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Windows XP</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="Stephen White">senorblanco</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>brettw</cc>
    
    <cc>senorblanco</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>113652</commentid>
    <comment_count>0</comment_count>
    <who name="Stephen White">senorblanco</who>
    <bug_when>2009-03-13 12:20:49 -0700</bug_when>
    <thetext>Translucent text rendering in Chromium renders text as opaque in some cases.

See:

LayoutTests/svg/text/text-text-08-b.svg
LayoutTests/fast/css/hsla-color.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>113653</commentid>
    <comment_count>1</comment_count>
      <attachid>28591</attachid>
    <who name="Stephen White">senorblanco</who>
    <bug_when>2009-03-13 12:23:04 -0700</bug_when>
    <thetext>Created attachment 28591
Fix for TransparencyWin

FontChromiumWin was calling beginTransparencyLayer()/endTransparencyLayer(), with a TransparencyWin inside to do GDI ClearType rendering over an opaque background.  TransparencyWin does its special sauce in the destructor, but it was being called too late to be used correctly in the layer.  Put into uninit() instead, and call that explicitly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>113662</commentid>
    <comment_count>2</comment_count>
      <attachid>28591</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-03-13 12:34:20 -0700</bug_when>
    <thetext>Comment on attachment 28591
Fix for TransparencyWin

Why not just call it what it does?  &quot;compositeToParentLayer()&quot; or &quot;restoreContextAndCompositeToParentLayer()&quot;

uninit seems like a really bad name for the function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>113665</commentid>
    <comment_count>3</comment_count>
    <who name="Stephen White">senorblanco</who>
    <bug_when>2009-03-13 12:50:58 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 28591 [review])
&gt; Why not just call it what it does?  &quot;compositeToParentLayer()&quot; or
&gt; &quot;restoreContextAndCompositeToParentLayer()&quot;
&gt; 
&gt; uninit seems like a really bad name for the function.

I wanted to stress that it should pair up with init() (and that calling it is mandatory if you call init()).

It&apos;s not compositing &quot;to&quot; anything.  It&apos;s compositing over the background using ClearType, but even that is misleading, since it will get composited again over the background using text alpha in the endTransparencyLayer() call.

Mind if we just call it &quot;composite()&quot;?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>113669</commentid>
    <comment_count>4</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-03-13 13:12:00 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (In reply to comment #2)
&gt; &gt; (From update of attachment 28591 [review] [review])
&gt; &gt; Why not just call it what it does?  &quot;compositeToParentLayer()&quot; or
&gt; &gt; &quot;restoreContextAndCompositeToParentLayer()&quot;
&gt; &gt; 
&gt; &gt; uninit seems like a really bad name for the function.
&gt; 
&gt; I wanted to stress that it should pair up with init() (and that calling it is
&gt; mandatory if you call init()).

I regretted being so disparaging in my original comment almost as soon as I hit &quot;commit&quot;.  :(

&gt; It&apos;s not compositing &quot;to&quot; anything.  It&apos;s compositing over the background using
&gt; ClearType, but even that is misleading, since it will get composited again over
&gt; the background using text alpha in the endTransparencyLayer() call.
&gt; 
&gt; Mind if we just call it &quot;composite()&quot;?

composite() is OK.  It&apos;s not particularly specific (you&apos;d still have to read the composite() function to guess at what it did).  It seems it would also make sense to ASSERT if possible that we&apos;d already composited.  We should probably be clearing m_savedOnDrawContext after restore now that this is a free function.  composite() (or whatever you call it) should also be a private function, since no one should call it except for the destructor.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>113680</commentid>
    <comment_count>5</comment_count>
    <who name="Stephen White">senorblanco</who>
    <bug_when>2009-03-13 13:43:52 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; composite() is OK.  It&apos;s not particularly specific (you&apos;d still have to read
&gt; the composite() function to guess at what it did).  It seems it would also make
&gt; sense to ASSERT if possible that we&apos;d already composited.  We should probably
&gt; be clearing m_savedOnDrawContext after restore now that this is a free
&gt; function.  composite() (or whatever you call it) should also be a private
&gt; function, since no one should call it except for the destructor.

Actually, no.  This work isn&apos;t done in the destructor any more, since that was what was causing the problem (it&apos;s too late).  It&apos;s called explicitly by FontChromiumWin, so it needs to be public.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>113683</commentid>
    <comment_count>6</comment_count>
      <attachid>28594</attachid>
    <who name="Stephen White">senorblanco</who>
    <bug_when>2009-03-13 13:49:49 -0700</bug_when>
    <thetext>Created attachment 28594
Fix for TransparencyWin (2)

Changed uninit() to composite().  Reset m_savedOnDrawContext after restoring context.  Asserted that it was reset in destructor.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>113698</commentid>
    <comment_count>7</comment_count>
      <attachid>28594</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-03-13 14:26:27 -0700</bug_when>
    <thetext>Comment on attachment 28594
Fix for TransparencyWin (2)

Looks fine.

You can remove WARNING: NO TEST CASES ADDED OR CHANGED :)

Also, you should normally have the bug URL in teh ChangeLog.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>113709</commentid>
    <comment_count>8</comment_count>
      <attachid>28603</attachid>
    <who name="Stephen White">senorblanco</who>
    <bug_when>2009-03-13 15:07:54 -0700</bug_when>
    <thetext>Created attachment 28603
Fix for TransparencyWin (3)

Turns out I broke another layout test with this fix (LayoutTests/fast/forms/indeterminate.html), now fixed.

Modified ChangeLog as requested.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>113711</commentid>
    <comment_count>9</comment_count>
      <attachid>28603</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-03-13 15:14:31 -0700</bug_when>
    <thetext>Comment on attachment 28603
Fix for TransparencyWin (3)

Seems that we could catch this kind of error with an !NDEBUG bool.

But this is OK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>113718</commentid>
    <comment_count>10</comment_count>
      <attachid>28603</attachid>
    <who name="Brett Wilson (Google)">brettw</who>
    <bug_when>2009-03-13 15:34:14 -0700</bug_when>
    <thetext>Comment on attachment 28603
Fix for TransparencyWin (3)

&gt; Index: WebCore/platform/graphics/chromium/TransparencyWin.h
&gt; ===================================================================
&gt; --- WebCore/platform/graphics/chromium/TransparencyWin.h	(revision 41685)
&gt; +++ WebCore/platform/graphics/chromium/TransparencyWin.h	(working copy)
&gt; @@ -134,6 +134,9 @@ public:
&gt;                TransformMode transformMode,
&gt;                const IntRect&amp; region);
&gt;  
&gt; +    // Combines the source and destination bitmaps using the given mode.
&gt; +    void composite();

You should comment on the conditions where this is function is required. Which layer modes is it required for? Also, the comments for those layer modes should say that calling composite before destruction is required.

Second, now that this is required, it needs to be called in the other places that TransparencyWin is used. This is RenderThemeChromiumWin as well as webkit/tools/webcore_unit_tests/TransparencyWin_unittest.cpp in Chrome. I think that it will assert in both places otherwise.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>113725</commentid>
    <comment_count>11</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-03-13 15:48:04 -0700</bug_when>
    <thetext>Committing to http://svn.webkit.org/repository/webkit/trunk ...
	M	WebCore/ChangeLog
	M	WebCore/platform/graphics/chromium/FontChromiumWin.cpp
	M	WebCore/platform/graphics/chromium/TransparencyWin.cpp
	M	WebCore/platform/graphics/chromium/TransparencyWin.h
	M	WebCore/rendering/RenderThemeChromiumWin.cpp
Committed r41692
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>113728</commentid>
    <comment_count>12</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-03-13 15:59:48 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; (From update of attachment 28603 [review]) 
&gt; You should comment on the conditions where this is function is required. Which
&gt; layer modes is it required for? Also, the comments for those layer modes should
&gt; say that calling composite before destruction is required.
&gt; 
&gt; Second, now that this is required, it needs to be called in the other places
&gt; that TransparencyWin is used. This is RenderThemeChromiumWin as well as
&gt; webkit/tools/webcore_unit_tests/TransparencyWin_unittest.cpp in Chrome. I think
&gt; that it will assert in both places otherwise.

Sigh.  I&apos;ll re-open and you can fix this in a second patch which you can have Brett review.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>113732</commentid>
    <comment_count>13</comment_count>
    <who name="Stephen White">senorblanco</who>
    <bug_when>2009-03-13 16:18:26 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; (In reply to comment #10)
&gt; &gt; (From update of attachment 28603 [review] [review]) 
&gt; &gt; You should comment on the conditions where this is function is required. Which
&gt; &gt; layer modes is it required for? Also, the comments for those layer modes should
&gt; &gt; say that calling composite before destruction is required.
&gt; &gt; 
&gt; &gt; Second, now that this is required, it needs to be called in the other places
&gt; &gt; that TransparencyWin is used. This is RenderThemeChromiumWin as well as
&gt; &gt; webkit/tools/webcore_unit_tests/TransparencyWin_unittest.cpp in Chrome. I think
&gt; &gt; that it will assert in both places otherwise.
&gt; 
&gt; Sigh.  I&apos;ll re-open and you can fix this in a second patch which you can have
&gt; Brett review.
&gt; 

Thanks.  The RenderThemeChromiumWin change is already in there, and the unit tests Brett mentioned are in our webkit (not third_party), so the only thing that remains to do on the webkit.org side are comments, which I&apos;ll take care of on Monday.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>113749</commentid>
    <comment_count>14</comment_count>
    <who name="Brett Wilson (Google)">brettw</who>
    <bug_when>2009-03-13 21:19:20 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; Thanks.  The RenderThemeChromiumWin change is already in there

Whoops, I totally missed this! You should probably check this patch into Chromium&apos;s repo with the unit test change at the same time to avoid giving the merger a headache. Let me know if you have any questions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>116960</commentid>
    <comment_count>15</comment_count>
      <attachid>28594</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2009-04-08 16:52:46 -0700</bug_when>
    <thetext>Comment on attachment 28594
Fix for TransparencyWin (2)

Clearing r+ on obsolete changes to move this out of the commit queue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>116961</commentid>
    <comment_count>16</comment_count>
      <attachid>28603</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2009-04-08 16:53:08 -0700</bug_when>
    <thetext>Comment on attachment 28603
Fix for TransparencyWin (3)

Clearing r+ on obsolete patches to move this out of the commit queue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>125499</commentid>
    <comment_count>17</comment_count>
    <who name="Stephen White">senorblanco</who>
    <bug_when>2009-06-12 12:08:33 -0700</bug_when>
    <thetext>Code comments added in http://bugs.webkit.org/show_bug.cgi?id=26320.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>125501</commentid>
    <comment_count>18</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-06-12 12:13:32 -0700</bug_when>
    <thetext>I&apos;m surprised there was no layout test for this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>125503</commentid>
    <comment_count>19</comment_count>
    <who name="Stephen White">senorblanco</who>
    <bug_when>2009-06-12 12:19:54 -0700</bug_when>
    <thetext>(In reply to comment #18)
&gt; I&apos;m surprised there was no layout test for this?
&gt; 

See above:

LayoutTests/svg/text/text-text-08-b.svg
LayoutTests/fast/css/hsla-color.html

(I think acid3 was broken too).  The patch attached to this bug was committed long ago, I just promised Brett I&apos;d add some comments, which I finally got around to doing in 26320.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>28591</attachid>
            <date>2009-03-13 12:23:04 -0700</date>
            <delta_ts>2009-03-13 15:14:39 -0700</delta_ts>
            <desc>Fix for TransparencyWin</desc>
            <filename>win-transparency-fix.patch</filename>
            <type>text/plain</type>
            <size>3503</size>
            <attacher name="Stephen White">senorblanco</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0MTY3NCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjUgQEAKKzIwMDktMDMtMTMgIFN0ZXBoZW4gV2hpdGUgIDxzZW5vcmJsYW5jb0Bj
aHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgV0FSTklORzogTk8gVEVTVCBDQVNFUyBBRERFRCBPUiBDSEFOR0VECisKKyAgICAgICAg
Rml4IHRyYW5zcGFyZW50IHRleHQgcmVuZGVyaW5nIG9uIENocm9taXVtLiAgRm9udENocm9taXVt
V2luCisgICAgICAgIHdhcyBjYWxsaW5nIGJlZ2luVHJhbnNwYXJlbmN5TGF5ZXIoKS9lbmRUcmFu
c3BhcmVuY3lMYXllcigpLCB3aXRoCisgICAgICAgIGEgVHJhbnNwYXJlbmN5V2luIGluc2lkZSB0
byBkbyBHREkgQ2xlYXJUeXBlIHJlbmRlcmluZyBvdmVyIGFuCisgICAgICAgIG9wYXF1ZSBiYWNr
Z3JvdW5kLiAgVHJhbnNwYXJlbmN5V2luIGRvZXMgaXRzIHNwZWNpYWwgc2F1Y2UKKyAgICAgICAg
aW4gdGhlIGRlc3RydWN0b3IsIGJ1dCBpdCB3YXMgYmVpbmcgY2FsbGVkIHRvbyBsYXRlIHRvIGJl
IHVzZWQKKyAgICAgICAgY29ycmVjdGx5IGluIHRoZSBsYXllci4gIFB1dCBpbnRvIHVuaW5pdCgp
IGluc3RlYWQsIGFuZCBjYWxsIHRoYXQKKyAgICAgICAgZXhwbGljaXRseS4KKworICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0ZvbnRDaHJvbWl1bVdpbi5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpUcmFuc3BhcmVuY3lBd2FyZUZvbnRQYWludGVyOjpUcmFuc3BhcmVuY3lBd2Fy
ZUZvbnRQYWludGVyOjp+VHJhbnNwYXJlbmN5QXdhcmVGb250UGFpbnRlcik6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVHJhbnNwYXJlbmN5V2luLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlRyYW5zcGFyZW5jeVdpbjo6flRyYW5zcGFyZW5jeVdpbik6CisgICAgICAgIChX
ZWJDb3JlOjpUcmFuc3BhcmVuY3lXaW46OnVuaW5pdCk6CisgICAgICAgIChXZWJDb3JlOjpUcmFu
c3BhcmVuY3lXaW46OmluaXQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L1RyYW5zcGFyZW5jeVdpbi5oOgorCiAyMDA5LTAzLTEzICBBbmRlcnMgQ2FybHNzb24gIDxhbmRl
cnNjYUBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFuIEJlcm5zdGVpbi4KSW5k
ZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRm9udENocm9taXVtV2luLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0ZvbnRD
aHJvbWl1bVdpbi5jcHAJKHJldmlzaW9uIDQxNjczKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9Gb250Q2hyb21pdW1XaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xODYs
NiArMTg2LDcgQEAgVHJhbnNwYXJlbmN5QXdhcmVGb250UGFpbnRlcjo6flRyYW5zcGFyZQogewog
ICAgIGlmICghbV91c2VHREkpCiAgICAgICAgIHJldHVybjsgIC8vIE5vdGhpbmcgdG8gZG8uCisg
ICAgbV90cmFuc3BhcmVuY3kudW5pbml0KCk7CiAgICAgaWYgKG1fY3JlYXRlZFRyYW5zcGFyZW5j
eUxheWVyKQogICAgICAgICBtX2dyYXBoaWNzQ29udGV4dC0+ZW5kVHJhbnNwYXJlbmN5TGF5ZXIo
KTsKIApJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9UcmFuc3BhcmVu
Y3lXaW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vVHJhbnNwYXJlbmN5V2luLmNwcAkocmV2aXNpb24gNDE2NzMpCisrKyBXZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL1RyYW5zcGFyZW5jeVdpbi5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTE1Nyw2ICsxNTcsMTAgQEAgVHJhbnNwYXJlbmN5V2luOjpUcmFuc3BhcmVuY3lXaW4oKQog
CiBUcmFuc3BhcmVuY3lXaW46On5UcmFuc3BhcmVuY3lXaW4oKQogeworfQorCit2b2lkIFRyYW5z
cGFyZW5jeVdpbjo6dW5pbml0KCkKK3sKICAgICAvLyBNYXRjaGVzIHRoZSBzYXZlKCkgaW4gaW5p
dGlhbGl6ZU5ld1RleHRDb250ZXh0IChvciB0aGUgY29uc3RydWN0b3IgZm9yCiAgICAgLy8gU0NB
TEUpIHRvIHB1dCB0aGUgY29udGV4dCBiYWNrIGludG8gdGhlIHNhbWUgc3RhdGUgd2UgZm91bmQg
aXQuCiAgICAgaWYgKG1fc2F2ZWRPbkRyYXdDb250ZXh0KQpAQCAtMTc4LDcgKzE4Miw4IEBAIFRy
YW5zcGFyZW5jeVdpbjo6flRyYW5zcGFyZW5jeVdpbigpCiB2b2lkIFRyYW5zcGFyZW5jeVdpbjo6
aW5pdChHcmFwaGljc0NvbnRleHQqIGRlc3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBM
YXllck1vZGUgbGF5ZXJNb2RlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgVHJhbnNmb3Jt
TW9kZSB0cmFuc2Zvcm1Nb2RlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgSW50
UmVjdCYgcmVnaW9uKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBJbnRSZWN0
JiByZWdpb24pCit7CiAgICAgbV9kZXN0Q29udGV4dCA9IGRlc3Q7CiAgICAgbV9vcmdUcmFuc2Zv
cm0gPSBkZXN0LT5nZXRDVE0oKTsKICAgICBtX2xheWVyTW9kZSA9IGxheWVyTW9kZTsKSW5kZXg6
IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVHJhbnNwYXJlbmN5V2luLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9UcmFuc3BhcmVu
Y3lXaW4uaAkocmV2aXNpb24gNDE2NzMpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2No
cm9taXVtL1RyYW5zcGFyZW5jeVdpbi5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMzQsNiArMTM0LDkg
QEAgcHVibGljOgogICAgICAgICAgICAgICBUcmFuc2Zvcm1Nb2RlIHRyYW5zZm9ybU1vZGUsCiAg
ICAgICAgICAgICAgIGNvbnN0IEludFJlY3QmIHJlZ2lvbik7CiAKKyAgICAvLyBDb21iaW5lcyB0
aGUgc291cmNlIGFuZCBkZXN0aW5hdGlvbiBiaXRtYXBzIHVzaW5nIHRoZSBnaXZlbiBtb2RlLgor
ICAgIHZvaWQgdW5pbml0KCk7CisKICAgICAvLyBSZXR1cm5zIHRoZSBjb250ZXh0IGZvciBkcmF3
aW5nIGludG8sIHdoaWNoIG1heSBiZSB0aGUgZGVzdGluYXRpb24KICAgICAvLyBjb250ZXh0LCBv
ciBhIHRlbXBvcmFyeSBvbmUuCiAgICAgR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0KCkgY29uc3Qg
eyByZXR1cm4gbV9kcmF3Q29udGV4dDsgfQo=
</data>
<flag name="review"
          id="14071"
          type_id="1"
          status="-"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>28594</attachid>
            <date>2009-03-13 13:49:49 -0700</date>
            <delta_ts>2009-04-08 16:52:46 -0700</delta_ts>
            <desc>Fix for TransparencyWin (2)</desc>
            <filename>win-transparency-fix.patch</filename>
            <type>text/plain</type>
            <size>3783</size>
            <attacher name="Stephen White">senorblanco</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0MTY4MSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjUgQEAKKzIwMDktMDMtMTMgIFN0ZXBoZW4gV2hpdGUgIDxzZW5vcmJsYW5jb0Bj
aHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgV0FSTklORzogTk8gVEVTVCBDQVNFUyBBRERFRCBPUiBDSEFOR0VECisKKyAgICAgICAg
Rml4IHRyYW5zcGFyZW50IHRleHQgcmVuZGVyaW5nIG9uIENocm9taXVtLiAgRm9udENocm9taXVt
V2luCisgICAgICAgIHdhcyBjYWxsaW5nIGJlZ2luVHJhbnNwYXJlbmN5TGF5ZXIoKS9lbmRUcmFu
c3BhcmVuY3lMYXllcigpLCB3aXRoCisgICAgICAgIGEgVHJhbnNwYXJlbmN5V2luIGluc2lkZSB0
byBkbyBHREkgQ2xlYXJUeXBlIHJlbmRlcmluZyBvdmVyIGFuCisgICAgICAgIG9wYXF1ZSBiYWNr
Z3JvdW5kLiAgVHJhbnNwYXJlbmN5V2luIGRvZXMgaXRzIHNwZWNpYWwgc2F1Y2UKKyAgICAgICAg
aW4gdGhlIGRlc3RydWN0b3IsIGJ1dCBpdCB3YXMgYmVpbmcgY2FsbGVkIHRvbyBsYXRlIHRvIGJl
IHVzZWQKKyAgICAgICAgY29ycmVjdGx5IGluIHRoZSBsYXllci4gIFB1dCBpbnRvIHVuaW5pdCgp
IGluc3RlYWQsIGFuZCBjYWxsIHRoYXQKKyAgICAgICAgZXhwbGljaXRseS4KKworICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0ZvbnRDaHJvbWl1bVdpbi5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpUcmFuc3BhcmVuY3lBd2FyZUZvbnRQYWludGVyOjpUcmFuc3BhcmVuY3lBd2Fy
ZUZvbnRQYWludGVyOjp+VHJhbnNwYXJlbmN5QXdhcmVGb250UGFpbnRlcik6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVHJhbnNwYXJlbmN5V2luLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlRyYW5zcGFyZW5jeVdpbjo6flRyYW5zcGFyZW5jeVdpbik6CisgICAgICAgIChX
ZWJDb3JlOjpUcmFuc3BhcmVuY3lXaW46OmNvbXBvc2l0ZSk6CisgICAgICAgIChXZWJDb3JlOjpU
cmFuc3BhcmVuY3lXaW46OmluaXQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL1RyYW5zcGFyZW5jeVdpbi5oOgorCiAyMDA5LTAzLTEzICBEYXZpZCBMZXZpbiAgPGxldmlu
QGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEaW1pdHJpIEdsYXprb3YuCklu
ZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0ZvbnRDaHJvbWl1bVdpbi5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9Gb250
Q2hyb21pdW1XaW4uY3BwCShyZXZpc2lvbiA0MTY3MykKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vRm9udENocm9taXVtV2luLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTg2
LDYgKzE4Niw3IEBAIFRyYW5zcGFyZW5jeUF3YXJlRm9udFBhaW50ZXI6On5UcmFuc3BhcmUKIHsK
ICAgICBpZiAoIW1fdXNlR0RJKQogICAgICAgICByZXR1cm47ICAvLyBOb3RoaW5nIHRvIGRvLgor
ICAgIG1fdHJhbnNwYXJlbmN5LmNvbXBvc2l0ZSgpOwogICAgIGlmIChtX2NyZWF0ZWRUcmFuc3Bh
cmVuY3lMYXllcikKICAgICAgICAgbV9ncmFwaGljc0NvbnRleHQtPmVuZFRyYW5zcGFyZW5jeUxh
eWVyKCk7CiAKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVHJhbnNw
YXJlbmN5V2luLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2No
cm9taXVtL1RyYW5zcGFyZW5jeVdpbi5jcHAJKHJldmlzaW9uIDQxNjczKQorKysgV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9UcmFuc3BhcmVuY3lXaW4uY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0xNTcsMTAgKzE1NywxOCBAQCBUcmFuc3BhcmVuY3lXaW46OlRyYW5zcGFyZW5jeVdp
bigpCiAKIFRyYW5zcGFyZW5jeVdpbjo6flRyYW5zcGFyZW5jeVdpbigpCiB7CisgICAgLy8gVGhp
cyBzaG91bGQgYmUgZmFsc2UsIHNpbmNlIGNhbGxpbmcgY29tcG9zaXRlKCkgaXMgbWFuZGF0b3J5
LgorICAgIEFTU0VSVCghbV9zYXZlZE9uRHJhd0NvbnRleHQpOworfQorCit2b2lkIFRyYW5zcGFy
ZW5jeVdpbjo6Y29tcG9zaXRlKCkKK3sKICAgICAvLyBNYXRjaGVzIHRoZSBzYXZlKCkgaW4gaW5p
dGlhbGl6ZU5ld1RleHRDb250ZXh0IChvciB0aGUgY29uc3RydWN0b3IgZm9yCiAgICAgLy8gU0NB
TEUpIHRvIHB1dCB0aGUgY29udGV4dCBiYWNrIGludG8gdGhlIHNhbWUgc3RhdGUgd2UgZm91bmQg
aXQuCi0gICAgaWYgKG1fc2F2ZWRPbkRyYXdDb250ZXh0KQorICAgIGlmIChtX3NhdmVkT25EcmF3
Q29udGV4dCkgewogICAgICAgICBtX2RyYXdDb250ZXh0LT5yZXN0b3JlKCk7CisgICAgICAgIG1f
c2F2ZWRPbkRyYXdDb250ZXh0ID0gZmFsc2U7CisgICAgfQogCiAgICAgc3dpdGNoIChtX2xheWVy
TW9kZSkgewogICAgIGNhc2UgTm9MYXllcjoKQEAgLTE3OCw3ICsxODYsOCBAQCBUcmFuc3BhcmVu
Y3lXaW46On5UcmFuc3BhcmVuY3lXaW4oKQogdm9pZCBUcmFuc3BhcmVuY3lXaW46OmluaXQoR3Jh
cGhpY3NDb250ZXh0KiBkZXN0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgTGF5ZXJNb2Rl
IGxheWVyTW9kZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRyYW5zZm9ybU1vZGUgdHJh
bnNmb3JtTW9kZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEludFJlY3QmIHJl
Z2lvbikgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgSW50UmVjdCYgcmVnaW9u
KQorewogICAgIG1fZGVzdENvbnRleHQgPSBkZXN0OwogICAgIG1fb3JnVHJhbnNmb3JtID0gZGVz
dC0+Z2V0Q1RNKCk7CiAgICAgbV9sYXllck1vZGUgPSBsYXllck1vZGU7CkluZGV4OiBXZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1RyYW5zcGFyZW5jeVdpbi5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVHJhbnNwYXJlbmN5V2luLmgJ
KHJldmlzaW9uIDQxNjczKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9U
cmFuc3BhcmVuY3lXaW4uaAkod29ya2luZyBjb3B5KQpAQCAtMTM0LDYgKzEzNCw5IEBAIHB1Ymxp
YzoKICAgICAgICAgICAgICAgVHJhbnNmb3JtTW9kZSB0cmFuc2Zvcm1Nb2RlLAogICAgICAgICAg
ICAgICBjb25zdCBJbnRSZWN0JiByZWdpb24pOwogCisgICAgLy8gQ29tYmluZXMgdGhlIHNvdXJj
ZSBhbmQgZGVzdGluYXRpb24gYml0bWFwcyB1c2luZyB0aGUgZ2l2ZW4gbW9kZS4KKyAgICB2b2lk
IGNvbXBvc2l0ZSgpOworCiAgICAgLy8gUmV0dXJucyB0aGUgY29udGV4dCBmb3IgZHJhd2luZyBp
bnRvLCB3aGljaCBtYXkgYmUgdGhlIGRlc3RpbmF0aW9uCiAgICAgLy8gY29udGV4dCwgb3IgYSB0
ZW1wb3Jhcnkgb25lLgogICAgIEdyYXBoaWNzQ29udGV4dCogY29udGV4dCgpIGNvbnN0IHsgcmV0
dXJuIG1fZHJhd0NvbnRleHQ7IH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>28603</attachid>
            <date>2009-03-13 15:07:54 -0700</date>
            <delta_ts>2009-04-08 16:53:08 -0700</delta_ts>
            <desc>Fix for TransparencyWin (3)</desc>
            <filename>win-transparency-fix.patch</filename>
            <type>text/plain</type>
            <size>4436</size>
            <attacher name="Stephen White">senorblanco</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0MTY4NSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjcgQEAKKzIwMDktMDMtMTMgIFN0ZXBoZW4gV2hpdGUgIDxzZW5vcmJsYW5jb0Bj
aHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI0NTg0CisKKyAg
ICAgICAgRml4IHRyYW5zcGFyZW50IHRleHQgcmVuZGVyaW5nIG9uIENocm9taXVtLiAgRm9udENo
cm9taXVtV2luCisgICAgICAgIHdhcyBjYWxsaW5nIGJlZ2luVHJhbnNwYXJlbmN5TGF5ZXIoKS9l
bmRUcmFuc3BhcmVuY3lMYXllcigpLCB3aXRoCisgICAgICAgIGEgVHJhbnNwYXJlbmN5V2luIGlu
c2lkZSB0byBkbyBHREkgQ2xlYXJUeXBlIHJlbmRlcmluZyBvdmVyIGFuCisgICAgICAgIG9wYXF1
ZSBiYWNrZ3JvdW5kLiAgVHJhbnNwYXJlbmN5V2luIGRvZXMgaXRzIHNwZWNpYWwgc2F1Y2UKKyAg
ICAgICAgaW4gdGhlIGRlc3RydWN0b3IsIGJ1dCBpdCB3YXMgYmVpbmcgY2FsbGVkIHRvbyBsYXRl
IHRvIGJlIHVzZWQKKyAgICAgICAgY29ycmVjdGx5IGluIHRoZSBsYXllci4gIFB1dCB0aGUgc3Bl
Y2lhbCBzYXVjZSBpbnRvIGEgbmV3IGZ1bmN0aW9uLAorICAgICAgICBjb21wb3NpdGUoKSwgYW5k
IGNhbGwgdGhhdCBleHBsaWNpdGx5IGluc3RlYWQuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9Gb250Q2hyb21pdW1XaW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6VHJh
bnNwYXJlbmN5QXdhcmVGb250UGFpbnRlcjo6VHJhbnNwYXJlbmN5QXdhcmVGb250UGFpbnRlcjo6
flRyYW5zcGFyZW5jeUF3YXJlRm9udFBhaW50ZXIpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL1RyYW5zcGFyZW5jeVdpbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUcmFu
c3BhcmVuY3lXaW46On5UcmFuc3BhcmVuY3lXaW4pOgorICAgICAgICAoV2ViQ29yZTo6VHJhbnNw
YXJlbmN5V2luOjpjb21wb3NpdGUpOgorICAgICAgICAoV2ViQ29yZTo6VHJhbnNwYXJlbmN5V2lu
Ojppbml0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9UcmFuc3BhcmVu
Y3lXaW4uaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bVdpbi5jcHA6
CisgICAgICAgIChXZWJDb3JlOjopOgorCiAyMDA5LTAzLTEzICBEaW1pdHJpIEdsYXprb3YgIDxk
Z2xhemtvdkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgVGltb3RoeSBIYXRj
aGVyLgpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9Gb250Q2hyb21p
dW1XaW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vRm9udENocm9taXVtV2luLmNwcAkocmV2aXNpb24gNDE2ODUpCisrKyBXZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL0ZvbnRDaHJvbWl1bVdpbi5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTE4Niw2ICsxODYsNyBAQCBUcmFuc3BhcmVuY3lBd2FyZUZvbnRQYWludGVyOjp+VHJhbnNw
YXJlCiB7CiAgICAgaWYgKCFtX3VzZUdESSkKICAgICAgICAgcmV0dXJuOyAgLy8gTm90aGluZyB0
byBkby4KKyAgICBtX3RyYW5zcGFyZW5jeS5jb21wb3NpdGUoKTsKICAgICBpZiAobV9jcmVhdGVk
VHJhbnNwYXJlbmN5TGF5ZXIpCiAgICAgICAgIG1fZ3JhcGhpY3NDb250ZXh0LT5lbmRUcmFuc3Bh
cmVuY3lMYXllcigpOwogCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L1RyYW5zcGFyZW5jeVdpbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9UcmFuc3BhcmVuY3lXaW4uY3BwCShyZXZpc2lvbiA0MTY4NSkKKysrIFdl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVHJhbnNwYXJlbmN5V2luLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMTU3LDEwICsxNTcsMTggQEAgVHJhbnNwYXJlbmN5V2luOjpUcmFuc3Bh
cmVuY3lXaW4oKQogCiBUcmFuc3BhcmVuY3lXaW46On5UcmFuc3BhcmVuY3lXaW4oKQogeworICAg
IC8vIFRoaXMgc2hvdWxkIGJlIGZhbHNlLCBzaW5jZSBjYWxsaW5nIGNvbXBvc2l0ZSgpIGlzIG1h
bmRhdG9yeS4KKyAgICBBU1NFUlQoIW1fc2F2ZWRPbkRyYXdDb250ZXh0KTsKK30KKwordm9pZCBU
cmFuc3BhcmVuY3lXaW46OmNvbXBvc2l0ZSgpCit7CiAgICAgLy8gTWF0Y2hlcyB0aGUgc2F2ZSgp
IGluIGluaXRpYWxpemVOZXdUZXh0Q29udGV4dCAob3IgdGhlIGNvbnN0cnVjdG9yIGZvcgogICAg
IC8vIFNDQUxFKSB0byBwdXQgdGhlIGNvbnRleHQgYmFjayBpbnRvIHRoZSBzYW1lIHN0YXRlIHdl
IGZvdW5kIGl0LgotICAgIGlmIChtX3NhdmVkT25EcmF3Q29udGV4dCkKKyAgICBpZiAobV9zYXZl
ZE9uRHJhd0NvbnRleHQpIHsKICAgICAgICAgbV9kcmF3Q29udGV4dC0+cmVzdG9yZSgpOworICAg
ICAgICBtX3NhdmVkT25EcmF3Q29udGV4dCA9IGZhbHNlOworICAgIH0KIAogICAgIHN3aXRjaCAo
bV9sYXllck1vZGUpIHsKICAgICBjYXNlIE5vTGF5ZXI6CkBAIC0xNzgsNyArMTg2LDggQEAgVHJh
bnNwYXJlbmN5V2luOjp+VHJhbnNwYXJlbmN5V2luKCkKIHZvaWQgVHJhbnNwYXJlbmN5V2luOjpp
bml0KEdyYXBoaWNzQ29udGV4dCogZGVzdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIExh
eWVyTW9kZSBsYXllck1vZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBUcmFuc2Zvcm1N
b2RlIHRyYW5zZm9ybU1vZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBJbnRS
ZWN0JiByZWdpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEludFJlY3Qm
IHJlZ2lvbikKK3sKICAgICBtX2Rlc3RDb250ZXh0ID0gZGVzdDsKICAgICBtX29yZ1RyYW5zZm9y
bSA9IGRlc3QtPmdldENUTSgpOwogICAgIG1fbGF5ZXJNb2RlID0gbGF5ZXJNb2RlOwpJbmRleDog
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9UcmFuc3BhcmVuY3lXaW4uaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1RyYW5zcGFyZW5j
eVdpbi5oCShyZXZpc2lvbiA0MTY4NSkKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vVHJhbnNwYXJlbmN5V2luLmgJKHdvcmtpbmcgY29weSkKQEAgLTEzNCw2ICsxMzQsOSBA
QCBwdWJsaWM6CiAgICAgICAgICAgICAgIFRyYW5zZm9ybU1vZGUgdHJhbnNmb3JtTW9kZSwKICAg
ICAgICAgICAgICAgY29uc3QgSW50UmVjdCYgcmVnaW9uKTsKIAorICAgIC8vIENvbWJpbmVzIHRo
ZSBzb3VyY2UgYW5kIGRlc3RpbmF0aW9uIGJpdG1hcHMgdXNpbmcgdGhlIGdpdmVuIG1vZGUuCisg
ICAgdm9pZCBjb21wb3NpdGUoKTsKKwogICAgIC8vIFJldHVybnMgdGhlIGNvbnRleHQgZm9yIGRy
YXdpbmcgaW50bywgd2hpY2ggbWF5IGJlIHRoZSBkZXN0aW5hdGlvbgogICAgIC8vIGNvbnRleHQs
IG9yIGEgdGVtcG9yYXJ5IG9uZS4KICAgICBHcmFwaGljc0NvbnRleHQqIGNvbnRleHQoKSBjb25z
dCB7IHJldHVybiBtX2RyYXdDb250ZXh0OyB9CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUaGVtZUNocm9taXVtV2luLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUaGVtZUNocm9taXVtV2luLmNwcAkocmV2aXNpb24gNDE2ODUpCisrKyBXZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtV2luLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzAs
NiArNzAsMTEgQEAgcHVibGljOgogICAgICAgICBpbml0KGNvbnRleHQsIGdldExheWVyTW9kZShj
b250ZXh0LCB0cmFuc2Zvcm1Nb2RlKSwgdHJhbnNmb3JtTW9kZSwgcik7CiAgICAgfQogCisgICAg
flRoZW1lUGFpbnRlcigpCisgICAgeworICAgICAgICBjb21wb3NpdGUoKTsKKyAgICB9CisKIHBy
aXZhdGU6CiAgICAgc3RhdGljIExheWVyTW9kZSBnZXRMYXllck1vZGUoR3JhcGhpY3NDb250ZXh0
KiBjb250ZXh0LCBUcmFuc2Zvcm1Nb2RlIHRyYW5zZm9ybU1vZGUpCiAgICAgewo=
</data>

          </attachment>
      

    </bug>

</bugzilla>