<?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>82346</bug_id>
          
          <creation_ts>2012-03-27 09:04:28 -0700</creation_ts>
          <short_desc>[GTK] Purge unused favicons from IconDatabase after 30 days</short_desc>
          <delta_ts>2015-06-25 19:52:27 -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>WebKitGTK</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</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>
          
          <blocked>146334</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Sergio Villar Senin">svillar</reporter>
          <assigned_to name="Sergio Villar Senin">svillar</assigned_to>
          <cc>beidson</cc>
    
    <cc>eric</cc>
    
    <cc>gustavo</cc>
    
    <cc>japhet</cc>
    
    <cc>mrobinson</cc>
    
    <cc>svillar</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>588957</commentid>
    <comment_count>0</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2012-03-27 09:04:28 -0700</bug_when>
    <thetext>[GTK] Purge unused favicons from IconDatabase after 30 days</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>588960</commentid>
    <comment_count>1</comment_count>
      <attachid>134081</attachid>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2012-03-27 09:06:25 -0700</bug_when>
    <thetext>Created attachment 134081
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>588964</commentid>
    <comment_count>2</comment_count>
      <attachid>134081</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2012-03-27 09:10:40 -0700</bug_when>
    <thetext>Comment on attachment 134081
Patch

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

&gt; Source/WebCore/loader/icon/IconDatabase.cpp:85
&gt; +#if PLATFORM(GTK)
&gt; +// We are not interested on icons older than 30 days, so we&apos;ll delete
&gt; +// them if they have not been used after that time even if they are
&gt; +// not explicitely released.
&gt; +static const int notUsedIconExpirationTime = 60*60*24*30;
&gt; +#endif
&gt; +

Why not simply use an #ifdef for the iconExpirationTime above?

&gt; Source/WebCore/loader/icon/IconDatabase.cpp:1729
&gt; +    GOwnPtr&lt;char&gt; deleteQuery(g_strdup_printf(&quot;DELETE FROM PageURL WHERE iconID IN (SELECT iconID FROM IconInfo WHERE stamp &lt;= &apos;%f&apos;);&quot;, currentTime() - notUsedIconExpirationTime));

If this line has to stay you should use String::format so that this code is platform-independent.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>588969</commentid>
    <comment_count>3</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2012-03-27 09:18:24 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 134081 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=134081&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/loader/icon/IconDatabase.cpp:85
&gt; &gt; +#if PLATFORM(GTK)
&gt; &gt; +// We are not interested on icons older than 30 days, so we&apos;ll delete
&gt; &gt; +// them if they have not been used after that time even if they are
&gt; &gt; +// not explicitely released.
&gt; &gt; +static const int notUsedIconExpirationTime = 60*60*24*30;
&gt; &gt; +#endif
&gt; &gt; +
&gt; 
&gt; Why not simply use an #ifdef for the iconExpirationTime above?

Because that&apos;s a different thing. iconExpirationTime is used to &quot;refresh&quot; icons after 4 days. It isn&apos;t used to purge them but just to ensure that the database keeps always a quite recent copy of the icon. So this patch does not remove that feature and thus we still need it.

&gt; &gt; Source/WebCore/loader/icon/IconDatabase.cpp:1729
&gt; &gt; +    GOwnPtr&lt;char&gt; deleteQuery(g_strdup_printf(&quot;DELETE FROM PageURL WHERE iconID IN (SELECT iconID FROM IconInfo WHERE stamp &lt;= &apos;%f&apos;);&quot;, currentTime() - notUsedIconExpirationTime));
&gt; 
&gt; If this line has to stay you should use String::format so that this code is platform-independent.

Well we&apos;re only pruning the database in the GTK port so far, but I agree that using platform-independent code is better anyway.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>589022</commentid>
    <comment_count>4</comment_count>
      <attachid>134095</attachid>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2012-03-27 10:30:06 -0700</bug_when>
    <thetext>Created attachment 134095
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>589024</commentid>
    <comment_count>5</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2012-03-27 10:31:25 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; Created an attachment (id=134095) [details]
&gt; Patch

The previous version of the patch was not considering the case when stamp==0 which means that the icon is in the database but the actual icon data was not written to disk yet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>589747</commentid>
    <comment_count>6</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2012-03-28 01:47:53 -0700</bug_when>
    <thetext>As I told Xan on IRC I think that it&apos;d be better to use a different transaction to this operation. That way it wouldn&apos;t interfere with the previous pageURL deletions. Note that the pruning code is executed just once per execution at most so the performance impact of a single transaction is really negligible.

Some other thing to consider would be to enable this for all the other platforms. I think all of them would be interested. Brady any thoughts on this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>589750</commentid>
    <comment_count>7</comment_count>
      <attachid>134095</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2012-03-28 01:49:14 -0700</bug_when>
    <thetext>Comment on attachment 134095
Patch

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

This looks OK to me. If you want to move the 30day pruning to another transaction feel free, but I don&apos;t think it&apos;s mandatory.

&gt; Source/WebCore/loader/icon/IconDatabase.cpp:77
&gt; +// them if they have not been used after that time even if they are

Nitpick, but I think this sentence is a bit confusing. I&apos;d just write &quot;We are not interested in icons that have been unused for more than 30 days, delete them even if they have not been explicitly released&quot;.

&gt; Source/WebCore/loader/icon/IconDatabase.cpp:1724
&gt; +    // Delete icons not used in the last 30 days

I&apos;d add &quot;even if they are not retained&quot;, and missing dot at the end.

&gt; Source/WebCore/loader/icon/IconDatabase.cpp:1725
&gt; +    String deleteQuery = String::format(&quot;DELETE FROM PageURL WHERE iconID IN (SELECT iconID FROM IconInfo WHERE stamp &lt;= %.0f AND stamp &gt; 0);&quot;, floor(currentTime() - notUsedIconExpirationTime));

So this just deletes the PageURL stuff and the actual icon data will be pruned later in this same method. I think it would be worth making that clear, since the comment says &quot;Delete icons&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>589787</commentid>
    <comment_count>8</comment_count>
      <attachid>134095</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2012-03-28 02:50:07 -0700</bug_when>
    <thetext>Comment on attachment 134095
Patch

Sergio has mentioned he wants to do this in a different way now, so removing r+.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>589829</commentid>
    <comment_count>9</comment_count>
      <attachid>134260</attachid>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2012-03-28 04:10:48 -0700</bug_when>
    <thetext>Created attachment 134260
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>598294</commentid>
    <comment_count>10</comment_count>
      <attachid>134260</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2012-04-09 08:27:55 -0700</bug_when>
    <thetext>Comment on attachment 134260
Patch

This looks good to me. I wonder if it doesn&apos;t make sense to have this change enabled for everyone though. Do you mind asking the &quot;maintainers&quot; of the icon database whether they&apos;d be interested in it? suggest-reviewers gives me:


Adam Roben
Alexey Proskuryakov
Anders Carlsson
David Levin
Geoffrey Garen
George Staikos
Mark Rowe
Steve Block</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>694727</commentid>
    <comment_count>11</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2012-08-14 02:49:14 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; (From update of attachment 134260 [details])
&gt; This looks good to me. I wonder if it doesn&apos;t make sense to have this change enabled for everyone though. Do you mind asking the &quot;maintainers&quot; of the icon database whether they&apos;d be interested in it? suggest-reviewers gives me:

Brady do you think this might be interesting also for the rest of the platforms?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>695012</commentid>
    <comment_count>12</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2012-08-14 08:43:39 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; (In reply to comment #10)
&gt; &gt; (From update of attachment 134260 [details] [details])
&gt; &gt; This looks good to me. I wonder if it doesn&apos;t make sense to have this change enabled for everyone though. Do you mind asking the &quot;maintainers&quot; of the icon database whether they&apos;d be interested in it? suggest-reviewers gives me:
&gt; 
&gt; Brady do you think this might be interesting also for the rest of the platforms?

I haven&apos;t looked at the patch yet.  &quot;Purge unused icons after 30 days...&quot; of what?  30 days since they were set?  

In general this bug report proposes a conclusion &quot;Purge unused icons after 30 days&quot; with no explanation as to why this is desirable.

Without further exploration, this seems quite undesirable to us and we definitely don&apos;t want this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>695162</commentid>
    <comment_count>13</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2012-08-14 11:07:47 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; (In reply to comment #11)
&gt; &gt; (In reply to comment #10)
&gt; &gt; &gt; (From update of attachment 134260 [details] [details] [details])
&gt; &gt; &gt; This looks good to me. I wonder if it doesn&apos;t make sense to have this change enabled for everyone though. Do you mind asking the &quot;maintainers&quot; of the icon database whether they&apos;d be interested in it? suggest-reviewers gives me:
&gt; &gt; 
&gt; &gt; Brady do you think this might be interesting also for the rest of the platforms?
&gt; 
&gt; I haven&apos;t looked at the patch yet.  &quot;Purge unused icons after 30 days...&quot; of what?  30 days since they were set?  
&gt; 
&gt; In general this bug report proposes a conclusion &quot;Purge unused icons after 30 days&quot; with no explanation as to why this is desirable.
&gt; 
&gt; Without further exploration, this seems quite undesirable to us and we definitely don&apos;t want this.

Yeah sure, I should have added some extra information in the bug report. Everything is in the patch but yeah I should have mentioned the rationale here.

So basically this patch proposes to purge from the database all the icons that haven&apos;t been used during the last 30 days. This might be interesting because otherwise the icon database might grow forever if applications decide to retain every icon the database stores. It might be argued that the responsibility belongs to the apps but in this case I think most of them are interested in keeping the database under control.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>695228</commentid>
    <comment_count>14</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2012-08-14 12:08:46 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; (In reply to comment #12)
&gt; &gt; (In reply to comment #11)
&gt; &gt; &gt; (In reply to comment #10)
&gt; &gt; &gt; &gt; (From update of attachment 134260 [details] [details] [details] [details])
&gt; &gt; &gt; &gt; This looks good to me. I wonder if it doesn&apos;t make sense to have this change enabled for everyone though. Do you mind asking the &quot;maintainers&quot; of the icon database whether they&apos;d be interested in it? suggest-reviewers gives me:
&gt; &gt; &gt; 
&gt; &gt; &gt; Brady do you think this might be interesting also for the rest of the platforms?
&gt; &gt; 
&gt; &gt; I haven&apos;t looked at the patch yet.  &quot;Purge unused icons after 30 days...&quot; of what?  30 days since they were set?  
&gt; &gt; 
&gt; &gt; In general this bug report proposes a conclusion &quot;Purge unused icons after 30 days&quot; with no explanation as to why this is desirable.
&gt; &gt; 
&gt; &gt; Without further exploration, this seems quite undesirable to us and we definitely don&apos;t want this.
&gt; 
&gt; Yeah sure, I should have added some extra information in the bug report. Everything is in the patch but yeah I should have mentioned the rationale here.
&gt; 
&gt; So basically this patch proposes to purge from the database all the icons that haven&apos;t been used during the last 30 days.

&quot;Used&quot; means accessed at all, even read?

How does it enforce this?  Does it add information to the schema and writes to the database just for read-only access?

If so, then this is a performance hit for platforms that don&apos;t want this feature.  And a performance hit of the worst kind - additional I/O.

&gt; This might be interesting because otherwise the icon database might grow forever if applications decide to retain every icon the database stores. 

If an application decides to retain every icon in the database, then they are saying they don&apos;t want any icon to go away.  If the application actually does want an icon to go away even when they are retaining it, they are misusing the API.

&gt;It might be argued that the responsibility belongs to the apps but in this case I think most of them are interested in keeping the database under control.

An application that is interested in keeping the database under control should only retain icons it cares about.

In Safari&apos;s case, for example, it retains icons associated with Bookmark entries as well as history entries.  If the icon was there at one time, it expects the icon to be there in the future even if the user doesn&apos;t look at that particular bookmark or history entry for 30 days.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>695230</commentid>
    <comment_count>15</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2012-08-14 12:13:40 -0700</bug_when>
    <thetext>Okay I see the patch doesn&apos;t affect non-gtk ports.

I still know it&apos;s not something everybody is interesting in (since Apple doesn&apos;t want it), so please keep the ifdef&apos;s in place.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>696857</commentid>
    <comment_count>16</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2012-08-16 00:47:42 -0700</bug_when>
    <thetext>(In reply to comment #14)
&gt; &gt; So basically this patch proposes to purge from the database all the icons that haven&apos;t been used during the last 30 days.
&gt; 
&gt; &quot;Used&quot; means accessed at all, even read?
&gt; 
&gt; How does it enforce this?  Does it add information to the schema and writes to the database just for read-only access?
&gt; If so, then this is a performance hit for platforms that don&apos;t want this feature.  And a performance hit of the worst kind - additional I/O.

I think in this case it&apos;s better if you take a look to the patch instead of writing preconceived judgments (it&apos;s really small, it won&apos;t take you too much to review it). I&apos;m using the IconInfo.stamp information. As seen in the patch, I know that the stamp is only modified when the icon is downloaded from the server. The good thing is that the icon database refreshes icons every 4 days if they&apos;re used, so we can use that information to infer that the icons were not used during the last X days (otherwise they&apos;d have been downloaded from the server again).

&gt; &gt; This might be interesting because otherwise the icon database might grow forever if applications decide to retain every icon the database stores. 
&gt; 
&gt; If an application decides to retain every icon in the database, then they are saying they don&apos;t want any icon to go away.  If the application actually does want an icon to go away even when they are retaining it, they are misusing the API.
&gt; 
&gt; &gt;It might be argued that the responsibility belongs to the apps but in this case I think most of them are interested in keeping the database under control.
&gt; 
&gt; An application that is interested in keeping the database under control should only retain icons it cares about.

That&apos;s the point of this patch. Aren&apos;t 99% of applications interested in having such a control over the database?
 
&gt; In Safari&apos;s case, for example, it retains icons associated with Bookmark entries as well as history entries.  If the icon was there at one time, it expects the icon to be there in the future even if the user doesn&apos;t look at that particular bookmark or history entry for 30 days.

Fair enough.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>697220</commentid>
    <comment_count>17</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2012-08-16 09:40:56 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; (In reply to comment #14)
&gt; &gt; &gt; So basically this patch proposes to purge from the database all the icons that haven&apos;t been used during the last 30 days.
&gt; &gt; 
&gt; &gt; &quot;Used&quot; means accessed at all, even read?
&gt; &gt; 
&gt; &gt; How does it enforce this?  Does it add information to the schema and writes to the database just for read-only access?
&gt; &gt; If so, then this is a performance hit for platforms that don&apos;t want this feature.  And a performance hit of the worst kind - additional I/O.
&gt; 
&gt; I think in this case it&apos;s better if you take a look to the patch instead of writing preconceived judgments (it&apos;s really small, it won&apos;t take you too much to review it). 

If you look at comment 15 - 2 days before you wrote this - you&apos;ll see I already did that.

&gt; &gt; &gt; This might be interesting because otherwise the icon database might grow forever if applications decide to retain every icon the database stores. 
&gt; &gt; 
&gt; &gt; If an application decides to retain every icon in the database, then they are saying they don&apos;t want any icon to go away.  If the application actually does want an icon to go away even when they are retaining it, they are misusing the API.
&gt; &gt; 
&gt; &gt; &gt;It might be argued that the responsibility belongs to the apps but in this case I think most of them are interested in keeping the database under control.
&gt; &gt; 
&gt; &gt; An application that is interested in keeping the database under control should only retain icons it cares about.
&gt; 
&gt; That&apos;s the point of this patch. Aren&apos;t 99% of applications interested in having such a control over the database?

I&apos;m confused about this statement.

My assertion was that applications *already* have control of the icons that the database preserves.  By retaining a URL, that icon is not pruned from the database.

This bug and this patch purports to add an addition *implicit* mechanism of keeping icons around for 30 days.  That is *not* something the app would control.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>698041</commentid>
    <comment_count>18</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2012-08-17 01:34:44 -0700</bug_when>
    <thetext>(In reply to comment #17)
&gt; (In reply to comment #16)
&gt; &gt; I think in this case it&apos;s better if you take a look to the patch instead of writing preconceived judgments (it&apos;s really small, it won&apos;t take you too much to review it). 
&gt; 
&gt; If you look at comment 15 - 2 days before you wrote this - you&apos;ll see I already did that.

I was talking about your comment about modifying the schema, that the patch does not do. Anyway it does not make much sense to discuss about that.

&gt; &gt; That&apos;s the point of this patch. Aren&apos;t 99% of applications interested in having such a control over the database?
&gt; 
&gt; I&apos;m confused about this statement.
&gt; 
&gt; My assertion was that applications *already* have control of the icons that the database preserves.  By retaining a URL, that icon is not pruned from the database.

Yeah I understand your confusion, it was pretty bad written by my side. I know apps have all the control, what I wanted to say is that a high percentage of the applications want all the icons to be retained by default while keeping the database under control.

The point here is that in the GTK port we do not expose all the retain/release logic, but instead retain all the icons by default. That&apos;s why we need such a mechanism. But I agree that your approach of exposing all the retain/release do not require such an implicit database control mechanism because you already have to take care of all the icons on each application.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>699604</commentid>
    <comment_count>19</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2012-08-20 09:45:33 -0700</bug_when>
    <thetext>And the apple approach may make sense for us too, I guess. We could expire any icons the application didn&apos;t specifically request retaining, for instance?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>700555</commentid>
    <comment_count>20</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2012-08-21 00:58:49 -0700</bug_when>
    <thetext>(In reply to comment #19)
&gt; And the apple approach may make sense for us too, I guess. We could expire any icons the application didn&apos;t specifically request retaining, for instance?

That means opening a debate that I thought it was closed. When we implemented the icondatabase API in bug 56200 we decided to retain every icon by default because we thought that exposing the retain/release API was a mistake as most applications would want to retain icons by default.

So either we retain by default and purge, or we expose the retain/release API.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>702480</commentid>
    <comment_count>21</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-08-22 15:52:28 -0700</bug_when>
    <thetext>I could rubber-stamp this Gtk-only change, but it seems martin or xan or gns are better at that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>702976</commentid>
    <comment_count>22</comment_count>
      <attachid>134260</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2012-08-23 07:45:46 -0700</bug_when>
    <thetext>Comment on attachment 134260
Patch

In that case, let&apos;s do it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>703858</commentid>
    <comment_count>23</comment_count>
      <attachid>134260</attachid>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2012-08-24 00:45:26 -0700</bug_when>
    <thetext>Comment on attachment 134260
Patch

Clearing flags on attachment: 134260

Committed r126551: &lt;http://trac.webkit.org/changeset/126551&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>703859</commentid>
    <comment_count>24</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2012-08-24 00:45:31 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>134081</attachid>
            <date>2012-03-27 09:06:25 -0700</date>
            <delta_ts>2012-03-27 10:29:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-82346-20120327180623.patch</filename>
            <type>text/plain</type>
            <size>2823</size>
            <attacher name="Sergio Villar Senin">svillar</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEyMjQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWY1MGIzZmRmMDlmYTcx
YTg3NTRjMDhhMzIzNGI5MTRiNTRhMWZlNS4uNDhlOTg5NWJiYjVlY2VkNjQyODM0ODgxOGQ5MmU4
MDBhMGI5NTNjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTAzLTI3ICBTZXJn
aW8gVmlsbGFyIFNlbmluICA8c3ZpbGxhckBpZ2FsaWEuY29tPgorCisgICAgICAgIFtHVEtdIFB1
cmdlIHVudXNlZCBmYXZpY29ucyBmcm9tIEljb25EYXRhYmFzZSBhZnRlciAzMCBkYXlzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MjM0NgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZhdmljb25zIHdpbGwg
YmUgcmVtb3ZlZCBmcm9tIHRoZSBpY29uIGRhdGFiYXNlIGFmdGVyIG5vdCBiZWluZyB1c2VkCisg
ICAgICAgIGZvciBtb3JlIHRoYW4gMzAgZGF5cy4gVGhpcyB3aWxsIGtlZXAgdGhlIGRhdGFiYXNl
IHNpemUgdW5kZXIKKyAgICAgICAgY29udHJvbC4KKworICAgICAgICAqIGxvYWRlci9pY29uL0lj
b25EYXRhYmFzZS5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6Oklj
b25EYXRhYmFzZTo6cHJ1bmVVbnJldGFpbmVkSWNvbnMpOgorCiAyMDEyLTAzLTI2ICBMZXZpIFdl
aW50cmF1YiAgPGxldml3QGNocm9taXVtLm9yZz4KIAogICAgICAgICBDb252ZXJ0IFJlbmRlclNl
bGVjdGlvbkluZm86OnJlY3QgdG8gTGF5b3V0VW5pdHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
aWNvbi9JY29uRGF0YWJhc2UuY3BwCmluZGV4IGNlNGYwMTA0NjZjMGZiOGQxZGQ2ZTJjNWNmMmNk
MmU5ZDMxMmU2ODYuLjUwMTk2OGFhMDgwMGNiNDhmNzU5MDc5OGNhN2QwOTE4NWEwNjdkOTggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmNwcApAQCAtNDQsNiAr
NDQsMTAgQEAKICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAjaW5jbHVkZSA8d3RmL3Rl
eHQvQ1N0cmluZy5oPgogCisjaWYgUExBVEZPUk0oR1RLKQorI2luY2x1ZGUgPHd0Zi9nb2JqZWN0
L0dPd25QdHIuaD4KKyNlbmRpZgorCiAvLyBGb3IgbWV0aG9kcyB0aGF0IGFyZSBtZWFudCB0byBz
dXBwb3J0IEFQSSBmcm9tIHRoZSBtYWluIHRocmVhZCAtIHNob3VsZCBub3QgYmUgY2FsbGVkIGlu
dGVybmFsbHkKICNkZWZpbmUgQVNTRVJUX05PVF9TWU5DX1RIUkVBRCgpIEFTU0VSVCghbV9zeW5j
VGhyZWFkUnVubmluZyB8fCAhSVNfSUNPTl9TWU5DX1RIUkVBRCgpKQogCkBAIC03Miw2ICs3Niwx
MyBAQCBzdGF0aWMgY29uc3QgaW50IHVwZGF0ZVRpbWVyRGVsYXkgPSA1OwogCiBzdGF0aWMgYm9v
bCBjaGVja0ludGVncml0eU9uT3BlbiA9IGZhbHNlOwogCisjaWYgUExBVEZPUk0oR1RLKQorLy8g
V2UgYXJlIG5vdCBpbnRlcmVzdGVkIG9uIGljb25zIG9sZGVyIHRoYW4gMzAgZGF5cywgc28gd2Un
bGwgZGVsZXRlCisvLyB0aGVtIGlmIHRoZXkgaGF2ZSBub3QgYmVlbiB1c2VkIGFmdGVyIHRoYXQg
dGltZSBldmVuIGlmIHRoZXkgYXJlCisvLyBub3QgZXhwbGljaXRlbHkgcmVsZWFzZWQuCitzdGF0
aWMgY29uc3QgaW50IG5vdFVzZWRJY29uRXhwaXJhdGlvblRpbWUgPSA2MCo2MCoyNCozMDsKKyNl
bmRpZgorCiAjaWYgIUxPR19ESVNBQkxFRCB8fCAhRVJST1JfRElTQUJMRUQKIHN0YXRpYyBTdHJp
bmcgdXJsRm9yTG9nZ2luZyhjb25zdCBTdHJpbmcmIHVybCkKIHsKQEAgLTE3MTIsNyArMTcyMywx
NCBAQCB2b2lkIEljb25EYXRhYmFzZTo6cHJ1bmVVbnJldGFpbmVkSWNvbnMoKQogCiAgICAgU1FM
aXRlVHJhbnNhY3Rpb24gcHJ1bmluZ1RyYW5zYWN0aW9uKG1fc3luY0RCKTsKICAgICBwcnVuaW5n
VHJhbnNhY3Rpb24uYmVnaW4oKTsKLSAgICAKKworIyBpZiBQTEFURk9STShHVEspCisgICAgLy8g
RGVsZXRlIGljb25zIG5vdCB1c2VkIGluIHRoZSBsYXN0IDMwIGRheXMKKyAgICBHT3duUHRyPGNo
YXI+IGRlbGV0ZVF1ZXJ5KGdfc3RyZHVwX3ByaW50ZigiREVMRVRFIEZST00gUGFnZVVSTCBXSEVS
RSBpY29uSUQgSU4gKFNFTEVDVCBpY29uSUQgRlJPTSBJY29uSW5mbyBXSEVSRSBzdGFtcCA8PSAn
JWYnKTsiLCBjdXJyZW50VGltZSgpIC0gbm90VXNlZEljb25FeHBpcmF0aW9uVGltZSkpOworICAg
IGlmICghbV9zeW5jREIuZXhlY3V0ZUNvbW1hbmQoZGVsZXRlUXVlcnkuZ2V0KCkpKQorICAgICAg
ICBMT0dfRVJST1IoIlVuYWJsZWQgdG8gZGVsZXRlIHBhZ2VzIGZvciBpY29ucyBvbGRlciB0aGFu
ICVkIGRheXMgZnJvbSBkaXNrIiwgbm90VXNlZEljb25FeHBpcmF0aW9uVGltZSk7CisjZW5kaWYK
KwogICAgIC8vIFdpcGUgSWNvbnMgdGhhdCBhcmVuJ3QgcmV0YWluZWQKICAgICBpZiAoIW1fc3lu
Y0RCLmV4ZWN1dGVDb21tYW5kKCJERUxFVEUgRlJPTSBJY29uRGF0YSBXSEVSRSBpY29uSUQgTk9U
IElOIChTRUxFQ1QgaWNvbklEIEZST00gUGFnZVVSTCk7IikpCiAgICAgICAgIExPR19FUlJPUigi
RmFpbGVkIHRvIGV4ZWN1dGUgU1FMIHRvIHBydW5lIHVucmV0YWluZWQgaWNvbnMgZnJvbSB0aGUg
b24tZGlzayBJY29uRGF0YSB0YWJsZSIpOyAgICAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>134095</attachid>
            <date>2012-03-27 10:30:06 -0700</date>
            <delta_ts>2012-03-28 04:10:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-82346-20120327193004.patch</filename>
            <type>text/plain</type>
            <size>2493</size>
            <attacher name="Sergio Villar Senin">svillar</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEyMjQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWY1MGIzZmRmMDlmYTcx
YTg3NTRjMDhhMzIzNGI5MTRiNTRhMWZlNS4uNDhlOTg5NWJiYjVlY2VkNjQyODM0ODgxOGQ5MmU4
MDBhMGI5NTNjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTAzLTI3ICBTZXJn
aW8gVmlsbGFyIFNlbmluICA8c3ZpbGxhckBpZ2FsaWEuY29tPgorCisgICAgICAgIFtHVEtdIFB1
cmdlIHVudXNlZCBmYXZpY29ucyBmcm9tIEljb25EYXRhYmFzZSBhZnRlciAzMCBkYXlzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MjM0NgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZhdmljb25zIHdpbGwg
YmUgcmVtb3ZlZCBmcm9tIHRoZSBpY29uIGRhdGFiYXNlIGFmdGVyIG5vdCBiZWluZyB1c2VkCisg
ICAgICAgIGZvciBtb3JlIHRoYW4gMzAgZGF5cy4gVGhpcyB3aWxsIGtlZXAgdGhlIGRhdGFiYXNl
IHNpemUgdW5kZXIKKyAgICAgICAgY29udHJvbC4KKworICAgICAgICAqIGxvYWRlci9pY29uL0lj
b25EYXRhYmFzZS5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6Oklj
b25EYXRhYmFzZTo6cHJ1bmVVbnJldGFpbmVkSWNvbnMpOgorCiAyMDEyLTAzLTI2ICBMZXZpIFdl
aW50cmF1YiAgPGxldml3QGNocm9taXVtLm9yZz4KIAogICAgICAgICBDb252ZXJ0IFJlbmRlclNl
bGVjdGlvbkluZm86OnJlY3QgdG8gTGF5b3V0VW5pdHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
aWNvbi9JY29uRGF0YWJhc2UuY3BwCmluZGV4IGNlNGYwMTA0NjZjMGZiOGQxZGQ2ZTJjNWNmMmNk
MmU5ZDMxMmU2ODYuLmNmMTY3MjhhZTZmY2EyZTc2MDRhMGI0ZWY3ZWIxYTgwOTg2YmQyMzAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmNwcApAQCAtNzIsNiAr
NzIsMTMgQEAgc3RhdGljIGNvbnN0IGludCB1cGRhdGVUaW1lckRlbGF5ID0gNTsKIAogc3RhdGlj
IGJvb2wgY2hlY2tJbnRlZ3JpdHlPbk9wZW4gPSBmYWxzZTsKIAorI2lmIFBMQVRGT1JNKEdUSykK
Ky8vIFdlIGFyZSBub3QgaW50ZXJlc3RlZCBvbiBpY29ucyBvbGRlciB0aGFuIDMwIGRheXMsIHNv
IHdlJ2xsIGRlbGV0ZQorLy8gdGhlbSBpZiB0aGV5IGhhdmUgbm90IGJlZW4gdXNlZCBhZnRlciB0
aGF0IHRpbWUgZXZlbiBpZiB0aGV5IGFyZQorLy8gbm90IGV4cGxpY2l0ZWx5IHJlbGVhc2VkLgor
c3RhdGljIGNvbnN0IGludCBub3RVc2VkSWNvbkV4cGlyYXRpb25UaW1lID0gNjAqNjAqMjQqMzA7
CisjZW5kaWYKKwogI2lmICFMT0dfRElTQUJMRUQgfHwgIUVSUk9SX0RJU0FCTEVECiBzdGF0aWMg
U3RyaW5nIHVybEZvckxvZ2dpbmcoY29uc3QgU3RyaW5nJiB1cmwpCiB7CkBAIC0xNzEyLDcgKzE3
MTksMTQgQEAgdm9pZCBJY29uRGF0YWJhc2U6OnBydW5lVW5yZXRhaW5lZEljb25zKCkKIAogICAg
IFNRTGl0ZVRyYW5zYWN0aW9uIHBydW5pbmdUcmFuc2FjdGlvbihtX3N5bmNEQik7CiAgICAgcHJ1
bmluZ1RyYW5zYWN0aW9uLmJlZ2luKCk7Ci0gICAgCisKKyMgaWYgUExBVEZPUk0oR1RLKQorICAg
IC8vIERlbGV0ZSBpY29ucyBub3QgdXNlZCBpbiB0aGUgbGFzdCAzMCBkYXlzCisgICAgU3RyaW5n
IGRlbGV0ZVF1ZXJ5ID0gU3RyaW5nOjpmb3JtYXQoIkRFTEVURSBGUk9NIFBhZ2VVUkwgV0hFUkUg
aWNvbklEIElOIChTRUxFQ1QgaWNvbklEIEZST00gSWNvbkluZm8gV0hFUkUgc3RhbXAgPD0gJS4w
ZiBBTkQgc3RhbXAgPiAwKTsiLCBmbG9vcihjdXJyZW50VGltZSgpIC0gbm90VXNlZEljb25FeHBp
cmF0aW9uVGltZSkpOworICAgIGlmICghbV9zeW5jREIuZXhlY3V0ZUNvbW1hbmQoZGVsZXRlUXVl
cnkpKQorICAgICAgICBMT0dfRVJST1IoIlVuYWJsZWQgdG8gZGVsZXRlIHBhZ2VzIGZvciBpY29u
cyBvbGRlciB0aGFuICVkIGRheXMgZnJvbSBkaXNrIiwgbm90VXNlZEljb25FeHBpcmF0aW9uVGlt
ZSk7CisjZW5kaWYKKwogICAgIC8vIFdpcGUgSWNvbnMgdGhhdCBhcmVuJ3QgcmV0YWluZWQKICAg
ICBpZiAoIW1fc3luY0RCLmV4ZWN1dGVDb21tYW5kKCJERUxFVEUgRlJPTSBJY29uRGF0YSBXSEVS
RSBpY29uSUQgTk9UIElOIChTRUxFQ1QgaWNvbklEIEZST00gUGFnZVVSTCk7IikpCiAgICAgICAg
IExPR19FUlJPUigiRmFpbGVkIHRvIGV4ZWN1dGUgU1FMIHRvIHBydW5lIHVucmV0YWluZWQgaWNv
bnMgZnJvbSB0aGUgb24tZGlzayBJY29uRGF0YSB0YWJsZSIpOyAgICAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>134260</attachid>
            <date>2012-03-28 04:10:48 -0700</date>
            <delta_ts>2012-08-24 00:45:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-82346-20120328131046.patch</filename>
            <type>text/plain</type>
            <size>3008</size>
            <attacher name="Sergio Villar Senin">svillar</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEyMzc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGNjMGRjNDIwZjVjYmEz
OWZkM2MwMWMzNDBhMWJkZWY3ZTRmOGY0YS4uZmUyODc5ZmQ4NDQ0NmJlYmFmMzAxMDcwNDQ5MjQ3
NTQ2NGYwZWZiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEyLTAzLTI4ICBTZXJn
aW8gVmlsbGFyIFNlbmluICA8c3ZpbGxhckBpZ2FsaWEuY29tPgorCisgICAgICAgIFtHVEtdIFB1
cmdlIHVudXNlZCBmYXZpY29ucyBmcm9tIEljb25EYXRhYmFzZSBhZnRlciAzMCBkYXlzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MjM0NgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZhdmljb25zIHdpbGwg
YmUgcmVtb3ZlZCBmcm9tIHRoZSBpY29uIGRhdGFiYXNlIGFmdGVyIG5vdCBiZWluZyB1c2VkCisg
ICAgICAgIGZvciBtb3JlIHRoYW4gMzAgZGF5cy4gVGhpcyB3aWxsIGtlZXAgdGhlIGRhdGFiYXNl
IHNpemUgdW5kZXIKKyAgICAgICAgY29udHJvbC4KKworICAgICAgICAqIGxvYWRlci9pY29uL0lj
b25EYXRhYmFzZS5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6Oklj
b25EYXRhYmFzZTo6cGVyZm9ybVVSTEltcG9ydCk6IGZpbHRlciBpY29ucyBvbGRlciB0aGFuCisg
ICAgICAgIDMwIGRheXMuCisKIDIwMTItMDMtMjcgIEphbWVzIFJvYmluc29uICA8amFtZXNyQGNo
cm9taXVtLm9yZz4KIAogICAgICAgICBbY2hyb21pdW1dIFRyYW5zZmVyIHdoZWVsIGZsaW5nIHZp
YSBXZWJDb21wb3NpdG9ySW5wdXRIYW5kbGVyQ2xpZW50CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L2ljb24vSWNvbkRhdGFiYXNlLmNwcAppbmRleCBjZTRmMDEwNDY2YzBmYjhkMWRkNmUyYzVjZjJj
ZDJlOWQzMTJlNjg2Li5iOWM2ZGJhODAxMDZhMGQ5ZWEwNzQxNmM4NGY1YmJlYWI5ZDFhMjlkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJhc2UuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5jcHAKQEAgLTcyLDYg
KzcyLDEyIEBAIHN0YXRpYyBjb25zdCBpbnQgdXBkYXRlVGltZXJEZWxheSA9IDU7CiAKIHN0YXRp
YyBib29sIGNoZWNrSW50ZWdyaXR5T25PcGVuID0gZmFsc2U7CiAKKyNpZiBQTEFURk9STShHVEsp
CisvLyBXZSBhcmUgbm90IGludGVyZXN0ZWQgaW4gaWNvbnMgdGhhdCBoYXZlIGJlZW4gdW51c2Vk
IGZvciBtb3JlIHRoYW4KKy8vIDMwIGRheXMsIGRlbGV0ZSB0aGVtIGV2ZW4gaWYgdGhleSBoYXZl
IG5vdCBiZWVuIGV4cGxpY2l0bHkgcmVsZWFzZWQuCitzdGF0aWMgY29uc3QgaW50IG5vdFVzZWRJ
Y29uRXhwaXJhdGlvblRpbWUgPSA2MCo2MCoyNCozMDsKKyNlbmRpZgorCiAjaWYgIUxPR19ESVNB
QkxFRCB8fCAhRVJST1JfRElTQUJMRUQKIHN0YXRpYyBTdHJpbmcgdXJsRm9yTG9nZ2luZyhjb25z
dCBTdHJpbmcmIHVybCkKIHsKQEAgLTEyMTcsNyArMTIyMywxNyBAQCB2b2lkIEljb25EYXRhYmFz
ZTo6cGVyZm9ybVVSTEltcG9ydCgpCiB7CiAgICAgQVNTRVJUX0lDT05fU1lOQ19USFJFQUQoKTsK
IAotICAgIFNRTGl0ZVN0YXRlbWVudCBxdWVyeShtX3N5bmNEQiwgIlNFTEVDVCBQYWdlVVJMLnVy
bCwgSWNvbkluZm8udXJsLCBJY29uSW5mby5zdGFtcCBGUk9NIFBhZ2VVUkwgSU5ORVIgSk9JTiBJ
Y29uSW5mbyBPTiBQYWdlVVJMLmljb25JRD1JY29uSW5mby5pY29uSUQ7Iik7CisjIGlmIFBMQVRG
T1JNKEdUSykKKyAgICAvLyBEbyBub3QgaW1wb3J0IGljb25zIG5vdCB1c2VkIGluIHRoZSBsYXN0
IDMwIGRheXMuIFRoZXkgd2lsbCBiZSBhdXRvbWF0aWNhbGx5IHBydW5lZCBsYXRlciBpZiBub2Jv
ZHkgcmV0YWlucyB0aGVtLgorICAgIC8vIE5vdGUgdGhhdCBJY29uSW5mby5zdGFtcCBpcyBvbmx5
IHNldCB3aGVuIHRoZSBpY29uIGRhdGEgaXMgcmV0cmlldmVkIGZyb20gdGhlIHNlcnZlciAoYW5k
IHRodXMgaXMgbm90IHVwZGF0ZWQgd2hldGhlcgorICAgIC8vIHdlIHVzZSBpdCBvciBub3QpLiBU
aGlzIGNvZGUgd29ya3MgYW55d2F5IGJlY2F1c2UgdGhlIEljb25EYXRhYmFzZSBkb3dubG9hZHMg
aWNvbnMgYWdhaW4gaWYgdGhleSBhcmUgb2xkZXIgdGhhbiA0IGRheXMsCisgICAgLy8gc28gaWYg
dGhlIHRpbWVzdGFtcCBnb2VzIGJhY2sgaW4gdGltZSBtb3JlIHRoYW4gdGhvc2UgMzAgZGF5cyB3
ZSBjYW4gYmUgc3VyZSB0aGF0IHRoZSBpY29uIHdhcyBub3QgdXNlZCBhdCBhbGwuCisgICAgU3Ry
aW5nIGltcG9ydFF1ZXJ5ID0gU3RyaW5nOjpmb3JtYXQoIlNFTEVDVCBQYWdlVVJMLnVybCwgSWNv
bkluZm8udXJsLCBJY29uSW5mby5zdGFtcCBGUk9NIFBhZ2VVUkwgSU5ORVIgSk9JTiBJY29uSW5m
byBPTiBQYWdlVVJMLmljb25JRD1JY29uSW5mby5pY29uSUQgV0hFUkUgSWNvbkluZm8uc3RhbXAg
PiAlLjBmOyIsIGZsb29yKGN1cnJlbnRUaW1lKCkgLSBub3RVc2VkSWNvbkV4cGlyYXRpb25UaW1l
KSk7CisjZWxzZQorICAgIFN0cmluZyBpbXBvcnRRdWVyeSgiU0VMRUNUIFBhZ2VVUkwudXJsLCBJ
Y29uSW5mby51cmwsIEljb25JbmZvLnN0YW1wIEZST00gUGFnZVVSTCBJTk5FUiBKT0lOIEljb25J
bmZvIE9OIFBhZ2VVUkwuaWNvbklEPUljb25JbmZvLmljb25JRDsiKTsKKyNlbmRpZgorCisgICAg
U1FMaXRlU3RhdGVtZW50IHF1ZXJ5KG1fc3luY0RCLCBpbXBvcnRRdWVyeSk7CiAgICAgCiAgICAg
aWYgKHF1ZXJ5LnByZXBhcmUoKSAhPSBTUUxSZXN1bHRPaykgewogICAgICAgICBMT0dfRVJST1Io
IlVuYWJsZSB0byBwcmVwYXJlIGljb24gdXJsIGltcG9ydCBxdWVyeSIpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>