<?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>25831</bug_id>
          
          <creation_ts>2009-05-15 21:08:53 -0700</creation_ts>
          <short_desc>[GTK] events missing when a document is (re)loaded</short_desc>
          <delta_ts>2011-02-16 09:13:00 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Accessibility</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Gtk</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>30964</dependson>
    
    <dependson>50215</dependson>
    
    <dependson>54198</dependson>
    
    <dependson>54295</dependson>
          <blocked>25531</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Joanmarie Diggs">jdiggs</reporter>
          <assigned_to name="Mario Sanchez Prada">mario</assigned_to>
          <cc>abarth</cc>
    
    <cc>apinheiro</cc>
    
    <cc>eric</cc>
    
    <cc>jmillan</cc>
    
    <cc>mario</cc>
    
    <cc>walker.willie</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>121620</commentid>
    <comment_count>0</comment_count>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2009-05-15 21:08:53 -0700</bug_when>
    <thetext>When a document is (re)loaded, the following events should be emitted:

1) object:state-changed:busy with detail1 == 1

2) document:reload (Only if the existing document is being reloaded.)

.....page contents change.....

3) document:load-complete or document:load-stopped

4) object:state-changed:busy with detail1 == 0

See http://library.gnome.org/devel/atk/unstable/AtkDocument.html

In addition, the current implementation of WebKit replaces the top level object (ROLE_DOCUMENT_FRAME) with a new object when a page is loaded. When this occurs, it would be helpful if the following events were emitted:

1) object:state-changed:defunct emitted by the top level object/document frame only (i.e. This event should NOT be emitted for all of the AtkObjects from the old page as that will potentially bombard ATs with too many events.)

2) object:children-changed:remove emitted by the parent (ROLE_SCROLL_PANE) of the top level object.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>208757</commentid>
    <comment_count>1</comment_count>
      <attachid>52585</attachid>
    <who name="José Millán Soto">jmillan</who>
    <bug_when>2010-04-05 15:52:29 -0700</bug_when>
    <thetext>Created attachment 52585
AtkDocument events implementation

This patch implements the emission of the signals object:state-changed:busy, document:reload, document:load-complete, document:load-stopped and object:state-changed:defunct.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>208759</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-04-05 15:56:19 -0700</bug_when>
    <thetext>Attachment 52585 did not pass style-queue:

Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
WebCore/ChangeLog:8:  Line contains tab character.  [whitespace/tab] [5]
Total errors found: 1 in 5 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>208817</commentid>
    <comment_count>3</comment_count>
      <attachid>52590</attachid>
    <who name="José Millán Soto">jmillan</who>
    <bug_when>2010-04-05 17:44:05 -0700</bug_when>
    <thetext>Created attachment 52590
AtkDocument events implementation

New version of the patch.
Sorry for the error in the Changelog file of the previous one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>223715</commentid>
    <comment_count>4</comment_count>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2010-05-10 21:05:41 -0700</bug_when>
    <thetext>I just gave this a spin. Thanks for doing it!

Unfortunately, here&apos;s what I&apos;m seeing in the terminal window from which I launched GtkLauncher:

(GtkLauncher:22151): GLib-GObject-WARNING **: /build/buildd/glib2.0-2.24.0/gobject/gsignal.c:3079: signal name `state-changed:defunct&apos; is invalid for instance `0x968c768&apos;

(GtkLauncher:22151): GLib-GObject-WARNING **: /build/buildd/glib2.0-2.24.0/gobject/gsignal.c:3079: signal name `state-changed:defunct&apos; is invalid for instance `0x96776a0&apos;
** Message: console message: http://googlevideo.blogspot.com/ @813: ReferenceError: Can&apos;t find variable: OnLoad


(GtkLauncher:22151): GLib-GObject-WARNING **: /build/buildd/glib2.0-2.24.0/gobject/gsignal.c:3079: signal name `state-changed:defunct&apos; is invalid for instance `0x967ef40&apos;

(GtkLauncher:22151): GLib-GObject-WARNING **: /build/buildd/glib2.0-2.24.0/gobject/gsignal.c:3079: signal name `state-changed:defunct&apos; is invalid for instance `0xb4b14968&apos;

(GtkLauncher:22151): GLib-GObject-WARNING **: /build/buildd/glib2.0-2.24.0/gobject/gsignal.c:3079: signal name `state-changed:defunct&apos; is invalid for instance `0x9674a00&apos;

==============================

Here&apos;s what I&apos;m seeing in Accerciser&apos;s event monitor:

[document frame | ]
	application: [application | GtkLauncher]
[document frame | ]
	application: [application | GtkLauncher]
document:load-complete(0, 0, )
	source: [document frame | ]
	application: [application | GtkLauncher]
[document frame | ]
	application: [application | GtkLauncher]
[document frame | ]
	application: [application | GtkLauncher]

==============================

Here&apos;s what I see in Accerciser&apos;s event monitor when using Firefox:

document:reload(0, 0, Ubuntu Start Page)
	source: [document frame | Ubuntu Start Page]
	application: [application | Firefox]
document:load-complete(0, 0, Ubuntu Start Page)
	source: [document frame | Ubuntu Start Page]
	application: [application | Firefox]
document:load-complete(0, 0, foo - Google Search)
	source: [document frame | foo - Google Search]
	application: [application | Firefox]
document:load-complete(0, 0, Foobar - Wikipedia, the free encyclopedia)
	source: [document frame | Foobar - Wikipedia, the free encyclopedia]
	application: [application | Firefox]

The Accerciser output for WebKitGtk isn&apos;t just incomplete, something funky is taking place for events which are not document:load-complete. That&apos;s the biggest issue. It would be good to have the page title as the event.any_data, but if that&apos;s a pain it can be treated as a separate bug IMHO.

(Sorry for the bad news!)

BTW, José, if you&apos;re not familiar with Accerciser, I encourage you to get it. Best. Tool. EVER. Seriously. http://live.gnome.org/Accerciser

If Alejandro (API) has the time, he should be able to give you a crash course in its use. Otherwise, I will do my best to be around on IRC. And if you don&apos;t see me in #webkit-gtk, I might be hiding but still online. My nick on freenode is joanie.

Thanks again for your work!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>225197</commentid>
    <comment_count>5</comment_count>
      <attachid>52590</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2010-05-13 01:10:19 -0700</bug_when>
    <thetext>Comment on attachment 52590
AtkDocument events implementation

Removing from the queue since the patch does not seem to work, need to work on it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>308441</commentid>
    <comment_count>6</comment_count>
      <attachid>73716</attachid>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2010-11-12 01:46:07 -0800</bug_when>
    <thetext>Created attachment 73716
AtkDocument events implementation

Attaching a new patch addressing the pending issues, based on Jose Millan&apos;s patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>308776</commentid>
    <comment_count>7</comment_count>
      <attachid>73716</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2010-11-12 14:01:14 -0800</bug_when>
    <thetext>Comment on attachment 73716
AtkDocument events implementation

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

&gt; WebCore/accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:165
&gt; +        return returnString(coreObject-&gt;document()-&gt;title());

only returning the title here limits some future flexibility, so as using aria-label, name or something else that might also be available

&gt; WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp:215
&gt; +

don&apos;t know how you would get into this method to turn on AX, since the only caller first checks if AX is on before calling this method... see notifyStatus() change</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>309210</commentid>
    <comment_count>8</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2010-11-15 02:28:51 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; (From update of attachment 73716 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=73716&amp;action=review
&gt; 
&gt; &gt; WebCore/accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:165
&gt; &gt; +        return returnString(coreObject-&gt;document()-&gt;title());
&gt; 
&gt; only returning the title here limits some future flexibility, so as using aria-label, name or something 
&gt; else that might also be available

My (probably poor) reasoning here was that no string was being returned for the object with the webArea role so that returning something like this would be at least an improvement (and very useful for emitting the signals along with this patch in the right way).

But most likely you&apos;re right and I should instead re-write this in a way that all those other possible situations were taken into account as well (perhaps moving this lines to the end of the function, as some kind of fallback in case no other string was found, or by defining a dedicated static function).

I&apos;ll come up with a new patch soon, just willing to share these thoughts now

&gt; &gt; WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp:215
&gt; &gt; +
&gt; 
&gt; don&apos;t know how you would get into this method to turn on AX, since the only caller first checks if 
&gt; AX is on before calling this method... see notifyStatus() change

My bad, sure. Thanks for pointing it out.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>309212</commentid>
    <comment_count>9</comment_count>
      <attachid>73716</attachid>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2010-11-15 02:29:47 -0800</bug_when>
    <thetext>Comment on attachment 73716
AtkDocument events implementation

Removing r? flag since there are still some changes that need to be done</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>309221</commentid>
    <comment_count>10</comment_count>
      <attachid>73881</attachid>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2010-11-15 03:41:10 -0800</bug_when>
    <thetext>Created attachment 73881
AtkDocument events implementation

New patch, addressing the issues pointed out by Chris.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>311517</commentid>
    <comment_count>11</comment_count>
      <attachid>74398</attachid>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2010-11-19 09:22:16 -0800</bug_when>
    <thetext>Created attachment 74398
AtkDocument events implementation + New unit test

(In reply to comment #10)
&gt; Created an attachment (id=73881) [details]
&gt; AtkDocument events implementation
&gt; 
&gt; New patch, addressing the issues pointed out by Chris.

Following Martin&apos;s suggestion via IRC, now attaching a new version of the patch, featuring a new unit test to carefully check that the related events are being emitted, and in the right order.

Asking for review over this one then...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>311804</commentid>
    <comment_count>12</comment_count>
      <attachid>74398</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2010-11-19 18:28:30 -0800</bug_when>
    <thetext>Comment on attachment 74398
AtkDocument events implementation + New unit test

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

&gt; WebCore/accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:196
&gt; +

Mmm, where is this used in the patch?

&gt; WebKit/gtk/tests/testatk.c:316
&gt; +    g_timeout_add(10000, (GSourceFunc)bailOutFromMainLoop, loop);

Uh, 10000? In general I don&apos;t like this thing of having a timeout &quot;in case the test hangs&quot;. It should either pass or ASSERT somewhere IMHO. That being said, 10s is surely way too long.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>311920</commentid>
    <comment_count>13</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2010-11-20 06:31:23 -0800</bug_when>
    <thetext>(In reply to comment #12)
&gt; (From update of attachment 74398 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=74398&amp;action=review
&gt; 
&gt; &gt; WebCore/accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:196
&gt; &gt; +
&gt; 
&gt; Mmm, where is this used in the patch?

It&apos;s not explicitly used anywhere but this code allows that we get more complete information along with the signals issued by the webArea. 

In other words, without that code, we&apos;d get things like this:

document:load-complete(0, 0, )
    source: [document frame | ]
    application: [application | GtkLauncher]


...but with the patch we&apos;d get this:

document:load-complete(0, 0, Ubuntu Start Page)
    source: [document frame | Ubuntu Start Page]
    application: [application | GtkLauncher]

...as that information comes right from the atk_object_get_name() method executed over the AtkObject for the webArea object.

&gt; &gt; WebKit/gtk/tests/testatk.c:316
&gt; &gt; +    g_timeout_add(10000, (GSourceFunc)bailOutFromMainLoop, loop);
&gt; 
&gt; Uh, 10000? In general I don&apos;t like this thing of having a timeout &quot;in case the test hangs&quot;. It should either pass or ASSERT somewhere IMHO. That being said, 10s is surely way too long.

Well, I don&apos;t really see the problem because the test would normally (actually all the times I tried it) run as quick as the reload process lasts (that is, way less than 10 secs, not even 1sec I&apos;d say). The timeout is just a way to ensure the test won&apos;t hang, and I couldn&apos;t find any other better option for that.

Perhaps 10 secs is too much so we could lower that to 2-3 secs, that would look fine to me. But I do not see many other options here since we&apos;re dealing with asinchronous stuff... I&apos;m open to suggestions, though :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>313037</commentid>
    <comment_count>14</comment_count>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2010-11-23 15:20:54 -0800</bug_when>
    <thetext>(In reply to comment #13)
&gt; Well, I don&apos;t really see the problem because the test would normally (actually all the times I tried it) run as quick as the reload process lasts (that is, way less than 10 secs, not even 1sec I&apos;d say). The timeout is just a way to ensure the test won&apos;t hang, and I couldn&apos;t find any other better option for that.
&gt; 
&gt; Perhaps 10 secs is too much so we could lower that to 2-3 secs, that would look fine to me. But I do not see many other options here since we&apos;re dealing with asinchronous stuff... I&apos;m open to suggestions, though :-)

My point is, either you know the test just has to finish, probably very fast, or not. If you don&apos;t, then there&apos;s something wrong and we should fix it, or make the test ASSERT in case it hits the problem. Otherwise we should be adding 10s timeouts everywhere just in case some test hangs... (FWIW the layout tests have this I believe, but it&apos;s done generally and not in each test separately).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>313958</commentid>
    <comment_count>15</comment_count>
      <attachid>74920</attachid>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2010-11-26 04:31:32 -0800</bug_when>
    <thetext>Created attachment 74920
AtkDocument events implementation + New unit test

(In reply to comment #14)
&gt; 
&gt; My point is, either you know the test just has to finish, probably very fast, or not.
&gt; If you don&apos;t, then there&apos;s something wrong and we should fix it, or make the test
&gt; ASSERT in case it hits the problem. Otherwise we should be adding 10s timeouts
&gt; everywhere just in case some test hangs... (FWIW the layout tests have this I
&gt; believe, but it&apos;s done generally and not in each test separately).

After the discussion about this in the IRC, I just rewrote the unit test code in testatk.c not to use a new main loop nor a call to g_add_timeout(), using the g_test_trap_* API instead, where I set a 2secs timeout as guard for the unlikely case where the unit test would fail.

Attaching a new patch then</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>313989</commentid>
    <comment_count>16</comment_count>
      <attachid>74920</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2010-11-26 06:02:59 -0800</bug_when>
    <thetext>Comment on attachment 74920
AtkDocument events implementation + New unit test

Great stuff!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>314028</commentid>
    <comment_count>17</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2010-11-26 08:19:03 -0800</bug_when>
    <thetext>Committed r72764: &lt;http://trac.webkit.org/changeset/72764&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>314955</commentid>
    <comment_count>18</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2010-11-30 04:47:14 -0800</bug_when>
    <thetext>Reopening as there seems to be a problem with the current patch, which was causing API crashes in the bots. The patch has already been rolled out through bug 50215.

My wild guessing up to this point is that could be something related to the fork done trhough the g_test_trap_fork() function, so perhaps it would be better to avoid that usage and replace it with some good-enough equivalent code to test this case (something like the previous version of th epatch).

But won&apos;t be able to tell for sure until I find a way to reproduce the problem locally</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>315574</commentid>
    <comment_count>19</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2010-12-01 02:01:22 -0800</bug_when>
    <thetext>Looks like the problem is related to another (still unresolved) bug, which is currently being worked around through an &quot;ASSERT(m_currentItem); if (!m_current_item) return;&quot; combo:

    void HistoryController::restoreScrollPositionAndViewState()
    {
        [...]

        ASSERT(m_currentItem);
    
        // FIXME: As the ASSERT attests, it seems we should always have a currentItem here.
        // One counterexample is &lt;rdar://problem/4917290&gt;
        // For now, to cover this issue in release builds, there is no technical harm to returning
        // early and from a user standpoint - as in the above radar - the previous page load failed 
        // so there *is* no scroll or view state to restore!
        if (!m_currentItem)
            return;
    
        [...]
    }

Not sure how to proceed here then... I&apos;ll try to investigate the root issue to see if I can help on that FIXME, or just find another way to implement the unit test avoiding this code (whenever it&apos;s possible), if I can&apos;t find a better fix for the whole problem.

Btw, is there any way I can check rdar://problem/4917290 ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>315845</commentid>
    <comment_count>20</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2010-12-01 13:11:33 -0800</bug_when>
    <thetext>Depending on bug 50331, reported to track the issue about the failing ASSERT</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>322251</commentid>
    <comment_count>21</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-12-14 15:12:15 -0800</bug_when>
    <thetext>Attachment 74920 was posted by a committer and has review+, assigning to Mario Sanchez Prada for commit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>322536</commentid>
    <comment_count>22</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2010-12-15 01:12:35 -0800</bug_when>
    <thetext>(In reply to comment #21)
&gt; Attachment 74920 [details] was posted by a committer and has review+, assigning to Mario Sanchez Prada for commit.

Yes, I&apos;m just waiting for bug 50331 to be resolved before committing this one, since it&apos;s depending on that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>349008</commentid>
    <comment_count>23</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2011-02-10 06:05:29 -0800</bug_when>
    <thetext>Removing dependency from bug 50331 since it&apos;s very likely that, as soon as bug 54198 gets fixed, we could write a Layout test for this patch instead of an unit test (which was what was actually being blocked by bug 50331)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>349704</commentid>
    <comment_count>24</comment_count>
      <attachid>82118</attachid>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2011-02-11 03:56:57 -0800</bug_when>
    <thetext>Created attachment 82118
Patch proposal + Layout Tests

Attaching a new patch that replaces the old unit test with a layout test, now that we have bug 54198 fixed and no longer depend on bug 50331

Asking for review again then. It should be pretty straightforward, as the fix itself hasn&apos;t changed a single line.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>349712</commentid>
    <comment_count>25</comment_count>
      <attachid>82118</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2011-02-11 04:46:57 -0800</bug_when>
    <thetext>Comment on attachment 82118
Patch proposal + Layout Tests

Looks pretty good to me, great that we can use layout tests for this now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>349714</commentid>
    <comment_count>26</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2011-02-11 04:52:00 -0800</bug_when>
    <thetext>(In reply to comment #25)
&gt; (From update of attachment 82118 [details])
&gt; Looks pretty good to me, great that we can use layout tests for this now.

Yeah, I definitely agree with this as well.

Thanks for the quick review</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>349716</commentid>
    <comment_count>27</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2011-02-11 04:54:06 -0800</bug_when>
    <thetext>Committed r78331: &lt;http://trac.webkit.org/changeset/78331&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>349733</commentid>
    <comment_count>28</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-02-11 05:58:21 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/78331 might have broken GTK Linux 32-bit Release
The following tests are not passing:
fast/dynamic/view-overflow.html
fast/dynamic/window-scrollbars-test.html
fast/frames/flattening/frameset-flattening-simple.html
fast/overflow/clip-rects-fixed-ancestor.html
fast/repaint/fixed-child-move-after-scroll.html
fast/repaint/fixed-child-of-fixed-move-after-scroll.html
fast/repaint/fixed-move-after-scroll.html
fast/repaint/fixed-tranformed.html
fast/repaint/fixed.html
scrollbars/custom-scrollbar-with-incomplete-style.html
transforms/2d/transform-fixed-container.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>349856</commentid>
    <comment_count>29</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2011-02-11 11:13:59 -0800</bug_when>
    <thetext>Reopening as per rollout done through bug 54295</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>349859</commentid>
    <comment_count>30</comment_count>
      <attachid>82118</attachid>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2011-02-11 11:15:06 -0800</bug_when>
    <thetext>Comment on attachment 82118
Patch proposal + Layout Tests

Clearing up flags as this patch caused some problems and needed to be rolled out (see bug 54295)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>352104</commentid>
    <comment_count>31</comment_count>
      <attachid>82645</attachid>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2011-02-16 08:47:25 -0800</bug_when>
    <thetext>Created attachment 82645
Patch proposal + Layout test

(In reply to comment #29)
&gt; Reopening as per rollout done through bug 54295

Attaching new patch, which does not interfere with other tests as it was pointed out in comment 28.

Seems like we can&apos;t call to gtk_widget_get_accessible() from notifyAccessibilityStatus() in FrameLoaderClientGtk.cpp, as that will call AXObjectCache::rootObject() which will call getOrCreate() over m_document-&gt;view, which by that time might be not ready.

I worked around this by directly calling to getOrCreate over the contentRenderer for the frame currently in use, which returned the valid AtkObject as well (and proof for this is that the returned object implements the AtkDocument interface which only happens for that single object of interest).

Hence, eagerly asking for review :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>352109</commentid>
    <comment_count>32</comment_count>
      <attachid>82645</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-02-16 08:51:15 -0800</bug_when>
    <thetext>Comment on attachment 82645
Patch proposal + Layout test

Let&apos;s give this another shot!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>352124</commentid>
    <comment_count>33</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2011-02-16 09:13:00 -0800</bug_when>
    <thetext>Committed r78715: &lt;http://trac.webkit.org/changeset/78715&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>52585</attachid>
            <date>2010-04-05 15:52:29 -0700</date>
            <delta_ts>2010-04-05 17:44:05 -0700</delta_ts>
            <desc>AtkDocument events implementation</desc>
            <filename>20100406_atkdocumentsignals_3.patch</filename>
            <type>text/plain</type>
            <size>5211</size>
            <attacher name="José Millán Soto">jmillan</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1NzA5NykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTcgQEAKKzIwMTAtMDQtMDUgIEpvc8OpIE1pbGzDoW4gU290byAgPGptaWxsYW5A
aWdhbGlhLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBbR1RLXSBldmVudHMgbWlzc2luZyB3aGVuIGEgZG9jdW1lbnQgaXMgKHJlKWxvYWRlZAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjU4MzEKKwor
CUVtaXR0aW5nIGRvY3VtZW50OnJlbG9hZCBhbmQgb2JqZWN0OnN0YXRlLWNoYW5nZWQ6ZGVmdW5j
dCBzaWduYWxzLgorCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9ndGsvQWNjZXNzaWJpbGl0eU9i
amVjdFdyYXBwZXJBdGsuY3BwOgorICAgICAgICAod2Via2l0X2FjY2Vzc2libGVfZGV0YWNoKToK
KyAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJh
bWVMb2FkZXI6OmxvYWRXaXRoRG9jdW1lbnRMb2FkZXIpOgorCiAyMDEwLTA0LTA1ICBTaGVyaWZm
IEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2Vk
LCByb2xsaW5nIG91dCByNTcwMzAuCkluZGV4OiBXZWJDb3JlL2FjY2Vzc2liaWxpdHkvZ3RrL0Fj
Y2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQXRrLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvZ3RrL0FjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQXRrLmNwcAkocmV2aXNp
b24gNTcwNzcpCisrKyBXZWJDb3JlL2FjY2Vzc2liaWxpdHkvZ3RrL0FjY2Vzc2liaWxpdHlPYmpl
Y3RXcmFwcGVyQXRrLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTc0Myw2ICsxNzQzLDkgQEAgdm9p
ZCB3ZWJraXRfYWNjZXNzaWJsZV9kZXRhY2goV2ViS2l0QWNjZQogewogICAgIEFTU0VSVChhY2Nl
c3NpYmxlLT5tX29iamVjdCk7CiAKKyAgICBpZiAoY29yZShhY2Nlc3NpYmxlKS0+cm9sZVZhbHVl
KCkgPT0gV2ViQXJlYVJvbGUpCisgICAgICAgIGdfc2lnbmFsX2VtaXRfYnlfbmFtZShBVEtfT0JK
RUNUKGFjY2Vzc2libGUpLCAic3RhdGUtY2hhbmdlZDpkZWZ1bmN0IiwgdHJ1ZSk7CisKICAgICAv
LyBXZSByZXBsYWNlIHRoZSBXZWJDb3JlIEFjY2Vzc2liaWxpdHlPYmplY3Qgd2l0aCBhIGZhbGxi
YWNrIG9iamVjdCB0aGF0CiAgICAgLy8gcHJvdmlkZXMgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbnMg
dG8gYXZvaWQgcmVwZXRpdGl2ZSBudWxsLWNoZWNraW5nIGFmdGVyCiAgICAgLy8gZGV0YWNobWVu
dC4KSW5kZXg6IFdlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAJKHJldmlzaW9uIDU3MDc3KQorKysgV2ViQ29y
ZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw2ICszNiw5IEBA
CiAjaW5jbHVkZSAiQXBwbGljYXRpb25DYWNoZUhvc3QuaCIKICNpbmNsdWRlICJBcmNoaXZlLmgi
CiAjaW5jbHVkZSAiQXJjaGl2ZUZhY3RvcnkuaCIKKyNpZiBQTEFURk9STShHVEspCisjaW5jbHVk
ZSAiQVhPYmplY3RDYWNoZS5oIgorI2VuZGlmCiAjaW5jbHVkZSAiQmFja0ZvcndhcmRMaXN0Lmgi
CiAjaW5jbHVkZSAiQ2FjaGUuaCIKICNpbmNsdWRlICJDYWNoZWRQYWdlLmgiCkBAIC0xMjIsNiAr
MTI1LDEwIEBACiAjaW5jbHVkZSAiU1ZHVmlld1NwZWMuaCIKICNlbmRpZgogCisjaWYgUExBVEZP
Uk0oR1RLKQorI2luY2x1ZGUgPGF0ay9hdGsuaD4KKyNlbmRpZgorCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKICNpZiBFTkFCTEUoU1ZHKQpAQCAtMjEyNCw2ICsyMTMxLDE4IEBAIHZvaWQgRnJhbWVM
b2FkZXI6OmxvYWRXaXRoRG9jdW1lbnRMb2FkZXIKIAogICAgIGNvbnN0IEtVUkwmIG5ld1VSTCA9
IGxvYWRlci0+cmVxdWVzdCgpLnVybCgpOwogCisjaWYgUExBVEZPUk0oR1RLKQorICAgIGlmIChB
WE9iamVjdENhY2hlOjphY2Nlc3NpYmlsaXR5RW5hYmxlZCgpICYmICh0eXBlID09IEZyYW1lTG9h
ZFR5cGVSZWxvYWQpKSB7CisgICAgICAgIFJlbmRlck9iamVjdCogcmVuZGVyZXIgPSBmcmFtZSgp
LT5kb2N1bWVudCgpLT5yZW5kZXJlcigpOworICAgICAgICBpZiAocmVuZGVyZXIpIHsKKyAgICAg
ICAgICAgIEFjY2Vzc2liaWxpdHlPYmplY3QqIG9iamVjdCA9IGZyYW1lKCktPmRvY3VtZW50KCkt
PmF4T2JqZWN0Q2FjaGUoKS0+Z2V0T3JDcmVhdGUocmVuZGVyZXIpOworICAgICAgICAgICAgQXRr
T2JqZWN0KiBhdGtPYmplY3QgPSBvYmplY3QgPyBvYmplY3QtPndyYXBwZXIoKSA6IDA7CisgICAg
ICAgICAgICBpZiAoYXRrT2JqZWN0ICYmIEFUS19JU19ET0NVTUVOVChhdGtPYmplY3QpKQorICAg
ICAgICAgICAgICAgIGdfc2lnbmFsX2VtaXRfYnlfbmFtZShBVEtfRE9DVU1FTlQoYXRrT2JqZWN0
KSwgInJlbG9hZCIpOworICAgICAgICB9CisgICAgfQorI2VuZGlmCisKICAgICBpZiAoc2hvdWxk
U2Nyb2xsVG9BbmNob3IoaXNGb3JtU3VibWlzc2lvbiwgcG9saWN5Q2hlY2tlcigpLT5sb2FkVHlw
ZSgpLCBuZXdVUkwpKSB7CiAgICAgICAgIFJlZlB0cjxEb2N1bWVudExvYWRlcj4gb2xkRG9jdW1l
bnRMb2FkZXIgPSBtX2RvY3VtZW50TG9hZGVyOwogICAgICAgICBOYXZpZ2F0aW9uQWN0aW9uIGFj
dGlvbihuZXdVUkwsIHBvbGljeUNoZWNrZXIoKS0+bG9hZFR5cGUoKSwgaXNGb3JtU3VibWlzc2lv
bik7CkluZGV4OiBXZWJLaXQvZ3RrL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvZ3Rr
L0NoYW5nZUxvZwkocmV2aXNpb24gNTcwOTcpCisrKyBXZWJLaXQvZ3RrL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDEwLTA0LTA1ICBKb3PDqSBNaWxsw6FuIFNv
dG8gIDxqbWlsbGFuQGlnYWxpYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgW0dUS10gZXZlbnRzIG1pc3Npbmcgd2hlbiBhIGRvY3VtZW50IGlz
IChyZSlsb2FkZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTI1ODMxCisKKyAgICAgICAgRW1pdHRpbmcgQXRrIHNpZ25hbHMgd2hlbiB0aGUgbG9hZCBz
dGF0dXMgb2YgYSBkb2N1bWVudCBjaGFuZ2VzLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQv
RnJhbWVMb2FkZXJDbGllbnRHdGsuY3BwOgorICAgICAgICAoV2ViS2l0Ojpub3RpZnlTdGF0dXMp
OgorCiAyMDEwLTA0LTAxICBHdXN0YXZvIE5vcm9uaGEgU2lsdmEgIDxndXN0YXZvLm5vcm9uaGFA
Y29sbGFib3JhLmNvLnVrPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEhvbGdlciBGcmV5dGhlci4K
SW5kZXg6IFdlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRHdGsuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGll
bnRHdGsuY3BwCShyZXZpc2lvbiA1NzA3NykKKysrIFdlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQv
RnJhbWVMb2FkZXJDbGllbnRHdGsuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNCw2ICsyNCw3IEBA
CiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiRnJhbWVMb2FkZXJDbGllbnRHdGsuaCIK
IAorI2luY2x1ZGUgIkFYT2JqZWN0Q2FjaGUuaCIKICNpbmNsdWRlICJBcmNoaXZlUmVzb3VyY2Uu
aCIKICNpbmNsdWRlICJDYWNoZWRGcmFtZS5oIgogI2luY2x1ZGUgIkNvbG9yLmgiCkBAIC0xMDYs
NiArMTA3LDMxIEBAIHN0YXRpYyB2b2lkIG5vdGlmeVN0YXR1cyhXZWJLaXRXZWJGcmFtZSoKICAg
ICBpZiAoZnJhbWUgPT0gd2Via2l0X3dlYl92aWV3X2dldF9tYWluX2ZyYW1lKHdlYlZpZXcpKSB7
CiAgICAgICAgIHdlYlZpZXctPnByaXYtPmxvYWRTdGF0dXMgPSBsb2FkU3RhdHVzOwogICAgICAg
ICBnX29iamVjdF9ub3RpZnkoR19PQkpFQ1Qod2ViVmlldyksICJsb2FkLXN0YXR1cyIpOworCisj
aWYgSEFWRShBQ0NFU1NJQklMSVRZKQorICAgICAgICBpZiAoIUFYT2JqZWN0Q2FjaGU6OmFjY2Vz
c2liaWxpdHlFbmFibGVkKCkpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgQXRrT2Jq
ZWN0KiBvYmplY3QgPSBndGtfd2lkZ2V0X2dldF9hY2Nlc3NpYmxlKEdUS19XSURHRVQod2ViVmll
dykpOworICAgICAgICBpZiAoIW9iamVjdCB8fCAhQVRLX0lTX0RPQ1VNRU5UKG9iamVjdCkpCisg
ICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgc3dpdGNoIChsb2FkU3RhdHVzKSB7CisgICAg
ICAgIGNhc2UgV0VCS0lUX0xPQURfUFJPVklTSU9OQUw6CisgICAgICAgICAgICBnX3NpZ25hbF9l
bWl0X2J5X25hbWUob2JqZWN0LCAic3RhdGUtY2hhbmdlIiwgImJ1c3kiLCB0cnVlKTsKKyAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFdFQktJVF9MT0FEX0ZBSUxFRDoKKyAgICAgICAg
ICAgIGdfc2lnbmFsX2VtaXRfYnlfbmFtZShBVEtfRE9DVU1FTlQob2JqZWN0KSwgImxvYWQtc3Rv
cHBlZCIsIDApOworICAgICAgICAgICAgZ19zaWduYWxfZW1pdF9ieV9uYW1lKG9iamVjdCwgInN0
YXRlLWNoYW5nZSIsICJidXN5IiwgZmFsc2UpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAg
IGNhc2UgV0VCS0lUX0xPQURfRklOSVNIRUQ6CisgICAgICAgICAgICBnX3NpZ25hbF9lbWl0X2J5
X25hbWUoQVRLX0RPQ1VNRU5UKG9iamVjdCksICJsb2FkLWNvbXBsZXRlIiwgMCk7CisgICAgICAg
ICAgICBnX3NpZ25hbF9lbWl0X2J5X25hbWUob2JqZWN0LCAic3RhdGUtY2hhbmdlIiwgImJ1c3ki
LCBmYWxzZSk7CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAg
fQorI2VuZGlmCisKICAgICB9CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>52590</attachid>
            <date>2010-04-05 17:44:05 -0700</date>
            <delta_ts>2010-11-12 01:46:07 -0800</delta_ts>
            <desc>AtkDocument events implementation</desc>
            <filename>20100406_atkdocumentsignals_4.patch</filename>
            <type>text/plain</type>
            <size>5218</size>
            <attacher name="José Millán Soto">jmillan</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1NzA5NykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTcgQEAKKzIwMTAtMDQtMDUgIEpvc8OpIE1pbGzDoW4gU290byAgPGptaWxsYW5A
aWdhbGlhLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBbR1RLXSBldmVudHMgbWlzc2luZyB3aGVuIGEgZG9jdW1lbnQgaXMgKHJlKWxvYWRlZAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjU4MzEKKwor
ICAgICAgICBFbWl0dGluZyBkb2N1bWVudDpyZWxvYWQgYW5kIG9iamVjdDpzdGF0ZS1jaGFuZ2Vk
OmRlZnVuY3Qgc2lnbmFscy4KKworICAgICAgICAqIGFjY2Vzc2liaWxpdHkvZ3RrL0FjY2Vzc2li
aWxpdHlPYmplY3RXcmFwcGVyQXRrLmNwcDoKKyAgICAgICAgKHdlYmtpdF9hY2Nlc3NpYmxlX2Rl
dGFjaCk6CisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkZyYW1lTG9hZGVyOjpsb2FkV2l0aERvY3VtZW50TG9hZGVyKToKKwogMjAxMC0wNC0wNSAg
U2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CiAKICAgICAgICAgVW5y
ZXZpZXdlZCwgcm9sbGluZyBvdXQgcjU3MDMwLgpJbmRleDogV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L2d0ay9BY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckF0ay5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L2d0ay9BY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckF0ay5jcHAJ
KHJldmlzaW9uIDU3MDc3KQorKysgV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2d0ay9BY2Nlc3NpYmls
aXR5T2JqZWN0V3JhcHBlckF0ay5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE3NDMsNiArMTc0Myw5
IEBAIHZvaWQgd2Via2l0X2FjY2Vzc2libGVfZGV0YWNoKFdlYktpdEFjY2UKIHsKICAgICBBU1NF
UlQoYWNjZXNzaWJsZS0+bV9vYmplY3QpOwogCisgICAgaWYgKGNvcmUoYWNjZXNzaWJsZSktPnJv
bGVWYWx1ZSgpID09IFdlYkFyZWFSb2xlKQorICAgICAgICBnX3NpZ25hbF9lbWl0X2J5X25hbWUo
QVRLX09CSkVDVChhY2Nlc3NpYmxlKSwgInN0YXRlLWNoYW5nZWQ6ZGVmdW5jdCIsIHRydWUpOwor
CiAgICAgLy8gV2UgcmVwbGFjZSB0aGUgV2ViQ29yZSBBY2Nlc3NpYmlsaXR5T2JqZWN0IHdpdGgg
YSBmYWxsYmFjayBvYmplY3QgdGhhdAogICAgIC8vIHByb3ZpZGVzIGRlZmF1bHQgaW1wbGVtZW50
YXRpb25zIHRvIGF2b2lkIHJlcGV0aXRpdmUgbnVsbC1jaGVja2luZyBhZnRlcgogICAgIC8vIGRl
dGFjaG1lbnQuCkluZGV4OiBXZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCShyZXZpc2lvbiA1NzA3NykKKysr
IFdlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzYsNiAr
MzYsOSBAQAogI2luY2x1ZGUgIkFwcGxpY2F0aW9uQ2FjaGVIb3N0LmgiCiAjaW5jbHVkZSAiQXJj
aGl2ZS5oIgogI2luY2x1ZGUgIkFyY2hpdmVGYWN0b3J5LmgiCisjaWYgUExBVEZPUk0oR1RLKQor
I2luY2x1ZGUgIkFYT2JqZWN0Q2FjaGUuaCIKKyNlbmRpZgogI2luY2x1ZGUgIkJhY2tGb3J3YXJk
TGlzdC5oIgogI2luY2x1ZGUgIkNhY2hlLmgiCiAjaW5jbHVkZSAiQ2FjaGVkUGFnZS5oIgpAQCAt
MTIyLDYgKzEyNSwxMCBAQAogI2luY2x1ZGUgIlNWR1ZpZXdTcGVjLmgiCiAjZW5kaWYKIAorI2lm
IFBMQVRGT1JNKEdUSykKKyNpbmNsdWRlIDxhdGsvYXRrLmg+CisjZW5kaWYKKwogbmFtZXNwYWNl
IFdlYkNvcmUgewogCiAjaWYgRU5BQkxFKFNWRykKQEAgLTIxMjQsNiArMjEzMSwxOCBAQCB2b2lk
IEZyYW1lTG9hZGVyOjpsb2FkV2l0aERvY3VtZW50TG9hZGVyCiAKICAgICBjb25zdCBLVVJMJiBu
ZXdVUkwgPSBsb2FkZXItPnJlcXVlc3QoKS51cmwoKTsKIAorI2lmIFBMQVRGT1JNKEdUSykKKyAg
ICBpZiAoQVhPYmplY3RDYWNoZTo6YWNjZXNzaWJpbGl0eUVuYWJsZWQoKSAmJiAodHlwZSA9PSBG
cmFtZUxvYWRUeXBlUmVsb2FkKSkgeworICAgICAgICBSZW5kZXJPYmplY3QqIHJlbmRlcmVyID0g
ZnJhbWUoKS0+ZG9jdW1lbnQoKS0+cmVuZGVyZXIoKTsKKyAgICAgICAgaWYgKHJlbmRlcmVyKSB7
CisgICAgICAgICAgICBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBvYmplY3QgPSBmcmFtZSgpLT5kb2N1
bWVudCgpLT5heE9iamVjdENhY2hlKCktPmdldE9yQ3JlYXRlKHJlbmRlcmVyKTsKKyAgICAgICAg
ICAgIEF0a09iamVjdCogYXRrT2JqZWN0ID0gb2JqZWN0ID8gb2JqZWN0LT53cmFwcGVyKCkgOiAw
OworICAgICAgICAgICAgaWYgKGF0a09iamVjdCAmJiBBVEtfSVNfRE9DVU1FTlQoYXRrT2JqZWN0
KSkKKyAgICAgICAgICAgICAgICBnX3NpZ25hbF9lbWl0X2J5X25hbWUoQVRLX0RPQ1VNRU5UKGF0
a09iamVjdCksICJyZWxvYWQiKTsKKyAgICAgICAgfQorICAgIH0KKyNlbmRpZgorCiAgICAgaWYg
KHNob3VsZFNjcm9sbFRvQW5jaG9yKGlzRm9ybVN1Ym1pc3Npb24sIHBvbGljeUNoZWNrZXIoKS0+
bG9hZFR5cGUoKSwgbmV3VVJMKSkgewogICAgICAgICBSZWZQdHI8RG9jdW1lbnRMb2FkZXI+IG9s
ZERvY3VtZW50TG9hZGVyID0gbV9kb2N1bWVudExvYWRlcjsKICAgICAgICAgTmF2aWdhdGlvbkFj
dGlvbiBhY3Rpb24obmV3VVJMLCBwb2xpY3lDaGVja2VyKCktPmxvYWRUeXBlKCksIGlzRm9ybVN1
Ym1pc3Npb24pOwpJbmRleDogV2ViS2l0L2d0ay9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
S2l0L2d0ay9DaGFuZ2VMb2cJKHJldmlzaW9uIDU3MDk3KQorKysgV2ViS2l0L2d0ay9DaGFuZ2VM
b2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNSBAQAorMjAxMC0wNC0wNSAgSm9zw6kgTWls
bMOhbiBTb3RvICA8am1pbGxhbkBpZ2FsaWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFtHVEtdIGV2ZW50cyBtaXNzaW5nIHdoZW4gYSBkb2N1
bWVudCBpcyAocmUpbG9hZGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yNTgzMQorCisgICAgICAgIEVtaXR0aW5nIEF0ayBzaWduYWxzIHdoZW4gdGhl
IGxvYWQgc3RhdHVzIG9mIGEgZG9jdW1lbnQgY2hhbmdlcy4KKworICAgICAgICAqIFdlYkNvcmVT
dXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50R3RrLmNwcDoKKyAgICAgICAgKFdlYktpdDo6bm90aWZ5
U3RhdHVzKToKKwogMjAxMC0wNC0wMSAgR3VzdGF2byBOb3JvbmhhIFNpbHZhICA8Z3VzdGF2by5u
b3JvbmhhQGNvbGxhYm9yYS5jby51az4KIAogICAgICAgICBSZXZpZXdlZCBieSBIb2xnZXIgRnJl
eXRoZXIuCkluZGV4OiBXZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50
R3RrLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9h
ZGVyQ2xpZW50R3RrLmNwcAkocmV2aXNpb24gNTcwNzcpCisrKyBXZWJLaXQvZ3RrL1dlYkNvcmVT
dXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50R3RrLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjQsNiAr
MjQsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkZyYW1lTG9hZGVyQ2xpZW50
R3RrLmgiCiAKKyNpbmNsdWRlICJBWE9iamVjdENhY2hlLmgiCiAjaW5jbHVkZSAiQXJjaGl2ZVJl
c291cmNlLmgiCiAjaW5jbHVkZSAiQ2FjaGVkRnJhbWUuaCIKICNpbmNsdWRlICJDb2xvci5oIgpA
QCAtMTA2LDYgKzEwNywzMSBAQCBzdGF0aWMgdm9pZCBub3RpZnlTdGF0dXMoV2ViS2l0V2ViRnJh
bWUqCiAgICAgaWYgKGZyYW1lID09IHdlYmtpdF93ZWJfdmlld19nZXRfbWFpbl9mcmFtZSh3ZWJW
aWV3KSkgewogICAgICAgICB3ZWJWaWV3LT5wcml2LT5sb2FkU3RhdHVzID0gbG9hZFN0YXR1czsK
ICAgICAgICAgZ19vYmplY3Rfbm90aWZ5KEdfT0JKRUNUKHdlYlZpZXcpLCAibG9hZC1zdGF0dXMi
KTsKKworI2lmIEhBVkUoQUNDRVNTSUJJTElUWSkKKyAgICAgICAgaWYgKCFBWE9iamVjdENhY2hl
OjphY2Nlc3NpYmlsaXR5RW5hYmxlZCgpKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAg
IEF0a09iamVjdCogb2JqZWN0ID0gZ3RrX3dpZGdldF9nZXRfYWNjZXNzaWJsZShHVEtfV0lER0VU
KHdlYlZpZXcpKTsKKyAgICAgICAgaWYgKCFvYmplY3QgfHwgIUFUS19JU19ET0NVTUVOVChvYmpl
Y3QpKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIHN3aXRjaCAobG9hZFN0YXR1cykg
eworICAgICAgICBjYXNlIFdFQktJVF9MT0FEX1BST1ZJU0lPTkFMOgorICAgICAgICAgICAgZ19z
aWduYWxfZW1pdF9ieV9uYW1lKG9iamVjdCwgInN0YXRlLWNoYW5nZSIsICJidXN5IiwgdHJ1ZSk7
CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBXRUJLSVRfTE9BRF9GQUlMRUQ6Cisg
ICAgICAgICAgICBnX3NpZ25hbF9lbWl0X2J5X25hbWUoQVRLX0RPQ1VNRU5UKG9iamVjdCksICJs
b2FkLXN0b3BwZWQiLCAwKTsKKyAgICAgICAgICAgIGdfc2lnbmFsX2VtaXRfYnlfbmFtZShvYmpl
Y3QsICJzdGF0ZS1jaGFuZ2UiLCAiYnVzeSIsIGZhbHNlKTsKKyAgICAgICAgICAgIGJyZWFrOwor
ICAgICAgICBjYXNlIFdFQktJVF9MT0FEX0ZJTklTSEVEOgorICAgICAgICAgICAgZ19zaWduYWxf
ZW1pdF9ieV9uYW1lKEFUS19ET0NVTUVOVChvYmplY3QpLCAibG9hZC1jb21wbGV0ZSIsIDApOwor
ICAgICAgICAgICAgZ19zaWduYWxfZW1pdF9ieV9uYW1lKG9iamVjdCwgInN0YXRlLWNoYW5nZSIs
ICJidXN5IiwgZmFsc2UpOworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgYnJlYWs7Cisg
ICAgICAgIH0KKyNlbmRpZgorCiAgICAgfQogfQogCg==
</data>
<flag name="review"
          id="36105"
          type_id="1"
          status="-"
          setter="xan.lopez"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>73716</attachid>
            <date>2010-11-12 01:46:07 -0800</date>
            <delta_ts>2010-11-15 03:41:10 -0800</delta_ts>
            <desc>AtkDocument events implementation</desc>
            <filename>0001-2010-11-11-Mario-Sanchez-Prada-msanchez-igalia.com.patch</filename>
            <type>text/plain</type>
            <size>7129</size>
            <attacher name="Mario Sanchez Prada">mario</attacher>
            
              <data encoding="base64">RnJvbSAwZGE4ZTJkNjg3ODdjMDY1ZDU2ZDVmMTEzOWM1MWVmYTQzNjNlMDkzIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXJpbyBTYW5jaGV6IFByYWRhIDxtc2FuY2hlekBpZ2FsaWEu
Y29tPgpEYXRlOiBGcmksIDEyIE5vdiAyMDEwIDEwOjQzOjM2ICswMTAwClN1YmplY3Q6IFtQQVRD
SF0gMjAxMC0xMS0xMSAgTWFyaW8gU2FuY2hleiBQcmFkYSAgPG1zYW5jaGV6QGlnYWxpYS5jb20+
CgogICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKICAgICAgICBbR1RLXSBldmVu
dHMgbWlzc2luZyB3aGVuIGEgZG9jdW1lbnQgaXMgKHJlKWxvYWRlZAogICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNTgzMQoKICAgICAgICBNYWtlIHN1cmUg
d2ViQXJlYSByZXR1cm5zIGEgcHJvcGVyIG5hbWUgYW5kIHRoYXQgYSBzaWduYWwKICAgICAgICAn
c3RhdGUtY2hhbmdlOjpkZWZ1bmN0JyBpcyBlbWl0dGVkIHdoZW4gZGV0YWNoaW5nIHRoZSB3cmFw
cGVyLgoKICAgICAgICAqIGFjY2Vzc2liaWxpdHkvZ3RrL0FjY2Vzc2liaWxpdHlPYmplY3RXcmFw
cGVyQXRrLmNwcDoKICAgICAgICAod2Via2l0X2FjY2Vzc2libGVfZ2V0X25hbWUpOiBSZXR1cm5z
IHRoZSBjdXJyZW50IGRvY3VtZW50J3MgdGl0bGUKICAgICAgICBpZiB0aGUgYXNzb2NpYXRlZCBj
b3JlIG9iamVjdCBpcyB0aGUgdG9wbW9zdCBvbmUgKHdlYkFyZWEgcm9sZSkuCiAgICAgICAgKHdl
YmtpdF9hY2Nlc3NpYmxlX2RldGFjaCk6IEVtaXQgJ3N0YXRlLWNoYW5nZTo6ZGVmdW5jdCcgZnVu
Y3Rpb24KICAgICAgICBhcyBzb29uIGFzIHRoZSB3cmFwcGVyIGlzIGRldGFjaGVkIGZyb20gdGhl
IHJlbGF0ZWQgY29yZSBvYmplY3QuCgoyMDEwLTExLTExICBNYXJpbyBTYW5jaGV6IFByYWRhICA8
bXNhbmNoZXpAaWdhbGlhLmNvbT4KCiAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CgogICAgICAgIFtHVEtdIGV2ZW50cyBtaXNzaW5nIHdoZW4gYSBkb2N1bWVudCBpcyAocmUpbG9h
ZGVkCiAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI1ODMx
CgogICAgICAgIEVtaXQgdGhlIHJpZ2h0IHNpZ25hbHMgd2hlbiBsb2FkaW5nIGEgZG9jdW1lbnQu
CgogICAgICAgICogV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRHdGsuY3BwOgogICAg
ICAgIChXZWJLaXQ6Om5vdGlmeUFjY2Vzc2liaWxpdHlTdGF0dXMpOiBOZXcgZnVuY3Rpb24sIHRv
IG1ha2Ugc3VyZQogICAgICAgIHRoZSBzaWduYWxzICdzdGF0ZS1jaGFuZ2UnLCAncmVsb2FkJywg
J2xvYWQtc3RvcHBlZCcgYW5kCiAgICAgICAgJ2xvYWQtY29tcGxldGUnIGFyZSBwcm9wZXJseSBl
bWl0dGVkIHdoZW4gbmVlZGVkLgogICAgICAgIChXZWJLaXQ6Om5vdGlmeVN0YXR1cyk6IEFsc28g
bm90aWZ5IGFjY2Vzc2liaWxpdHkgaWYgZW5hYmxlZC4KLS0tCiBXZWJDb3JlL0NoYW5nZUxvZyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMTYgKysrKysrKysrCiAuLi4vZ3Rr
L0FjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQXRrLmNwcCAgICAgICAgICB8ICAgIDggKysrKwog
V2ViS2l0L2d0ay9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDE1
ICsrKysrKysrCiBXZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50R3Rr
LmNwcCB8ICAgMzUgKysrKysrKysrKysrKysrKysrKysKIDQgZmlsZXMgY2hhbmdlZCwgNzQgaW5z
ZXJ0aW9ucygrKSwgMCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxv
ZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGVkNWYyZTAuLjBlYmJiMmMgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkg
QEAKKzIwMTAtMTEtMTEgIE1hcmlvIFNhbmNoZXogUHJhZGEgIDxtc2FuY2hlekBpZ2FsaWEuY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtHVEtd
IGV2ZW50cyBtaXNzaW5nIHdoZW4gYSBkb2N1bWVudCBpcyAocmUpbG9hZGVkCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNTgzMQorCisgICAgICAgIE1h
a2Ugc3VyZSB3ZWJBcmVhIHJldHVybnMgYSBwcm9wZXIgbmFtZSBhbmQgdGhhdCBhIHNpZ25hbAor
ICAgICAgICAnc3RhdGUtY2hhbmdlOjpkZWZ1bmN0JyBpcyBlbWl0dGVkIHdoZW4gZGV0YWNoaW5n
IHRoZSB3cmFwcGVyLgorCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9ndGsvQWNjZXNzaWJpbGl0
eU9iamVjdFdyYXBwZXJBdGsuY3BwOgorICAgICAgICAod2Via2l0X2FjY2Vzc2libGVfZ2V0X25h
bWUpOiBSZXR1cm5zIHRoZSBjdXJyZW50IGRvY3VtZW50J3MgdGl0bGUKKyAgICAgICAgaWYgdGhl
IGFzc29jaWF0ZWQgY29yZSBvYmplY3QgaXMgdGhlIHRvcG1vc3Qgb25lICh3ZWJBcmVhIHJvbGUp
LgorICAgICAgICAod2Via2l0X2FjY2Vzc2libGVfZGV0YWNoKTogRW1pdCAnc3RhdGUtY2hhbmdl
OjpkZWZ1bmN0JyBmdW5jdGlvbgorICAgICAgICBhcyBzb29uIGFzIHRoZSB3cmFwcGVyIGlzIGRl
dGFjaGVkIGZyb20gdGhlIHJlbGF0ZWQgY29yZSBvYmplY3QuCisKIDIwMTAtMTEtMDkgIEFuZHJl
YXMgS2xpbmcgIDxrbGluZ0B3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEtlbm5l
dGggUm9oZGUgQ2hyaXN0aWFuc2VuLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L2d0ay9BY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckF0ay5jcHAgYi9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvZ3RrL0FjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQXRrLmNwcAppbmRleCA3MjZjZGIx
Li4zMWU4ZTQwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvZ3RrL0FjY2Vzc2li
aWxpdHlPYmplY3RXcmFwcGVyQXRrLmNwcAorKysgYi9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvZ3Rr
L0FjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQXRrLmNwcApAQCAtMTU5LDYgKzE1OSwxMSBAQCBz
dGF0aWMgZ2NoYXIqIHdlYmtpdF9hY2Nlc3NpYmxlX3RleHRfZ2V0X3RleHQoQXRrVGV4dCogdGV4
dCwgZ2ludCBzdGFydE9mZnNldCwgZwogc3RhdGljIGNvbnN0IGdjaGFyKiB3ZWJraXRfYWNjZXNz
aWJsZV9nZXRfbmFtZShBdGtPYmplY3QqIG9iamVjdCkKIHsKICAgICBBY2Nlc3NpYmlsaXR5T2Jq
ZWN0KiBjb3JlT2JqZWN0ID0gY29yZShvYmplY3QpOworCisgICAgLy8gRm9yIHRoZSByb290IG9i
amVjdCB3ZSBqdXN0IHJldHVybiB0aGUgZG9jdW1lbnQncyB0aXRsZS4KKyAgICBpZiAoY29yZU9i
amVjdC0+cm9sZVZhbHVlKCkgPT0gV2ViQXJlYVJvbGUpCisgICAgICAgIHJldHVybiByZXR1cm5T
dHJpbmcoY29yZU9iamVjdC0+ZG9jdW1lbnQoKS0+dGl0bGUoKSk7CisKICAgICBpZiAoIWNvcmVP
YmplY3QtPmlzQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdCgpKQogICAgICAgICByZXR1cm4gcmV0
dXJuU3RyaW5nKGNvcmVPYmplY3QtPnN0cmluZ1ZhbHVlKCkpOwogCkBAIC0yMjkyLDYgKzIyOTcs
OSBAQCB2b2lkIHdlYmtpdF9hY2Nlc3NpYmxlX2RldGFjaChXZWJLaXRBY2Nlc3NpYmxlKiBhY2Nl
c3NpYmxlKQogewogICAgIEFTU0VSVChhY2Nlc3NpYmxlLT5tX29iamVjdCk7CiAKKyAgICBpZiAo
Y29yZShhY2Nlc3NpYmxlKS0+cm9sZVZhbHVlKCkgPT0gV2ViQXJlYVJvbGUpCisgICAgICAgIGdf
c2lnbmFsX2VtaXRfYnlfbmFtZShhY2Nlc3NpYmxlLCAic3RhdGUtY2hhbmdlIiwgImRlZnVuY3Qi
LCB0cnVlKTsKKwogICAgIC8vIFdlIHJlcGxhY2UgdGhlIFdlYkNvcmUgQWNjZXNzaWJpbGl0eU9i
amVjdCB3aXRoIGEgZmFsbGJhY2sgb2JqZWN0IHRoYXQKICAgICAvLyBwcm92aWRlcyBkZWZhdWx0
IGltcGxlbWVudGF0aW9ucyB0byBhdm9pZCByZXBldGl0aXZlIG51bGwtY2hlY2tpbmcgYWZ0ZXIK
ICAgICAvLyBkZXRhY2htZW50LgpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay9DaGFuZ2VMb2cgYi9X
ZWJLaXQvZ3RrL0NoYW5nZUxvZwppbmRleCA2ZDlhNjUyLi5lYzA4MDAyIDEwMDY0NAotLS0gYS9X
ZWJLaXQvZ3RrL0NoYW5nZUxvZworKysgYi9XZWJLaXQvZ3RrL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE4IEBACisyMDEwLTExLTExICBNYXJpbyBTYW5jaGV6IFByYWRhICA8bXNhbmNoZXpAaWdhbGlh
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBb
R1RLXSBldmVudHMgbWlzc2luZyB3aGVuIGEgZG9jdW1lbnQgaXMgKHJlKWxvYWRlZAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjU4MzEKKworICAgICAg
ICBFbWl0IHRoZSByaWdodCBzaWduYWxzIHdoZW4gbG9hZGluZyBhIGRvY3VtZW50LgorCisgICAg
ICAgICogV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRHdGsuY3BwOgorICAgICAgICAo
V2ViS2l0Ojpub3RpZnlBY2Nlc3NpYmlsaXR5U3RhdHVzKTogTmV3IGZ1bmN0aW9uLCB0byBtYWtl
IHN1cmUKKyAgICAgICAgdGhlIHNpZ25hbHMgJ3N0YXRlLWNoYW5nZScsICdyZWxvYWQnLCAnbG9h
ZC1zdG9wcGVkJyBhbmQKKyAgICAgICAgJ2xvYWQtY29tcGxldGUnIGFyZSBwcm9wZXJseSBlbWl0
dGVkIHdoZW4gbmVlZGVkLgorICAgICAgICAoV2ViS2l0Ojpub3RpZnlTdGF0dXMpOiBBbHNvIG5v
dGlmeSBhY2Nlc3NpYmlsaXR5IGlmIGVuYWJsZWQuCisKIDIwMTAtMTEtMDggIE5pY29sYXMgRHVm
cmVzbmUgIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KIAogICAgICAgICBSZXZp
ZXdlZCBieSBNYXJ0aW4gUm9iaW5zb24uCmRpZmYgLS1naXQgYS9XZWJLaXQvZ3RrL1dlYkNvcmVT
dXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50R3RrLmNwcCBiL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBv
cnQvRnJhbWVMb2FkZXJDbGllbnRHdGsuY3BwCmluZGV4IGIyM2JkNzAuLjk4NDExNzIgMTAwNjQ0
Ci0tLSBhL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRHdGsuY3Bw
CisrKyBiL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRHdGsuY3Bw
CkBAIC0yNSw2ICsyNSw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiRnJhbWVM
b2FkZXJDbGllbnRHdGsuaCIKIAorI2luY2x1ZGUgIkFYT2JqZWN0Q2FjaGUuaCIKICNpbmNsdWRl
ICJBcmNoaXZlUmVzb3VyY2UuaCIKICNpbmNsdWRlICJDYWNoZWRGcmFtZS5oIgogI2luY2x1ZGUg
IkNvbG9yLmgiCkBAIC0yMDcsNiArMjA4LDM3IEBAIFN0cmluZyBGcmFtZUxvYWRlckNsaWVudDo6
dXNlckFnZW50KGNvbnN0IEtVUkwmIHVybCkKICAgICByZXR1cm4gU3RyaW5nOjpmcm9tVVRGOCh3
ZWJraXRfd2ViX3NldHRpbmdzX2dldF91c2VyX2FnZW50KHNldHRpbmdzKSk7CiB9CiAKK3N0YXRp
YyB2b2lkIG5vdGlmeUFjY2Vzc2liaWxpdHlTdGF0dXMoV2ViS2l0V2ViRnJhbWUqIGZyYW1lLCBX
ZWJLaXRMb2FkU3RhdHVzIGxvYWRTdGF0dXMpCit7CisgICAgaWYgKCFBWE9iamVjdENhY2hlOjph
Y2Nlc3NpYmlsaXR5RW5hYmxlZCgpKQorICAgICAgICBBWE9iamVjdENhY2hlOjplbmFibGVBY2Nl
c3NpYmlsaXR5KCk7CisKKyAgICBXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3ID0gZ2V0Vmlld0Zyb21G
cmFtZShmcmFtZSk7CisgICAgaWYgKCF3ZWJWaWV3IHx8IGZyYW1lICE9IHdlYmtpdF93ZWJfdmll
d19nZXRfbWFpbl9mcmFtZSh3ZWJWaWV3KSkKKyAgICAgICAgcmV0dXJuOworCisgICAgQXRrT2Jq
ZWN0KiBheE9iamVjdCA9IGd0a193aWRnZXRfZ2V0X2FjY2Vzc2libGUoR1RLX1dJREdFVCh3ZWJW
aWV3KSk7CisgICAgaWYgKCFheE9iamVjdCB8fCAhQVRLX0lTX0RPQ1VNRU5UKGF4T2JqZWN0KSkK
KyAgICAgICAgcmV0dXJuOworCisgICAgc3dpdGNoIChsb2FkU3RhdHVzKSB7CisgICAgY2FzZSBX
RUJLSVRfTE9BRF9QUk9WSVNJT05BTDoKKyAgICAgICAgZ19zaWduYWxfZW1pdF9ieV9uYW1lKGF4
T2JqZWN0LCAic3RhdGUtY2hhbmdlIiwgImJ1c3kiLCB0cnVlKTsKKyAgICAgICAgaWYgKGNvcmUo
ZnJhbWUpLT5sb2FkZXIoKS0+bG9hZFR5cGUoKSA9PSBGcmFtZUxvYWRUeXBlUmVsb2FkKQorICAg
ICAgICAgICAgZ19zaWduYWxfZW1pdF9ieV9uYW1lKGF4T2JqZWN0LCAicmVsb2FkIik7CisgICAg
ICAgIGJyZWFrOworICAgIGNhc2UgV0VCS0lUX0xPQURfRkFJTEVEOgorICAgICAgICBnX3NpZ25h
bF9lbWl0X2J5X25hbWUoYXhPYmplY3QsICJsb2FkLXN0b3BwZWQiKTsKKyAgICAgICAgZ19zaWdu
YWxfZW1pdF9ieV9uYW1lKGF4T2JqZWN0LCAic3RhdGUtY2hhbmdlIiwgImJ1c3kiLCBmYWxzZSk7
CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgV0VCS0lUX0xPQURfRklOSVNIRUQ6CisgICAgICAg
IGdfc2lnbmFsX2VtaXRfYnlfbmFtZShheE9iamVjdCwgImxvYWQtY29tcGxldGUiKTsKKyAgICAg
ICAgZ19zaWduYWxfZW1pdF9ieV9uYW1lKGF4T2JqZWN0LCAic3RhdGUtY2hhbmdlIiwgImJ1c3ki
LCBmYWxzZSk7CisgICAgZGVmYXVsdDoKKyAgICAgICAgYnJlYWs7CisgICAgfQorfQorCiBzdGF0
aWMgdm9pZCBub3RpZnlTdGF0dXMoV2ViS2l0V2ViRnJhbWUqIGZyYW1lLCBXZWJLaXRMb2FkU3Rh
dHVzIGxvYWRTdGF0dXMpCiB7CiAgICAgZnJhbWUtPnByaXYtPmxvYWRTdGF0dXMgPSBsb2FkU3Rh
dHVzOwpAQCAtMjE3LDYgKzI0OSw5IEBAIHN0YXRpYyB2b2lkIG5vdGlmeVN0YXR1cyhXZWJLaXRX
ZWJGcmFtZSogZnJhbWUsIFdlYktpdExvYWRTdGF0dXMgbG9hZFN0YXR1cykKICAgICAgICAgd2Vi
Vmlldy0+cHJpdi0+bG9hZFN0YXR1cyA9IGxvYWRTdGF0dXM7CiAgICAgICAgIGdfb2JqZWN0X25v
dGlmeShHX09CSkVDVCh3ZWJWaWV3KSwgImxvYWQtc3RhdHVzIik7CiAgICAgfQorCisgICAgaWYg
KEFYT2JqZWN0Q2FjaGU6OmFjY2Vzc2liaWxpdHlFbmFibGVkKCkpCisgICAgICAgIG5vdGlmeUFj
Y2Vzc2liaWxpdHlTdGF0dXMoZnJhbWUsIGxvYWRTdGF0dXMpOwogfQogCiBzdGF0aWMgdm9pZCBs
b2FkRG9uZShXZWJLaXRXZWJGcmFtZSogZnJhbWUsIGJvb2wgZGlkU3VjY2VlZCkKLS0gCjEuNy4z
LjIKCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>73881</attachid>
            <date>2010-11-15 03:41:10 -0800</date>
            <delta_ts>2010-11-19 09:22:16 -0800</delta_ts>
            <desc>AtkDocument events implementation</desc>
            <filename>0001-2010-11-15-Mario-Sanchez-Prada-msanchez-igalia.com.patch</filename>
            <type>text/plain</type>
            <size>7289</size>
            <attacher name="Mario Sanchez Prada">mario</attacher>
            
              <data encoding="base64">RnJvbSA4MTRhMzJmZDI3YmM1Yzk3MzgwYWUxNDdjZTU4OTVjMmM0YWM5ZDlkIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXJpbyBTYW5jaGV6IFByYWRhIDxtc2FuY2hlekBpZ2FsaWEu
Y29tPgpEYXRlOiBGcmksIDEyIE5vdiAyMDEwIDEwOjQzOjM2ICswMTAwClN1YmplY3Q6IFtQQVRD
SF0gMjAxMC0xMS0xNSAgTWFyaW8gU2FuY2hleiBQcmFkYSAgPG1zYW5jaGV6QGlnYWxpYS5jb20+
CgogICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKICAgICAgICBbR1RLXSBldmVu
dHMgbWlzc2luZyB3aGVuIGEgZG9jdW1lbnQgaXMgKHJlKWxvYWRlZAogICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNTgzMQoKICAgICAgICBNYWtlIHN1cmUg
d2ViQXJlYSByZXR1cm5zIGEgcHJvcGVyIG5hbWUgYW5kIHRoYXQgYSBzaWduYWwKICAgICAgICAn
c3RhdGUtY2hhbmdlOjpkZWZ1bmN0JyBpcyBlbWl0dGVkIHdoZW4gZGV0YWNoaW5nIHRoZSB3cmFw
cGVyLgoKICAgICAgICAqIGFjY2Vzc2liaWxpdHkvZ3RrL0FjY2Vzc2liaWxpdHlPYmplY3RXcmFw
cGVyQXRrLmNwcDoKICAgICAgICAod2Via2l0X2FjY2Vzc2libGVfZ2V0X25hbWUpOiBSZXR1cm5z
IHRoZSBjdXJyZW50IGRvY3VtZW50J3MgdGl0bGUKICAgICAgICBhcyBmYWxsYmFjayBtZWNoYW5p
c20gZm9yIHdlYkFyZWEgb2JqZWN0cy4KICAgICAgICAod2Via2l0X2FjY2Vzc2libGVfZGV0YWNo
KTogRW1pdCAnc3RhdGUtY2hhbmdlOjpkZWZ1bmN0JyBmdW5jdGlvbgogICAgICAgIGFzIHNvb24g
YXMgdGhlIHdyYXBwZXIgaXMgZGV0YWNoZWQgZnJvbSB0aGUgcmVsYXRlZCBjb3JlIG9iamVjdC4K
CjIwMTAtMTEtMTUgIE1hcmlvIFNhbmNoZXogUHJhZGEgIDxtc2FuY2hlekBpZ2FsaWEuY29tPgoK
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCiAgICAgICAgW0dUS10gZXZlbnRz
IG1pc3Npbmcgd2hlbiBhIGRvY3VtZW50IGlzIChyZSlsb2FkZWQKICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjU4MzEKCiAgICAgICAgRW1pdCB0aGUgcmln
aHQgc2lnbmFscyB3aGVuIGxvYWRpbmcgYSBkb2N1bWVudC4KCiAgICAgICAgKiBXZWJDb3JlU3Vw
cG9ydC9GcmFtZUxvYWRlckNsaWVudEd0ay5jcHA6CiAgICAgICAgKFdlYktpdDo6bm90aWZ5QWNj
ZXNzaWJpbGl0eVN0YXR1cyk6IE5ldyBmdW5jdGlvbiwgdG8gbWFrZSBzdXJlCiAgICAgICAgdGhl
IHNpZ25hbHMgJ3N0YXRlLWNoYW5nZScsICdyZWxvYWQnLCAnbG9hZC1zdG9wcGVkJyBhbmQKICAg
ICAgICAnbG9hZC1jb21wbGV0ZScgYXJlIHByb3Blcmx5IGVtaXR0ZWQgd2hlbiBuZWVkZWQuCiAg
ICAgICAgKFdlYktpdDo6bm90aWZ5U3RhdHVzKTogQWxzbyBub3RpZnkgYWNjZXNzaWJpbGl0eSBp
ZiBlbmFibGVkLgotLS0KIFdlYkNvcmUvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHwgICAxNiArKysrKysrKysrCiAuLi4vZ3RrL0FjY2Vzc2liaWxpdHlPYmplY3RX
cmFwcGVyQXRrLmNwcCAgICAgICAgICB8ICAgMTIgKysrKysrKy0KIFdlYktpdC9ndGsvQ2hhbmdl
TG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxNSArKysrKysrKysKIFdlYktp
dC9ndGsvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRHdGsuY3BwIHwgICAzMiArKysr
KysrKysrKysrKysrKysrKwogNCBmaWxlcyBjaGFuZ2VkLCA3NCBpbnNlcnRpb25zKCspLCAxIGRl
bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFu
Z2VMb2cKaW5kZXggZWQ1ZjJlMC4uZTVhODUwOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VM
b2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxMC0xMS0xNSAg
TWFyaW8gU2FuY2hleiBQcmFkYSAgPG1zYW5jaGV6QGlnYWxpYS5jb20+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW0dUS10gZXZlbnRzIG1pc3Npbmcg
d2hlbiBhIGRvY3VtZW50IGlzIChyZSlsb2FkZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTI1ODMxCisKKyAgICAgICAgTWFrZSBzdXJlIHdlYkFyZWEg
cmV0dXJucyBhIHByb3BlciBuYW1lIGFuZCB0aGF0IGEgc2lnbmFsCisgICAgICAgICdzdGF0ZS1j
aGFuZ2U6OmRlZnVuY3QnIGlzIGVtaXR0ZWQgd2hlbiBkZXRhY2hpbmcgdGhlIHdyYXBwZXIuCisK
KyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2d0ay9BY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckF0
ay5jcHA6CisgICAgICAgICh3ZWJraXRfYWNjZXNzaWJsZV9nZXRfbmFtZSk6IFJldHVybnMgdGhl
IGN1cnJlbnQgZG9jdW1lbnQncyB0aXRsZQorICAgICAgICBhcyBmYWxsYmFjayBtZWNoYW5pc20g
Zm9yIHdlYkFyZWEgb2JqZWN0cy4KKyAgICAgICAgKHdlYmtpdF9hY2Nlc3NpYmxlX2RldGFjaCk6
IEVtaXQgJ3N0YXRlLWNoYW5nZTo6ZGVmdW5jdCcgZnVuY3Rpb24KKyAgICAgICAgYXMgc29vbiBh
cyB0aGUgd3JhcHBlciBpcyBkZXRhY2hlZCBmcm9tIHRoZSByZWxhdGVkIGNvcmUgb2JqZWN0Lgor
CiAyMDEwLTExLTA5ICBBbmRyZWFzIEtsaW5nICA8a2xpbmdAd2Via2l0Lm9yZz4KIAogICAgICAg
ICBSZXZpZXdlZCBieSBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbi4KZGlmZiAtLWdpdCBhL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9ndGsvQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJBdGsuY3Bw
IGIvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2d0ay9BY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckF0
ay5jcHAKaW5kZXggNzI2Y2RiMS4uNzU1MmZkMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L2d0ay9BY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckF0ay5jcHAKKysrIGIvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L2d0ay9BY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckF0ay5jcHAKQEAg
LTE3MSw3ICsxNzEsNyBAQCBzdGF0aWMgY29uc3QgZ2NoYXIqIHdlYmtpdF9hY2Nlc3NpYmxlX2dl
dF9uYW1lKEF0a09iamVjdCogb2JqZWN0KQogICAgICAgICAgICAgICAgIHJldHVybiB3ZWJraXRf
YWNjZXNzaWJsZV90ZXh0X2dldF90ZXh0KEFUS19URVhUKGF0a09iamVjdCksIDAsIC0xKTsKICAg
ICAgICAgfQogCi0gICAgICAgIC8vIFRyeSB0ZXh0IHVuZGVyIHRoZSBub2RlCisgICAgICAgIC8v
IFRyeSB0ZXh0IHVuZGVyIHRoZSBub2RlLgogICAgICAgICBTdHJpbmcgdGV4dFVuZGVyID0gcmVu
ZGVyT2JqZWN0LT50ZXh0VW5kZXJFbGVtZW50KCk7CiAgICAgICAgIGlmICh0ZXh0VW5kZXIubGVu
Z3RoKCkpCiAgICAgICAgICAgICByZXR1cm4gcmV0dXJuU3RyaW5nKHRleHRVbmRlcik7CkBAIC0x
ODcsNiArMTg3LDEzIEBAIHN0YXRpYyBjb25zdCBnY2hhciogd2Via2l0X2FjY2Vzc2libGVfZ2V0
X25hbWUoQXRrT2JqZWN0KiBvYmplY3QpCiAgICAgICAgIH0KICAgICB9CiAKKyAgICAvLyBGYWxs
YmFjayBmb3IgdGhlIHdlYkFyZWEgb2JqZWN0OiBqdXN0IHJldHVybiB0aGUgZG9jdW1lbnQncyB0
aXRsZS4KKyAgICBpZiAocmVuZGVyT2JqZWN0LT5pc1dlYkFyZWEoKSkgeworICAgICAgICBEb2N1
bWVudCogZG9jdW1lbnQgPSBjb3JlT2JqZWN0LT5kb2N1bWVudCgpOworICAgICAgICBpZiAoZG9j
dW1lbnQpCisgICAgICAgICAgICByZXR1cm4gcmV0dXJuU3RyaW5nKGRvY3VtZW50LT50aXRsZSgp
KTsKKyAgICB9CisKICAgICByZXR1cm4gcmV0dXJuU3RyaW5nKGNvcmVPYmplY3QtPnN0cmluZ1Zh
bHVlKCkpOwogfQogCkBAIC0yMjkyLDYgKzIyOTksOSBAQCB2b2lkIHdlYmtpdF9hY2Nlc3NpYmxl
X2RldGFjaChXZWJLaXRBY2Nlc3NpYmxlKiBhY2Nlc3NpYmxlKQogewogICAgIEFTU0VSVChhY2Nl
c3NpYmxlLT5tX29iamVjdCk7CiAKKyAgICBpZiAoY29yZShhY2Nlc3NpYmxlKS0+cm9sZVZhbHVl
KCkgPT0gV2ViQXJlYVJvbGUpCisgICAgICAgIGdfc2lnbmFsX2VtaXRfYnlfbmFtZShhY2Nlc3Np
YmxlLCAic3RhdGUtY2hhbmdlIiwgImRlZnVuY3QiLCB0cnVlKTsKKwogICAgIC8vIFdlIHJlcGxh
Y2UgdGhlIFdlYkNvcmUgQWNjZXNzaWJpbGl0eU9iamVjdCB3aXRoIGEgZmFsbGJhY2sgb2JqZWN0
IHRoYXQKICAgICAvLyBwcm92aWRlcyBkZWZhdWx0IGltcGxlbWVudGF0aW9ucyB0byBhdm9pZCBy
ZXBldGl0aXZlIG51bGwtY2hlY2tpbmcgYWZ0ZXIKICAgICAvLyBkZXRhY2htZW50LgpkaWZmIC0t
Z2l0IGEvV2ViS2l0L2d0ay9DaGFuZ2VMb2cgYi9XZWJLaXQvZ3RrL0NoYW5nZUxvZwppbmRleCA2
ZDlhNjUyLi5mYWM1NzQzIDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL0NoYW5nZUxvZworKysgYi9X
ZWJLaXQvZ3RrL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEwLTExLTE1ICBNYXJpbyBT
YW5jaGV6IFByYWRhICA8bXNhbmNoZXpAaWdhbGlhLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbR1RLXSBldmVudHMgbWlzc2luZyB3aGVuIGEg
ZG9jdW1lbnQgaXMgKHJlKWxvYWRlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjU4MzEKKworICAgICAgICBFbWl0IHRoZSByaWdodCBzaWduYWxzIHdo
ZW4gbG9hZGluZyBhIGRvY3VtZW50LgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRnJhbWVM
b2FkZXJDbGllbnRHdGsuY3BwOgorICAgICAgICAoV2ViS2l0Ojpub3RpZnlBY2Nlc3NpYmlsaXR5
U3RhdHVzKTogTmV3IGZ1bmN0aW9uLCB0byBtYWtlIHN1cmUKKyAgICAgICAgdGhlIHNpZ25hbHMg
J3N0YXRlLWNoYW5nZScsICdyZWxvYWQnLCAnbG9hZC1zdG9wcGVkJyBhbmQKKyAgICAgICAgJ2xv
YWQtY29tcGxldGUnIGFyZSBwcm9wZXJseSBlbWl0dGVkIHdoZW4gbmVlZGVkLgorICAgICAgICAo
V2ViS2l0Ojpub3RpZnlTdGF0dXMpOiBBbHNvIG5vdGlmeSBhY2Nlc3NpYmlsaXR5IGlmIGVuYWJs
ZWQuCisKIDIwMTAtMTEtMDggIE5pY29sYXMgRHVmcmVzbmUgIDxuaWNvbGFzLmR1ZnJlc25lQGNv
bGxhYm9yYS5jby51az4KIAogICAgICAgICBSZXZpZXdlZCBieSBNYXJ0aW4gUm9iaW5zb24uCmRp
ZmYgLS1naXQgYS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50R3Rr
LmNwcCBiL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRHdGsuY3Bw
CmluZGV4IGIyM2JkNzAuLjBhOTA5ZjkgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvV2ViQ29yZVN1
cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRHdGsuY3BwCisrKyBiL1dlYktpdC9ndGsvV2ViQ29yZVN1
cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRHdGsuY3BwCkBAIC0yNSw2ICsyNSw3IEBACiAjaW5jbHVk
ZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiRnJhbWVMb2FkZXJDbGllbnRHdGsuaCIKIAorI2luY2x1
ZGUgIkFYT2JqZWN0Q2FjaGUuaCIKICNpbmNsdWRlICJBcmNoaXZlUmVzb3VyY2UuaCIKICNpbmNs
dWRlICJDYWNoZWRGcmFtZS5oIgogI2luY2x1ZGUgIkNvbG9yLmgiCkBAIC0yMDcsNiArMjA4LDM0
IEBAIFN0cmluZyBGcmFtZUxvYWRlckNsaWVudDo6dXNlckFnZW50KGNvbnN0IEtVUkwmIHVybCkK
ICAgICByZXR1cm4gU3RyaW5nOjpmcm9tVVRGOCh3ZWJraXRfd2ViX3NldHRpbmdzX2dldF91c2Vy
X2FnZW50KHNldHRpbmdzKSk7CiB9CiAKK3N0YXRpYyB2b2lkIG5vdGlmeUFjY2Vzc2liaWxpdHlT
dGF0dXMoV2ViS2l0V2ViRnJhbWUqIGZyYW1lLCBXZWJLaXRMb2FkU3RhdHVzIGxvYWRTdGF0dXMp
Cit7CisgICAgV2ViS2l0V2ViVmlldyogd2ViVmlldyA9IGdldFZpZXdGcm9tRnJhbWUoZnJhbWUp
OworICAgIGlmICghd2ViVmlldyB8fCBmcmFtZSAhPSB3ZWJraXRfd2ViX3ZpZXdfZ2V0X21haW5f
ZnJhbWUod2ViVmlldykpCisgICAgICAgIHJldHVybjsKKworICAgIEF0a09iamVjdCogYXhPYmpl
Y3QgPSBndGtfd2lkZ2V0X2dldF9hY2Nlc3NpYmxlKEdUS19XSURHRVQod2ViVmlldykpOworICAg
IGlmICghYXhPYmplY3QgfHwgIUFUS19JU19ET0NVTUVOVChheE9iamVjdCkpCisgICAgICAgIHJl
dHVybjsKKworICAgIHN3aXRjaCAobG9hZFN0YXR1cykgeworICAgIGNhc2UgV0VCS0lUX0xPQURf
UFJPVklTSU9OQUw6CisgICAgICAgIGdfc2lnbmFsX2VtaXRfYnlfbmFtZShheE9iamVjdCwgInN0
YXRlLWNoYW5nZSIsICJidXN5IiwgdHJ1ZSk7CisgICAgICAgIGlmIChjb3JlKGZyYW1lKS0+bG9h
ZGVyKCktPmxvYWRUeXBlKCkgPT0gRnJhbWVMb2FkVHlwZVJlbG9hZCkKKyAgICAgICAgICAgIGdf
c2lnbmFsX2VtaXRfYnlfbmFtZShheE9iamVjdCwgInJlbG9hZCIpOworICAgICAgICBicmVhazsK
KyAgICBjYXNlIFdFQktJVF9MT0FEX0ZBSUxFRDoKKyAgICAgICAgZ19zaWduYWxfZW1pdF9ieV9u
YW1lKGF4T2JqZWN0LCAibG9hZC1zdG9wcGVkIik7CisgICAgICAgIGdfc2lnbmFsX2VtaXRfYnlf
bmFtZShheE9iamVjdCwgInN0YXRlLWNoYW5nZSIsICJidXN5IiwgZmFsc2UpOworICAgICAgICBi
cmVhazsKKyAgICBjYXNlIFdFQktJVF9MT0FEX0ZJTklTSEVEOgorICAgICAgICBnX3NpZ25hbF9l
bWl0X2J5X25hbWUoYXhPYmplY3QsICJsb2FkLWNvbXBsZXRlIik7CisgICAgICAgIGdfc2lnbmFs
X2VtaXRfYnlfbmFtZShheE9iamVjdCwgInN0YXRlLWNoYW5nZSIsICJidXN5IiwgZmFsc2UpOwor
ICAgIGRlZmF1bHQ6CisgICAgICAgIGJyZWFrOworICAgIH0KK30KKwogc3RhdGljIHZvaWQgbm90
aWZ5U3RhdHVzKFdlYktpdFdlYkZyYW1lKiBmcmFtZSwgV2ViS2l0TG9hZFN0YXR1cyBsb2FkU3Rh
dHVzKQogewogICAgIGZyYW1lLT5wcml2LT5sb2FkU3RhdHVzID0gbG9hZFN0YXR1czsKQEAgLTIx
Nyw2ICsyNDYsOSBAQCBzdGF0aWMgdm9pZCBub3RpZnlTdGF0dXMoV2ViS2l0V2ViRnJhbWUqIGZy
YW1lLCBXZWJLaXRMb2FkU3RhdHVzIGxvYWRTdGF0dXMpCiAgICAgICAgIHdlYlZpZXctPnByaXYt
PmxvYWRTdGF0dXMgPSBsb2FkU3RhdHVzOwogICAgICAgICBnX29iamVjdF9ub3RpZnkoR19PQkpF
Q1Qod2ViVmlldyksICJsb2FkLXN0YXR1cyIpOwogICAgIH0KKworICAgIGlmIChBWE9iamVjdENh
Y2hlOjphY2Nlc3NpYmlsaXR5RW5hYmxlZCgpKQorICAgICAgICBub3RpZnlBY2Nlc3NpYmlsaXR5
U3RhdHVzKGZyYW1lLCBsb2FkU3RhdHVzKTsKIH0KIAogc3RhdGljIHZvaWQgbG9hZERvbmUoV2Vi
S2l0V2ViRnJhbWUqIGZyYW1lLCBib29sIGRpZFN1Y2NlZWQpCi0tIAoxLjcuMy4yCgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>74398</attachid>
            <date>2010-11-19 09:22:16 -0800</date>
            <delta_ts>2010-11-26 04:31:32 -0800</delta_ts>
            <desc>AtkDocument events implementation + New unit test</desc>
            <filename>0001-2010-11-19-Mario-Sanchez-Prada-msanchez-igalia.com.patch</filename>
            <type>text/plain</type>
            <size>14148</size>
            <attacher name="Mario Sanchez Prada">mario</attacher>
            
              <data encoding="base64">RnJvbSA0ZTcwMzZjY2JmYzVjM2VkNTU1NGFlN2ZkZDhmZWQ0N2YxOTkyMTNmIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXJpbyBTYW5jaGV6IFByYWRhIDxtc2FuY2hlekBpZ2FsaWEu
Y29tPgpEYXRlOiBGcmksIDE5IE5vdiAyMDEwIDE4OjE3OjIwICswMTAwClN1YmplY3Q6IFtQQVRD
SF0gMjAxMC0xMS0xOSAgTWFyaW8gU2FuY2hleiBQcmFkYSAgPG1zYW5jaGV6QGlnYWxpYS5jb20+
CgogICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKICAgICAgICBbR1RLXSBldmVu
dHMgbWlzc2luZyB3aGVuIGEgZG9jdW1lbnQgaXMgKHJlKWxvYWRlZAogICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNTgzMQoKICAgICAgICBNYWtlIHN1cmUg
d2ViQXJlYSByZXR1cm5zIGEgcHJvcGVyIG5hbWUgYW5kIHRoYXQgYSBzaWduYWwKICAgICAgICAn
c3RhdGUtY2hhbmdlOjpkZWZ1bmN0JyBpcyBlbWl0dGVkIHdoZW4gZGV0YWNoaW5nIHRoZSB3cmFw
cGVyLgoKICAgICAgICAqIGFjY2Vzc2liaWxpdHkvZ3RrL0FjY2Vzc2liaWxpdHlPYmplY3RXcmFw
cGVyQXRrLmNwcDoKICAgICAgICAod2Via2l0X2FjY2Vzc2libGVfZ2V0X25hbWUpOiBSZXR1cm5z
IHRoZSBjdXJyZW50IGRvY3VtZW50J3MgdGl0bGUKICAgICAgICBhcyBmYWxsYmFjayBtZWNoYW5p
c20gZm9yIHdlYkFyZWEgb2JqZWN0cy4KICAgICAgICAod2Via2l0X2FjY2Vzc2libGVfZGV0YWNo
KTogRW1pdCAnc3RhdGUtY2hhbmdlOjpkZWZ1bmN0JyBmdW5jdGlvbgogICAgICAgIGFzIHNvb24g
YXMgdGhlIHdyYXBwZXIgaXMgZGV0YWNoZWQgZnJvbSB0aGUgcmVsYXRlZCBjb3JlIG9iamVjdC4K
CjIwMTAtMTEtMTkgIE1hcmlvIFNhbmNoZXogUHJhZGEgIDxtc2FuY2hlekBpZ2FsaWEuY29tPgoK
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCiAgICAgICAgW0dUS10gZXZlbnRz
IG1pc3Npbmcgd2hlbiBhIGRvY3VtZW50IGlzIChyZSlsb2FkZWQKICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjU4MzEKCiAgICAgICAgRW1pdCB0aGUgcmln
aHQgc2lnbmFscyB3aGVuIHJlbG9hZGluZyBhIGRvY3VtZW50LgoKICAgICAgICAqIFdlYkNvcmVT
dXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50R3RrLmNwcDoKICAgICAgICAoV2ViS2l0Ojpub3RpZnlB
Y2Nlc3NpYmlsaXR5U3RhdHVzKTogTmV3IGZ1bmN0aW9uLCB0byBtYWtlIHN1cmUKICAgICAgICB0
aGUgc2lnbmFscyBpbnZvbHZlZCBpbiByZWxvYWRpbmcgYSBkb2N1bWVudCBhcmUgcHJvcGVybHkg
ZW1pdHRlZC4KICAgICAgICAoV2ViS2l0Ojpub3RpZnlTdGF0dXMpOiBBbHNvIG5vdGlmeSBhY2Nl
c3NpYmlsaXR5IGlmIGVuYWJsZWQuCgogICAgICAgIE5ldyB1bml0IHRlc3QgdG8gY2hlY2sgdGhl
IHNpZ25hbHMgYXJlIGJlaW5nIGFjdHVhbGx5IGVtaXR0ZWQuCgogICAgICAgICogdGVzdHMvdGVz
dGF0ay5jOgogICAgICAgIChiYWlsT3V0RnJvbU1haW5Mb29wKTogTmV3LCB1c2VmdWwgdG8gYmUg
Y2FsbGVkIGFmdGVyIGEgdGltZW91dCB0bwogICAgICAgIGF2b2lkIHRoZSB0ZXN0IGZyb20gaGFu
Z2luZyBpbiBjYXNlIG9mIGZhaWx1cmUuCiAgICAgICAgKHN0YXRlQ2hhbmdlZENiKTogQ2FsbGJh
Y2sgZm9yICdzdGF0ZS1jaGFuZ2UnIHNpZ25hbCBlbWl0dGVkIGJ5CiAgICAgICAgdGhlIGFjY2Vz
c2libGUgb2JqZWN0IGFzc29jaWF0ZWQgdG8gdGhlIHdlYlZpZXcuCiAgICAgICAgKGRvY3VtZW50
UmVsb2FkQ2IpOiBDYWxsYmFjayBmb3IgJ3JlbG9hZCcgc2lnbmFsLgogICAgICAgIChkb2N1bWVu
dExvYWRDb21wbGV0ZUNiKTogQ2FsbGJhY2sgZm9yICdsb2FkLWNvbXBsZXRlJyBzaWduYWwuCiAg
ICAgICAgKHdlYnZpZXdMb2FkU3RhdHVzQ2hhbmdlZENiKTogQ2FsbGJhY2sgZm9yICdub3RpZnk6
OmxvYWQtc3RhdHVzJwogICAgICAgIHNpZ25hbCwgZW1pdHRlZCBieSB0aGUgV2ViS2l0V2ViVmll
dyBvYmplY3QgKG5vdCB0aGUgQXRrT2JqZWN0KS4KICAgICAgICAod2ViVmlld1JlbG9hZE9uSWRs
ZSk6IEdTb3VyY2VGdW5jIGZ1bmN0aW9uIHRvIGNhbGwgdG8gdGhlCiAgICAgICAgZnVuY3Rpb24g
d2Via2l0X3dlYl92aWV3X3JlbG9hZCgpIGluIGEgZGlmZmVyZW50IG1haW4gbG9vcC4KICAgICAg
ICAodGVzdFdlYmtpdEF0a0RvY3VtZW50UmVsb2FkRXZlbnRzKTogTmV3IHVuaXQgdGVzdCwgdXNp
bmcgYQogICAgICAgIGRpZmZlcmVudCBtYWluIGxvb3AgdG8gYWxsb3cgcnVubmluZyB0aGUgdGVz
dCBhbmQgY2hlY2tpbmcgdGhlCiAgICAgICAgcmVzdWx0cyBsYXRlciBvbiBpbiBhIGNvbnZlbmll
bnQgd2F5LgogICAgICAgIChtYWluKTogQWRkZWQgdGhlIG5ldyB1bml0IHRlc3QuCi0tLQogV2Vi
Q29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDE2ICsr
KwogLi4uL2d0ay9BY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckF0ay5jcHAgICAgICAgICAgfCAg
IDEyICsrLQogV2ViS2l0L2d0ay9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgfCAgIDMyICsrKysrKwogV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNs
aWVudEd0ay5jcHAgfCAgIDMyICsrKysrKwogV2ViS2l0L2d0ay90ZXN0cy90ZXN0YXRrLmMgICAg
ICAgICAgICAgICAgICAgICAgICAgfCAgMTA4ICsrKysrKysrKysrKysrKysrKysrCiA1IGZpbGVz
IGNoYW5nZWQsIDE5OSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTRkMjI3NC4uMjMx
NjBiYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxOSBAQAorMjAxMC0xMS0xOSAgTWFyaW8gU2FuY2hleiBQcmFkYSAgPG1z
YW5jaGV6QGlnYWxpYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgW0dUS10gZXZlbnRzIG1pc3Npbmcgd2hlbiBhIGRvY3VtZW50IGlzIChyZSls
b2FkZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI1
ODMxCisKKyAgICAgICAgTWFrZSBzdXJlIHdlYkFyZWEgcmV0dXJucyBhIHByb3BlciBuYW1lIGFu
ZCB0aGF0IGEgc2lnbmFsCisgICAgICAgICdzdGF0ZS1jaGFuZ2U6OmRlZnVuY3QnIGlzIGVtaXR0
ZWQgd2hlbiBkZXRhY2hpbmcgdGhlIHdyYXBwZXIuCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5
L2d0ay9BY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckF0ay5jcHA6CisgICAgICAgICh3ZWJraXRf
YWNjZXNzaWJsZV9nZXRfbmFtZSk6IFJldHVybnMgdGhlIGN1cnJlbnQgZG9jdW1lbnQncyB0aXRs
ZQorICAgICAgICBhcyBmYWxsYmFjayBtZWNoYW5pc20gZm9yIHdlYkFyZWEgb2JqZWN0cy4KKyAg
ICAgICAgKHdlYmtpdF9hY2Nlc3NpYmxlX2RldGFjaCk6IEVtaXQgJ3N0YXRlLWNoYW5nZTo6ZGVm
dW5jdCcgZnVuY3Rpb24KKyAgICAgICAgYXMgc29vbiBhcyB0aGUgd3JhcHBlciBpcyBkZXRhY2hl
ZCBmcm9tIHRoZSByZWxhdGVkIGNvcmUgb2JqZWN0LgorCiAyMDEwLTExLTE4ICBNYXJpbyBTYW5j
aGV6IFByYWRhICA8bXNhbmNoZXpAaWdhbGlhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBN
YXJ0aW4gUm9iaW5zb24uCmRpZmYgLS1naXQgYS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvZ3RrL0Fj
Y2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQXRrLmNwcCBiL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9n
dGsvQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJBdGsuY3BwCmluZGV4IDNkNDM0NWEuLjMxNTY1
MDUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9ndGsvQWNjZXNzaWJpbGl0eU9i
amVjdFdyYXBwZXJBdGsuY3BwCisrKyBiL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9ndGsvQWNjZXNz
aWJpbGl0eU9iamVjdFdyYXBwZXJBdGsuY3BwCkBAIC0xNzEsNyArMTcxLDcgQEAgc3RhdGljIGNv
bnN0IGdjaGFyKiB3ZWJraXRfYWNjZXNzaWJsZV9nZXRfbmFtZShBdGtPYmplY3QqIG9iamVjdCkK
ICAgICAgICAgICAgICAgICByZXR1cm4gd2Via2l0X2FjY2Vzc2libGVfdGV4dF9nZXRfdGV4dChB
VEtfVEVYVChhdGtPYmplY3QpLCAwLCAtMSk7CiAgICAgICAgIH0KIAotICAgICAgICAvLyBUcnkg
dGV4dCB1bmRlciB0aGUgbm9kZQorICAgICAgICAvLyBUcnkgdGV4dCB1bmRlciB0aGUgbm9kZS4K
ICAgICAgICAgU3RyaW5nIHRleHRVbmRlciA9IHJlbmRlck9iamVjdC0+dGV4dFVuZGVyRWxlbWVu
dCgpOwogICAgICAgICBpZiAodGV4dFVuZGVyLmxlbmd0aCgpKQogICAgICAgICAgICAgcmV0dXJu
IHJldHVyblN0cmluZyh0ZXh0VW5kZXIpOwpAQCAtMTg3LDYgKzE4NywxMyBAQCBzdGF0aWMgY29u
c3QgZ2NoYXIqIHdlYmtpdF9hY2Nlc3NpYmxlX2dldF9uYW1lKEF0a09iamVjdCogb2JqZWN0KQog
ICAgICAgICB9CiAgICAgfQogCisgICAgLy8gRmFsbGJhY2sgZm9yIHRoZSB3ZWJBcmVhIG9iamVj
dDoganVzdCByZXR1cm4gdGhlIGRvY3VtZW50J3MgdGl0bGUuCisgICAgaWYgKHJlbmRlck9iamVj
dC0+aXNXZWJBcmVhKCkpIHsKKyAgICAgICAgRG9jdW1lbnQqIGRvY3VtZW50ID0gY29yZU9iamVj
dC0+ZG9jdW1lbnQoKTsKKyAgICAgICAgaWYgKGRvY3VtZW50KQorICAgICAgICAgICAgcmV0dXJu
IHJldHVyblN0cmluZyhkb2N1bWVudC0+dGl0bGUoKSk7CisgICAgfQorCiAgICAgcmV0dXJuIHJl
dHVyblN0cmluZyhjb3JlT2JqZWN0LT5zdHJpbmdWYWx1ZSgpKTsKIH0KIApAQCAtMjI5Niw2ICsy
MzAzLDkgQEAgdm9pZCB3ZWJraXRfYWNjZXNzaWJsZV9kZXRhY2goV2ViS2l0QWNjZXNzaWJsZSog
YWNjZXNzaWJsZSkKIHsKICAgICBBU1NFUlQoYWNjZXNzaWJsZS0+bV9vYmplY3QpOwogCisgICAg
aWYgKGNvcmUoYWNjZXNzaWJsZSktPnJvbGVWYWx1ZSgpID09IFdlYkFyZWFSb2xlKQorICAgICAg
ICBnX3NpZ25hbF9lbWl0X2J5X25hbWUoYWNjZXNzaWJsZSwgInN0YXRlLWNoYW5nZSIsICJkZWZ1
bmN0IiwgdHJ1ZSk7CisKICAgICAvLyBXZSByZXBsYWNlIHRoZSBXZWJDb3JlIEFjY2Vzc2liaWxp
dHlPYmplY3Qgd2l0aCBhIGZhbGxiYWNrIG9iamVjdCB0aGF0CiAgICAgLy8gcHJvdmlkZXMgZGVm
YXVsdCBpbXBsZW1lbnRhdGlvbnMgdG8gYXZvaWQgcmVwZXRpdGl2ZSBudWxsLWNoZWNraW5nIGFm
dGVyCiAgICAgLy8gZGV0YWNobWVudC4KZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvQ2hhbmdlTG9n
IGIvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKaW5kZXggOTdkZjNiMy4uNjZmMDVhNSAxMDA2NDQKLS0t
IGEvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzNSBAQAorMjAxMC0xMS0xOSAgTWFyaW8gU2FuY2hleiBQcmFkYSAgPG1zYW5jaGV6QGln
YWxpYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgW0dUS10gZXZlbnRzIG1pc3Npbmcgd2hlbiBhIGRvY3VtZW50IGlzIChyZSlsb2FkZWQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI1ODMxCisKKyAg
ICAgICAgRW1pdCB0aGUgcmlnaHQgc2lnbmFscyB3aGVuIHJlbG9hZGluZyBhIGRvY3VtZW50Lgor
CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRHdGsuY3BwOgorICAg
ICAgICAoV2ViS2l0Ojpub3RpZnlBY2Nlc3NpYmlsaXR5U3RhdHVzKTogTmV3IGZ1bmN0aW9uLCB0
byBtYWtlIHN1cmUKKyAgICAgICAgdGhlIHNpZ25hbHMgaW52b2x2ZWQgaW4gcmVsb2FkaW5nIGEg
ZG9jdW1lbnQgYXJlIHByb3Blcmx5IGVtaXR0ZWQuCisgICAgICAgIChXZWJLaXQ6Om5vdGlmeVN0
YXR1cyk6IEFsc28gbm90aWZ5IGFjY2Vzc2liaWxpdHkgaWYgZW5hYmxlZC4KKworICAgICAgICBO
ZXcgdW5pdCB0ZXN0IHRvIGNoZWNrIHRoZSBzaWduYWxzIGFyZSBiZWluZyBhY3R1YWxseSBlbWl0
dGVkLgorCisgICAgICAgICogdGVzdHMvdGVzdGF0ay5jOgorICAgICAgICAoYmFpbE91dEZyb21N
YWluTG9vcCk6IE5ldywgdXNlZnVsIHRvIGJlIGNhbGxlZCBhZnRlciBhIHRpbWVvdXQgdG8KKyAg
ICAgICAgYXZvaWQgdGhlIHRlc3QgZnJvbSBoYW5naW5nIGluIGNhc2Ugb2YgZmFpbHVyZS4KKyAg
ICAgICAgKHN0YXRlQ2hhbmdlZENiKTogQ2FsbGJhY2sgZm9yICdzdGF0ZS1jaGFuZ2UnIHNpZ25h
bCBlbWl0dGVkIGJ5CisgICAgICAgIHRoZSBhY2Nlc3NpYmxlIG9iamVjdCBhc3NvY2lhdGVkIHRv
IHRoZSB3ZWJWaWV3LgorICAgICAgICAoZG9jdW1lbnRSZWxvYWRDYik6IENhbGxiYWNrIGZvciAn
cmVsb2FkJyBzaWduYWwuCisgICAgICAgIChkb2N1bWVudExvYWRDb21wbGV0ZUNiKTogQ2FsbGJh
Y2sgZm9yICdsb2FkLWNvbXBsZXRlJyBzaWduYWwuCisgICAgICAgICh3ZWJ2aWV3TG9hZFN0YXR1
c0NoYW5nZWRDYik6IENhbGxiYWNrIGZvciAnbm90aWZ5Ojpsb2FkLXN0YXR1cycKKyAgICAgICAg
c2lnbmFsLCBlbWl0dGVkIGJ5IHRoZSBXZWJLaXRXZWJWaWV3IG9iamVjdCAobm90IHRoZSBBdGtP
YmplY3QpLgorICAgICAgICAod2ViVmlld1JlbG9hZE9uSWRsZSk6IEdTb3VyY2VGdW5jIGZ1bmN0
aW9uIHRvIGNhbGwgdG8gdGhlCisgICAgICAgIGZ1bmN0aW9uIHdlYmtpdF93ZWJfdmlld19yZWxv
YWQoKSBpbiBhIGRpZmZlcmVudCBtYWluIGxvb3AuCisgICAgICAgICh0ZXN0V2Via2l0QXRrRG9j
dW1lbnRSZWxvYWRFdmVudHMpOiBOZXcgdW5pdCB0ZXN0LCB1c2luZyBhCisgICAgICAgIGRpZmZl
cmVudCBtYWluIGxvb3AgdG8gYWxsb3cgcnVubmluZyB0aGUgdGVzdCBhbmQgY2hlY2tpbmcgdGhl
CisgICAgICAgIHJlc3VsdHMgbGF0ZXIgb24gaW4gYSBjb252ZW5pZW50IHdheS4KKyAgICAgICAg
KG1haW4pOiBBZGRlZCB0aGUgbmV3IHVuaXQgdGVzdC4KKwogMjAxMC0xMS0xOCAgTWFyaW8gU2Fu
Y2hleiBQcmFkYSAgPG1zYW5jaGV6QGlnYWxpYS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkg
TWFydGluIFJvYmluc29uLgpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9G
cmFtZUxvYWRlckNsaWVudEd0ay5jcHAgYi9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0ZyYW1l
TG9hZGVyQ2xpZW50R3RrLmNwcAppbmRleCBiMjNiZDcwLi4wYTkwOWY5IDEwMDY0NAotLS0gYS9X
ZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50R3RrLmNwcAorKysgYi9X
ZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50R3RrLmNwcApAQCAtMjUs
NiArMjUsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkZyYW1lTG9hZGVyQ2xp
ZW50R3RrLmgiCiAKKyNpbmNsdWRlICJBWE9iamVjdENhY2hlLmgiCiAjaW5jbHVkZSAiQXJjaGl2
ZVJlc291cmNlLmgiCiAjaW5jbHVkZSAiQ2FjaGVkRnJhbWUuaCIKICNpbmNsdWRlICJDb2xvci5o
IgpAQCAtMjA3LDYgKzIwOCwzNCBAQCBTdHJpbmcgRnJhbWVMb2FkZXJDbGllbnQ6OnVzZXJBZ2Vu
dChjb25zdCBLVVJMJiB1cmwpCiAgICAgcmV0dXJuIFN0cmluZzo6ZnJvbVVURjgod2Via2l0X3dl
Yl9zZXR0aW5nc19nZXRfdXNlcl9hZ2VudChzZXR0aW5ncykpOwogfQogCitzdGF0aWMgdm9pZCBu
b3RpZnlBY2Nlc3NpYmlsaXR5U3RhdHVzKFdlYktpdFdlYkZyYW1lKiBmcmFtZSwgV2ViS2l0TG9h
ZFN0YXR1cyBsb2FkU3RhdHVzKQoreworICAgIFdlYktpdFdlYlZpZXcqIHdlYlZpZXcgPSBnZXRW
aWV3RnJvbUZyYW1lKGZyYW1lKTsKKyAgICBpZiAoIXdlYlZpZXcgfHwgZnJhbWUgIT0gd2Via2l0
X3dlYl92aWV3X2dldF9tYWluX2ZyYW1lKHdlYlZpZXcpKQorICAgICAgICByZXR1cm47CisKKyAg
ICBBdGtPYmplY3QqIGF4T2JqZWN0ID0gZ3RrX3dpZGdldF9nZXRfYWNjZXNzaWJsZShHVEtfV0lE
R0VUKHdlYlZpZXcpKTsKKyAgICBpZiAoIWF4T2JqZWN0IHx8ICFBVEtfSVNfRE9DVU1FTlQoYXhP
YmplY3QpKQorICAgICAgICByZXR1cm47CisKKyAgICBzd2l0Y2ggKGxvYWRTdGF0dXMpIHsKKyAg
ICBjYXNlIFdFQktJVF9MT0FEX1BST1ZJU0lPTkFMOgorICAgICAgICBnX3NpZ25hbF9lbWl0X2J5
X25hbWUoYXhPYmplY3QsICJzdGF0ZS1jaGFuZ2UiLCAiYnVzeSIsIHRydWUpOworICAgICAgICBp
ZiAoY29yZShmcmFtZSktPmxvYWRlcigpLT5sb2FkVHlwZSgpID09IEZyYW1lTG9hZFR5cGVSZWxv
YWQpCisgICAgICAgICAgICBnX3NpZ25hbF9lbWl0X2J5X25hbWUoYXhPYmplY3QsICJyZWxvYWQi
KTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBXRUJLSVRfTE9BRF9GQUlMRUQ6CisgICAgICAg
IGdfc2lnbmFsX2VtaXRfYnlfbmFtZShheE9iamVjdCwgImxvYWQtc3RvcHBlZCIpOworICAgICAg
ICBnX3NpZ25hbF9lbWl0X2J5X25hbWUoYXhPYmplY3QsICJzdGF0ZS1jaGFuZ2UiLCAiYnVzeSIs
IGZhbHNlKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBXRUJLSVRfTE9BRF9GSU5JU0hFRDoK
KyAgICAgICAgZ19zaWduYWxfZW1pdF9ieV9uYW1lKGF4T2JqZWN0LCAibG9hZC1jb21wbGV0ZSIp
OworICAgICAgICBnX3NpZ25hbF9lbWl0X2J5X25hbWUoYXhPYmplY3QsICJzdGF0ZS1jaGFuZ2Ui
LCAiYnVzeSIsIGZhbHNlKTsKKyAgICBkZWZhdWx0OgorICAgICAgICBicmVhazsKKyAgICB9Cit9
CisKIHN0YXRpYyB2b2lkIG5vdGlmeVN0YXR1cyhXZWJLaXRXZWJGcmFtZSogZnJhbWUsIFdlYktp
dExvYWRTdGF0dXMgbG9hZFN0YXR1cykKIHsKICAgICBmcmFtZS0+cHJpdi0+bG9hZFN0YXR1cyA9
IGxvYWRTdGF0dXM7CkBAIC0yMTcsNiArMjQ2LDkgQEAgc3RhdGljIHZvaWQgbm90aWZ5U3RhdHVz
KFdlYktpdFdlYkZyYW1lKiBmcmFtZSwgV2ViS2l0TG9hZFN0YXR1cyBsb2FkU3RhdHVzKQogICAg
ICAgICB3ZWJWaWV3LT5wcml2LT5sb2FkU3RhdHVzID0gbG9hZFN0YXR1czsKICAgICAgICAgZ19v
YmplY3Rfbm90aWZ5KEdfT0JKRUNUKHdlYlZpZXcpLCAibG9hZC1zdGF0dXMiKTsKICAgICB9CisK
KyAgICBpZiAoQVhPYmplY3RDYWNoZTo6YWNjZXNzaWJpbGl0eUVuYWJsZWQoKSkKKyAgICAgICAg
bm90aWZ5QWNjZXNzaWJpbGl0eVN0YXR1cyhmcmFtZSwgbG9hZFN0YXR1cyk7CiB9CiAKIHN0YXRp
YyB2b2lkIGxvYWREb25lKFdlYktpdFdlYkZyYW1lKiBmcmFtZSwgYm9vbCBkaWRTdWNjZWVkKQpk
aWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay90ZXN0cy90ZXN0YXRrLmMgYi9XZWJLaXQvZ3RrL3Rlc3Rz
L3Rlc3RhdGsuYwppbmRleCBmMDk4ZjYyLi4zNGIxMGM0IDEwMDY0NAotLS0gYS9XZWJLaXQvZ3Rr
L3Rlc3RzL3Rlc3RhdGsuYworKysgYi9XZWJLaXQvZ3RrL3Rlc3RzL3Rlc3RhdGsuYwpAQCAtMjIx
LDYgKzIyMSwxMTMgQEAgc3RhdGljIHZvaWQgcnVuR2V0VGV4dFRlc3RzKEF0a1RleHQqIHRleHRP
YmplY3QpCiAgICAgICAgICAgICAgICAgICAgICAgICAwLCAiVGhpcyBpcyBhIHRlc3QuIFRoaXMg
aXMgdGhlIHNlY29uZCBzZW50ZW5jZS4gQW5kIHRoaXMgdGhlIHRoaXJkLiIsIDAsIDY0KTsKIH0K
IAorCitzdGF0aWMgZ2Jvb2xlYW4gZG9jdW1lbnRMb2FkQ29tcGxldGUgPSBGQUxTRTsKK3N0YXRp
YyBnYm9vbGVhbiBkb2N1bWVudFJlbG9hZGVkID0gRkFMU0U7CitzdGF0aWMgZ2Jvb2xlYW4gZGVm
dW5jdFdlYlZpZXcgPSBGQUxTRTsKK3N0YXRpYyBnYm9vbGVhbiBsYXN0QnVzeVN0YXRlID0gRkFM
U0U7CisKK3N0YXRpYyBnYm9vbGVhbiBiYWlsT3V0RnJvbU1haW5Mb29wKEdNYWluTG9vcCogbG9v
cCkKK3sKKyAgICBpZiAoZ19tYWluX2xvb3BfaXNfcnVubmluZyhsb29wKSkKKyAgICAgICAgZ19t
YWluX2xvb3BfcXVpdChsb29wKTsKKworICAgIHJldHVybiBGQUxTRTsKK30KKworc3RhdGljIHZv
aWQgc3RhdGVDaGFuZ2VkQ2IoQXRrT2JqZWN0KiBvYmplY3QsIGdjaGFyKiBzdGF0ZU5hbWUsIGdi
b29sZWFuIHN0YXRlU2V0LCBHTWFpbkxvb3AqIGxvb3ApCit7CisgICAgaWYgKCFnX3N0cmNtcDAo
c3RhdGVOYW1lLCAiZGVmdW5jdCIpKSB7CisgICAgICAgIGRlZnVuY3RXZWJWaWV3ID0gVFJVRTsK
KyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIC8qIE9ubHkgJ2RlZnVuY3QnIGFuZCAnYnVz
eScgc3RhdGUgY2hhbmdlcyBhcmUgY29uc2lkZXJlZC4gKi8KKyAgICBpZiAoZ19zdHJjbXAwKHN0
YXRlTmFtZSwgImJ1c3kiKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgLyogQ2hlY2sgJ2J1c3kn
IHN0YXRlIGNoYW5nZSBhbmQgZGVjaWRlIHdoZXRoZXIgdG8gZmluaXNoIHRoZSB0ZXN0CisgICAg
ICogcmlnaHQgbm93LCB3aXRob3V0IHdhaXRpbmcgZm9yIHRoZSB0aW1lb3V0IHRvIGJlIGV4ZWN1
dGVkLiAqLworICAgIGxhc3RCdXN5U3RhdGUgPSBzdGF0ZVNldDsKKyAgICBpZiAoZG9jdW1lbnRM
b2FkQ29tcGxldGUgJiYgIWxhc3RCdXN5U3RhdGUpCisgICAgICAgIGJhaWxPdXRGcm9tTWFpbkxv
b3AobG9vcCk7Cit9CisKK3N0YXRpYyB2b2lkIGRvY3VtZW50UmVsb2FkQ2IoQXRrRG9jdW1lbnQq
IGRvY3VtZW50LCBncG9pbnRlciB1bnVzZWQpCit7CisgICAgLyogRW5zdXJlIHN0YXRlLWNoYW5n
ZWQ6OmJ1c3kgKGRldGFpbCA9PSAxKSBoYXMgYWxyZWFieSBiZWVuCisgICAgICogaXNzdWVkLCBh
bmQgdXBkYXRlIHRoZSBnbG9iYWwgdmFyaWFibGUgdG8gbWFyayB0aGUgcmVsb2FkLiAqLworICAg
IGdfYXNzZXJ0KGxhc3RCdXN5U3RhdGUpOworICAgIGRvY3VtZW50UmVsb2FkZWQgPSBUUlVFOwor
fQorCitzdGF0aWMgdm9pZCBkb2N1bWVudExvYWRDb21wbGV0ZUNiKEF0a0RvY3VtZW50KiBkb2N1
bWVudCwgZ3BvaW50ZXIgdW51c2VkKQoreworICAgIC8qIEVuc3VyZSB3ZSBrZWVwIGJlaW5nIGlu
IHRoZSAnYnVzeScgc3RhdGUgYW5kIHVwZGF0ZSB0aGUgZ2xvYmFsCisgICAgICogdmFyaWFibGUg
dG8gbWFyayB0aGF0IHRoZSBsb2FkIGhhcyBjb21wbGV0ZWQuICovCisgICAgZ19hc3NlcnQobGFz
dEJ1c3lTdGF0ZSk7CisgICAgZG9jdW1lbnRMb2FkQ29tcGxldGUgPSBUUlVFOworfQorCitzdGF0
aWMgdm9pZCB3ZWJ2aWV3TG9hZFN0YXR1c0NoYW5nZWRDYihXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3
LCBHUGFyYW1TcGVjKiBwc3BlYywgR01haW5Mb29wKiBsb29wKQoreworICAgIC8qIFdlIG5lZWQg
dG8gZXhwbGljaXRseSBjb25uZWN0IGhlcmUgdG8gdGhlIHNpZ25hbHMgZW1pdHRlZCBieQorICAg
ICAqIHRoZSBBdGtPYmplY3QgYXNzb2NpYXRlZCB0byB0aGUgd2ViVmlldyBiZWNhdXNlIHRoZSBB
dGtPYmplY3QKKyAgICAgKiBpbmlhdGlhbGx5IGFzc29jaWF0ZWQgYXQgdGhlIGJlZ2lubmluZyBv
ZiB0aGUgcHJvY2VzcyAod2hlbiBpbgorICAgICAqIHRoZSBMT0FEX1BST1ZJU0lPTkFMIHN0YXRl
KSB3aWxsIGdldCBkZXN0cm95ZWQgYW5kIHJlcGxhY2VkIGJ5CisgICAgICogYSBuZXcgb25lIGxh
dGVyIG9uLCB3aGVuIHRoZSBMT0FEX0NPTU1JVEVEIHN0YXRlIGlzIHJlYWNoZWQuICovCisgICAg
V2ViS2l0TG9hZFN0YXR1cyBsb2FkU3RhdHVzID0gd2Via2l0X3dlYl92aWV3X2dldF9sb2FkX3N0
YXR1cyh3ZWJWaWV3KTsKKyAgICBpZiAobG9hZFN0YXR1cyA9PSBXRUJLSVRfTE9BRF9QUk9WSVNJ
T05BTCB8fCBsb2FkU3RhdHVzID09IFdFQktJVF9MT0FEX0NPTU1JVFRFRCkgeworICAgICAgICBB
dGtPYmplY3QqIGF4V2ViVmlldyA9IGd0a193aWRnZXRfZ2V0X2FjY2Vzc2libGUoR1RLX1dJREdF
VCh3ZWJWaWV3KSk7CisgICAgICAgIGdfYXNzZXJ0KEFUS19JU19ET0NVTUVOVChheFdlYlZpZXcp
KTsKKworICAgICAgICBnX3NpZ25hbF9jb25uZWN0KGF4V2ViVmlldywgInN0YXRlLWNoYW5nZSIs
IEdfQ0FMTEJBQ0soc3RhdGVDaGFuZ2VkQ2IpLCBsb29wKTsKKyAgICAgICAgZ19zaWduYWxfY29u
bmVjdChheFdlYlZpZXcsICJyZWxvYWQiLCBHX0NBTExCQUNLKGRvY3VtZW50UmVsb2FkQ2IpLCAw
KTsKKyAgICAgICAgZ19zaWduYWxfY29ubmVjdChheFdlYlZpZXcsICJsb2FkLWNvbXBsZXRlIiwg
R19DQUxMQkFDSyhkb2N1bWVudExvYWRDb21wbGV0ZUNiKSwgMCk7CisgICAgfQorfQorCitzdGF0
aWMgZ2Jvb2xlYW4gd2ViVmlld1JlbG9hZE9uSWRsZShXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3KQor
eworICAgIHdlYmtpdF93ZWJfdmlld19yZWxvYWQod2ViVmlldyk7CisgICAgcmV0dXJuIEZBTFNF
OworfQorCitzdGF0aWMgdm9pZCB0ZXN0V2Via2l0QXRrRG9jdW1lbnRSZWxvYWRFdmVudHMoKQor
eworICAgIFdlYktpdFdlYlZpZXcqIHdlYlZpZXcgPSBXRUJLSVRfV0VCX1ZJRVcod2Via2l0X3dl
Yl92aWV3X25ldygpKTsKKyAgICBnX29iamVjdF9yZWZfc2luayh3ZWJWaWV3KTsKKyAgICBHdGtB
bGxvY2F0aW9uIGFsbG9jYXRpb24gPSB7IDAsIDAsIDgwMCwgNjAwIH07CisgICAgZ3RrX3dpZGdl
dF9zaXplX2FsbG9jYXRlKEdUS19XSURHRVQod2ViVmlldyksICZhbGxvY2F0aW9uKTsKKworICAg
IHdlYmtpdF93ZWJfdmlld19sb2FkX3N0cmluZyh3ZWJWaWV3LCBjb250ZW50cywgMCwgMCwgMCk7
CisKKyAgICAvKiBXYWl0IGZvciB0aGUgYWNjZXNzaWJsZSBvYmplY3RzIHRvIGJlIGNyZWF0ZWQu
ICovCisgICAgd2FpdEZvckFjY2Vzc2libGVPYmplY3RzKCk7CisKKyAgICBBdGtPYmplY3QqIGF4
V2ViVmlldyA9IGd0a193aWRnZXRfZ2V0X2FjY2Vzc2libGUoR1RLX1dJREdFVCh3ZWJWaWV3KSk7
CisgICAgZ19hc3NlcnQoQVRLX0lTX0RPQ1VNRU5UKGF4V2ViVmlldykpOworCisgICAgLyogUnVu
IHRoZSBsb2dpYyBpbiBhIHNlY29uZGFyeSBtYWluIGxvb3Agc28gd2UgY2FuIGVuc3VyZSB0aGF0
IHdlCisgICAgICogY2hlY2sgdGhlIGZpbmFsIHJlc3VsdHMgYWZ0ZXIgdGhlIGZ1bGwgcHJvY2Vz
cyBoYXMgZmluaXNoZWQsCisgICAgICogd2hpbGUga2VlcGluZyB1bmRlciBjb250cm9sIGFueSBm
YWlsdXJlIHRocm91Z2ggYSB0aW1lb3V0LiAqLworICAgIEdNYWluTG9vcCogbG9vcCA9IGdfbWFp
bl9sb29wX25ldygwLCBUUlVFKTsKKyAgICBnX2lkbGVfYWRkKChHU291cmNlRnVuYyl3ZWJWaWV3
UmVsb2FkT25JZGxlLCB3ZWJWaWV3KTsKKyAgICBnX3RpbWVvdXRfYWRkKDEwMDAwLCAoR1NvdXJj
ZUZ1bmMpYmFpbE91dEZyb21NYWluTG9vcCwgbG9vcCk7CisgICAgZ19zaWduYWxfY29ubmVjdCh3
ZWJWaWV3LCAibm90aWZ5Ojpsb2FkLXN0YXR1cyIsIEdfQ0FMTEJBQ0sod2Vidmlld0xvYWRTdGF0
dXNDaGFuZ2VkQ2IpLCBsb29wKTsKKyAgICBnX21haW5fbG9vcF9ydW4obG9vcCk7CisKKyAgICAv
KiBDaGVjayByZXN1bHRzLiAqLworICAgIGdfYXNzZXJ0KGRvY3VtZW50TG9hZENvbXBsZXRlKTsK
KyAgICBnX2Fzc2VydChkb2N1bWVudFJlbG9hZGVkKTsKKyAgICBnX2Fzc2VydChkZWZ1bmN0V2Vi
Vmlldyk7CisgICAgZ19hc3NlcnQoIWxhc3RCdXN5U3RhdGUpOworCisgICAgZ19tYWluX2xvb3Bf
dW5yZWYobG9vcCk7CisgICAgZ19vYmplY3RfdW5yZWYod2ViVmlldyk7Cit9CisKKwogc3RhdGlj
IHZvaWQgdGVzdFdlYmtpdEF0a0dldFRleHRBdE9mZnNldEZvcm1zKCkKIHsKICAgICBXZWJLaXRX
ZWJWaWV3KiB3ZWJWaWV3ID0gV0VCS0lUX1dFQl9WSUVXKHdlYmtpdF93ZWJfdmlld19uZXcoKSk7
CkBAIC0xMjExLDYgKzEzMTgsNyBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhcioqIGFyZ3YpCiAg
ICAgZ3RrX3Rlc3RfaW5pdCgmYXJnYywgJmFyZ3YsIDApOwogCiAgICAgZ190ZXN0X2J1Z19iYXNl
KCJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy8iKTsKKyAgICBnX3Rlc3RfYWRkX2Z1bmMoIi93ZWJr
aXQvYXRrL2RvY3VtZW50UmVsb2FkRXZlbnRzIiwgdGVzdFdlYmtpdEF0a0RvY3VtZW50UmVsb2Fk
RXZlbnRzKTsKICAgICBnX3Rlc3RfYWRkX2Z1bmMoIi93ZWJraXQvYXRrL2dldFRleHRBdE9mZnNl
dCIsIHRlc3RXZWJraXRBdGtHZXRUZXh0QXRPZmZzZXQpOwogICAgIGdfdGVzdF9hZGRfZnVuYygi
L3dlYmtpdC9hdGsvZ2V0VGV4dEF0T2Zmc2V0Rm9ybXMiLCB0ZXN0V2Via2l0QXRrR2V0VGV4dEF0
T2Zmc2V0Rm9ybXMpOwogICAgIGdfdGVzdF9hZGRfZnVuYygiL3dlYmtpdC9hdGsvZ2V0VGV4dEF0
T2Zmc2V0TmV3bGluZXMiLCB0ZXN0V2Via2l0QXRrR2V0VGV4dEF0T2Zmc2V0TmV3bGluZXMpOwot
LSAKMS43LjMuMgoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>74920</attachid>
            <date>2010-11-26 04:31:32 -0800</date>
            <delta_ts>2011-02-11 03:56:57 -0800</delta_ts>
            <desc>AtkDocument events implementation + New unit test</desc>
            <filename>0001-2010-11-26-Mario-Sanchez-Prada-msanchez-igalia.com.patch</filename>
            <type>text/plain</type>
            <size>12279</size>
            <attacher name="Mario Sanchez Prada">mario</attacher>
            
              <data encoding="base64">RnJvbSA2YmE2OGFlNWU3ZTMwODRjMGM5M2Q4MDhiMzFiODE2ZGEzNzk2ZmVmIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXJpbyBTYW5jaGV6IFByYWRhIDxtc2FuY2hlekBpZ2FsaWEu
Y29tPgpEYXRlOiBGcmksIDE5IE5vdiAyMDEwIDE4OjE3OjIwICswMTAwClN1YmplY3Q6IFtQQVRD
SF0gMjAxMC0xMS0yNiAgTWFyaW8gU2FuY2hleiBQcmFkYSAgPG1zYW5jaGV6QGlnYWxpYS5jb20+
CgogICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKICAgICAgICBbR1RLXSBldmVu
dHMgbWlzc2luZyB3aGVuIGEgZG9jdW1lbnQgaXMgKHJlKWxvYWRlZAogICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNTgzMQoKICAgICAgICBNYWtlIHN1cmUg
d2ViQXJlYSByZXR1cm5zIGEgcHJvcGVyIG5hbWUgYW5kIHRoYXQgYSBzaWduYWwKICAgICAgICAn
c3RhdGUtY2hhbmdlOjpkZWZ1bmN0JyBpcyBlbWl0dGVkIHdoZW4gZGV0YWNoaW5nIHRoZSB3cmFw
cGVyLgoKICAgICAgICAqIGFjY2Vzc2liaWxpdHkvZ3RrL0FjY2Vzc2liaWxpdHlPYmplY3RXcmFw
cGVyQXRrLmNwcDoKICAgICAgICAod2Via2l0X2FjY2Vzc2libGVfZ2V0X25hbWUpOiBSZXR1cm5z
IHRoZSBjdXJyZW50IGRvY3VtZW50J3MgdGl0bGUKICAgICAgICBhcyBmYWxsYmFjayBtZWNoYW5p
c20gZm9yIHdlYkFyZWEgb2JqZWN0cy4KICAgICAgICAod2Via2l0X2FjY2Vzc2libGVfZGV0YWNo
KTogRW1pdCAnc3RhdGUtY2hhbmdlOjpkZWZ1bmN0JyBmdW5jdGlvbgogICAgICAgIGFzIHNvb24g
YXMgdGhlIHdyYXBwZXIgaXMgZGV0YWNoZWQgZnJvbSB0aGUgcmVsYXRlZCBjb3JlIG9iamVjdC4K
CjIwMTAtMTEtMjYgIE1hcmlvIFNhbmNoZXogUHJhZGEgIDxtc2FuY2hlekBpZ2FsaWEuY29tPgoK
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCiAgICAgICAgW0dUS10gZXZlbnRz
IG1pc3Npbmcgd2hlbiBhIGRvY3VtZW50IGlzIChyZSlsb2FkZWQKICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjU4MzEKCiAgICAgICAgRW1pdCB0aGUgcmln
aHQgc2lnbmFscyB3aGVuIHJlbG9hZGluZyBhIGRvY3VtZW50LgoKICAgICAgICAqIFdlYkNvcmVT
dXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50R3RrLmNwcDoKICAgICAgICAoV2ViS2l0Ojpub3RpZnlB
Y2Nlc3NpYmlsaXR5U3RhdHVzKTogTmV3IGZ1bmN0aW9uLCB0byBtYWtlIHN1cmUKICAgICAgICB0
aGUgc2lnbmFscyBpbnZvbHZlZCBpbiByZWxvYWRpbmcgYSBkb2N1bWVudCBhcmUgcHJvcGVybHkg
ZW1pdHRlZC4KICAgICAgICAoV2ViS2l0Ojpub3RpZnlTdGF0dXMpOiBBbHNvIG5vdGlmeSBhY2Nl
c3NpYmlsaXR5IGlmIGVuYWJsZWQuCgogICAgICAgIE5ldyB1bml0IHRlc3QgdG8gY2hlY2sgdGhl
IHNpZ25hbHMgYXJlIGJlaW5nIGFjdHVhbGx5IGVtaXR0ZWQuCgogICAgICAgICogdGVzdHMvdGVz
dGF0ay5jOgogICAgICAgIChzdGF0ZUNoYW5nZWRDYik6IENhbGxiYWNrIGZvciAnc3RhdGUtY2hh
bmdlJyBzaWduYWwgZW1pdHRlZCBieQogICAgICAgIHRoZSBhY2Nlc3NpYmxlIG9iamVjdCBhc3Nv
Y2lhdGVkIHRvIHRoZSB3ZWJWaWV3LgogICAgICAgIChkb2N1bWVudFJlbG9hZENiKTogQ2FsbGJh
Y2sgZm9yICdyZWxvYWQnIHNpZ25hbC4KICAgICAgICAoZG9jdW1lbnRMb2FkQ29tcGxldGVDYik6
IENhbGxiYWNrIGZvciAnbG9hZC1jb21wbGV0ZScgc2lnbmFsLgogICAgICAgICh3ZWJ2aWV3TG9h
ZFN0YXR1c0NoYW5nZWRDYik6IENhbGxiYWNrIGZvciAnbm90aWZ5Ojpsb2FkLXN0YXR1cycKICAg
ICAgICBzaWduYWwsIGVtaXR0ZWQgYnkgdGhlIFdlYktpdFdlYlZpZXcgb2JqZWN0IChub3QgdGhl
IEF0a09iamVjdCkuCiAgICAgICAgKHRlc3RXZWJraXRBdGtEb2N1bWVudFJlbG9hZEV2ZW50cyk6
IE5ldyB1bml0IHRlc3QuCiAgICAgICAgKG1haW4pOiBBZGRlZCB0aGUgbmV3IHVuaXQgdGVzdC4K
LS0tCiBXZWJDb3JlL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8
ICAgMTYgKysrKwogLi4uL2d0ay9BY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckF0ay5jcHAgICAg
ICAgICAgfCAgIDEyICsrKy0KIFdlYktpdC9ndGsvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHwgICAyNiArKysrKysrCiBXZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Zy
YW1lTG9hZGVyQ2xpZW50R3RrLmNwcCB8ICAgMzIgKysrKysrKysrCiBXZWJLaXQvZ3RrL3Rlc3Rz
L3Rlc3RhdGsuYyAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgNzQgKysrKysrKysrKysrKysr
KysrKysKIDUgZmlsZXMgY2hhbmdlZCwgMTU5IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb25zKC0p
CgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRl
eCBlNGQyMjc0Li4wY2FhYWI0IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9X
ZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEwLTExLTI2ICBNYXJpbyBTYW5j
aGV6IFByYWRhICA8bXNhbmNoZXpAaWdhbGlhLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbR1RLXSBldmVudHMgbWlzc2luZyB3aGVuIGEgZG9j
dW1lbnQgaXMgKHJlKWxvYWRlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjU4MzEKKworICAgICAgICBNYWtlIHN1cmUgd2ViQXJlYSByZXR1cm5zIGEg
cHJvcGVyIG5hbWUgYW5kIHRoYXQgYSBzaWduYWwKKyAgICAgICAgJ3N0YXRlLWNoYW5nZTo6ZGVm
dW5jdCcgaXMgZW1pdHRlZCB3aGVuIGRldGFjaGluZyB0aGUgd3JhcHBlci4KKworICAgICAgICAq
IGFjY2Vzc2liaWxpdHkvZ3RrL0FjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQXRrLmNwcDoKKyAg
ICAgICAgKHdlYmtpdF9hY2Nlc3NpYmxlX2dldF9uYW1lKTogUmV0dXJucyB0aGUgY3VycmVudCBk
b2N1bWVudCdzIHRpdGxlCisgICAgICAgIGFzIGZhbGxiYWNrIG1lY2hhbmlzbSBmb3Igd2ViQXJl
YSBvYmplY3RzLgorICAgICAgICAod2Via2l0X2FjY2Vzc2libGVfZGV0YWNoKTogRW1pdCAnc3Rh
dGUtY2hhbmdlOjpkZWZ1bmN0JyBmdW5jdGlvbgorICAgICAgICBhcyBzb29uIGFzIHRoZSB3cmFw
cGVyIGlzIGRldGFjaGVkIGZyb20gdGhlIHJlbGF0ZWQgY29yZSBvYmplY3QuCisKIDIwMTAtMTEt
MTggIE1hcmlvIFNhbmNoZXogUHJhZGEgIDxtc2FuY2hlekBpZ2FsaWEuY29tPgogCiAgICAgICAg
IFJldmlld2VkIGJ5IE1hcnRpbiBSb2JpbnNvbi4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9ndGsvQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJBdGsuY3BwIGIvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L2d0ay9BY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckF0ay5jcHAKaW5kZXgg
M2Q0MzQ1YS4uMzE1NjUwNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2d0ay9B
Y2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckF0ay5jcHAKKysrIGIvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L2d0ay9BY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckF0ay5jcHAKQEAgLTE3MSw3ICsxNzEs
NyBAQCBzdGF0aWMgY29uc3QgZ2NoYXIqIHdlYmtpdF9hY2Nlc3NpYmxlX2dldF9uYW1lKEF0a09i
amVjdCogb2JqZWN0KQogICAgICAgICAgICAgICAgIHJldHVybiB3ZWJraXRfYWNjZXNzaWJsZV90
ZXh0X2dldF90ZXh0KEFUS19URVhUKGF0a09iamVjdCksIDAsIC0xKTsKICAgICAgICAgfQogCi0g
ICAgICAgIC8vIFRyeSB0ZXh0IHVuZGVyIHRoZSBub2RlCisgICAgICAgIC8vIFRyeSB0ZXh0IHVu
ZGVyIHRoZSBub2RlLgogICAgICAgICBTdHJpbmcgdGV4dFVuZGVyID0gcmVuZGVyT2JqZWN0LT50
ZXh0VW5kZXJFbGVtZW50KCk7CiAgICAgICAgIGlmICh0ZXh0VW5kZXIubGVuZ3RoKCkpCiAgICAg
ICAgICAgICByZXR1cm4gcmV0dXJuU3RyaW5nKHRleHRVbmRlcik7CkBAIC0xODcsNiArMTg3LDEz
IEBAIHN0YXRpYyBjb25zdCBnY2hhciogd2Via2l0X2FjY2Vzc2libGVfZ2V0X25hbWUoQXRrT2Jq
ZWN0KiBvYmplY3QpCiAgICAgICAgIH0KICAgICB9CiAKKyAgICAvLyBGYWxsYmFjayBmb3IgdGhl
IHdlYkFyZWEgb2JqZWN0OiBqdXN0IHJldHVybiB0aGUgZG9jdW1lbnQncyB0aXRsZS4KKyAgICBp
ZiAocmVuZGVyT2JqZWN0LT5pc1dlYkFyZWEoKSkgeworICAgICAgICBEb2N1bWVudCogZG9jdW1l
bnQgPSBjb3JlT2JqZWN0LT5kb2N1bWVudCgpOworICAgICAgICBpZiAoZG9jdW1lbnQpCisgICAg
ICAgICAgICByZXR1cm4gcmV0dXJuU3RyaW5nKGRvY3VtZW50LT50aXRsZSgpKTsKKyAgICB9CisK
ICAgICByZXR1cm4gcmV0dXJuU3RyaW5nKGNvcmVPYmplY3QtPnN0cmluZ1ZhbHVlKCkpOwogfQog
CkBAIC0yMjk2LDYgKzIzMDMsOSBAQCB2b2lkIHdlYmtpdF9hY2Nlc3NpYmxlX2RldGFjaChXZWJL
aXRBY2Nlc3NpYmxlKiBhY2Nlc3NpYmxlKQogewogICAgIEFTU0VSVChhY2Nlc3NpYmxlLT5tX29i
amVjdCk7CiAKKyAgICBpZiAoY29yZShhY2Nlc3NpYmxlKS0+cm9sZVZhbHVlKCkgPT0gV2ViQXJl
YVJvbGUpCisgICAgICAgIGdfc2lnbmFsX2VtaXRfYnlfbmFtZShhY2Nlc3NpYmxlLCAic3RhdGUt
Y2hhbmdlIiwgImRlZnVuY3QiLCB0cnVlKTsKKwogICAgIC8vIFdlIHJlcGxhY2UgdGhlIFdlYkNv
cmUgQWNjZXNzaWJpbGl0eU9iamVjdCB3aXRoIGEgZmFsbGJhY2sgb2JqZWN0IHRoYXQKICAgICAv
LyBwcm92aWRlcyBkZWZhdWx0IGltcGxlbWVudGF0aW9ucyB0byBhdm9pZCByZXBldGl0aXZlIG51
bGwtY2hlY2tpbmcgYWZ0ZXIKICAgICAvLyBkZXRhY2htZW50LgpkaWZmIC0tZ2l0IGEvV2ViS2l0
L2d0ay9DaGFuZ2VMb2cgYi9XZWJLaXQvZ3RrL0NoYW5nZUxvZwppbmRleCA5N2RmM2IzLi5mNTZh
YjUzIDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL0NoYW5nZUxvZworKysgYi9XZWJLaXQvZ3RrL0No
YW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDEwLTExLTI2ICBNYXJpbyBTYW5jaGV6IFByYWRh
ICA8bXNhbmNoZXpAaWdhbGlhLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBbR1RLXSBldmVudHMgbWlzc2luZyB3aGVuIGEgZG9jdW1lbnQgaXMg
KHJlKWxvYWRlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjU4MzEKKworICAgICAgICBFbWl0IHRoZSByaWdodCBzaWduYWxzIHdoZW4gcmVsb2FkaW5n
IGEgZG9jdW1lbnQuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVu
dEd0ay5jcHA6CisgICAgICAgIChXZWJLaXQ6Om5vdGlmeUFjY2Vzc2liaWxpdHlTdGF0dXMpOiBO
ZXcgZnVuY3Rpb24sIHRvIG1ha2Ugc3VyZQorICAgICAgICB0aGUgc2lnbmFscyBpbnZvbHZlZCBp
biByZWxvYWRpbmcgYSBkb2N1bWVudCBhcmUgcHJvcGVybHkgZW1pdHRlZC4KKyAgICAgICAgKFdl
YktpdDo6bm90aWZ5U3RhdHVzKTogQWxzbyBub3RpZnkgYWNjZXNzaWJpbGl0eSBpZiBlbmFibGVk
LgorCisgICAgICAgIE5ldyB1bml0IHRlc3QgdG8gY2hlY2sgdGhlIHNpZ25hbHMgYXJlIGJlaW5n
IGFjdHVhbGx5IGVtaXR0ZWQuCisKKyAgICAgICAgKiB0ZXN0cy90ZXN0YXRrLmM6CisgICAgICAg
IChzdGF0ZUNoYW5nZWRDYik6IENhbGxiYWNrIGZvciAnc3RhdGUtY2hhbmdlJyBzaWduYWwgZW1p
dHRlZCBieQorICAgICAgICB0aGUgYWNjZXNzaWJsZSBvYmplY3QgYXNzb2NpYXRlZCB0byB0aGUg
d2ViVmlldy4KKyAgICAgICAgKGRvY3VtZW50UmVsb2FkQ2IpOiBDYWxsYmFjayBmb3IgJ3JlbG9h
ZCcgc2lnbmFsLgorICAgICAgICAoZG9jdW1lbnRMb2FkQ29tcGxldGVDYik6IENhbGxiYWNrIGZv
ciAnbG9hZC1jb21wbGV0ZScgc2lnbmFsLgorICAgICAgICAod2Vidmlld0xvYWRTdGF0dXNDaGFu
Z2VkQ2IpOiBDYWxsYmFjayBmb3IgJ25vdGlmeTo6bG9hZC1zdGF0dXMnCisgICAgICAgIHNpZ25h
bCwgZW1pdHRlZCBieSB0aGUgV2ViS2l0V2ViVmlldyBvYmplY3QgKG5vdCB0aGUgQXRrT2JqZWN0
KS4KKyAgICAgICAgKHRlc3RXZWJraXRBdGtEb2N1bWVudFJlbG9hZEV2ZW50cyk6IE5ldyB1bml0
IHRlc3QuCisgICAgICAgIChtYWluKTogQWRkZWQgdGhlIG5ldyB1bml0IHRlc3QuCisKIDIwMTAt
MTEtMTggIE1hcmlvIFNhbmNoZXogUHJhZGEgIDxtc2FuY2hlekBpZ2FsaWEuY29tPgogCiAgICAg
ICAgIFJldmlld2VkIGJ5IE1hcnRpbiBSb2JpbnNvbi4KZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsv
V2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRHdGsuY3BwIGIvV2ViS2l0L2d0ay9XZWJD
b3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEd0ay5jcHAKaW5kZXggYjIzYmQ3MC4uMGE5MDlm
OSAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVu
dEd0ay5jcHAKKysrIGIvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVu
dEd0ay5jcHAKQEAgLTI1LDYgKzI1LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRl
ICJGcmFtZUxvYWRlckNsaWVudEd0ay5oIgogCisjaW5jbHVkZSAiQVhPYmplY3RDYWNoZS5oIgog
I2luY2x1ZGUgIkFyY2hpdmVSZXNvdXJjZS5oIgogI2luY2x1ZGUgIkNhY2hlZEZyYW1lLmgiCiAj
aW5jbHVkZSAiQ29sb3IuaCIKQEAgLTIwNyw2ICsyMDgsMzQgQEAgU3RyaW5nIEZyYW1lTG9hZGVy
Q2xpZW50Ojp1c2VyQWdlbnQoY29uc3QgS1VSTCYgdXJsKQogICAgIHJldHVybiBTdHJpbmc6OmZy
b21VVEY4KHdlYmtpdF93ZWJfc2V0dGluZ3NfZ2V0X3VzZXJfYWdlbnQoc2V0dGluZ3MpKTsKIH0K
IAorc3RhdGljIHZvaWQgbm90aWZ5QWNjZXNzaWJpbGl0eVN0YXR1cyhXZWJLaXRXZWJGcmFtZSog
ZnJhbWUsIFdlYktpdExvYWRTdGF0dXMgbG9hZFN0YXR1cykKK3sKKyAgICBXZWJLaXRXZWJWaWV3
KiB3ZWJWaWV3ID0gZ2V0Vmlld0Zyb21GcmFtZShmcmFtZSk7CisgICAgaWYgKCF3ZWJWaWV3IHx8
IGZyYW1lICE9IHdlYmtpdF93ZWJfdmlld19nZXRfbWFpbl9mcmFtZSh3ZWJWaWV3KSkKKyAgICAg
ICAgcmV0dXJuOworCisgICAgQXRrT2JqZWN0KiBheE9iamVjdCA9IGd0a193aWRnZXRfZ2V0X2Fj
Y2Vzc2libGUoR1RLX1dJREdFVCh3ZWJWaWV3KSk7CisgICAgaWYgKCFheE9iamVjdCB8fCAhQVRL
X0lTX0RPQ1VNRU5UKGF4T2JqZWN0KSkKKyAgICAgICAgcmV0dXJuOworCisgICAgc3dpdGNoIChs
b2FkU3RhdHVzKSB7CisgICAgY2FzZSBXRUJLSVRfTE9BRF9QUk9WSVNJT05BTDoKKyAgICAgICAg
Z19zaWduYWxfZW1pdF9ieV9uYW1lKGF4T2JqZWN0LCAic3RhdGUtY2hhbmdlIiwgImJ1c3kiLCB0
cnVlKTsKKyAgICAgICAgaWYgKGNvcmUoZnJhbWUpLT5sb2FkZXIoKS0+bG9hZFR5cGUoKSA9PSBG
cmFtZUxvYWRUeXBlUmVsb2FkKQorICAgICAgICAgICAgZ19zaWduYWxfZW1pdF9ieV9uYW1lKGF4
T2JqZWN0LCAicmVsb2FkIik7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgV0VCS0lUX0xPQURf
RkFJTEVEOgorICAgICAgICBnX3NpZ25hbF9lbWl0X2J5X25hbWUoYXhPYmplY3QsICJsb2FkLXN0
b3BwZWQiKTsKKyAgICAgICAgZ19zaWduYWxfZW1pdF9ieV9uYW1lKGF4T2JqZWN0LCAic3RhdGUt
Y2hhbmdlIiwgImJ1c3kiLCBmYWxzZSk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgV0VCS0lU
X0xPQURfRklOSVNIRUQ6CisgICAgICAgIGdfc2lnbmFsX2VtaXRfYnlfbmFtZShheE9iamVjdCwg
ImxvYWQtY29tcGxldGUiKTsKKyAgICAgICAgZ19zaWduYWxfZW1pdF9ieV9uYW1lKGF4T2JqZWN0
LCAic3RhdGUtY2hhbmdlIiwgImJ1c3kiLCBmYWxzZSk7CisgICAgZGVmYXVsdDoKKyAgICAgICAg
YnJlYWs7CisgICAgfQorfQorCiBzdGF0aWMgdm9pZCBub3RpZnlTdGF0dXMoV2ViS2l0V2ViRnJh
bWUqIGZyYW1lLCBXZWJLaXRMb2FkU3RhdHVzIGxvYWRTdGF0dXMpCiB7CiAgICAgZnJhbWUtPnBy
aXYtPmxvYWRTdGF0dXMgPSBsb2FkU3RhdHVzOwpAQCAtMjE3LDYgKzI0Niw5IEBAIHN0YXRpYyB2
b2lkIG5vdGlmeVN0YXR1cyhXZWJLaXRXZWJGcmFtZSogZnJhbWUsIFdlYktpdExvYWRTdGF0dXMg
bG9hZFN0YXR1cykKICAgICAgICAgd2ViVmlldy0+cHJpdi0+bG9hZFN0YXR1cyA9IGxvYWRTdGF0
dXM7CiAgICAgICAgIGdfb2JqZWN0X25vdGlmeShHX09CSkVDVCh3ZWJWaWV3KSwgImxvYWQtc3Rh
dHVzIik7CiAgICAgfQorCisgICAgaWYgKEFYT2JqZWN0Q2FjaGU6OmFjY2Vzc2liaWxpdHlFbmFi
bGVkKCkpCisgICAgICAgIG5vdGlmeUFjY2Vzc2liaWxpdHlTdGF0dXMoZnJhbWUsIGxvYWRTdGF0
dXMpOwogfQogCiBzdGF0aWMgdm9pZCBsb2FkRG9uZShXZWJLaXRXZWJGcmFtZSogZnJhbWUsIGJv
b2wgZGlkU3VjY2VlZCkKZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvdGVzdHMvdGVzdGF0ay5jIGIv
V2ViS2l0L2d0ay90ZXN0cy90ZXN0YXRrLmMKaW5kZXggZjA5OGY2Mi4uOTRmNGE5NiAxMDA2NDQK
LS0tIGEvV2ViS2l0L2d0ay90ZXN0cy90ZXN0YXRrLmMKKysrIGIvV2ViS2l0L2d0ay90ZXN0cy90
ZXN0YXRrLmMKQEAgLTIxLDYgKzIxLDcgQEAKICNpbmNsdWRlIDxnbGliLmg+CiAjaW5jbHVkZSA8
Z2xpYi9nc3RkaW8uaD4KICNpbmNsdWRlIDxndGsvZ3RrLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+
CiAjaW5jbHVkZSA8dW5pc3RkLmg+CiAjaW5jbHVkZSA8d2Via2l0L3dlYmtpdC5oPgogCkBAIC0y
MjEsNiArMjIyLDc4IEBAIHN0YXRpYyB2b2lkIHJ1bkdldFRleHRUZXN0cyhBdGtUZXh0KiB0ZXh0
T2JqZWN0KQogICAgICAgICAgICAgICAgICAgICAgICAgMCwgIlRoaXMgaXMgYSB0ZXN0LiBUaGlz
IGlzIHRoZSBzZWNvbmQgc2VudGVuY2UuIEFuZCB0aGlzIHRoZSB0aGlyZC4iLCAwLCA2NCk7CiB9
CiAKK3N0YXRpYyB2b2lkIHN0YXRlQ2hhbmdlZENiKEF0a09iamVjdCogb2JqZWN0LCBnY2hhciog
c3RhdGVOYW1lLCBnYm9vbGVhbiBzdGF0ZVNldCwgZ3BvaW50ZXIgdW51c2VkKQoreworICAgIC8q
IE9ubHkgJ2RlZnVuY3QnIGFuZCAnYnVzeScgc3RhdGUgY2hhbmdlcyBhcmUgY29uc2lkZXJlZC4g
Ki8KKyAgICBpZiAoIWdfc3RyY21wMChzdGF0ZU5hbWUsICJkZWZ1bmN0IikpIHsKKyAgICAgICAg
Z19wcmludCgiW2RlZnVuY3RdIik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBpZiAo
IWdfc3RyY21wMChzdGF0ZU5hbWUsICJidXN5IikpIHsKKyAgICAgICAgZ19wcmludCgiW2J1c3k6
JWRdIiwgc3RhdGVTZXQpOworICAgICAgICAvKiBJZiAnYnVzeScgc3RhdGUgaXMgdW5zZXQsIGl0
IG1lYW5zIHdlJ3JlIGRvbmUuICovCisgICAgICAgIGlmICghc3RhdGVTZXQpCisgICAgICAgICAg
ICBleGl0KDApOworICAgIH0KK30KKworc3RhdGljIHZvaWQgZG9jdW1lbnRSZWxvYWRDYihBdGtE
b2N1bWVudCogZG9jdW1lbnQsIGdwb2ludGVyIHVudXNlZCkKK3sKKyAgICBnX3ByaW50KCJbcmVs
b2FkZWRdIik7Cit9CisKK3N0YXRpYyB2b2lkIGRvY3VtZW50TG9hZENvbXBsZXRlQ2IoQXRrRG9j
dW1lbnQqIGRvY3VtZW50LCBncG9pbnRlciB1bnVzZWQpCit7CisgICAgZ19wcmludCgiW2xvYWQg
Y29tcGxldGVkXSIpOworfQorCitzdGF0aWMgdm9pZCB3ZWJ2aWV3TG9hZFN0YXR1c0NoYW5nZWRD
YihXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3LCBHUGFyYW1TcGVjKiBwc3BlYywgZ3BvaW50ZXIgdW51
c2VkKQoreworICAgIC8qIFdlIG5lZWQgdG8gZXhwbGljaXRseSBjb25uZWN0IGhlcmUgdG8gdGhl
IHNpZ25hbHMgZW1pdHRlZCBieQorICAgICAqIHRoZSBBdGtPYmplY3QgYXNzb2NpYXRlZCB0byB0
aGUgd2ViVmlldyBiZWNhdXNlIHRoZSBBdGtPYmplY3QKKyAgICAgKiBpbmlhdGlhbGx5IGFzc29j
aWF0ZWQgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgcHJvY2VzcyAod2hlbiBpbgorICAgICAqIHRo
ZSBMT0FEX1BST1ZJU0lPTkFMIHN0YXRlKSB3aWxsIGdldCBkZXN0cm95ZWQgYW5kIHJlcGxhY2Vk
IGJ5CisgICAgICogYSBuZXcgb25lIGxhdGVyIG9uLCB3aGVuIHRoZSBMT0FEX0NPTU1JVEVEIHN0
YXRlIGlzIHJlYWNoZWQuICovCisgICAgV2ViS2l0TG9hZFN0YXR1cyBsb2FkU3RhdHVzID0gd2Vi
a2l0X3dlYl92aWV3X2dldF9sb2FkX3N0YXR1cyh3ZWJWaWV3KTsKKyAgICBpZiAobG9hZFN0YXR1
cyA9PSBXRUJLSVRfTE9BRF9QUk9WSVNJT05BTCB8fCBsb2FkU3RhdHVzID09IFdFQktJVF9MT0FE
X0NPTU1JVFRFRCkgeworICAgICAgICBBdGtPYmplY3QqIGF4V2ViVmlldyA9IGd0a193aWRnZXRf
Z2V0X2FjY2Vzc2libGUoR1RLX1dJREdFVCh3ZWJWaWV3KSk7CisgICAgICAgIGdfYXNzZXJ0KEFU
S19JU19ET0NVTUVOVChheFdlYlZpZXcpKTsKKworICAgICAgICBnX3NpZ25hbF9jb25uZWN0KGF4
V2ViVmlldywgInN0YXRlLWNoYW5nZSIsIEdfQ0FMTEJBQ0soc3RhdGVDaGFuZ2VkQ2IpLCAwKTsK
KyAgICAgICAgZ19zaWduYWxfY29ubmVjdChheFdlYlZpZXcsICJyZWxvYWQiLCBHX0NBTExCQUNL
KGRvY3VtZW50UmVsb2FkQ2IpLCAwKTsKKyAgICAgICAgZ19zaWduYWxfY29ubmVjdChheFdlYlZp
ZXcsICJsb2FkLWNvbXBsZXRlIiwgR19DQUxMQkFDSyhkb2N1bWVudExvYWRDb21wbGV0ZUNiKSwg
MCk7CisgICAgfQorfQorCitzdGF0aWMgdm9pZCB0ZXN0V2Via2l0QXRrRG9jdW1lbnRSZWxvYWRF
dmVudHMoKQoreworICAgIFdlYktpdFdlYlZpZXcqIHdlYlZpZXcgPSBXRUJLSVRfV0VCX1ZJRVco
d2Via2l0X3dlYl92aWV3X25ldygpKTsKKyAgICBnX29iamVjdF9yZWZfc2luayh3ZWJWaWV3KTsK
KyAgICBHdGtBbGxvY2F0aW9uIGFsbG9jYXRpb24gPSB7IDAsIDAsIDgwMCwgNjAwIH07CisgICAg
Z3RrX3dpZGdldF9zaXplX2FsbG9jYXRlKEdUS19XSURHRVQod2ViVmlldyksICZhbGxvY2F0aW9u
KTsKKworICAgIHdlYmtpdF93ZWJfdmlld19sb2FkX3N0cmluZyh3ZWJWaWV3LCBjb250ZW50cywg
MCwgMCwgMCk7CisKKyAgICAvKiBXYWl0IGZvciB0aGUgYWNjZXNzaWJsZSBvYmplY3RzIHRvIGJl
IGNyZWF0ZWQuICovCisgICAgd2FpdEZvckFjY2Vzc2libGVPYmplY3RzKCk7CisKKyAgICBBdGtP
YmplY3QqIGF4V2ViVmlldyA9IGd0a193aWRnZXRfZ2V0X2FjY2Vzc2libGUoR1RLX1dJREdFVCh3
ZWJWaWV3KSk7CisgICAgZ19hc3NlcnQoQVRLX0lTX0RPQ1VNRU5UKGF4V2ViVmlldykpOworCisg
ICAgaWYgKGdfdGVzdF90cmFwX2ZvcmsgKDIwMDAwMDAsIEdfVEVTVF9UUkFQX1NJTEVOQ0VfU1RE
T1VUKSkgeworICAgICAgICBnX3NpZ25hbF9jb25uZWN0KHdlYlZpZXcsICJub3RpZnk6OmxvYWQt
c3RhdHVzIiwgR19DQUxMQkFDSyh3ZWJ2aWV3TG9hZFN0YXR1c0NoYW5nZWRDYiksIDApOworICAg
ICAgICB3ZWJraXRfd2ViX3ZpZXdfcmVsb2FkKHdlYlZpZXcpOworICAgIH0KKworICAgIC8qIENo
ZWNrIHJlc3VsdHMuICovCisgICAgZ190ZXN0X3RyYXBfYXNzZXJ0X3Bhc3NlZCgpOworICAgIGdf
dGVzdF90cmFwX2Fzc2VydF9zdGRvdXQoIltidXN5OjFdW3JlbG9hZGVkXVtkZWZ1bmN0XVtsb2Fk
IGNvbXBsZXRlZF1bYnVzeTowXSIpOworCisgICAgZ19vYmplY3RfdW5yZWYod2ViVmlldyk7Cit9
CisKKwogc3RhdGljIHZvaWQgdGVzdFdlYmtpdEF0a0dldFRleHRBdE9mZnNldEZvcm1zKCkKIHsK
ICAgICBXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3ID0gV0VCS0lUX1dFQl9WSUVXKHdlYmtpdF93ZWJf
dmlld19uZXcoKSk7CkBAIC0xMjExLDYgKzEyODQsNyBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hh
cioqIGFyZ3YpCiAgICAgZ3RrX3Rlc3RfaW5pdCgmYXJnYywgJmFyZ3YsIDApOwogCiAgICAgZ190
ZXN0X2J1Z19iYXNlKCJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy8iKTsKKyAgICBnX3Rlc3RfYWRk
X2Z1bmMoIi93ZWJraXQvYXRrL2RvY3VtZW50UmVsb2FkRXZlbnRzIiwgdGVzdFdlYmtpdEF0a0Rv
Y3VtZW50UmVsb2FkRXZlbnRzKTsKICAgICBnX3Rlc3RfYWRkX2Z1bmMoIi93ZWJraXQvYXRrL2dl
dFRleHRBdE9mZnNldCIsIHRlc3RXZWJraXRBdGtHZXRUZXh0QXRPZmZzZXQpOwogICAgIGdfdGVz
dF9hZGRfZnVuYygiL3dlYmtpdC9hdGsvZ2V0VGV4dEF0T2Zmc2V0Rm9ybXMiLCB0ZXN0V2Via2l0
QXRrR2V0VGV4dEF0T2Zmc2V0Rm9ybXMpOwogICAgIGdfdGVzdF9hZGRfZnVuYygiL3dlYmtpdC9h
dGsvZ2V0VGV4dEF0T2Zmc2V0TmV3bGluZXMiLCB0ZXN0V2Via2l0QXRrR2V0VGV4dEF0T2Zmc2V0
TmV3bGluZXMpOwotLSAKMS43LjMuMgoK
</data>
<flag name="review"
          id="65631"
          type_id="1"
          status="+"
          setter="xan.lopez"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>82118</attachid>
            <date>2011-02-11 03:56:57 -0800</date>
            <delta_ts>2011-02-16 08:47:25 -0800</delta_ts>
            <desc>Patch proposal + Layout Tests</desc>
            <filename>0001-2011-02-11-Mario-Sanchez-Prada-msanchez-igalia.com.patch</filename>
            <type>text/plain</type>
            <size>11873</size>
            <attacher name="Mario Sanchez Prada">mario</attacher>
            
              <data encoding="base64">RnJvbSBjY2JiYmJkMzYxOGE5ZWU1NDUzNDczOTA0YmJkZjk0Njk2MmI4NjIwIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXJpbyBTYW5jaGV6IFByYWRhIDxtc2FuY2hlekBpZ2FsaWEu
Y29tPgpEYXRlOiBGcmksIDExIEZlYiAyMDExIDEyOjQzOjU2ICswMTAwClN1YmplY3Q6IFtQQVRD
SF0gMjAxMS0wMi0xMSAgTWFyaW8gU2FuY2hleiBQcmFkYSAgPG1zYW5jaGV6QGlnYWxpYS5jb20+
CgogICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKICAgICAgICBbR1RLXSBldmVu
dHMgbWlzc2luZyB3aGVuIGEgZG9jdW1lbnQgaXMgKHJlKWxvYWRlZAogICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNTgzMQoKICAgICAgICBNYWtlIHN1cmUg
d2ViQXJlYSByZXR1cm5zIGEgcHJvcGVyIG5hbWUgYW5kIHRoYXQgYSBzaWduYWwKICAgICAgICAn
c3RhdGUtY2hhbmdlOjpkZWZ1bmN0JyBpcyBlbWl0dGVkIHdoZW4gZGV0YWNoaW5nIHRoZSB3cmFw
cGVyLgoKICAgICAgICBUZXN0OiBwbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS9kb2N1bWVudC1y
ZWxvYWQtZXZlbnRzLmh0bWwKCiAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2d0ay9BY2Nlc3NpYmls
aXR5T2JqZWN0V3JhcHBlckF0ay5jcHA6CiAgICAgICAgKHdlYmtpdF9hY2Nlc3NpYmxlX2dldF9u
YW1lKTogUmV0dXJucyB0aGUgY3VycmVudCBkb2N1bWVudCdzIHRpdGxlCiAgICAgICAgYXMgZmFs
bGJhY2sgbWVjaGFuaXNtIGZvciB3ZWJBcmVhIG9iamVjdHMuCiAgICAgICAgKHdlYmtpdF9hY2Nl
c3NpYmxlX2RldGFjaCk6IEVtaXQgJ3N0YXRlLWNoYW5nZTo6ZGVmdW5jdCcgZnVuY3Rpb24KICAg
ICAgICBhcyBzb29uIGFzIHRoZSB3cmFwcGVyIGlzIGRldGFjaGVkIGZyb20gdGhlIHJlbGF0ZWQg
Y29yZSBvYmplY3QuCgoyMDExLTAyLTExICBNYXJpbyBTYW5jaGV6IFByYWRhICA8bXNhbmNoZXpA
aWdhbGlhLmNvbT4KCiAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCgogICAgICAg
IFtHVEtdIGV2ZW50cyBtaXNzaW5nIHdoZW4gYSBkb2N1bWVudCBpcyAocmUpbG9hZGVkCiAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI1ODMxCgogICAgICAg
IEVtaXQgdGhlIHJpZ2h0IHNpZ25hbHMgd2hlbiByZWxvYWRpbmcgYSBkb2N1bWVudC4KCiAgICAg
ICAgKiBXZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEd0ay5jcHA6CiAgICAgICAgKFdl
YktpdDo6bm90aWZ5QWNjZXNzaWJpbGl0eVN0YXR1cyk6IE5ldyBmdW5jdGlvbiwgdG8gbWFrZSBz
dXJlCiAgICAgICAgdGhlIHNpZ25hbHMgaW52b2x2ZWQgaW4gcmVsb2FkaW5nIGEgZG9jdW1lbnQg
YXJlIHByb3Blcmx5IGVtaXR0ZWQuCiAgICAgICAgKFdlYktpdDo6bm90aWZ5U3RhdHVzKTogQWxz
byBub3RpZnkgYWNjZXNzaWJpbGl0eSBpZiBlbmFibGVkLgoKMjAxMS0wMi0xMSAgTWFyaW8gU2Fu
Y2hleiBQcmFkYSAgPG1zYW5jaGV6QGlnYWxpYS5jb20+CgogICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgoKICAgICAgICBbR1RLXSBldmVudHMgbWlzc2luZyB3aGVuIGEgZG9jdW1l
bnQgaXMgKHJlKWxvYWRlZAogICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yNTgzMQoKICAgICAgICBBZGRlZCBuZXcgbGF5b3V0IHRlc3QgdG8gY2hlY2sgdGhl
IHJpZ2h0IHNpZ25hbHMgYXJlIGVtaXR0ZWQuCgogICAgICAgICogcGxhdGZvcm0vZ3RrL2FjY2Vz
c2liaWxpdHkvZG9jdW1lbnQtcmVsb2FkLWV2ZW50cy1leHBlY3RlZC50eHQ6IEFkZGVkLgogICAg
ICAgICogcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvZG9jdW1lbnQtcmVsb2FkLWV2ZW50cy5o
dG1sOiBBZGRlZC4KLS0tCiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB8ICAgMTIgKysrKysrCiAuLi4vZG9jdW1lbnQtcmVsb2FkLWV2ZW50cy1leHBl
Y3RlZC50eHQgICAgICAgICAgICB8ICAgMjIgKysrKysrKysrKysKIC4uLi9ndGsvYWNjZXNzaWJp
bGl0eS9kb2N1bWVudC1yZWxvYWQtZXZlbnRzLmh0bWwgIHwgICA0MCArKysrKysrKysrKysrKysr
KysrKwogU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAg
fCAgIDE4ICsrKysrKysrKwogLi4uL2d0ay9BY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckF0ay5j
cHAgICAgICAgICAgfCAgIDEyICsrKysrLQogU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nICAg
ICAgICAgICAgICAgICAgICAgICAgfCAgIDE0ICsrKysrKysKIC4uLi9ndGsvV2ViQ29yZVN1cHBv
cnQvRnJhbWVMb2FkZXJDbGllbnRHdGsuY3BwICAgIHwgICAzMiArKysrKysrKysrKysrKysrCiA3
IGZpbGVzIGNoYW5nZWQsIDE0OSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9ucygtKQogY3JlYXRl
IG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9hY2Nlc3NpYmlsaXR5L2RvY3Vt
ZW50LXJlbG9hZC1ldmVudHMtZXhwZWN0ZWQudHh0CiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0
VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvZG9jdW1lbnQtcmVsb2FkLWV2ZW50cy5o
dG1sCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCmluZGV4IDI5YmRmMTAuLjhmOTMxZjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0No
YW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAx
MS0wMi0xMSAgTWFyaW8gU2FuY2hleiBQcmFkYSAgPG1zYW5jaGV6QGlnYWxpYS5jb20+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW0dUS10gZXZlbnRz
IG1pc3Npbmcgd2hlbiBhIGRvY3VtZW50IGlzIChyZSlsb2FkZWQKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI1ODMxCisKKyAgICAgICAgQWRkZWQgbmV3
IGxheW91dCB0ZXN0IHRvIGNoZWNrIHRoZSByaWdodCBzaWduYWxzIGFyZSBlbWl0dGVkLgorCisg
ICAgICAgICogcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvZG9jdW1lbnQtcmVsb2FkLWV2ZW50
cy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9hY2Nlc3NpYmls
aXR5L2RvY3VtZW50LXJlbG9hZC1ldmVudHMuaHRtbDogQWRkZWQuCisKIDIwMTEtMDItMTAgIEFk
YW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBFcmlj
IFNlaWRlbC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9hY2Nlc3NpYmls
aXR5L2RvY3VtZW50LXJlbG9hZC1ldmVudHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvZG9jdW1lbnQtcmVsb2FkLWV2ZW50cy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDRhMGYyMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9hY2Nlc3NpYmlsaXR5L2RvY3VtZW50
LXJlbG9hZC1ldmVudHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjIgQEAKK0FjY2Vzc2liaWxp
dHkgb2JqZWN0IGVtaXR0ZWQgInByb3BlcnR5LWNoYW5nZSIgLyBOYW1lOiAiKE5vIG5hbWUpIiAv
IFJvbGU6IDgwCitBY2Nlc3NpYmlsaXR5IG9iamVjdCBlbWl0dGVkICJwcm9wZXJ0eS1jaGFuZ2Ui
IC8gTmFtZTogIihObyBuYW1lKSIgLyBSb2xlOiA4MAorQWNjZXNzaWJpbGl0eSBvYmplY3QgZW1p
dHRlZCAibG9hZC1jb21wbGV0ZSIgLyBOYW1lOiAiKE5vIG5hbWUpIiAvIFJvbGU6IDgwCitBY2Nl
c3NpYmlsaXR5IG9iamVjdCBlbWl0dGVkICJzdGF0ZS1jaGFuZ2U6YnVzeSA9IDAiIC8gTmFtZTog
IihObyBuYW1lKSIgLyBSb2xlOiA4MAorQWNjZXNzaWJpbGl0eSBvYmplY3QgZW1pdHRlZCAicHJv
cGVydHktY2hhbmdlIiAvIE5hbWU6ICIoTm8gbmFtZSkiIC8gUm9sZTogODAKK0FjY2Vzc2liaWxp
dHkgb2JqZWN0IGVtaXR0ZWQgInN0YXRlLWNoYW5nZTpidXN5ID0gMSIgLyBOYW1lOiAiKE5vIG5h
bWUpIiAvIFJvbGU6IDgwCitBY2Nlc3NpYmlsaXR5IG9iamVjdCBlbWl0dGVkICJyZWxvYWQiIC8g
TmFtZTogIihObyBuYW1lKSIgLyBSb2xlOiA4MAorQWNjZXNzaWJpbGl0eSBvYmplY3QgZW1pdHRl
ZCAic3RhdGUtY2hhbmdlOmRlZnVuY3QgPSAxIiAvIE5hbWU6ICIoTm8gbmFtZSkiIC8gUm9sZTog
ODAKK0FjY2Vzc2liaWxpdHkgb2JqZWN0IGVtaXR0ZWQgInByb3BlcnR5LWNoYW5nZSIgLyBOYW1l
OiAiKE5vIG5hbWUpIiAvIFJvbGU6IDgwCitBY2Nlc3NpYmlsaXR5IG9iamVjdCBlbWl0dGVkICJw
cm9wZXJ0eS1jaGFuZ2UiIC8gTmFtZTogIihObyBuYW1lKSIgLyBSb2xlOiA4MAorQWNjZXNzaWJp
bGl0eSBvYmplY3QgZW1pdHRlZCAicHJvcGVydHktY2hhbmdlIiAvIE5hbWU6ICIoTm8gbmFtZSki
IC8gUm9sZTogODAKK0FjY2Vzc2liaWxpdHkgb2JqZWN0IGVtaXR0ZWQgImxvYWQtY29tcGxldGUi
IC8gTmFtZTogIihObyBuYW1lKSIgLyBSb2xlOiA4MAorQWNjZXNzaWJpbGl0eSBvYmplY3QgZW1p
dHRlZCAic3RhdGUtY2hhbmdlOmJ1c3kgPSAwIiAvIE5hbWU6ICIoTm8gbmFtZSkiIC8gUm9sZTog
ODAKK1Rlc3QgdGhhdCBBdGtEb2N1bWVudCBlbWl0cyB0aGUgcmlnaHQgc2lnbmFscyB3aGVuIHJl
bG9hZGluZy4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS9kb2N1bWVudC1yZWxvYWQtZXZlbnRzLmh0
bWwgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS9kb2N1bWVudC1yZWxv
YWQtZXZlbnRzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDMyYmRj
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9hY2Nlc3NpYmls
aXR5L2RvY3VtZW50LXJlbG9hZC1ldmVudHMuaHRtbApAQCAtMCwwICsxLDQwIEBACis8IURPQ1RZ
UEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgor
PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0
LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK3N1Y2Nlc3NmdWxseVBhcnNlZCA9IGZh
bHNlOworCitmdW5jdGlvbiBydW5UZXN0KCkKK3sKKyAgaWYgKCFsYXlvdXRUZXN0Q29udHJvbGxl
ci5nbG9iYWxGbGFnKSB7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZ2xvYmFsRmxhZyA9IHRy
dWU7CisgICAgc2V0VGltZW91dCgid2luZG93LmxvY2F0aW9uLnJlbG9hZCgpIiwgMCk7CisgIH0g
ZWxzZSB7CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgIGxheW91
dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKKyAgfQorfQorPC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keSBpZD0iYm9keSIgb25sb2FkPSJydW5UZXN0KCk7Ij4KKzxwIGlkPSJkZXNjcmlwdGlv
biI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24o
IlRlc3QgdGhhdCBBdGtEb2N1bWVudCBlbWl0cyB0aGUgcmlnaHQgc2lnbmFscyB3aGVuIHJlbG9h
ZGluZy4iKTsKKworaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICBsYXlvdXRU
ZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRV
bnRpbERvbmUoKTsKK30KKworaWYgKHdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcikgewor
ICBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5sb2dBY2Nlc3NpYmlsaXR5RXZlbnRzKCk7Cit9CisK
K3N1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGYzZjAwZmMuLmYwZGIyNGQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwyMSBAQAorMjAxMS0wMi0xMSAgTWFyaW8gU2FuY2hleiBQcmFkYSAgPG1zYW5jaGV6
QGlnYWxpYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgW0dUS10gZXZlbnRzIG1pc3Npbmcgd2hlbiBhIGRvY3VtZW50IGlzIChyZSlsb2FkZWQK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI1ODMxCisK
KyAgICAgICAgTWFrZSBzdXJlIHdlYkFyZWEgcmV0dXJucyBhIHByb3BlciBuYW1lIGFuZCB0aGF0
IGEgc2lnbmFsCisgICAgICAgICdzdGF0ZS1jaGFuZ2U6OmRlZnVuY3QnIGlzIGVtaXR0ZWQgd2hl
biBkZXRhY2hpbmcgdGhlIHdyYXBwZXIuCisKKyAgICAgICAgVGVzdDogcGxhdGZvcm0vZ3RrL2Fj
Y2Vzc2liaWxpdHkvZG9jdW1lbnQtcmVsb2FkLWV2ZW50cy5odG1sCisKKyAgICAgICAgKiBhY2Nl
c3NpYmlsaXR5L2d0ay9BY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckF0ay5jcHA6CisgICAgICAg
ICh3ZWJraXRfYWNjZXNzaWJsZV9nZXRfbmFtZSk6IFJldHVybnMgdGhlIGN1cnJlbnQgZG9jdW1l
bnQncyB0aXRsZQorICAgICAgICBhcyBmYWxsYmFjayBtZWNoYW5pc20gZm9yIHdlYkFyZWEgb2Jq
ZWN0cy4KKyAgICAgICAgKHdlYmtpdF9hY2Nlc3NpYmxlX2RldGFjaCk6IEVtaXQgJ3N0YXRlLWNo
YW5nZTo6ZGVmdW5jdCcgZnVuY3Rpb24KKyAgICAgICAgYXMgc29vbiBhcyB0aGUgd3JhcHBlciBp
cyBkZXRhY2hlZCBmcm9tIHRoZSByZWxhdGVkIGNvcmUgb2JqZWN0LgorCiAyMDExLTAyLTExICBB
ZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgQXR0ZW1wdCB0byBmaXgg
dGhlIFdpbmRvd3MgYnVpbGQuICBBcHBhcmVudGx5IHdlIGRvbid0IHN1cHBvcnQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvZ3RrL0FjY2Vzc2liaWxpdHlPYmplY3RX
cmFwcGVyQXRrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvZ3RrL0FjY2Vzc2li
aWxpdHlPYmplY3RXcmFwcGVyQXRrLmNwcAppbmRleCA4ZjM5MTEzLi42MmZjODQ4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2d0ay9BY2Nlc3NpYmlsaXR5T2JqZWN0
V3JhcHBlckF0ay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9ndGsvQWNj
ZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJBdGsuY3BwCkBAIC0xNzUsNyArMTc1LDcgQEAgc3RhdGlj
IGNvbnN0IGdjaGFyKiB3ZWJraXRfYWNjZXNzaWJsZV9nZXRfbmFtZShBdGtPYmplY3QqIG9iamVj
dCkKICAgICAgICAgICAgICAgICByZXR1cm4gd2Via2l0X2FjY2Vzc2libGVfdGV4dF9nZXRfdGV4
dChBVEtfVEVYVChhdGtPYmplY3QpLCAwLCAtMSk7CiAgICAgICAgIH0KIAotICAgICAgICAvLyBU
cnkgdGV4dCB1bmRlciB0aGUgbm9kZQorICAgICAgICAvLyBUcnkgdGV4dCB1bmRlciB0aGUgbm9k
ZS4KICAgICAgICAgU3RyaW5nIHRleHRVbmRlciA9IHJlbmRlck9iamVjdC0+dGV4dFVuZGVyRWxl
bWVudCgpOwogICAgICAgICBpZiAodGV4dFVuZGVyLmxlbmd0aCgpKQogICAgICAgICAgICAgcmV0
dXJuIHJldHVyblN0cmluZyh0ZXh0VW5kZXIpOwpAQCAtMTkxLDYgKzE5MSwxMyBAQCBzdGF0aWMg
Y29uc3QgZ2NoYXIqIHdlYmtpdF9hY2Nlc3NpYmxlX2dldF9uYW1lKEF0a09iamVjdCogb2JqZWN0
KQogICAgICAgICB9CiAgICAgfQogCisgICAgLy8gRmFsbGJhY2sgZm9yIHRoZSB3ZWJBcmVhIG9i
amVjdDoganVzdCByZXR1cm4gdGhlIGRvY3VtZW50J3MgdGl0bGUuCisgICAgaWYgKHJlbmRlck9i
amVjdC0+aXNXZWJBcmVhKCkpIHsKKyAgICAgICAgRG9jdW1lbnQqIGRvY3VtZW50ID0gY29yZU9i
amVjdC0+ZG9jdW1lbnQoKTsKKyAgICAgICAgaWYgKGRvY3VtZW50KQorICAgICAgICAgICAgcmV0
dXJuIHJldHVyblN0cmluZyhkb2N1bWVudC0+dGl0bGUoKSk7CisgICAgfQorCiAgICAgcmV0dXJu
IHJldHVyblN0cmluZyhjb3JlT2JqZWN0LT5zdHJpbmdWYWx1ZSgpKTsKIH0KIApAQCAtMjQ2NCw2
ICsyNDcxLDkgQEAgdm9pZCB3ZWJraXRfYWNjZXNzaWJsZV9kZXRhY2goV2ViS2l0QWNjZXNzaWJs
ZSogYWNjZXNzaWJsZSkKIHsKICAgICBBU1NFUlQoYWNjZXNzaWJsZS0+bV9vYmplY3QpOwogCisg
ICAgaWYgKGNvcmUoYWNjZXNzaWJsZSktPnJvbGVWYWx1ZSgpID09IFdlYkFyZWFSb2xlKQorICAg
ICAgICBnX3NpZ25hbF9lbWl0X2J5X25hbWUoYWNjZXNzaWJsZSwgInN0YXRlLWNoYW5nZSIsICJk
ZWZ1bmN0IiwgdHJ1ZSk7CisKICAgICAvLyBXZSByZXBsYWNlIHRoZSBXZWJDb3JlIEFjY2Vzc2li
aWxpdHlPYmplY3Qgd2l0aCBhIGZhbGxiYWNrIG9iamVjdCB0aGF0CiAgICAgLy8gcHJvdmlkZXMg
ZGVmYXVsdCBpbXBsZW1lbnRhdGlvbnMgdG8gYXZvaWQgcmVwZXRpdGl2ZSBudWxsLWNoZWNraW5n
IGFmdGVyCiAgICAgLy8gZGV0YWNobWVudC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3Rr
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZwppbmRleCA5ODU5Y2MzLi5i
MGQwN2I0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTEtMDItMTEgIE1h
cmlvIFNhbmNoZXogUHJhZGEgIDxtc2FuY2hlekBpZ2FsaWEuY29tPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtHVEtdIGV2ZW50cyBtaXNzaW5nIHdo
ZW4gYSBkb2N1bWVudCBpcyAocmUpbG9hZGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yNTgzMQorCisgICAgICAgIEVtaXQgdGhlIHJpZ2h0IHNpZ25h
bHMgd2hlbiByZWxvYWRpbmcgYSBkb2N1bWVudC4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0
L0ZyYW1lTG9hZGVyQ2xpZW50R3RrLmNwcDoKKyAgICAgICAgKFdlYktpdDo6bm90aWZ5QWNjZXNz
aWJpbGl0eVN0YXR1cyk6IE5ldyBmdW5jdGlvbiwgdG8gbWFrZSBzdXJlCisgICAgICAgIHRoZSBz
aWduYWxzIGludm9sdmVkIGluIHJlbG9hZGluZyBhIGRvY3VtZW50IGFyZSBwcm9wZXJseSBlbWl0
dGVkLgorICAgICAgICAoV2ViS2l0Ojpub3RpZnlTdGF0dXMpOiBBbHNvIG5vdGlmeSBhY2Nlc3Np
YmlsaXR5IGlmIGVuYWJsZWQuCisKIDIwMTEtMDItMDggIE1hcnRpbiBSb2JpbnNvbiAgPG1yb2Jp
bnNvbkBpZ2FsaWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFhhbiBMb3Blei4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50
R3RrLmNwcCBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xp
ZW50R3RrLmNwcAppbmRleCAxMGIwMDg4Li5lNTY4ZDU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEd0ay5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRHdGsuY3BwCkBA
IC0yNSw2ICsyNSw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiRnJhbWVMb2Fk
ZXJDbGllbnRHdGsuaCIKIAorI2luY2x1ZGUgIkFYT2JqZWN0Q2FjaGUuaCIKICNpbmNsdWRlICJB
cmNoaXZlUmVzb3VyY2UuaCIKICNpbmNsdWRlICJDYWNoZWRGcmFtZS5oIgogI2luY2x1ZGUgIkNv
bG9yLmgiCkBAIC0yMjIsNiArMjIzLDM0IEBAIFN0cmluZyBGcmFtZUxvYWRlckNsaWVudDo6dXNl
ckFnZW50KGNvbnN0IEtVUkwmIHVybCkKICAgICByZXR1cm4gU3RyaW5nOjpmcm9tVVRGOCh3ZWJr
aXRfd2ViX3NldHRpbmdzX2dldF91c2VyX2FnZW50KHNldHRpbmdzKSk7CiB9CiAKK3N0YXRpYyB2
b2lkIG5vdGlmeUFjY2Vzc2liaWxpdHlTdGF0dXMoV2ViS2l0V2ViRnJhbWUqIGZyYW1lLCBXZWJL
aXRMb2FkU3RhdHVzIGxvYWRTdGF0dXMpCit7CisgICAgV2ViS2l0V2ViVmlldyogd2ViVmlldyA9
IGdldFZpZXdGcm9tRnJhbWUoZnJhbWUpOworICAgIGlmICghd2ViVmlldyB8fCBmcmFtZSAhPSB3
ZWJraXRfd2ViX3ZpZXdfZ2V0X21haW5fZnJhbWUod2ViVmlldykpCisgICAgICAgIHJldHVybjsK
KworICAgIEF0a09iamVjdCogYXhPYmplY3QgPSBndGtfd2lkZ2V0X2dldF9hY2Nlc3NpYmxlKEdU
S19XSURHRVQod2ViVmlldykpOworICAgIGlmICghYXhPYmplY3QgfHwgIUFUS19JU19ET0NVTUVO
VChheE9iamVjdCkpCisgICAgICAgIHJldHVybjsKKworICAgIHN3aXRjaCAobG9hZFN0YXR1cykg
eworICAgIGNhc2UgV0VCS0lUX0xPQURfUFJPVklTSU9OQUw6CisgICAgICAgIGdfc2lnbmFsX2Vt
aXRfYnlfbmFtZShheE9iamVjdCwgInN0YXRlLWNoYW5nZSIsICJidXN5IiwgdHJ1ZSk7CisgICAg
ICAgIGlmIChjb3JlKGZyYW1lKS0+bG9hZGVyKCktPmxvYWRUeXBlKCkgPT0gRnJhbWVMb2FkVHlw
ZVJlbG9hZCkKKyAgICAgICAgICAgIGdfc2lnbmFsX2VtaXRfYnlfbmFtZShheE9iamVjdCwgInJl
bG9hZCIpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFdFQktJVF9MT0FEX0ZBSUxFRDoKKyAg
ICAgICAgZ19zaWduYWxfZW1pdF9ieV9uYW1lKGF4T2JqZWN0LCAibG9hZC1zdG9wcGVkIik7Cisg
ICAgICAgIGdfc2lnbmFsX2VtaXRfYnlfbmFtZShheE9iamVjdCwgInN0YXRlLWNoYW5nZSIsICJi
dXN5IiwgZmFsc2UpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFdFQktJVF9MT0FEX0ZJTklT
SEVEOgorICAgICAgICBnX3NpZ25hbF9lbWl0X2J5X25hbWUoYXhPYmplY3QsICJsb2FkLWNvbXBs
ZXRlIik7CisgICAgICAgIGdfc2lnbmFsX2VtaXRfYnlfbmFtZShheE9iamVjdCwgInN0YXRlLWNo
YW5nZSIsICJidXN5IiwgZmFsc2UpOworICAgIGRlZmF1bHQ6CisgICAgICAgIGJyZWFrOworICAg
IH0KK30KKwogc3RhdGljIHZvaWQgbm90aWZ5U3RhdHVzKFdlYktpdFdlYkZyYW1lKiBmcmFtZSwg
V2ViS2l0TG9hZFN0YXR1cyBsb2FkU3RhdHVzKQogewogICAgIGZyYW1lLT5wcml2LT5sb2FkU3Rh
dHVzID0gbG9hZFN0YXR1czsKQEAgLTIzMiw2ICsyNjEsOSBAQCBzdGF0aWMgdm9pZCBub3RpZnlT
dGF0dXMoV2ViS2l0V2ViRnJhbWUqIGZyYW1lLCBXZWJLaXRMb2FkU3RhdHVzIGxvYWRTdGF0dXMp
CiAgICAgICAgIHdlYlZpZXctPnByaXYtPmxvYWRTdGF0dXMgPSBsb2FkU3RhdHVzOwogICAgICAg
ICBnX29iamVjdF9ub3RpZnkoR19PQkpFQ1Qod2ViVmlldyksICJsb2FkLXN0YXR1cyIpOwogICAg
IH0KKworICAgIGlmIChBWE9iamVjdENhY2hlOjphY2Nlc3NpYmlsaXR5RW5hYmxlZCgpKQorICAg
ICAgICBub3RpZnlBY2Nlc3NpYmlsaXR5U3RhdHVzKGZyYW1lLCBsb2FkU3RhdHVzKTsKIH0KIAog
c3RhdGljIHZvaWQgbG9hZERvbmUoV2ViS2l0V2ViRnJhbWUqIGZyYW1lLCBib29sIGRpZFN1Y2Nl
ZWQpCi0tIAoxLjcuMy41Cgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>82645</attachid>
            <date>2011-02-16 08:47:25 -0800</date>
            <delta_ts>2011-02-16 08:51:15 -0800</delta_ts>
            <desc>Patch proposal + Layout test</desc>
            <filename>0001-2011-02-14-Mario-Sanchez-Prada-msanchez-igalia.com.patch</filename>
            <type>text/plain</type>
            <size>12216</size>
            <attacher name="Mario Sanchez Prada">mario</attacher>
            
              <data encoding="base64">RnJvbSBlNGIyZWViMDZkOTcyNjNiNjg1NDcyNWEzMjljYmEzYmRkYTBjMDQ3IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXJpbyBTYW5jaGV6IFByYWRhIDxtc2FuY2hlekBpZ2FsaWEu
Y29tPgpEYXRlOiBNb24sIDE0IEZlYiAyMDExIDEwOjU4OjA3ICswMTAwClN1YmplY3Q6IFtQQVRD
SF0gMjAxMS0wMi0xNCAgTWFyaW8gU2FuY2hleiBQcmFkYSAgPG1zYW5jaGV6QGlnYWxpYS5jb20+
CgogICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKICAgICAgICBbR1RLXSBldmVu
dHMgbWlzc2luZyB3aGVuIGEgZG9jdW1lbnQgaXMgKHJlKWxvYWRlZAogICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNTgzMQoKICAgICAgICBBZGRlZCBuZXcg
bGF5b3V0IHRlc3QgdG8gY2hlY2sgdGhlIHJpZ2h0IHNpZ25hbHMgYXJlIGVtaXR0ZWQuCgogICAg
ICAgICogcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvZG9jdW1lbnQtcmVsb2FkLWV2ZW50cy1l
eHBlY3RlZC50eHQ6IEFkZGVkLgogICAgICAgICogcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkv
ZG9jdW1lbnQtcmVsb2FkLWV2ZW50cy5odG1sOiBBZGRlZC4KMjAxMS0wMi0xNCAgTWFyaW8gU2Fu
Y2hleiBQcmFkYSAgPG1zYW5jaGV6QGlnYWxpYS5jb20+CgogICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgoKICAgICAgICBbR1RLXSBldmVudHMgbWlzc2luZyB3aGVuIGEgZG9jdW1l
bnQgaXMgKHJlKWxvYWRlZAogICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yNTgzMQoKICAgICAgICBNYWtlIHN1cmUgd2ViQXJlYSByZXR1cm5zIGEgcHJvcGVy
IG5hbWUgYW5kIHRoYXQgYSBzaWduYWwKICAgICAgICAnc3RhdGUtY2hhbmdlOjpkZWZ1bmN0JyBp
cyBlbWl0dGVkIHdoZW4gZGV0YWNoaW5nIHRoZSB3cmFwcGVyLgoKICAgICAgICBUZXN0OiBwbGF0
Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS9kb2N1bWVudC1yZWxvYWQtZXZlbnRzLmh0bWwKCiAgICAg
ICAgKiBhY2Nlc3NpYmlsaXR5L2d0ay9BY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckF0ay5jcHA6
CiAgICAgICAgKHdlYmtpdF9hY2Nlc3NpYmxlX2dldF9uYW1lKTogUmV0dXJucyB0aGUgY3VycmVu
dCBkb2N1bWVudCdzIHRpdGxlCiAgICAgICAgYXMgZmFsbGJhY2sgbWVjaGFuaXNtIGZvciB3ZWJB
cmVhIG9iamVjdHMuCiAgICAgICAgKHdlYmtpdF9hY2Nlc3NpYmxlX2RldGFjaCk6IEVtaXQgJ3N0
YXRlLWNoYW5nZTo6ZGVmdW5jdCcgZnVuY3Rpb24KICAgICAgICBhcyBzb29uIGFzIHRoZSB3cmFw
cGVyIGlzIGRldGFjaGVkIGZyb20gdGhlIHJlbGF0ZWQgY29yZSBvYmplY3QuCjIwMTEtMDItMTQg
IE1hcmlvIFNhbmNoZXogUHJhZGEgIDxtc2FuY2hlekBpZ2FsaWEuY29tPgoKICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCiAgICAgICAgW0dUS10gZXZlbnRzIG1pc3Npbmcgd2hl
biBhIGRvY3VtZW50IGlzIChyZSlsb2FkZWQKICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjU4MzEKCiAgICAgICAgRW1pdCB0aGUgcmlnaHQgc2lnbmFscyB3
aGVuIHJlbG9hZGluZyBhIGRvY3VtZW50LgoKICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0ZyYW1l
TG9hZGVyQ2xpZW50R3RrLmNwcDoKICAgICAgICAoV2ViS2l0Ojpub3RpZnlBY2Nlc3NpYmlsaXR5
U3RhdHVzKTogTmV3IGZ1bmN0aW9uLCB0byBtYWtlIHN1cmUKICAgICAgICB0aGUgc2lnbmFscyBp
bnZvbHZlZCBpbiByZWxvYWRpbmcgYSBkb2N1bWVudCBhcmUgcHJvcGVybHkgZW1pdHRlZC4KICAg
ICAgICAoV2ViS2l0Ojpub3RpZnlTdGF0dXMpOiBBbHNvIG5vdGlmeSBhY2Nlc3NpYmlsaXR5IGlm
IGVuYWJsZWQuCi0tLQogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgfCAgIDEyICsrKysrCiAuLi4vZG9jdW1lbnQtcmVsb2FkLWV2ZW50cy1leHBlY3Rl
ZC50eHQgICAgICAgICAgICB8ICAgMTYgKysrKysrCiAuLi4vZ3RrL2FjY2Vzc2liaWxpdHkvZG9j
dW1lbnQtcmVsb2FkLWV2ZW50cy5odG1sICB8ICAgNDEgKysrKysrKysrKysrKysrKwogU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDE4ICsrKysr
KysKIC4uLi9ndGsvQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJBdGsuY3BwICAgICAgICAgIHwg
ICAxMiArKysrLQogU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAg
ICAgICAgfCAgIDE0ICsrKysrCiAuLi4vZ3RrL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xp
ZW50R3RrLmNwcCAgICB8ICAgNTEgKysrKysrKysrKysrKysrKysrKysKIDcgZmlsZXMgY2hhbmdl
ZCwgMTYzIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQg
TGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvZG9jdW1lbnQtcmVsb2FkLWV2
ZW50cy1leHBlY3RlZC50eHQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9ndGsvYWNjZXNzaWJpbGl0eS9kb2N1bWVudC1yZWxvYWQtZXZlbnRzLmh0bWwKCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXgg
YWUyMDczMi4uODY1YzAzOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDExLTAyLTE0ICBNYXJp
byBTYW5jaGV6IFByYWRhICA8bXNhbmNoZXpAaWdhbGlhLmNvbT4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbR1RLXSBldmVudHMgbWlzc2luZyB3aGVu
IGEgZG9jdW1lbnQgaXMgKHJlKWxvYWRlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjU4MzEKKworICAgICAgICBBZGRlZCBuZXcgbGF5b3V0IHRlc3Qg
dG8gY2hlY2sgdGhlIHJpZ2h0IHNpZ25hbHMgYXJlIGVtaXR0ZWQuCisKKyAgICAgICAgKiBwbGF0
Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS9kb2N1bWVudC1yZWxvYWQtZXZlbnRzLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvZG9jdW1lbnQt
cmVsb2FkLWV2ZW50cy5odG1sOiBBZGRlZC4KKwogMjAxMS0wMi0xMyAgU2ltb24gRnJhc2VyICA8
c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBDaGFuZ2UgcHJldmlvdXMgdGVzdCB0
byBkdW1wIGFzIHRleHQsIHdpdGggcGl4ZWwgb3V0cHV0LCB0byBmaXgKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2d0ay9hY2Nlc3NpYmlsaXR5L2RvY3VtZW50LXJlbG9hZC1ldmVu
dHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkv
ZG9jdW1lbnQtcmVsb2FkLWV2ZW50cy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMC4uMDRiOTYxMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2d0ay9hY2Nlc3NpYmlsaXR5L2RvY3VtZW50LXJlbG9hZC1ldmVudHMtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTYgQEAKK0FjY2Vzc2liaWxpdHkgb2JqZWN0IGVtaXR0ZWQgImxvYWQt
Y29tcGxldGUiIC8gTmFtZTogIihObyBuYW1lKSIgLyBSb2xlOiA4MAorQWNjZXNzaWJpbGl0eSBv
YmplY3QgZW1pdHRlZCAic3RhdGUtY2hhbmdlOmJ1c3kgPSAwIiAvIE5hbWU6ICIoTm8gbmFtZSki
IC8gUm9sZTogODAKK0FjY2Vzc2liaWxpdHkgb2JqZWN0IGVtaXR0ZWQgInN0YXRlLWNoYW5nZTpi
dXN5ID0gMSIgLyBOYW1lOiAiKE5vIG5hbWUpIiAvIFJvbGU6IDgwCitBY2Nlc3NpYmlsaXR5IG9i
amVjdCBlbWl0dGVkICJyZWxvYWQiIC8gTmFtZTogIihObyBuYW1lKSIgLyBSb2xlOiA4MAorQWNj
ZXNzaWJpbGl0eSBvYmplY3QgZW1pdHRlZCAic3RhdGUtY2hhbmdlOmRlZnVuY3QgPSAxIiAvIE5h
bWU6ICIoTm8gbmFtZSkiIC8gUm9sZTogODAKK0FjY2Vzc2liaWxpdHkgb2JqZWN0IGVtaXR0ZWQg
ImxvYWQtY29tcGxldGUiIC8gTmFtZTogIihObyBuYW1lKSIgLyBSb2xlOiA4MAorQWNjZXNzaWJp
bGl0eSBvYmplY3QgZW1pdHRlZCAic3RhdGUtY2hhbmdlOmJ1c3kgPSAwIiAvIE5hbWU6ICIoTm8g
bmFtZSkiIC8gUm9sZTogODAKK1Rlc3QgdGhhdCBBdGtEb2N1bWVudCBlbWl0cyB0aGUgcmlnaHQg
c2lnbmFscyB3aGVuIHJlbG9hZGluZy4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS9kb2N1bWVudC1y
ZWxvYWQtZXZlbnRzLmh0bWwgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0
eS9kb2N1bWVudC1yZWxvYWQtZXZlbnRzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMC4uYWRjOGM3OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2d0ay9hY2Nlc3NpYmlsaXR5L2RvY3VtZW50LXJlbG9hZC1ldmVudHMuaHRtbApAQCAtMCwwICsx
LDQxIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8
aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi9mYXN0L2pzL3Jl
c291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK3N1Y2Nlc3Nm
dWxseVBhcnNlZCA9IGZhbHNlOworCitmdW5jdGlvbiBydW5UZXN0KCkKK3sKKyAgaWYgKCFsYXlv
dXRUZXN0Q29udHJvbGxlci5nbG9iYWxGbGFnKSB7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
Z2xvYmFsRmxhZyA9IHRydWU7CisKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVy
KSB7CisgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgICBsYXlv
dXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CisgICAgfQorCisgICAgc2V0VGltZW91
dCgid2luZG93LmxvY2F0aW9uLnJlbG9hZCgpIiwgMCk7CisgIH0gZWxzZSB7CisgICAgbGF5b3V0
VGVzdENvbnRyb2xsZXIuZ2xvYmFsRmxhZyA9IGZhbHNlOworICAgIGlmICh3aW5kb3cubGF5b3V0
VGVzdENvbnRyb2xsZXIpCisgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7
CisgIH0KK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgaWQ9ImJvZHkiIG9ubG9hZD0icnVu
VGVzdCgpOyI+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0IHRoYXQgQXRrRG9jdW1lbnQgZW1pdHMg
dGhlIHJpZ2h0IHNpZ25hbHMgd2hlbiByZWxvYWRpbmcuIik7CisKK2lmICh3aW5kb3cuYWNjZXNz
aWJpbGl0eUNvbnRyb2xsZXIpCisgIGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmxvZ0FjY2Vzc2li
aWxpdHlFdmVudHMoKTsKKworc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDQwY2JlMy4uOGFhNjcz
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDExLTAyLTE0ICBNYXJpbyBTYW5jaGV6
IFByYWRhICA8bXNhbmNoZXpAaWdhbGlhLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBbR1RLXSBldmVudHMgbWlzc2luZyB3aGVuIGEgZG9jdW1l
bnQgaXMgKHJlKWxvYWRlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjU4MzEKKworICAgICAgICBNYWtlIHN1cmUgd2ViQXJlYSByZXR1cm5zIGEgcHJv
cGVyIG5hbWUgYW5kIHRoYXQgYSBzaWduYWwKKyAgICAgICAgJ3N0YXRlLWNoYW5nZTo6ZGVmdW5j
dCcgaXMgZW1pdHRlZCB3aGVuIGRldGFjaGluZyB0aGUgd3JhcHBlci4KKworICAgICAgICBUZXN0
OiBwbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS9kb2N1bWVudC1yZWxvYWQtZXZlbnRzLmh0bWwK
KworICAgICAgICAqIGFjY2Vzc2liaWxpdHkvZ3RrL0FjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVy
QXRrLmNwcDoKKyAgICAgICAgKHdlYmtpdF9hY2Nlc3NpYmxlX2dldF9uYW1lKTogUmV0dXJucyB0
aGUgY3VycmVudCBkb2N1bWVudCdzIHRpdGxlCisgICAgICAgIGFzIGZhbGxiYWNrIG1lY2hhbmlz
bSBmb3Igd2ViQXJlYSBvYmplY3RzLgorICAgICAgICAod2Via2l0X2FjY2Vzc2libGVfZGV0YWNo
KTogRW1pdCAnc3RhdGUtY2hhbmdlOjpkZWZ1bmN0JyBmdW5jdGlvbgorICAgICAgICBhcyBzb29u
IGFzIHRoZSB3cmFwcGVyIGlzIGRldGFjaGVkIGZyb20gdGhlIHJlbGF0ZWQgY29yZSBvYmplY3Qu
CisKIDIwMTEtMDItMTMgIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAgICAg
ICAgIFJldmlld2VkIGJ5IERhbiBCZXJuc3RlaW4uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L2d0ay9BY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckF0ay5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2d0ay9BY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBl
ckF0ay5jcHAKaW5kZXggOGYzOTExMy4uNjJmYzg0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9ndGsvQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJBdGsuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvZ3RrL0FjY2Vzc2liaWxpdHlPYmplY3RX
cmFwcGVyQXRrLmNwcApAQCAtMTc1LDcgKzE3NSw3IEBAIHN0YXRpYyBjb25zdCBnY2hhciogd2Vi
a2l0X2FjY2Vzc2libGVfZ2V0X25hbWUoQXRrT2JqZWN0KiBvYmplY3QpCiAgICAgICAgICAgICAg
ICAgcmV0dXJuIHdlYmtpdF9hY2Nlc3NpYmxlX3RleHRfZ2V0X3RleHQoQVRLX1RFWFQoYXRrT2Jq
ZWN0KSwgMCwgLTEpOwogICAgICAgICB9CiAKLSAgICAgICAgLy8gVHJ5IHRleHQgdW5kZXIgdGhl
IG5vZGUKKyAgICAgICAgLy8gVHJ5IHRleHQgdW5kZXIgdGhlIG5vZGUuCiAgICAgICAgIFN0cmlu
ZyB0ZXh0VW5kZXIgPSByZW5kZXJPYmplY3QtPnRleHRVbmRlckVsZW1lbnQoKTsKICAgICAgICAg
aWYgKHRleHRVbmRlci5sZW5ndGgoKSkKICAgICAgICAgICAgIHJldHVybiByZXR1cm5TdHJpbmco
dGV4dFVuZGVyKTsKQEAgLTE5MSw2ICsxOTEsMTMgQEAgc3RhdGljIGNvbnN0IGdjaGFyKiB3ZWJr
aXRfYWNjZXNzaWJsZV9nZXRfbmFtZShBdGtPYmplY3QqIG9iamVjdCkKICAgICAgICAgfQogICAg
IH0KIAorICAgIC8vIEZhbGxiYWNrIGZvciB0aGUgd2ViQXJlYSBvYmplY3Q6IGp1c3QgcmV0dXJu
IHRoZSBkb2N1bWVudCdzIHRpdGxlLgorICAgIGlmIChyZW5kZXJPYmplY3QtPmlzV2ViQXJlYSgp
KSB7CisgICAgICAgIERvY3VtZW50KiBkb2N1bWVudCA9IGNvcmVPYmplY3QtPmRvY3VtZW50KCk7
CisgICAgICAgIGlmIChkb2N1bWVudCkKKyAgICAgICAgICAgIHJldHVybiByZXR1cm5TdHJpbmco
ZG9jdW1lbnQtPnRpdGxlKCkpOworICAgIH0KKwogICAgIHJldHVybiByZXR1cm5TdHJpbmcoY29y
ZU9iamVjdC0+c3RyaW5nVmFsdWUoKSk7CiB9CiAKQEAgLTI0NjQsNiArMjQ3MSw5IEBAIHZvaWQg
d2Via2l0X2FjY2Vzc2libGVfZGV0YWNoKFdlYktpdEFjY2Vzc2libGUqIGFjY2Vzc2libGUpCiB7
CiAgICAgQVNTRVJUKGFjY2Vzc2libGUtPm1fb2JqZWN0KTsKIAorICAgIGlmIChjb3JlKGFjY2Vz
c2libGUpLT5yb2xlVmFsdWUoKSA9PSBXZWJBcmVhUm9sZSkKKyAgICAgICAgZ19zaWduYWxfZW1p
dF9ieV9uYW1lKGFjY2Vzc2libGUsICJzdGF0ZS1jaGFuZ2UiLCAiZGVmdW5jdCIsIHRydWUpOwor
CiAgICAgLy8gV2UgcmVwbGFjZSB0aGUgV2ViQ29yZSBBY2Nlc3NpYmlsaXR5T2JqZWN0IHdpdGgg
YSBmYWxsYmFjayBvYmplY3QgdGhhdAogICAgIC8vIHByb3ZpZGVzIGRlZmF1bHQgaW1wbGVtZW50
YXRpb25zIHRvIGF2b2lkIHJlcGV0aXRpdmUgbnVsbC1jaGVja2luZyBhZnRlcgogICAgIC8vIGRl
dGFjaG1lbnQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKaW5kZXggMmZlZmQ1ZC4uOTMxNTNjMSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL0No
YW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDExLTAyLTE0ICBNYXJpbyBTYW5jaGV6IFByYWRh
ICA8bXNhbmNoZXpAaWdhbGlhLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBbR1RLXSBldmVudHMgbWlzc2luZyB3aGVuIGEgZG9jdW1lbnQgaXMg
KHJlKWxvYWRlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjU4MzEKKworICAgICAgICBFbWl0IHRoZSByaWdodCBzaWduYWxzIHdoZW4gcmVsb2FkaW5n
IGEgZG9jdW1lbnQuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVu
dEd0ay5jcHA6CisgICAgICAgIChXZWJLaXQ6Om5vdGlmeUFjY2Vzc2liaWxpdHlTdGF0dXMpOiBO
ZXcgZnVuY3Rpb24sIHRvIG1ha2Ugc3VyZQorICAgICAgICB0aGUgc2lnbmFscyBpbnZvbHZlZCBp
biByZWxvYWRpbmcgYSBkb2N1bWVudCBhcmUgcHJvcGVybHkgZW1pdHRlZC4KKyAgICAgICAgKFdl
YktpdDo6bm90aWZ5U3RhdHVzKTogQWxzbyBub3RpZnkgYWNjZXNzaWJpbGl0eSBpZiBlbmFibGVk
LgorCiAyMDExLTAyLTExICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNv
bT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByNzgzMzEuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEd0ay5j
cHAgYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEd0
ay5jcHAKaW5kZXggODc1NDU1YS4uOWFhMjQyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9n
dGsvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRHdGsuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50R3RrLmNwcApAQCAtMjUs
NiArMjUsOCBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkZyYW1lTG9hZGVyQ2xp
ZW50R3RrLmgiCiAKKyNpbmNsdWRlICJBWE9iamVjdENhY2hlLmgiCisjaW5jbHVkZSAiQWNjZXNz
aWJpbGl0eU9iamVjdC5oIgogI2luY2x1ZGUgIkFyY2hpdmVSZXNvdXJjZS5oIgogI2luY2x1ZGUg
IkNhY2hlZEZyYW1lLmgiCiAjaW5jbHVkZSAiQ29sb3IuaCIKQEAgLTU1LDYgKzU3LDcgQEAKICNp
bmNsdWRlICJQbHVnaW5EYXRhYmFzZS5oIgogI2luY2x1ZGUgIlByb2dyZXNzVHJhY2tlci5oIgog
I2luY2x1ZGUgIlJlbmRlclBhcnQuaCIKKyNpbmNsdWRlICJSZW5kZXJWaWV3LmgiCiAjaW5jbHVk
ZSAiUmVzb3VyY2VIYW5kbGUuaCIKICNpbmNsdWRlICJSZXNvdXJjZVJlcXVlc3QuaCIKICNpbmNs
dWRlICJTY3JpcHRDb250cm9sbGVyLmgiCkBAIC0yMjIsNiArMjI1LDUxIEBAIFN0cmluZyBGcmFt
ZUxvYWRlckNsaWVudDo6dXNlckFnZW50KGNvbnN0IEtVUkwmIHVybCkKICAgICByZXR1cm4gU3Ry
aW5nOjpmcm9tVVRGOCh3ZWJraXRfd2ViX3NldHRpbmdzX2dldF91c2VyX2FnZW50KHNldHRpbmdz
KSk7CiB9CiAKK3N0YXRpYyB2b2lkIG5vdGlmeUFjY2Vzc2liaWxpdHlTdGF0dXMoV2ViS2l0V2Vi
RnJhbWUqIGZyYW1lLCBXZWJLaXRMb2FkU3RhdHVzIGxvYWRTdGF0dXMpCit7CisgICAgaWYgKGxv
YWRTdGF0dXMgIT0gV0VCS0lUX0xPQURfUFJPVklTSU9OQUwKKyAgICAgICAgJiYgbG9hZFN0YXR1
cyAhPSBXRUJLSVRfTE9BRF9GQUlMRUQKKyAgICAgICAgJiYgbG9hZFN0YXR1cyAhPSBXRUJLSVRf
TE9BRF9GSU5JU0hFRCkKKyAgICAgICAgcmV0dXJuOworCisgICAgV2ViS2l0V2ViRnJhbWVQcml2
YXRlKiBwcml2ID0gZnJhbWUtPnByaXY7CisgICAgaWYgKCFwcml2LT5jb3JlRnJhbWUgfHwgIXBy
aXYtPmNvcmVGcmFtZS0+ZG9jdW1lbnQoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgUmVuZGVy
VmlldyogY29udGVudFJlbmRlcmVyID0gcHJpdi0+Y29yZUZyYW1lLT5jb250ZW50UmVuZGVyZXIo
KTsKKyAgICBpZiAoIWNvbnRlbnRSZW5kZXJlcikKKyAgICAgICAgcmV0dXJuOworCisgICAgQVhP
YmplY3RDYWNoZSogYXhPYmplY3RDYWNoZSA9IHByaXYtPmNvcmVGcmFtZS0+ZG9jdW1lbnQoKS0+
YXhPYmplY3RDYWNoZSgpOworICAgIGlmICghYXhPYmplY3RDYWNoZSkKKyAgICAgICAgcmV0dXJu
OworCisgICAgQWNjZXNzaWJpbGl0eU9iamVjdCogY29yZUF4T2JqZWN0ID0gYXhPYmplY3RDYWNo
ZS0+Z2V0T3JDcmVhdGUoY29udGVudFJlbmRlcmVyKTsKKyAgICBpZiAoIWNvcmVBeE9iamVjdCkK
KyAgICAgICAgcmV0dXJuOworCisgICAgQXRrT2JqZWN0KiBheE9iamVjdCA9IGNvcmVBeE9iamVj
dC0+d3JhcHBlcigpOworICAgIGlmICghYXhPYmplY3QgfHwgIUFUS19JU19ET0NVTUVOVChheE9i
amVjdCkpCisgICAgICAgIHJldHVybjsKKworICAgIHN3aXRjaCAobG9hZFN0YXR1cykgeworICAg
IGNhc2UgV0VCS0lUX0xPQURfUFJPVklTSU9OQUw6CisgICAgICAgIGdfc2lnbmFsX2VtaXRfYnlf
bmFtZShheE9iamVjdCwgInN0YXRlLWNoYW5nZSIsICJidXN5IiwgdHJ1ZSk7CisgICAgICAgIGlm
IChjb3JlKGZyYW1lKS0+bG9hZGVyKCktPmxvYWRUeXBlKCkgPT0gRnJhbWVMb2FkVHlwZVJlbG9h
ZCkKKyAgICAgICAgICAgIGdfc2lnbmFsX2VtaXRfYnlfbmFtZShheE9iamVjdCwgInJlbG9hZCIp
OworICAgICAgICBicmVhazsKKyAgICBjYXNlIFdFQktJVF9MT0FEX0ZBSUxFRDoKKyAgICAgICAg
Z19zaWduYWxfZW1pdF9ieV9uYW1lKGF4T2JqZWN0LCAibG9hZC1zdG9wcGVkIik7CisgICAgICAg
IGdfc2lnbmFsX2VtaXRfYnlfbmFtZShheE9iamVjdCwgInN0YXRlLWNoYW5nZSIsICJidXN5Iiwg
ZmFsc2UpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFdFQktJVF9MT0FEX0ZJTklTSEVEOgor
ICAgICAgICBnX3NpZ25hbF9lbWl0X2J5X25hbWUoYXhPYmplY3QsICJsb2FkLWNvbXBsZXRlIik7
CisgICAgICAgIGdfc2lnbmFsX2VtaXRfYnlfbmFtZShheE9iamVjdCwgInN0YXRlLWNoYW5nZSIs
ICJidXN5IiwgZmFsc2UpOworICAgIGRlZmF1bHQ6CisgICAgICAgIGJyZWFrOworICAgIH0KK30K
Kwogc3RhdGljIHZvaWQgbm90aWZ5U3RhdHVzKFdlYktpdFdlYkZyYW1lKiBmcmFtZSwgV2ViS2l0
TG9hZFN0YXR1cyBsb2FkU3RhdHVzKQogewogICAgIGZyYW1lLT5wcml2LT5sb2FkU3RhdHVzID0g
bG9hZFN0YXR1czsKQEAgLTIzMSw2ICsyNzksOSBAQCBzdGF0aWMgdm9pZCBub3RpZnlTdGF0dXMo
V2ViS2l0V2ViRnJhbWUqIGZyYW1lLCBXZWJLaXRMb2FkU3RhdHVzIGxvYWRTdGF0dXMpCiAgICAg
aWYgKGZyYW1lID09IHdlYmtpdF93ZWJfdmlld19nZXRfbWFpbl9mcmFtZSh3ZWJWaWV3KSkgewog
ICAgICAgICB3ZWJWaWV3LT5wcml2LT5sb2FkU3RhdHVzID0gbG9hZFN0YXR1czsKICAgICAgICAg
Z19vYmplY3Rfbm90aWZ5KEdfT0JKRUNUKHdlYlZpZXcpLCAibG9hZC1zdGF0dXMiKTsKKworICAg
ICAgICBpZiAoQVhPYmplY3RDYWNoZTo6YWNjZXNzaWJpbGl0eUVuYWJsZWQoKSkKKyAgICAgICAg
ICAgIG5vdGlmeUFjY2Vzc2liaWxpdHlTdGF0dXMoZnJhbWUsIGxvYWRTdGF0dXMpOwogICAgIH0K
IH0KIAotLSAKMS43LjMuNQoK
</data>
<flag name="review"
          id="74319"
          type_id="1"
          status="+"
          setter="mrobinson"
    />
          </attachment>
      

    </bug>

</bugzilla>