<?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>42432</bug_id>
          
          <creation_ts>2010-07-15 17:51:20 -0700</creation_ts>
          <short_desc>[GTK] Enable Web Timing</short_desc>
          <delta_ts>2012-04-20 03:54:23 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKitGTK</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>30685</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Tony Gentilcore">tonyg</reporter>
          <assigned_to name="Sergio Villar Senin">svillar</assigned_to>
          <cc>danw</cc>
    
    <cc>eric</cc>
    
    <cc>gustavo.noronha</cc>
    
    <cc>gustavo</cc>
    
    <cc>halton.huo</cc>
    
    <cc>jmalonzo</cc>
    
    <cc>joone.hur</cc>
    
    <cc>mrobinson</cc>
    
    <cc>rakuco</cc>
    
    <cc>svillar</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
    
    <cc>zan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>252256</commentid>
    <comment_count>0</comment_count>
    <who name="Tony Gentilcore">tonyg</who>
    <bug_when>2010-07-15 17:51:20 -0700</bug_when>
    <thetext>Web Timing should be enabled for the GTK port.

This involves the following:
1. Implement http://trac.webkit.org/browser/trunk/WebCore/platform/network/ResourceLoadTiming.h
2. Flip WEB_TIMING flag</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>355155</commentid>
    <comment_count>1</comment_count>
      <attachid>83292</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2011-02-22 02:55:13 -0800</bug_when>
    <thetext>Created attachment 83292
Work-in-Progress patch

This is a work-in-progress patch, therefor it does not include any changelogs.

As I&apos;ve written in the mail to the list[1], this patch assigns current time to only some of the required attributes. The rest are impossible to be set with the current time because either we do not perform that task (domain lookup) or because libsoup does not offer appropriate interface for needed events to be signalized to us.

This patch makes the Gtk port perform reasonably well on the Web Timing demo[2] - the redirect counting works and the request and response times logically make up the fetch time, but what&apos;s missing (compared to Chromium&apos;s performance) is the DSN time (we don&apos;t perform that step, so this is not really a problem) and the connect time. The connect time is something that should be made available, but I don&apos;t know whether it is possible to correctly implement it in the current resource loading procedure. I&apos;d more than welcome any input on this specific problem.

Other than that, with this patch applied some of the web timing tests already pass while others need a bit more tweaking.

[1] https://lists.webkit.org/pipermail/webkit-gtk/2011-February/000409.html
[2] http://webtimingdemo.appspot.com/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>362964</commentid>
    <comment_count>2</comment_count>
      <attachid>84869</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2011-03-05 09:35:20 -0800</bug_when>
    <thetext>Created attachment 84869
Patch 1: Implementation

This patch brings (incomplete) support for the Navigation Timing specification to the Gtk port.

I consider the support incomplete because the domain lookup times are not set. Libsoup at this moment does not offer signals we could connect to in order to get notified when domain lookup starts or ends. As/If they&apos;re added, the implementation should be properly updated.

Another small hack this implementation utilizes is setting the connectEnd time when we receive response. Dan Winship recommended on the libsoup mailing list[1] this could be done by connecting to SoupConnection&apos;s notify::state signal which is emitted when state of the connection changes. When state would change from SOUP_CONNECTION_CONNECTING to any other it would mean that connection has ended (successfully or unsuccessfully, it does not matter in this case) and the connectEnd attribute should be assigned the current time.

This proved unusable when testing. Because the SoupConnection object is &apos;semi-private API&apos; (and is on its way to be replaced by a more &apos;gio-oriented API&apos;, explained in the message by Dan) there is no reasonable way to add the SoupConnection to a ResourceHandle so we could disconnect signal handlers when ResourceHandle is deleted. This was shown in testing by crashes when trying to access ResourceLoadTiming object of the ResourceHandle&apos;s response. I&apos;d like to see this properly implemented when libsoup makes the change in the API, though.

[1] https://mail.gnome.org/archives/libsoup-list/2011-February/msg00004.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>362965</commentid>
    <comment_count>3</comment_count>
      <attachid>84870</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2011-03-05 09:40:51 -0800</bug_when>
    <thetext>Created attachment 84870
Patch 2: Enabling the passing tests

This patch enables the tests that now pass.

There are still a few tests that fail:
fast/dom/Window/window-properties-performance.html
 - Heap size is unlimited in JavaScriptCore, see bug #53592[1]
http/tests/misc/webtiming-origins.html
 - problem with origins, probably not timing-specific
http/tests/misc/webtiming-slow-load.php
 - haven&apos;t spotted the cause of failure for this one yet
http/tests/misc/webtiming-ssl.php
 - another Navigation Timing attribute that is not set is secureConnectionStart - we should look into libsoup to see if the code there can be modified to notify us of this event

[1] https://bugs.webkit.org/show_bug.cgi?id=53592</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>362967</commentid>
    <comment_count>4</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2011-03-05 09:45:42 -0800</bug_when>
    <thetext>The third patch would enable timing support when building, but I&apos;d like to clarify whether we want this to be already enabled by default in configure.ac now or to wait for libsoup to get extra functionality and start shipping out a properly working implementation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>364781</commentid>
    <comment_count>5</comment_count>
    <who name="Tony Gentilcore">tonyg</who>
    <bug_when>2011-03-09 14:26:44 -0800</bug_when>
    <thetext>Are you looking for a reviewer for these patches? I&apos;m familiar with Web Timing but not GTK. If that is okay, I&apos;m happy to take a look.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>383183</commentid>
    <comment_count>6</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-04-11 08:43:25 -0700</bug_when>
    <thetext>Perhaps Sergio would be willing to do an informal review here since he&apos;s very familiar with the soup networking backend.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>383247</commentid>
    <comment_count>7</comment_count>
      <attachid>84869</attachid>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2011-04-11 10:29:24 -0700</bug_when>
    <thetext>Comment on attachment 84869
Patch 1: Implementation

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

&gt; Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:63
&gt; +using namespace WTF;

Do we really need this?

&gt; Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:412
&gt; +                                         0, 0, 0, 0, handle);

We do this in cleanupSoupRequestOperation, why would we need this here?

&gt; Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:573
&gt; +}

This seems correct but the problem is that you are handling the &quot;connection-created&quot; signal of any request issued to the SoupSession. Take into account that this callback will be called whenever the SoupSession needs to create a connection (and not only for this particular ResourceHandle). There are some other problems too, see below in the g_signal_connect() part

&gt; Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:587
&gt; +}

Same problem than above, the difference is that in this case you are able to check that the SoupMessage provided by libsoup in the second argument is the same than the one you have in d-&gt;m_soupMessage. Otherwise you&apos;ll have to discard it as it will be handled by another ResourceHandle.

&gt; Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:646
&gt; +    g_signal_connect(session, &quot;connection-created&quot;, G_CALLBACK(connectionCreatedCallback), handle);

This is not going to work for one reason. libsoup reuses the connections that have not been closed by the server whenever possible. In such cases libsoup just uses the connections, so no new connection is created and thus, the &quot;connection-created&quot; signal won&apos;t be emitted.

&gt; Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:879
&gt; +    g_signal_connect(session, &quot;connection-created&quot;, G_CALLBACK(connectionCreatedCallback), handle);

Same comment than in the other &quot;conneciton-created&quot; signal connection and something more. Non-HTTP protocols may not involve any kind of network connection at all, for example data: or file:. For those protocols the &quot;connection-created&quot; signal does not make any sense as no connections are used.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>386709</commentid>
    <comment_count>8</comment_count>
      <attachid>84869</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2011-04-15 10:15:58 -0700</bug_when>
    <thetext>Comment on attachment 84869
Patch 1: Implementation

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

Thanks for the review!

&gt;&gt; Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:63
&gt;&gt; +using namespace WTF;
&gt; 
&gt; Do we really need this?

True, this is not really needed. Will remove it and use WTF::currentTime().

&gt;&gt; Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:412
&gt;&gt; +                                         0, 0, 0, 0, handle);
&gt; 
&gt; We do this in cleanupSoupRequestOperation, why would we need this here?

This disconnects every handler that is connected to the SoupSession object, more specifically it disconnects handlers to the connection-created and request-started signals. I don&apos;t see this already being done in the current code.

&gt;&gt; Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:573
&gt;&gt; +}
&gt; 
&gt; This seems correct but the problem is that you are handling the &quot;connection-created&quot; signal of any request issued to the SoupSession. Take into account that this callback will be called whenever the SoupSession needs to create a connection (and not only for this particular ResourceHandle). There are some other problems too, see below in the g_signal_connect() part

Is there a way of ensuring that the connection that was created definitely belongs to a certain ResourceHandle? Current attempt at this is that this callback is connected to the SoupSession object in either startHTTPRequest or startNonHTTPRequest and then disconnected in cleanupSoupRequestOperation, but is that sufficient enough?

&gt;&gt; Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:587
&gt;&gt; +}
&gt; 
&gt; Same problem than above, the difference is that in this case you are able to check that the SoupMessage provided by libsoup in the second argument is the same than the one you have in d-&gt;m_soupMessage. Otherwise you&apos;ll have to discard it as it will be handled by another ResourceHandle.

I&apos;ll add that check.

&gt;&gt; Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:646
&gt;&gt; +    g_signal_connect(session, &quot;connection-created&quot;, G_CALLBACK(connectionCreatedCallback), handle);
&gt; 
&gt; This is not going to work for one reason. libsoup reuses the connections that have not been closed by the server whenever possible. In such cases libsoup just uses the connections, so no new connection is created and thus, the &quot;connection-created&quot; signal won&apos;t be emitted.

This might not be a problem as PerformanceTiming::connectStart returns previous time values when no connection (as in network request) is made and therefor connectStart variable is not set.

This part is located here: [1] http://trac.webkit.org/browser/trunk/Source/WebCore/page/PerformanceTiming.cpp#L200

&gt;&gt; Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:879
&gt;&gt; +    g_signal_connect(session, &quot;connection-created&quot;, G_CALLBACK(connectionCreatedCallback), handle);
&gt; 
&gt; Same comment than in the other &quot;conneciton-created&quot; signal connection and something more. Non-HTTP protocols may not involve any kind of network connection at all, for example data: or file:. For those protocols the &quot;connection-created&quot; signal does not make any sense as no connections are used.

In that case no connection should be made to this signal, will remove this statement.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>392828</commentid>
    <comment_count>9</comment_count>
      <attachid>84869</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-04-26 15:31:53 -0700</bug_when>
    <thetext>Comment on attachment 84869
Patch 1: Implementation

Please combine these two patches into one larger patch. That way we can land the implementation and unskip the tests at the same time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>404179</commentid>
    <comment_count>10</comment_count>
      <attachid>93584</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2011-05-15 09:01:43 -0700</bug_when>
    <thetext>Created attachment 93584
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>404180</commentid>
    <comment_count>11</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2011-05-15 09:04:48 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; Created an attachment (id=93584) [details]
&gt; Patch

This patch now combines the previous two and also resolves some of the issues that were brought up during Sergio&apos;s review (other are still open to debate IMO).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>404662</commentid>
    <comment_count>12</comment_count>
      <attachid>93584</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-05-16 12:35:31 -0700</bug_when>
    <thetext>Comment on attachment 93584
Patch

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

Nice work. I think the new code in Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp should only be compiled in if web timing is enabled though.

&gt; LayoutTests/platform/gtk/Skipped:-302
&gt; +# Navigation Timing http tests that are still failing
&gt;  http/tests/misc/webtiming-origins.html
&gt; -http/tests/misc/webtiming-one-redirect.php
&gt;  http/tests/misc/webtiming-slow-load.php
&gt;  http/tests/misc/webtiming-ssl.php
&gt; -http/tests/misc/webtiming-two-redirects.php

It&apos;d be nice to have some understanding of why these are still failing.

&gt; Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:35
&gt;  #include &quot;ChromeClient.h&quot;
&gt;  #include &quot;CookieJarSoup.h&quot;
&gt;  #include &quot;CachedResourceLoader.h&quot;
&gt; +#include &quot;CurrentTime.h&quot;

Shouldn&apos;t all the new code in this file be guarded by #if ENABLE(WEB_TIMING)?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>411956</commentid>
    <comment_count>13</comment_count>
      <attachid>95285</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2011-05-29 04:31:31 -0700</bug_when>
    <thetext>Created attachment 95285
Patch

Patch with added guards and explanations for still-failing tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>412988</commentid>
    <comment_count>14</comment_count>
      <attachid>95285</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-05-31 16:45:40 -0700</bug_when>
    <thetext>Comment on attachment 95285
Patch

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

I&apos;m still concerned about Sergio&apos;s comment. Seems that this question should be resolved before we can land this:

&gt; This seems correct but the problem is that you are handling the &quot;connection-created&quot; signal of any request issued to the SoupSession. Take into account that this callback will be called whenever the SoupSession needs to create a connection (and not only for this particular ResourceHandle). There are some other problems too, see below in the g_signal_connect() part

&gt; LayoutTests/platform/gtk/Skipped:303
&gt; +# Navigation Timing http tests that are still failing
&gt; +# Redirect stats are not zeroed out after a cross-origin redirect,
&gt; +# plus the third iframe does not load at all

Do you mind opening a bug for this?

&gt; LayoutTests/platform/gtk/Skipped:306
&gt; +# The load is not slow enough - sleeping for two seconds instead
&gt; +# of one makes the test succeed.

Here as well? Please try to fix this test as a followup.

&gt; LayoutTests/platform/gtk/Skipped:310
&gt;  http/tests/misc/webtiming-ssl.php

Perhaps this should be filed as a bug in upstream?

&gt; Source/WebCore/GNUmakefile.am:583
&gt; +if ENABLE_WEB_TIMING
&gt; +FEATURE_DEFINES += ENABLE_WEB_TIMING=1
&gt; +webcore_cppflags += -DENABLE_WEB_TIMING=1
&gt; +endif  # END ENABLE_WEB_TIMING

What affect does this have on runtime performance. Do other ports enable it by default or only to run tests?

&gt; Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:416
&gt; +    g_signal_handlers_disconnect_matched(handle-&gt;defaultSession(), G_SIGNAL_MATCH_DATA,
&gt; +                                         0, 0, 0, 0, handle);

This can be one line.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>424385</commentid>
    <comment_count>15</comment_count>
      <attachid>97962</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2011-06-21 04:32:23 -0700</bug_when>
    <thetext>Created attachment 97962
Updated patch w/ a new approach to connection times

This is an updated patch that handles the mentioned connection problems in a new way.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>424392</commentid>
    <comment_count>16</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2011-06-21 05:21:27 -0700</bug_when>
    <thetext>(In reply to comment #15)
&gt; Created an attachment (id=97962) [details]
&gt; Updated patch w/ a new approach to connection times
&gt; 
&gt; This is an updated patch that handles the mentioned connection problems in a new way.

In this post I&apos;ll describe changes in a more detailed way along with replies to other comments.

This is more of a work-in-progress patch, just to present new methods that are used.

For starters I&apos;ve removed compilation guards - ResourceLoadTiming object is also used by the Web Inspector so there might even be some progression on that part. The ResourceLoadTiming object itself is not guarded by any compilation guards and neither should be any use of it. PerformanceTiming object is simply using ResourceLoadTiming to provide needed information so this is more implementation of ResourceLoadTiming usage than implementation of Web Timing specification itself.

Also this patch updates ResourceLoadTiming only for HTTP requests as it seems useless to time events in almost-instant local file loading. But I&apos;m not sure about that as I write, so I should look into it.

(In reply to comment #14)
&gt; (From update of attachment 95285 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=95285&amp;action=review
&gt; 
&gt; I&apos;m still concerned about Sergio&apos;s comment. Seems that this question should be resolved before we can land this:
&gt; 
&gt; &gt; This seems correct but the problem is that you are handling the &quot;connection-created&quot; signal of any request issued to the SoupSession. Take into account that this callback will be called whenever the SoupSession needs to create a connection (and not only for this particular ResourceHandle). There are some other problems too, see below in the g_signal_connect() part
&gt; 

In the updated patch every time a new HTTP request is started (in startHTTPRequest) the ResourceResponse is told that the connection will be reused. This flag can be set to false though if the connection-created signal is triggered on the SoupSession object. This flag is then checked in the PerformanceTiming object whenever connectStart or connectEnd attributes are requested - if true, the time of previous event is returned, otherwise the times in ResourceLoadTiming are used.

The only problem is that there&apos;s no appropriate signals in libsoup to connect to to acquire connectStart and connectEnd times. Because of that I&apos;ve added two corresponding signals to the SoupMessage object. I&apos;ll attach a patch here just for the sake of convenience but this should really be discussed with libsoup devs elsewhere, but I&apos;d like to hear some thoughts about this approach.

&gt; &gt; Source/WebCore/GNUmakefile.am:583
&gt; &gt; +if ENABLE_WEB_TIMING
&gt; &gt; +FEATURE_DEFINES += ENABLE_WEB_TIMING=1
&gt; &gt; +webcore_cppflags += -DENABLE_WEB_TIMING=1
&gt; &gt; +endif  # END ENABLE_WEB_TIMING
&gt; 
&gt; What affect does this have on runtime performance. Do other ports enable it by default or only to run tests?
&gt; 

I don&apos;t think this would have any significant impact on performance, but there was some debate on the mailing list about how users with this feature enabled could be under threat of fingerprinting and privacy breach[1]. Chromium port enables this by default but I believe the best way for our port would be to have this feature disabled in configure.ac and enabled in build-webkit script for testing purposes.

&gt; &gt; Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:416
&gt; &gt; +    g_signal_handlers_disconnect_matched(handle-&gt;defaultSession(), G_SIGNAL_MATCH_DATA,
&gt; &gt; +                                         0, 0, 0, 0, handle);
&gt; 
&gt; This can be one line.

Fixed.

&gt; 

All other comments about layout tests are noted. These issues will be addressed as soon as we get the connections problems resolved. Also there are some evident bugs that I&apos;d like to address before landing the implementation (mostly about redirects and how they&apos;re handled).

[0] https://lists.webkit.org/pipermail/webkit-dev/2011-May/016803.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>424404</commentid>
    <comment_count>17</comment_count>
      <attachid>97973</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2011-06-21 05:36:14 -0700</bug_when>
    <thetext>Created attachment 97973
Libsoup patch

This is just a quick addition of the connect-start and connect-end signals to SoupMessage. This is not a proposed patch, just a quick hack to get precise time for mentioned events.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>526462</commentid>
    <comment_count>18</comment_count>
    <who name="Dan Winship">danw</who>
    <bug_when>2011-12-22 12:57:59 -0800</bug_when>
    <thetext>With glib and libsoup master, SoupMessage now has a &quot;network-event&quot; signal, that fires as network-related things are going on (including DNS, socket connection, and TLS handshaking). I think that (plus the session &quot;request-started&quot; signal to notice the case where the message is send on an existing connection) should be enough to cover everything in the timing spec... Try it out.

(You should be able to build the new versions by editing Tools/gtk/jhbuild.modules so the libsoup tag is 7c2f1956808b31ade19a5cb24d16a465ad575421, and change glib to module=&quot;glib&quot;, tag=&quot;3f3e141ec8ffe8f40a2faced69d35cb161153107&quot;. I think...)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>527615</commentid>
    <comment_count>19</comment_count>
      <attachid>120652</attachid>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2011-12-28 04:48:25 -0800</bug_when>
    <thetext>Created attachment 120652
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>527619</commentid>
    <comment_count>20</comment_count>
      <attachid>120652</attachid>
    <who name="Collabora GTK+ EWS bot">gustavo.noronha</who>
    <bug_when>2011-12-28 05:10:34 -0800</bug_when>
    <thetext>Comment on attachment 120652
Patch

Attachment 120652 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/11034592</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>529533</commentid>
    <comment_count>21</comment_count>
      <attachid>120652</attachid>
    <who name="Dan Winship">danw</who>
    <bug_when>2012-01-04 08:03:02 -0800</bug_when>
    <thetext>Comment on attachment 120652
Patch

&gt;--- a/Tools/gtk/jhbuild.modules
&gt;+++ b/Tools/gtk/jhbuild.modules
&gt;@@ -128,7 +128,7 @@
&gt;     &lt;/dependencies&gt;
&gt;     &lt;branch module=&quot;libsoup&quot; version=&quot;2.37.2.1+git&quot;
&gt;             repo=&quot;git.gnome.org&quot;
&gt;-            tag=&quot;5cbfc48caf76ced2e28ee06c9e40523273601dc6&quot;/&gt;
&gt;+            tag=&quot;7c2f1956808b31ade19a5cb24d16a465ad575421&quot;/&gt;
&gt;   &lt;/autotools&gt;

you need to update glib too (switching it from tarball to git, with the correct tag).

(Though the EWS build would have failed anyway since it doesn&apos;t seem to know how to handle jhbuild.modules changes...)

&gt;+# SSL start is getting a value when it should apparently not
&gt; http/tests/misc/webtiming-ssl.php

This shouldn&apos;t be hard to fix...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>537097</commentid>
    <comment_count>22</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2012-01-17 07:41:21 -0800</bug_when>
    <thetext>As of today the EWS will run update-webkitgtk-libs after applying the patch, so let&apos;s try updating this patch =D</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>537117</commentid>
    <comment_count>23</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2012-01-17 08:25:40 -0800</bug_when>
    <thetext>(In reply to comment #22)
&gt; As of today the EWS will run update-webkitgtk-libs after applying the patch, so let&apos;s try updating this patch =D

Also a new review of the patch wouldn&apos;t harm :P</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>537150</commentid>
    <comment_count>24</comment_count>
      <attachid>120652</attachid>
    <who name="Dan Winship">danw</who>
    <bug_when>2012-01-17 09:18:39 -0800</bug_when>
    <thetext>Comment on attachment 120652
Patch

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

&gt; Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:571
&gt; +    g_signal_connect(session, &quot;request-started&quot;, G_CALLBACK(requestStartedCallback), handle);

It&apos;s a bit gross that every ResourceHandle connects to this signal and then ignores it except for its own message. It would be cleaner to just connect once, statically... you could use g_object_set_data() to associate the handle with its SoupMessage?

(I&apos;m making a note to add something to libsoup so you don&apos;t need to get that signal off the session...)

&gt; LayoutTests/platform/gtk/Skipped:263
&gt; +# Web Timing issues

some of these might be because the network-events don&apos;t get emitted when reusing a persistent connection? Not sure if the existing WebKit code handles setting them to the right default values in that case</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>537222</commentid>
    <comment_count>25</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2012-01-17 11:23:04 -0800</bug_when>
    <thetext>I&apos;m working on updating the jhbuild part of this patch, but I hit a jhbuild limitation (see https://bugzilla.gnome.org/show_bug.cgi?id=668107). Meanwhile, here&apos;s the change I have:


diff --git a/Tools/gtk/jhbuild.modules b/Tools/gtk/jhbuild.modules
index 2dcbf63..2f88a0b 100644
--- a/Tools/gtk/jhbuild.modules
+++ b/Tools/gtk/jhbuild.modules
@@ -106,10 +106,10 @@
     &lt;dependencies&gt;
       &lt;dep package=&quot;libffi&quot;/&gt;
     &lt;/dependencies&gt;
-    &lt;branch module=&quot;/pub/GNOME/sources/glib/2.31/glib-2.31.2.tar.xz&quot; version=&quot;2.31.2&quot;
+    &lt;branch module=&quot;/pub/GNOME/sources/glib/2.31/glib-2.31.8.tar.xz&quot; version=&quot;2.31.8&quot;
             repo=&quot;ftp.gnome.org&quot;
-            hash=&quot;sha256:19d7921671a487c3c5759a57df7b8508afdbadd7764d62a47a82fff7b399032b&quot;
-            md5sum=&quot;1cbdf314d7c87916a0c3dce83ac0285f&quot;/&gt;
+            hash=&quot;sha256:1ce3d275189000e1c50e92efcdb6447bc260b1e5c41699b7a1959e3e1928fbaa&quot;
+            md5sum=&quot;6909664f29fae2f00cc3181c8c6a6aa7&quot;/&gt;
   &lt;/autotools&gt;
 
   &lt;autotools id=&quot;glib-networking&quot;&gt;
@@ -138,9 +138,9 @@
     &lt;dependencies&gt;
       &lt;dep package=&quot;glib-networking&quot;/&gt;
     &lt;/dependencies&gt;
-    &lt;branch module=&quot;libsoup&quot; version=&quot;2.37.2.1+git&quot;
+    &lt;branch module=&quot;libsoup&quot; version=&quot;2.37.4+git&quot;
             repo=&quot;git.gnome.org&quot;
-            tag=&quot;5cbfc48caf76ced2e28ee06c9e40523273601dc6&quot;/&gt;
+            tag=&quot;b92be4347c981205ca2fb4362f8f03301d1ab905&quot;/&gt;
   &lt;/autotools&gt;
 
   &lt;autotools id=&quot;fontconfig&quot; autogen-sh=&quot;configure&quot;&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>537231</commentid>
    <comment_count>26</comment_count>
      <attachid>122787</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2012-01-17 11:36:49 -0800</bug_when>
    <thetext>Created attachment 122787
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>537233</commentid>
    <comment_count>27</comment_count>
      <attachid>122787</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2012-01-17 11:38:04 -0800</bug_when>
    <thetext>Comment on attachment 122787
Patch

Patch with just the jhbuild stuff updated, to test the new EWS jhbuild stuff</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>537248</commentid>
    <comment_count>28</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2012-01-17 11:47:53 -0800</bug_when>
    <thetext>(In reply to comment #24)
&gt; (From update of attachment 120652 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=120652&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:571
&gt; &gt; +    g_signal_connect(session, &quot;request-started&quot;, G_CALLBACK(requestStartedCallback), handle);
&gt; 
&gt; It&apos;s a bit gross that every ResourceHandle connects to this signal and then ignores it except for its own message. It would be cleaner to just connect once, statically... you could use g_object_set_data() to associate the handle with its SoupMessage?

That&apos;s true that is a bit overkill, hopefully not many ResourceHandle&apos;s exist at a time, but anyway I agree it could be done the way you mention.

&gt; (I&apos;m making a note to add something to libsoup so you don&apos;t need to get that signal off the session...)
&gt; 
&gt; &gt; LayoutTests/platform/gtk/Skipped:263
&gt; &gt; +# Web Timing issues
&gt; 
&gt; some of these might be because the network-events don&apos;t get emitted when reusing a persistent connection? Not sure if the existing WebKit code handles setting them to the right default values in that case

hmm didn&apos;t take that into account, will double-check</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>537281</commentid>
    <comment_count>29</comment_count>
      <attachid>122787</attachid>
    <who name="Collabora GTK+ EWS bot">gustavo.noronha</who>
    <bug_when>2012-01-17 12:18:16 -0800</bug_when>
    <thetext>Comment on attachment 122787
Patch

Attachment 122787 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/11269261</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>542261</commentid>
    <comment_count>30</comment_count>
      <attachid>123939</attachid>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2012-01-25 07:49:46 -0800</bug_when>
    <thetext>Created attachment 123939
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>542265</commentid>
    <comment_count>31</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2012-01-25 07:51:58 -0800</bug_when>
    <thetext>Last version of the patch including Gustavo&apos;s changes, Dan&apos;s suggestion to connect only once to request-started and a last-minute fix (reset the request time when the message is redirected).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>542361</commentid>
    <comment_count>32</comment_count>
      <attachid>123939</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2012-01-25 09:37:55 -0800</bug_when>
    <thetext>Comment on attachment 123939
Patch

Attachment 123939 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/11343600</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>544348</commentid>
    <comment_count>33</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2012-01-27 14:12:30 -0800</bug_when>
    <thetext>Dan, any clue regarding that build failure? Do we need to explicitly link the GI scanner to gmodule?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>544649</commentid>
    <comment_count>34</comment_count>
    <who name="Dan Winship">danw</who>
    <bug_when>2012-01-28 06:18:32 -0800</bug_when>
    <thetext>I think it&apos;s a problem with gobject-introspection being built against the system glib but run against the jhbuild glib? If so, easiest fix is probably to just add g-i to the jhbuild config.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>545101</commentid>
    <comment_count>35</comment_count>
      <attachid>124552</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2012-01-30 08:02:24 -0800</bug_when>
    <thetext>Created attachment 124552
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>545106</commentid>
    <comment_count>36</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2012-01-30 08:08:44 -0800</bug_when>
    <thetext>Added G-I to jhbuild.modules; this addition requires that python-dev be installed (I got it installed on the EWSs and buildbot).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>545115</commentid>
    <comment_count>37</comment_count>
      <attachid>124556</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2012-01-30 08:29:08 -0800</bug_when>
    <thetext>Created attachment 124556
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>545138</commentid>
    <comment_count>38</comment_count>
      <attachid>124556</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2012-01-30 08:52:02 -0800</bug_when>
    <thetext>Comment on attachment 124556
Patch

Attachment 124556 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/11368581</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>550766</commentid>
    <comment_count>39</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2012-02-07 03:08:18 -0800</bug_when>
    <thetext>*** Bug 77944 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>590938</commentid>
    <comment_count>40</comment_count>
      <attachid>134524</attachid>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2012-03-29 01:27:47 -0700</bug_when>
    <thetext>Created attachment 134524
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>606010</commentid>
    <comment_count>41</comment_count>
      <attachid>134524</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2012-04-19 15:35:28 -0700</bug_when>
    <thetext>Comment on attachment 134524
Patch

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

LGTM

&gt; Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:140
&gt; +static int  currentTimeMinusRequestTime(double requestTime);

Can we give this function a more descriptive name, like milisecondsSinceRequest?

&gt; Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:459
&gt; +static void wroteBodyCallback(SoupMessage *, gpointer data)

* position

&gt; Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:472
&gt; +static void requestStartedCallback(SoupSession *, SoupMessage *soupMessage, SoupSocket *, gpointer data)

The * is in the wrong side for all of them here.

&gt; Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:487
&gt; +    if (d-&gt;m_response.resourceLoadTiming()-&gt;sslStart != -1)
&gt; +        // WebCore/inspector/front-end/ResourceTimingView.js assumes that SSL time is included
&gt; +        // in connection time so must substract here the SSL delta that will be added later.
&gt; +        d-&gt;m_response.resourceLoadTiming()-&gt;sendStart -=
&gt; +            d-&gt;m_response.resourceLoadTiming()-&gt;sslEnd - d-&gt;m_response.resourceLoadTiming()-&gt;sslStart;

Can we have {} around this? Multiple lines make it harder to make sure it&apos;s only a single statement. This comment could be improved too, I understood it after reading a couple of times, but it&apos;s not obvious that somewhere the time spent in ssl will be added somewhere (pointing to where would be good =D).

&gt; Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:490
&gt; +static void networkEventCallback(SoupMessage *, GSocketClientEvent event, GIOStream *, gpointer data)

More *

&gt; Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:513
&gt; +        if (d-&gt;m_response.resourceLoadTiming()-&gt;dnsStart != -1)
&gt; +            // WebCore/inspector/front-end/ResourceTimingView.js assumes that DNS time is included
&gt; +            // in connection time so must substract here the DNS delta that will be added later.
&gt; +            d-&gt;m_response.resourceLoadTiming()-&gt;connectStart -=
&gt; +                d-&gt;m_response.resourceLoadTiming()-&gt;dnsEnd - d-&gt;m_response.resourceLoadTiming()-&gt;dnsStart;

Ditto the comment about SSL above.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>606481</commentid>
    <comment_count>42</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2012-04-20 03:54:23 -0700</bug_when>
    <thetext>Committed r114736: &lt;http://trac.webkit.org/changeset/114736&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>83292</attachid>
            <date>2011-02-22 02:55:13 -0800</date>
            <delta_ts>2011-03-05 09:35:20 -0800</delta_ts>
            <desc>Work-in-Progress patch</desc>
            <filename>wip.wt</filename>
            <type>text/plain</type>
            <size>4450</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtIGIvU291cmNlL1dlYkNv
cmUvR05VbWFrZWZpbGUuYW0KaW5kZXggMjZlYTdmMy4uMzk0OWQzNSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZp
bGUuYW0KQEAgLTQ4MzksNiArNDgzOSwxNCBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYktpdExvc2VDb250ZXh0LmgKIGVuZGlmICAjIEVORCBF
TkFCTEVfV0VCR0wKIAorIyAtLS0KKyMgV2ViIFRpbWluZyBzdXBwb3J0CisjIC0tLQoraWYgRU5B
QkxFX1dFQl9USU1JTkcKK0ZFQVRVUkVfREVGSU5FUyArPSBFTkFCTEVfV0VCX1RJTUlORz0xCit3
ZWJjb3JlX2NwcGZsYWdzICs9IC1ERU5BQkxFX1dFQl9USU1JTkc9MQorZW5kaWYgICMgRU5EIEVO
QUJMRV9XRUJfVElNSU5HCisKIERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvQ1NTUHJvcGVydHlOYW1l
cy5jcHA6IERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvQ1NTUHJvcGVydHlOYW1lcy5oCiBEZXJpdmVk
U291cmNlcy9XZWJDb3JlL0NTU1Byb3BlcnR5TmFtZXMuaDogJChXRUJDT1JFX0NTU19QUk9QRVJU
WV9OQU1FUykgJChXZWJDb3JlKS9jc3MvbWFrZXByb3AucGwKIAlpZiBzb3J0ICQoV0VCQ09SRV9D
U1NfUFJPUEVSVFlfTkFNRVMpIHwgdW5pcSAtZCB8IGdyZXAgLUUgJ15bXiNdJzsgdGhlbiBlY2hv
ICdEdXBsaWNhdGUgdmFsdWUhJzsgZXhpdCAxOyBmaQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9TZXR0aW5ncy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcApp
bmRleCBjNmNhMjQ5Li4zNDdkNjhjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Nl
dHRpbmdzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcApAQCAtMTY4
LDcgKzE2OCw3IEBAIFNldHRpbmdzOjpTZXR0aW5ncyhQYWdlKiBwYWdlKQogICAgICwgbV9mdWxs
U2NyZWVuQVBJRW5hYmxlZChmYWxzZSkKICNlbmRpZgogICAgICwgbV9hc3luY2hyb25vdXNTcGVs
bENoZWNraW5nRW5hYmxlZChmYWxzZSkKLSAgICAsIG1fbWVtb3J5SW5mb0VuYWJsZWQoZmFsc2Up
CisgICAgLCBtX21lbW9yeUluZm9FbmFibGVkKHRydWUpIC8vIEZJWE1FOiB0aHJvdWdoIHdlYnNl
dHRpbmdzISBMYXp5IQogICAgICwgbV9pbnRlcmFjdGl2ZUZvcm1WYWxpZGF0aW9uKGZhbHNlKQog
ICAgICwgbV91c2VQcmVIVE1MNVBhcnNlclF1aXJrcyhmYWxzZSkKICAgICAsIG1faHlwZXJsaW5r
QXVkaXRpbmdFbmFibGVkKGZhbHNlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcAppbmRleCBhNTVmMzhm
Li43ZDIxYWQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3Nv
dXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcApAQCAtMzIsNiArMzIsNyBAQAogI2lu
Y2x1ZGUgIkNocm9tZUNsaWVudC5oIgogI2luY2x1ZGUgIkNvb2tpZUphclNvdXAuaCIKICNpbmNs
dWRlICJDYWNoZWRSZXNvdXJjZUxvYWRlci5oIgorI2luY2x1ZGUgIkN1cnJlbnRUaW1lLmgiCiAj
aW5jbHVkZSAiRmlsZVN5c3RlbS5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiR093
blB0clNvdXAuaCIKQEAgLTQzLDYgKzQ0LDcgQEAKICNpbmNsdWRlICJSZXNvdXJjZUVycm9yLmgi
CiAjaW5jbHVkZSAiUmVzb3VyY2VIYW5kbGVDbGllbnQuaCIKICNpbmNsdWRlICJSZXNvdXJjZUhh
bmRsZUludGVybmFsLmgiCisjaW5jbHVkZSAiUmVzb3VyY2VMb2FkVGltaW5nLmgiCiAjaW5jbHVk
ZSAiUmVzb3VyY2VSZXNwb25zZS5oIgogI2luY2x1ZGUgIlNoYXJlZEJ1ZmZlci5oIgogI2luY2x1
ZGUgIlRleHRFbmNvZGluZy5oIgpAQCAtNTgsOCArNjAsMTYgQEAKICNpbmNsdWRlIDxzeXMvdHlw
ZXMuaD4KICNpbmNsdWRlIDx1bmlzdGQuaD4KIAordXNpbmcgbmFtZXNwYWNlIFdURjsKKwogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCitzdGF0aWMgdW5zaWduZWQgbG9uZyBsb25nIHRvSW50ZWdlck1p
bGxpc2Vjb25kcyhkb3VibGUgc2Vjb25kcykKK3sKKyAgICBBU1NFUlQoc2Vjb25kcyA+PSAwKTsK
KyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8dW5zaWduZWQgbG9uZyBsb25nPihzZWNvbmRzICogMTAw
MC4wKTsKK30KKwogI2RlZmluZSBSRUFEX0JVRkZFUl9TSVpFIDgxOTIKIAogY2xhc3MgV2ViQ29y
ZVN5bmNocm9ub3VzTG9hZGVyIDogcHVibGljIFJlc291cmNlSGFuZGxlQ2xpZW50IHsKQEAgLTQx
MCw2ICs0MjAsOCBAQCBzdGF0aWMgdm9pZCBzZW5kUmVxdWVzdENhbGxiYWNrKEdPYmplY3QqIHNv
dXJjZSwgR0FzeW5jUmVzdWx0KiByZXMsIGdwb2ludGVyIHVzZQogICAgIFJlc291cmNlSGFuZGxl
SW50ZXJuYWwqIGQgPSBoYW5kbGUtPmdldEludGVybmFsKCk7CiAgICAgUmVzb3VyY2VIYW5kbGVD
bGllbnQqIGNsaWVudCA9IGhhbmRsZS0+Y2xpZW50KCk7CiAKKyAgICBkLT5tX3Jlc3BvbnNlLnJl
c291cmNlTG9hZFRpbWluZygpLT5yZWNlaXZlSGVhZGVyc0VuZCA9IHRvSW50ZWdlck1pbGxpc2Vj
b25kcyhjdXJyZW50VGltZSgpIC0gZC0+bV9yZXNwb25zZS5yZXNvdXJjZUxvYWRUaW1pbmcoKS0+
cmVxdWVzdFRpbWUpOworCiAgICAgaWYgKGQtPm1fZ290Q2h1bmtIYW5kbGVyKSB7CiAgICAgICAg
IC8vIE5vIG5lZWQgdG8gY2FsbCBnb3RDaHVua0hhbmRsZXIgYW55bW9yZS4gUmVjZWl2ZWQgZGF0
YSB3aWxsCiAgICAgICAgIC8vIGJlIHJlcG9ydGVkIGJ5IHJlYWRDYWxsYmFjawpAQCAtNjA0LDYg
KzYxNiw4IEBAIHN0YXRpYyBib29sIHN0YXJ0SFRUUFJlcXVlc3QoUmVzb3VyY2VIYW5kbGUqIGhh
bmRsZSkKICAgICAvLyBiYWxhbmNlZCBieSBhIGRlcmVmKCkgaW4gY2xlYW51cFNvdXBSZXF1ZXN0
T3BlcmF0aW9uLCB3aGljaCBzaG91bGQgYWx3YXlzIHJ1bgogICAgIGhhbmRsZS0+cmVmKCk7CiAK
KyAgICBkLT5tX3Jlc3BvbnNlLnJlc291cmNlTG9hZFRpbWluZygpLT5zZW5kU3RhcnQgPSB0b0lu
dGVnZXJNaWxsaXNlY29uZHMoY3VycmVudFRpbWUoKSAtIGQtPm1fcmVzcG9uc2UucmVzb3VyY2VM
b2FkVGltaW5nKCktPnJlcXVlc3RUaW1lKTsKKwogICAgIC8vIE1ha2Ugc3VyZSB3ZSBoYXZlIGFu
IEFjY2VwdCBoZWFkZXIgZm9yIHN1YnJlc291cmNlczsgc29tZSBzaXRlcwogICAgIC8vIHdhbnQg
dGhpcyB0byBzZXJ2ZSBzb21lIG9mIHRoZWlyIHN1YnJlc291cmNlcwogICAgIGlmICghc291cF9t
ZXNzYWdlX2hlYWRlcnNfZ2V0X29uZShzb3VwTWVzc2FnZS0+cmVxdWVzdF9oZWFkZXJzLCAiQWNj
ZXB0IikpCkBAIC02NDYsNiArNjYwLDkgQEAgYm9vbCBSZXNvdXJjZUhhbmRsZTo6c3RhcnQoTmV0
d29ya2luZ0NvbnRleHQqIGNvbnRleHQpCiAgICAgLy8gVXNlZCB0byBzZXQgdGhlIGF1dGhlbnRp
Y2F0aW9uIGRpYWxvZyB0b3BsZXZlbDsgbWF5IGJlIE5VTEwKICAgICBkLT5tX2NvbnRleHQgPSBj
b250ZXh0OwogCisgICAgZC0+bV9yZXNwb25zZS5zZXRSZXNvdXJjZUxvYWRUaW1pbmcoUmVzb3Vy
Y2VMb2FkVGltaW5nOjpjcmVhdGUoKSk7CisgICAgZC0+bV9yZXNwb25zZS5yZXNvdXJjZUxvYWRU
aW1pbmcoKS0+cmVxdWVzdFRpbWUgPSBjdXJyZW50VGltZSgpOworCiAgICAgaWYgKGVxdWFsSWdu
b3JpbmdDYXNlKHByb3RvY29sLCAiaHR0cCIpIHx8IGVxdWFsSWdub3JpbmdDYXNlKHByb3RvY29s
LCAiaHR0cHMiKSkgewogICAgICAgICBpZiAoc3RhcnRIVFRQUmVxdWVzdCh0aGlzKSkKICAgICAg
ICAgICAgIHJldHVybiB0cnVlOwpAQCAtODMyLDYgKzg0OSw4IEBAIHN0YXRpYyBib29sIHN0YXJ0
Tm9uSFRUUFJlcXVlc3QoUmVzb3VyY2VIYW5kbGUqIGhhbmRsZSwgS1VSTCB1cmwpCiAgICAgLy8g
YmFsYW5jZWQgYnkgYSBkZXJlZigpIGluIGNsZWFudXBTb3VwUmVxdWVzdE9wZXJhdGlvbiwgd2hp
Y2ggc2hvdWxkIGFsd2F5cyBydW4KICAgICBoYW5kbGUtPnJlZigpOwogCisgICAgZC0+bV9yZXNw
b25zZS5yZXNvdXJjZUxvYWRUaW1pbmcoKS0+c2VuZFN0YXJ0ID0gdG9JbnRlZ2VyTWlsbGlzZWNv
bmRzKGN1cnJlbnRUaW1lKCkgLSBkLT5tX3Jlc3BvbnNlLnJlc291cmNlTG9hZFRpbWluZygpLT5y
ZXF1ZXN0VGltZSk7CisKICAgICBkLT5tX2NhbmNlbGxhYmxlID0gYWRvcHRHUmVmKGdfY2FuY2Vs
bGFibGVfbmV3KCkpOwogICAgIHNvdXBfcmVxdWVzdF9zZW5kX2FzeW5jKGQtPm1fc291cFJlcXVl
c3QuZ2V0KCksIGQtPm1fY2FuY2VsbGFibGUuZ2V0KCksIHNlbmRSZXF1ZXN0Q2FsbGJhY2ssIDAp
OwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>84869</attachid>
            <date>2011-03-05 09:35:20 -0800</date>
            <delta_ts>2011-05-15 09:01:27 -0700</delta_ts>
            <desc>Patch 1: Implementation</desc>
            <filename>nt1.p</filename>
            <type>text/plain</type>
            <size>6967</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA0MzcwNWJhLi5hZDhkYjkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzEg
QEAKKzIwMTEtMDMtMDUgIFphbiBEb2JlcnNlayAgPHphbmRvYmVyc2VrQGdtYWlsLmNvbT4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFbmFibGUgV2Vi
IFRpbWluZyBmb3IgR1RLCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD00MjQzMgorCisgICAgICAgIEltcGxlbWVudCBzdXBwb3J0IGZvciB0aGUgTmF2aWdh
dGlvbiBUaW1pbmcgc3BlY2lmaWNhdGlvbiBmb3IgdGhlIEd0ayBwb3J0LgorICAgICAgICBUaGlz
IGlzIGRvbmUgYnkgYXNzaWduaW5nIGN1cnJlbnQgdGltZSB0byBSZXNvdXJjZUxvYWRUaW1pbmcg
b2JqZWN0J3MgcGFyYW1ldGVycworICAgICAgICBhcyB0aGUgY29ycmVzcG9uZGluZyBldmVudHMg
b2NjdXIgaW4gdGhlIHByb2Nlc3Mgb2YgcmVzb3VyY2UgaGFuZGxpbmcuCisKKyAgICAgICAgQ3Vy
cmVudHkgZG9tYWluIGxvb2t1cCB0aW1lcyBhcmUgbm90IHNldCBhbmQgdGhlIGVuZC1vZi1jb25u
ZWN0IHRpbWUgaXMgc2V0IHdoZW4KKyAgICAgICAgcmVzcG9uc2Ugb2NjdXJzIGJlY2F1c2UgbGli
c291cCBkb2VzIG5vdCB5ZXQgb2ZmZXIgYSBwcm9wZXIgd2F5IHRvIGJlIG5vdGlmZWQgb2YKKyAg
ICAgICAgdGhlc2UgZXZlbnRzLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyBhcyB0aGV5IGFscmVh
ZHkgZXhpc3QuCisKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBwbGF0Zm9y
bS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OmN1cnJlbnRUaW1lTWludXNSZXF1ZXN0VGltZSk6CisgICAgICAgIChXZWJDb3JlOjpjbGVhbnVw
U291cFJlcXVlc3RPcGVyYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6c2VuZFJlcXVlc3RDYWxs
YmFjayk6CisgICAgICAgIChXZWJDb3JlOjpjb25uZWN0aW9uQ3JlYXRlZENhbGxiYWNrKToKKyAg
ICAgICAgKFdlYkNvcmU6OnJlcXVlc3RTdGFydGVkQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29y
ZTo6c3RhcnRIVFRQUmVxdWVzdCk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZTo6
c3RhcnQpOgorICAgICAgICAoV2ViQ29yZTo6c3RhcnROb25IVFRQUmVxdWVzdCk6CisKIDIwMTEt
MDMtMDQgIEFuZHJleSBLb3N5YWtvdiAgPGNhc2VxQGNocm9taXVtLm9yZz4KIAogICAgICAgICBS
ZXZpZXdlZCBieSBQYXZlbCBGZWxkbWFuLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05V
bWFrZWZpbGUuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQppbmRleCBhMDIxODEx
Li5mNTU4NjI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQpAQCAtNDg1NSw2ICs0ODU1LDE0IEBAIHdl
YmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViS2l0TG9z
ZUNvbnRleHQuaAogZW5kaWYgICMgRU5EIEVOQUJMRV9XRUJHTAogCisjIC0tLQorIyBXZWIgVGlt
aW5nIHN1cHBvcnQKKyMgLS0tCitpZiBFTkFCTEVfV0VCX1RJTUlORworRkVBVFVSRV9ERUZJTkVT
ICs9IEVOQUJMRV9XRUJfVElNSU5HPTEKK3dlYmNvcmVfY3BwZmxhZ3MgKz0gLURFTkFCTEVfV0VC
X1RJTUlORz0xCitlbmRpZiAgIyBFTkQgRU5BQkxFX1dFQl9USU1JTkcKKwogRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9DU1NQcm9wZXJ0eU5hbWVzLmNwcDogRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9D
U1NQcm9wZXJ0eU5hbWVzLmgKIERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvQ1NTUHJvcGVydHlOYW1l
cy5oOiAkKFdFQkNPUkVfQ1NTX1BST1BFUlRZX05BTUVTKSAkKFdlYkNvcmUpL2Nzcy9tYWtlcHJv
cC5wbAogCWlmIHNvcnQgJChXRUJDT1JFX0NTU19QUk9QRVJUWV9OQU1FUykgfCB1bmlxIC1kIHwg
Z3JlcCAtRSAnXlteI10nOyB0aGVuIGVjaG8gJ0R1cGxpY2F0ZSB2YWx1ZSEnOyBleGl0IDE7IGZp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3Vy
Y2VIYW5kbGVTb3VwLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9S
ZXNvdXJjZUhhbmRsZVNvdXAuY3BwCmluZGV4IGQ0MTBmYTMuLmVhMDVmMWQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhh
bmRsZVNvdXAuY3BwCkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSAiQ2hyb21lQ2xpZW50Lmgi
CiAjaW5jbHVkZSAiQ29va2llSmFyU291cC5oIgogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlTG9h
ZGVyLmgiCisjaW5jbHVkZSAiQ3VycmVudFRpbWUuaCIKICNpbmNsdWRlICJGaWxlU3lzdGVtLmgi
CiAjaW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJHT3duUHRyU291cC5oIgpAQCAtNDMsNiAr
NDQsNyBAQAogI2luY2x1ZGUgIlJlc291cmNlRXJyb3IuaCIKICNpbmNsdWRlICJSZXNvdXJjZUhh
bmRsZUNsaWVudC5oIgogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxlSW50ZXJuYWwuaCIKKyNpbmNs
dWRlICJSZXNvdXJjZUxvYWRUaW1pbmcuaCIKICNpbmNsdWRlICJSZXNvdXJjZVJlc3BvbnNlLmgi
CiAjaW5jbHVkZSAiU2hhcmVkQnVmZmVyLmgiCiAjaW5jbHVkZSAiVGV4dEVuY29kaW5nLmgiCkBA
IC01OCw2ICs2MCw4IEBACiAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CiAjaW5jbHVkZSA8dW5pc3Rk
Lmg+CiAKK3VzaW5nIG5hbWVzcGFjZSBXVEY7CisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogI2Rl
ZmluZSBSRUFEX0JVRkZFUl9TSVpFIDgxOTIKQEAgLTEzMSw2ICsxMzUsMTEgQEAgc3RhdGljIHZv
aWQgcmVhZENhbGxiYWNrKEdPYmplY3QqLCBHQXN5bmNSZXN1bHQqLCBncG9pbnRlcik7CiBzdGF0
aWMgdm9pZCBjbG9zZUNhbGxiYWNrKEdPYmplY3QqLCBHQXN5bmNSZXN1bHQqLCBncG9pbnRlcik7
CiBzdGF0aWMgYm9vbCBzdGFydE5vbkhUVFBSZXF1ZXN0KFJlc291cmNlSGFuZGxlKiwgS1VSTCk7
CiAKK3N0YXRpYyB1bnNpZ25lZCBsb25nIGxvbmcgY3VycmVudFRpbWVNaW51c1JlcXVlc3RUaW1l
KGRvdWJsZSByZXF1ZXN0VGltZSkKK3sKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8dW5zaWduZWQg
bG9uZyBsb25nPigoY3VycmVudFRpbWUoKSAtIHJlcXVlc3RUaW1lKSAqIDEwMDAuMCk7Cit9CisK
IFJlc291cmNlSGFuZGxlSW50ZXJuYWw6On5SZXNvdXJjZUhhbmRsZUludGVybmFsKCkKIHsKICAg
ICBpZiAobV9zb3VwUmVxdWVzdCkKQEAgLTM5OSw2ICs0MDgsOSBAQCBzdGF0aWMgdm9pZCBjbGVh
bnVwU291cFJlcXVlc3RPcGVyYXRpb24oUmVzb3VyY2VIYW5kbGUqIGhhbmRsZSwgYm9vbCBpc0Rl
c3Ryb3lpbgogICAgICAgICBkLT5tX2J1ZmZlciA9IDA7CiAgICAgfQogCisgICAgZ19zaWduYWxf
aGFuZGxlcnNfZGlzY29ubmVjdF9tYXRjaGVkKGhhbmRsZS0+ZGVmYXVsdFNlc3Npb24oKSwgR19T
SUdOQUxfTUFUQ0hfREFUQSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgMCwgMCwgMCwgMCwgaGFuZGxlKTsKKwogICAgIGlmICghaXNEZXN0cm95aW5nKQogICAgICAg
ICBoYW5kbGUtPmRlcmVmKCk7CiB9CkBAIC00MTIsNiArNDI0LDggQEAgc3RhdGljIHZvaWQgc2Vu
ZFJlcXVlc3RDYWxsYmFjayhHT2JqZWN0KiBzb3VyY2UsIEdBc3luY1Jlc3VsdCogcmVzLCBncG9p
bnRlciB1c2UKICAgICBSZXNvdXJjZUhhbmRsZUludGVybmFsKiBkID0gaGFuZGxlLT5nZXRJbnRl
cm5hbCgpOwogICAgIFJlc291cmNlSGFuZGxlQ2xpZW50KiBjbGllbnQgPSBoYW5kbGUtPmNsaWVu
dCgpOwogCisgICAgZC0+bV9yZXNwb25zZS5yZXNvdXJjZUxvYWRUaW1pbmcoKS0+cmVjZWl2ZUhl
YWRlcnNFbmQgPSBjdXJyZW50VGltZU1pbnVzUmVxdWVzdFRpbWUoZC0+bV9yZXNwb25zZS5yZXNv
dXJjZUxvYWRUaW1pbmcoKS0+cmVxdWVzdFRpbWUpOworCiAgICAgaWYgKGQtPm1fZ290Q2h1bmtI
YW5kbGVyKSB7CiAgICAgICAgIC8vIE5vIG5lZWQgdG8gY2FsbCBnb3RDaHVua0hhbmRsZXIgYW55
bW9yZS4gUmVjZWl2ZWQgZGF0YSB3aWxsCiAgICAgICAgIC8vIGJlIHJlcG9ydGVkIGJ5IHJlYWRD
YWxsYmFjawpAQCAtNTQ1LDYgKzU1OSwzMyBAQCBzdGF0aWMgYm9vbCBhZGRGb3JtRWxlbWVudHNU
b1NvdXBNZXNzYWdlKFNvdXBNZXNzYWdlKiBtZXNzYWdlLCBjb25zdCBjaGFyKiBjb250ZQogICAg
IHJldHVybiB0cnVlOwogfQogCitzdGF0aWMgdm9pZCBjb25uZWN0aW9uQ3JlYXRlZENhbGxiYWNr
KFNvdXBTZXNzaW9uKiwgU291cENvbm5lY3Rpb24qIGNvbm5lY3Rpb24sIGdwb2ludGVyIGRhdGEp
Cit7CisgICAgUmVmUHRyPFJlc291cmNlSGFuZGxlPiBoYW5kbGUgPSBzdGF0aWNfY2FzdDxSZXNv
dXJjZUhhbmRsZSo+KGRhdGEpOworICAgIGlmICghaGFuZGxlKQorICAgICAgICByZXR1cm47CisK
KyAgICBSZXNvdXJjZUhhbmRsZUludGVybmFsKiBkID0gaGFuZGxlLT5nZXRJbnRlcm5hbCgpOwor
ICAgIGlmICghZC0+bV9yZXNwb25zZS5yZXNvdXJjZUxvYWRUaW1pbmcoKSkKKyAgICAgICAgcmV0
dXJuOworCisgICAgZC0+bV9yZXNwb25zZS5yZXNvdXJjZUxvYWRUaW1pbmcoKS0+Y29ubmVjdFN0
YXJ0ID0gY3VycmVudFRpbWVNaW51c1JlcXVlc3RUaW1lKGQtPm1fcmVzcG9uc2UucmVzb3VyY2VM
b2FkVGltaW5nKCktPnJlcXVlc3RUaW1lKTsKK30KKworc3RhdGljIHZvaWQgcmVxdWVzdFN0YXJ0
ZWRDYWxsYmFjayhTb3VwU2Vzc2lvbiosIFNvdXBNZXNzYWdlKiwgU291cFNvY2tldCosIGdwb2lu
dGVyIGRhdGEpCit7CisgICAgUmVmUHRyPFJlc291cmNlSGFuZGxlPiBoYW5kbGUgPSBzdGF0aWNf
Y2FzdDxSZXNvdXJjZUhhbmRsZSo+KGRhdGEpOworICAgIGlmICghaGFuZGxlKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBSZXNvdXJjZUhhbmRsZUludGVybmFsKiBkID0gaGFuZGxlLT5nZXRJbnRl
cm5hbCgpOworICAgIGlmICghZC0+bV9yZXNwb25zZS5yZXNvdXJjZUxvYWRUaW1pbmcoKSkKKyAg
ICAgICAgcmV0dXJuOworCisgICAgZC0+bV9yZXNwb25zZS5yZXNvdXJjZUxvYWRUaW1pbmcoKS0+
Y29ubmVjdEVuZCA9IGN1cnJlbnRUaW1lTWludXNSZXF1ZXN0VGltZShkLT5tX3Jlc3BvbnNlLnJl
c291cmNlTG9hZFRpbWluZygpLT5yZXF1ZXN0VGltZSk7CisgICAgZC0+bV9yZXNwb25zZS5yZXNv
dXJjZUxvYWRUaW1pbmcoKS0+c2VuZFN0YXJ0ID0gY3VycmVudFRpbWVNaW51c1JlcXVlc3RUaW1l
KGQtPm1fcmVzcG9uc2UucmVzb3VyY2VMb2FkVGltaW5nKCktPnJlcXVlc3RUaW1lKTsKK30KKwog
c3RhdGljIGJvb2wgc3RhcnRIVFRQUmVxdWVzdChSZXNvdXJjZUhhbmRsZSogaGFuZGxlKQogewog
ICAgIEFTU0VSVChoYW5kbGUpOwpAQCAtNjAyLDYgKzY0Myw5IEBAIHN0YXRpYyBib29sIHN0YXJ0
SFRUUFJlcXVlc3QoUmVzb3VyY2VIYW5kbGUqIGhhbmRsZSkKICAgICAgICAgcmV0dXJuIGZhbHNl
OwogICAgIH0KIAorICAgIGdfc2lnbmFsX2Nvbm5lY3Qoc2Vzc2lvbiwgImNvbm5lY3Rpb24tY3Jl
YXRlZCIsIEdfQ0FMTEJBQ0soY29ubmVjdGlvbkNyZWF0ZWRDYWxsYmFjayksIGhhbmRsZSk7Cisg
ICAgZ19zaWduYWxfY29ubmVjdChzZXNzaW9uLCAicmVxdWVzdC1zdGFydGVkIiwgR19DQUxMQkFD
SyhyZXF1ZXN0U3RhcnRlZENhbGxiYWNrKSwgaGFuZGxlKTsKKwogICAgIC8vIGJhbGFuY2VkIGJ5
IGEgZGVyZWYoKSBpbiBjbGVhbnVwU291cFJlcXVlc3RPcGVyYXRpb24sIHdoaWNoIHNob3VsZCBh
bHdheXMgcnVuCiAgICAgaGFuZGxlLT5yZWYoKTsKIApAQCAtNjQ3LDYgKzY5MSw5IEBAIGJvb2wg
UmVzb3VyY2VIYW5kbGU6OnN0YXJ0KE5ldHdvcmtpbmdDb250ZXh0KiBjb250ZXh0KQogICAgIC8v
IFVzZWQgdG8gc2V0IHRoZSBhdXRoZW50aWNhdGlvbiBkaWFsb2cgdG9wbGV2ZWw7IG1heSBiZSBO
VUxMCiAgICAgZC0+bV9jb250ZXh0ID0gY29udGV4dDsKIAorICAgIGQtPm1fcmVzcG9uc2Uuc2V0
UmVzb3VyY2VMb2FkVGltaW5nKFJlc291cmNlTG9hZFRpbWluZzo6Y3JlYXRlKCkpOworICAgIGQt
Pm1fcmVzcG9uc2UucmVzb3VyY2VMb2FkVGltaW5nKCktPnJlcXVlc3RUaW1lID0gY3VycmVudFRp
bWUoKTsKKwogICAgIGlmIChlcXVhbElnbm9yaW5nQ2FzZShwcm90b2NvbCwgImh0dHAiKSB8fCBl
cXVhbElnbm9yaW5nQ2FzZShwcm90b2NvbCwgImh0dHBzIikpIHsKICAgICAgICAgaWYgKHN0YXJ0
SFRUUFJlcXVlc3QodGhpcykpCiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKQEAgLTgyOSw2ICs4
NzYsOSBAQCBzdGF0aWMgYm9vbCBzdGFydE5vbkhUVFBSZXF1ZXN0KFJlc291cmNlSGFuZGxlKiBo
YW5kbGUsIEtVUkwgdXJsKQogCiAgICAgZ19vYmplY3Rfc2V0X2RhdGEoR19PQkpFQ1QoZC0+bV9z
b3VwUmVxdWVzdC5nZXQoKSksICJ3ZWJraXQtcmVzb3VyY2UiLCBoYW5kbGUpOwogCisgICAgZ19z
aWduYWxfY29ubmVjdChzZXNzaW9uLCAiY29ubmVjdGlvbi1jcmVhdGVkIiwgR19DQUxMQkFDSyhj
b25uZWN0aW9uQ3JlYXRlZENhbGxiYWNrKSwgaGFuZGxlKTsKKyAgICBnX3NpZ25hbF9jb25uZWN0
KHNlc3Npb24sICJyZXF1ZXN0LXN0YXJ0ZWQiLCBHX0NBTExCQUNLKHJlcXVlc3RTdGFydGVkQ2Fs
bGJhY2spLCBoYW5kbGUpOworCiAgICAgLy8gYmFsYW5jZWQgYnkgYSBkZXJlZigpIGluIGNsZWFu
dXBTb3VwUmVxdWVzdE9wZXJhdGlvbiwgd2hpY2ggc2hvdWxkIGFsd2F5cyBydW4KICAgICBoYW5k
bGUtPnJlZigpOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>84870</attachid>
            <date>2011-03-05 09:40:51 -0800</date>
            <delta_ts>2011-05-15 09:01:32 -0700</delta_ts>
            <desc>Patch 2: Enabling the passing tests</desc>
            <filename>nt2.p</filename>
            <type>text/plain</type>
            <size>1651</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA1ZDZjNWVjLi5lZDNmODRmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDMt
MDUgIFphbiBEb2JlcnNlayAgPHphbmRvYmVyc2VrQGdtYWlsLmNvbT4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFbmFibGUgV2ViIFRpbWluZyBmb3Ig
R1RLCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MjQz
MgorCisgICAgICAgIEVuYWJsZSB3ZWIgcGVyZm9ybWFuY2UgdGVzdHMgdGhhdCBzdWNjZWVkIGFm
dGVyIGltcGxlbWVudGluZworICAgICAgICBzdXBwb3J0IGZvciB0aGUgR3RrIHBvcnQuCisKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ndGsvU2tpcHBlZDoKKwogMjAxMS0wMy0wNCAgUGF2ZWwgRmVsZG1h
biAgPHBmZWxkbWFuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBOb3QgcmV2aWV3ZWQ6IGZpeCBp
bnNwZWN0b3IgdGVzdCBmbGFrZS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0
ay9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQKaW5kZXggYTE5MmY0
Zi4uZThiZjQyMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQK
KysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQKQEAgLTI2NiwyMCArMjY2LDE0
IEBAIHN0b3JhZ2UvaW5kZXhlZGRiCiAjIFNwZWVjaCBpbnB1dCBpcyBub3QgeWV0IGVuYWJsZWQu
CiBmYXN0L3NwZWVjaAogCi0jIFdlYiBUaW1pbmcgaXMgbm90IGVuYWJsZWQuCi0jIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MjQzMgorIyBKYXZhU2NyaXB0Q29yZSBk
b2VzIG5vdCBsaW1pdCB0aGUgaGVhcCBzaXplCisjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD01MzU5MgogZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLXBl
cmZvcm1hbmNlLmh0bWwKLWZhc3QvZG9tL25hdmlnYXRpb24tdHlwZS1iYWNrLWZvcndhcmQuaHRt
bAotZmFzdC9kb20vbmF2aWdhdGlvbi10eXBlLW5hdmlnYXRlLmh0bWwKLWZhc3QvZG9tL25hdmln
YXRpb24tdHlwZS1yZWxvYWQuaHRtbAotZmFzdC9kb20vd2VidGltaW5nLmh0bWwKLWZhc3QvZG9t
L3dlYnRpbWluZy1uYXZpZ2F0ZS13aXRoaW4tZG9jdW1lbnQuaHRtbAotZmFzdC9kb20vd2VidGlt
aW5nLWRvY3VtZW50LW9wZW4uaHRtbAorCisjIE5hdmlnYXRpb24gVGltaW5nIGh0dHAgdGVzdHMg
dGhhdCBhcmUgc3RpbGwgZmFpbGluZwogaHR0cC90ZXN0cy9taXNjL3dlYnRpbWluZy1vcmlnaW5z
Lmh0bWwKLWh0dHAvdGVzdHMvbWlzYy93ZWJ0aW1pbmctb25lLXJlZGlyZWN0LnBocAogaHR0cC90
ZXN0cy9taXNjL3dlYnRpbWluZy1zbG93LWxvYWQucGhwCiBodHRwL3Rlc3RzL21pc2Mvd2VidGlt
aW5nLXNzbC5waHAKLWh0dHAvdGVzdHMvbWlzYy93ZWJ0aW1pbmctdHdvLXJlZGlyZWN0cy5waHAK
IAogIyBGaWxlU3lzdGVtIEFQSSBpcyBub3Qgc3VwcG9ydGVkLgogZmFzdC9maWxlc3lzdGVtCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>93584</attachid>
            <date>2011-05-15 09:01:43 -0700</date>
            <delta_ts>2011-05-29 04:31:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-42432-20110515180141.patch</filename>
            <type>text/plain</type>
            <size>8753</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODY1MDUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA5ODAxZDY4NGMxZjg2ZjU1NmVhNjc5
YTBlOTBlNjBhMmU1Y2IxM2NkLi4xM2NlOGVkOWIxZWJjODk5ZThlNzNlMDIxMDkzMzVhN2E5MmYz
MzZkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDUtMTUgIFphbiBEb2JlcnNlayAgPHph
bmRvYmVyc2VrQGdtYWlsLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBFbmFibGUgV2ViIFRpbWluZyBmb3IgR1RLCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MjQzMgorCisgICAgICAgIEVuYWJsZSB3
ZWIgcGVyZm9ybWFuY2UgdGVzdHMgdGhhdCBzdWNjZWVkIGFmdGVyIGltcGxlbWVudGluZworICAg
ICAgICBzdXBwb3J0IGZvciB0aGUgR3RrIHBvcnQuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsv
U2tpcHBlZDoKKwogMjAxMS0wNS0xNSAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBn
bWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjg2NTA0LgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9ndGsvU2tpcHBlZAppbmRleCBiYzg2MTBhY2E2Zjk0YTVlMzMyMmJiOTVjY2U3NzZh
ZDQ0YTUxZTgxLi5kMGM5YWM4Y2IyZWQyNmVmZmI0MDJjYTgxNWM0NGY2OGYzNWExYTMzIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZApAQCAtMjg2LDIwICsyODYsMTQgQEAgZmFzdC9zcGVlY2gK
ICMgTWVkaWEgU3RyZWFtIEFQSSBpcyBub3QgeWV0IGVuYWJsZWQuCiBmYXN0L2RvbS9NZWRpYVN0
cmVhbQogCi0jIFdlYiBUaW1pbmcgaXMgbm90IGVuYWJsZWQuCi0jIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MjQzMgorIyBKYXZhU2NyaXB0Q29yZSBkb2VzIG5vdCBs
aW1pdCB0aGUgaGVhcCBzaXplCisjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD01MzU5MgogZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLXBlcmZvcm1hbmNl
Lmh0bWwKLWZhc3QvZG9tL25hdmlnYXRpb24tdHlwZS1iYWNrLWZvcndhcmQuaHRtbAotZmFzdC9k
b20vbmF2aWdhdGlvbi10eXBlLW5hdmlnYXRlLmh0bWwKLWZhc3QvZG9tL25hdmlnYXRpb24tdHlw
ZS1yZWxvYWQuaHRtbAotZmFzdC9kb20vd2VidGltaW5nLmh0bWwKLWZhc3QvZG9tL3dlYnRpbWlu
Zy1uYXZpZ2F0ZS13aXRoaW4tZG9jdW1lbnQuaHRtbAotZmFzdC9kb20vd2VidGltaW5nLWRvY3Vt
ZW50LW9wZW4uaHRtbAorCisjIE5hdmlnYXRpb24gVGltaW5nIGh0dHAgdGVzdHMgdGhhdCBhcmUg
c3RpbGwgZmFpbGluZwogaHR0cC90ZXN0cy9taXNjL3dlYnRpbWluZy1vcmlnaW5zLmh0bWwKLWh0
dHAvdGVzdHMvbWlzYy93ZWJ0aW1pbmctb25lLXJlZGlyZWN0LnBocAogaHR0cC90ZXN0cy9taXNj
L3dlYnRpbWluZy1zbG93LWxvYWQucGhwCiBodHRwL3Rlc3RzL21pc2Mvd2VidGltaW5nLXNzbC5w
aHAKLWh0dHAvdGVzdHMvbWlzYy93ZWJ0aW1pbmctdHdvLXJlZGlyZWN0cy5waHAKIAogIyBGaWxl
U3lzdGVtIEFQSSBpcyBub3Qgc3VwcG9ydGVkLgogZmFzdC9maWxlc3lzdGVtCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5k
ZXggNjA5OTFlNjA1OGFlNjVkYjE2YmJiNGNkNThlNTRiMDlmM2Q5Mzk3YS4uMTU1OWE2MTgzZjhm
MjZjNjE2NzRmZjE4YjI3ZjA5OTM3Nzg4MzE5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBA
CisyMDExLTA1LTE1ICBaYW4gRG9iZXJzZWsgIDx6YW5kb2JlcnNla0BnbWFpbC5jb20+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRW5hYmxlIFdlYiBU
aW1pbmcgZm9yIEdUSworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NDI0MzIKKworICAgICAgICBJbXBsZW1lbnQgc3VwcG9ydCBmb3IgdGhlIE5hdmlnYXRp
b24gVGltaW5nIHNwZWNpZmljYXRpb24gZm9yIHRoZSBHdGsgcG9ydC4KKyAgICAgICAgVGhpcyBp
cyBkb25lIGJ5IGFzc2lnbmluZyBjdXJyZW50IHRpbWUgdG8gUmVzb3VyY2VMb2FkVGltaW5nIG9i
amVjdCdzIHBhcmFtZXRlcnMKKyAgICAgICAgYXMgdGhlIGNvcnJlc3BvbmRpbmcgZXZlbnRzIG9j
Y3VyIGluIHRoZSBwcm9jZXNzIG9mIHJlc291cmNlIGhhbmRsaW5nLgorCisgICAgICAgIEN1cnJl
bnR5IGRvbWFpbiBsb29rdXAgdGltZXMgYXJlIG5vdCBzZXQgYW5kIHRoZSBlbmQtb2YtY29ubmVj
dCB0aW1lIGlzIHNldCB3aGVuCisgICAgICAgIHJlc3BvbnNlIG9jY3VycyBiZWNhdXNlIGxpYnNv
dXAgZG9lcyBub3QgeWV0IG9mZmVyIGEgcHJvcGVyIHdheSB0byBiZSBub3RpZmVkIG9mCisgICAg
ICAgIHRoZXNlIGV2ZW50cy4KKworICAgICAgICBObyBuZXcgdGVzdHMgYXMgdGhleSBhbHJlYWR5
IGV4aXN0LgorCisgICAgICAgICogR05VbWFrZWZpbGUuYW06CisgICAgICAgICogcGxhdGZvcm0v
bmV0d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpj
dXJyZW50VGltZU1pbnVzUmVxdWVzdFRpbWUpOgorICAgICAgICAoV2ViQ29yZTo6Y2xlYW51cFNv
dXBSZXF1ZXN0T3BlcmF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OnNlbmRSZXF1ZXN0Q2FsbGJh
Y2spOgorICAgICAgICAoV2ViQ29yZTo6Y29ubmVjdGlvbkNyZWF0ZWRDYWxsYmFjayk6CisgICAg
ICAgIChXZWJDb3JlOjpyZXF1ZXN0U3RhcnRlZENhbGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6
OnN0YXJ0SFRUUFJlcXVlc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGU6OnN0
YXJ0KToKKyAgICAgICAgKFdlYkNvcmU6OnN0YXJ0Tm9uSFRUUFJlcXVlc3QpOgorCiAyMDExLTA1
LTE1ICBBcm5vIFJlbmV2aWVyICA8YXJub0ByZW5ldmllci5uZXQ+CiAKICAgICAgICAgUmV2aWV3
ZWQgYnkgRGFyaW4gQWRsZXIuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmls
ZS5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCmluZGV4IDczMTZlMzRhOWEzOGMz
NGUyZTdiMWQ3ZWZlMTE4ZTY4ODkyOWM5YmUuLjc4ODIxMzRiOTJjYjFhNmU5YWVmZGEzYzhiMTI4
YWQ1MWZmZThjYmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCisr
KyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCkBAIC01NTQsNiArNTU0LDE0IEBAIHdl
YmNvcmVfY3BwZmxhZ3MgKz0gLURFTkFCTEVfV0VCR0w9MQogZW5kaWYgICMgRU5EIEVOQUJMRV9X
RUJHTAogCiAKKyMgLS0tCisjIFdlYiBUaW1pbmcgc3VwcG9ydAorIyAtLS0KK2lmIEVOQUJMRV9X
RUJfVElNSU5HCitGRUFUVVJFX0RFRklORVMgKz0gRU5BQkxFX1dFQl9USU1JTkc9MQord2ViY29y
ZV9jcHBmbGFncyArPSAtREVOQUJMRV9XRUJfVElNSU5HPTEKK2VuZGlmICAjIEVORCBFTkFCTEVf
V0VCX1RJTUlORworCiBEZXJpdmVkU291cmNlcy9XZWJDb3JlL0NTU1Byb3BlcnR5TmFtZXMuY3Bw
OiBEZXJpdmVkU291cmNlcy9XZWJDb3JlL0NTU1Byb3BlcnR5TmFtZXMuaAogRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9DU1NQcm9wZXJ0eU5hbWVzLmg6ICQoV0VCQ09SRV9DU1NfUFJPUEVSVFlfTkFN
RVMpICQoV2ViQ29yZSkvY3NzL21ha2Vwcm9wLnBsCiAJaWYgc29ydCAkKFdFQkNPUkVfQ1NTX1BS
T1BFUlRZX05BTUVTKSB8IHVuaXEgLWQgfCBncmVwIC1FICdeW14jXSc7IHRoZW4gZWNobyAnRHVw
bGljYXRlIHZhbHVlISc7IGV4aXQgMTsgZmkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHAKaW5kZXggYzg5
N2Q1MDUzMzMyNzEyOTVmYmE2OTQ5MWRhMjNkZDFlOWRkNTNmZS4uZjJmZmRkYjRhNzY3ZGVjM2Yx
NjVmODIzN2U5YmM0MTMxNmM2NDE3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHAKQEAgLTMyLDYg
KzMyLDcgQEAKICNpbmNsdWRlICJDaHJvbWVDbGllbnQuaCIKICNpbmNsdWRlICJDb29raWVKYXJT
b3VwLmgiCiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaCIKKyNpbmNsdWRlICJDdXJy
ZW50VGltZS5oIgogI2luY2x1ZGUgIkZpbGVTeXN0ZW0uaCIKICNpbmNsdWRlICJGcmFtZS5oIgog
I2luY2x1ZGUgIkdPd25QdHJTb3VwLmgiCkBAIC00Myw2ICs0NCw3IEBACiAjaW5jbHVkZSAiUmVz
b3VyY2VFcnJvci5oIgogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxlQ2xpZW50LmgiCiAjaW5jbHVk
ZSAiUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oIgorI2luY2x1ZGUgIlJlc291cmNlTG9hZFRpbWlu
Zy5oIgogI2luY2x1ZGUgIlJlc291cmNlUmVzcG9uc2UuaCIKICNpbmNsdWRlICJTaGFyZWRCdWZm
ZXIuaCIKICNpbmNsdWRlICJUZXh0RW5jb2RpbmcuaCIKQEAgLTEzMSw2ICsxMzMsMTEgQEAgc3Rh
dGljIHZvaWQgcmVhZENhbGxiYWNrKEdPYmplY3QqLCBHQXN5bmNSZXN1bHQqLCBncG9pbnRlcik7
CiBzdGF0aWMgdm9pZCBjbG9zZUNhbGxiYWNrKEdPYmplY3QqLCBHQXN5bmNSZXN1bHQqLCBncG9p
bnRlcik7CiBzdGF0aWMgYm9vbCBzdGFydE5vbkhUVFBSZXF1ZXN0KFJlc291cmNlSGFuZGxlKiwg
S1VSTCk7CiAKK3N0YXRpYyB1bnNpZ25lZCBsb25nIGxvbmcgY3VycmVudFRpbWVNaW51c1JlcXVl
c3RUaW1lKGRvdWJsZSByZXF1ZXN0VGltZSkKK3sKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8dW5z
aWduZWQgbG9uZyBsb25nPigoY3VycmVudFRpbWUoKSAtIHJlcXVlc3RUaW1lKSAqIDEwMDAuMCk7
Cit9CisKIFJlc291cmNlSGFuZGxlSW50ZXJuYWw6On5SZXNvdXJjZUhhbmRsZUludGVybmFsKCkK
IHsKICAgICBpZiAobV9zb3VwUmVxdWVzdCkKQEAgLTM5OSw2ICs0MDYsOSBAQCBzdGF0aWMgdm9p
ZCBjbGVhbnVwU291cFJlcXVlc3RPcGVyYXRpb24oUmVzb3VyY2VIYW5kbGUqIGhhbmRsZSwgYm9v
bCBpc0Rlc3Ryb3lpbgogICAgICAgICBkLT5tX2J1ZmZlciA9IDA7CiAgICAgfQogCisgICAgZ19z
aWduYWxfaGFuZGxlcnNfZGlzY29ubmVjdF9tYXRjaGVkKGhhbmRsZS0+ZGVmYXVsdFNlc3Npb24o
KSwgR19TSUdOQUxfTUFUQ0hfREFUQSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgMCwgMCwgMCwgMCwgaGFuZGxlKTsKKwogICAgIGlmICghaXNEZXN0cm95aW5nKQog
ICAgICAgICBoYW5kbGUtPmRlcmVmKCk7CiB9CkBAIC00MzgsNiArNDQ4LDggQEAgc3RhdGljIHZv
aWQgc2VuZFJlcXVlc3RDYWxsYmFjayhHT2JqZWN0KiBzb3VyY2UsIEdBc3luY1Jlc3VsdCogcmVz
LCBncG9pbnRlciB1c2UKICAgICBSZXNvdXJjZUhhbmRsZUludGVybmFsKiBkID0gaGFuZGxlLT5n
ZXRJbnRlcm5hbCgpOwogICAgIFJlc291cmNlSGFuZGxlQ2xpZW50KiBjbGllbnQgPSBoYW5kbGUt
PmNsaWVudCgpOwogCisgICAgZC0+bV9yZXNwb25zZS5yZXNvdXJjZUxvYWRUaW1pbmcoKS0+cmVj
ZWl2ZUhlYWRlcnNFbmQgPSBjdXJyZW50VGltZU1pbnVzUmVxdWVzdFRpbWUoZC0+bV9yZXNwb25z
ZS5yZXNvdXJjZUxvYWRUaW1pbmcoKS0+cmVxdWVzdFRpbWUpOworCiAgICAgaWYgKGQtPm1fZ290
Q2h1bmtIYW5kbGVyKSB7CiAgICAgICAgIC8vIE5vIG5lZWQgdG8gY2FsbCBnb3RDaHVua0hhbmRs
ZXIgYW55bW9yZS4gUmVjZWl2ZWQgZGF0YSB3aWxsCiAgICAgICAgIC8vIGJlIHJlcG9ydGVkIGJ5
IHJlYWRDYWxsYmFjawpAQCAtNTYxLDYgKzU3MywzNiBAQCBzdGF0aWMgYm9vbCBhZGRGb3JtRWxl
bWVudHNUb1NvdXBNZXNzYWdlKFNvdXBNZXNzYWdlKiBtZXNzYWdlLCBjb25zdCBjaGFyKiBjb250
ZQogICAgIHJldHVybiB0cnVlOwogfQogCitzdGF0aWMgdm9pZCBjb25uZWN0aW9uQ3JlYXRlZENh
bGxiYWNrKFNvdXBTZXNzaW9uKiwgU291cENvbm5lY3Rpb24qIGNvbm5lY3Rpb24sIGdwb2ludGVy
IGRhdGEpCit7CisgICAgUmVmUHRyPFJlc291cmNlSGFuZGxlPiBoYW5kbGUgPSBzdGF0aWNfY2Fz
dDxSZXNvdXJjZUhhbmRsZSo+KGRhdGEpOworICAgIGlmICghaGFuZGxlKQorICAgICAgICByZXR1
cm47CisKKyAgICBSZXNvdXJjZUhhbmRsZUludGVybmFsKiBkID0gaGFuZGxlLT5nZXRJbnRlcm5h
bCgpOworICAgIGlmICghZC0+bV9yZXNwb25zZS5yZXNvdXJjZUxvYWRUaW1pbmcoKSkKKyAgICAg
ICAgcmV0dXJuOworCisgICAgZC0+bV9yZXNwb25zZS5yZXNvdXJjZUxvYWRUaW1pbmcoKS0+Y29u
bmVjdFN0YXJ0ID0gY3VycmVudFRpbWVNaW51c1JlcXVlc3RUaW1lKGQtPm1fcmVzcG9uc2UucmVz
b3VyY2VMb2FkVGltaW5nKCktPnJlcXVlc3RUaW1lKTsKK30KKworc3RhdGljIHZvaWQgcmVxdWVz
dFN0YXJ0ZWRDYWxsYmFjayhTb3VwU2Vzc2lvbiosIFNvdXBNZXNzYWdlKiBtc2csIFNvdXBTb2Nr
ZXQqLCBncG9pbnRlciBkYXRhKQoreworICAgIFJlZlB0cjxSZXNvdXJjZUhhbmRsZT4gaGFuZGxl
ID0gc3RhdGljX2Nhc3Q8UmVzb3VyY2VIYW5kbGUqPihkYXRhKTsKKyAgICBpZiAoIWhhbmRsZSkK
KyAgICAgICAgcmV0dXJuOworCisgICAgUmVzb3VyY2VIYW5kbGVJbnRlcm5hbCogZCA9IGhhbmRs
ZS0+Z2V0SW50ZXJuYWwoKTsKKyAgICBpZiAoIWQtPm1fcmVzcG9uc2UucmVzb3VyY2VMb2FkVGlt
aW5nKCkpCisgICAgICAgIHJldHVybjsKKworICAgIGlmIChtc2cgIT0gZC0+bV9zb3VwTWVzc2Fn
ZSkKKyAgICAgICAgcmV0dXJuOworCisgICAgZC0+bV9yZXNwb25zZS5yZXNvdXJjZUxvYWRUaW1p
bmcoKS0+Y29ubmVjdEVuZCA9IGN1cnJlbnRUaW1lTWludXNSZXF1ZXN0VGltZShkLT5tX3Jlc3Bv
bnNlLnJlc291cmNlTG9hZFRpbWluZygpLT5yZXF1ZXN0VGltZSk7CisgICAgZC0+bV9yZXNwb25z
ZS5yZXNvdXJjZUxvYWRUaW1pbmcoKS0+c2VuZFN0YXJ0ID0gY3VycmVudFRpbWVNaW51c1JlcXVl
c3RUaW1lKGQtPm1fcmVzcG9uc2UucmVzb3VyY2VMb2FkVGltaW5nKCktPnJlcXVlc3RUaW1lKTsK
K30KKwogc3RhdGljIGJvb2wgc3RhcnRIVFRQUmVxdWVzdChSZXNvdXJjZUhhbmRsZSogaGFuZGxl
KQogewogICAgIEFTU0VSVChoYW5kbGUpOwpAQCAtNjE4LDYgKzY2MCw5IEBAIHN0YXRpYyBib29s
IHN0YXJ0SFRUUFJlcXVlc3QoUmVzb3VyY2VIYW5kbGUqIGhhbmRsZSkKICAgICAgICAgcmV0dXJu
IGZhbHNlOwogICAgIH0KIAorICAgIGdfc2lnbmFsX2Nvbm5lY3Qoc2Vzc2lvbiwgImNvbm5lY3Rp
b24tY3JlYXRlZCIsIEdfQ0FMTEJBQ0soY29ubmVjdGlvbkNyZWF0ZWRDYWxsYmFjayksIGhhbmRs
ZSk7CisgICAgZ19zaWduYWxfY29ubmVjdChzZXNzaW9uLCAicmVxdWVzdC1zdGFydGVkIiwgR19D
QUxMQkFDSyhyZXF1ZXN0U3RhcnRlZENhbGxiYWNrKSwgaGFuZGxlKTsKKwogICAgIC8vIGJhbGFu
Y2VkIGJ5IGEgZGVyZWYoKSBpbiBjbGVhbnVwU291cFJlcXVlc3RPcGVyYXRpb24sIHdoaWNoIHNo
b3VsZCBhbHdheXMgcnVuCiAgICAgaGFuZGxlLT5yZWYoKTsKIApAQCAtNjYzLDYgKzcwOCw5IEBA
IGJvb2wgUmVzb3VyY2VIYW5kbGU6OnN0YXJ0KE5ldHdvcmtpbmdDb250ZXh0KiBjb250ZXh0KQog
ICAgIC8vIFVzZWQgdG8gc2V0IHRoZSBhdXRoZW50aWNhdGlvbiBkaWFsb2cgdG9wbGV2ZWw7IG1h
eSBiZSBOVUxMCiAgICAgZC0+bV9jb250ZXh0ID0gY29udGV4dDsKIAorICAgIGQtPm1fcmVzcG9u
c2Uuc2V0UmVzb3VyY2VMb2FkVGltaW5nKFJlc291cmNlTG9hZFRpbWluZzo6Y3JlYXRlKCkpOwor
ICAgIGQtPm1fcmVzcG9uc2UucmVzb3VyY2VMb2FkVGltaW5nKCktPnJlcXVlc3RUaW1lID0gY3Vy
cmVudFRpbWUoKTsKKwogICAgIGlmIChlcXVhbElnbm9yaW5nQ2FzZShwcm90b2NvbCwgImh0dHAi
KSB8fCBlcXVhbElnbm9yaW5nQ2FzZShwcm90b2NvbCwgImh0dHBzIikpIHsKICAgICAgICAgaWYg
KHN0YXJ0SFRUUFJlcXVlc3QodGhpcykpCiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKQEAgLTgz
OCw2ICs4ODYsOCBAQCBzdGF0aWMgYm9vbCBzdGFydE5vbkhUVFBSZXF1ZXN0KFJlc291cmNlSGFu
ZGxlKiBoYW5kbGUsIEtVUkwgdXJsKQogCiAgICAgZ19vYmplY3Rfc2V0X2RhdGEoR19PQkpFQ1Qo
ZC0+bV9zb3VwUmVxdWVzdC5nZXQoKSksICJ3ZWJraXQtcmVzb3VyY2UiLCBoYW5kbGUpOwogCisg
ICAgZ19zaWduYWxfY29ubmVjdChzZXNzaW9uLCAicmVxdWVzdC1zdGFydGVkIiwgR19DQUxMQkFD
SyhyZXF1ZXN0U3RhcnRlZENhbGxiYWNrKSwgaGFuZGxlKTsKKwogICAgIC8vIGJhbGFuY2VkIGJ5
IGEgZGVyZWYoKSBpbiBjbGVhbnVwU291cFJlcXVlc3RPcGVyYXRpb24sIHdoaWNoIHNob3VsZCBh
bHdheXMgcnVuCiAgICAgaGFuZGxlLT5yZWYoKTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>95285</attachid>
            <date>2011-05-29 04:31:31 -0700</date>
            <delta_ts>2011-06-21 04:32:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-42432-20110529133129.patch</filename>
            <type>text/plain</type>
            <size>9057</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODc2MzUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA2YzA1MWE4ZWJhOWZlNzFlYTgzOWI1
Yzc0MTg0NzllNmIxMmZmYmQ4Li5mZDRjMWEwY2JkN2JmZDMzY2E5NTVmNzdkZWM5MzRjOTFkMzI0
NGI5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDUtMjkgIFphbiBEb2JlcnNlayAgPHph
bmRvYmVyc2VrQGdtYWlsLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBFbmFibGUgV2ViIFRpbWluZyBmb3IgR1RLCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MjQzMgorCisgICAgICAgIEVuYWJsZSB3
ZWIgcGVyZm9ybWFuY2UgdGVzdHMgdGhhdCBzdWNjZWVkIGFmdGVyIGltcGxlbWVudGluZworICAg
ICAgICBzdXBwb3J0IGZvciB0aGUgR3RrIHBvcnQuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsv
U2tpcHBlZDoKKwogMjAxMS0wNS0yOCAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFwcGxlLmNv
bT4KIAogICAgICAgICBSZXZpZXdlZCBieSBHZW9mZiBHYXJlbi4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Nr
aXBwZWQKaW5kZXggNTFjNjVjMjc1OTMzMDc3OThlZTg0MjYxODA1YTIyZWYzNGUzNjlhZC4uMzBi
ZmEyY2UxMzhhZmQ1MmNkMDY0YzlkMmFjNDY5YmZkOTBjMmY0MiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3Rr
L1NraXBwZWQKQEAgLTI5NCwyMCArMjk0LDIwIEBAIGZhc3Qvc3BlZWNoCiAjIE1lZGlhIFN0cmVh
bSBBUEkgaXMgbm90IHlldCBlbmFibGVkLgogZmFzdC9kb20vTWVkaWFTdHJlYW0KIAotIyBXZWIg
VGltaW5nIGlzIG5vdCBlbmFibGVkLgotIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NDI0MzIKKyMgSmF2YVNjcmlwdENvcmUgZG9lcyBub3QgbGltaXQgdGhlIGhlYXAg
c2l6ZQorIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTM1OTIKIGZh
c3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy1wZXJmb3JtYW5jZS5odG1sCi1mYXN0L2Rv
bS9uYXZpZ2F0aW9uLXR5cGUtYmFjay1mb3J3YXJkLmh0bWwKLWZhc3QvZG9tL25hdmlnYXRpb24t
dHlwZS1uYXZpZ2F0ZS5odG1sCi1mYXN0L2RvbS9uYXZpZ2F0aW9uLXR5cGUtcmVsb2FkLmh0bWwK
LWZhc3QvZG9tL3dlYnRpbWluZy5odG1sCi1mYXN0L2RvbS93ZWJ0aW1pbmctbmF2aWdhdGUtd2l0
aGluLWRvY3VtZW50Lmh0bWwKLWZhc3QvZG9tL3dlYnRpbWluZy1kb2N1bWVudC1vcGVuLmh0bWwK
KworIyBOYXZpZ2F0aW9uIFRpbWluZyBodHRwIHRlc3RzIHRoYXQgYXJlIHN0aWxsIGZhaWxpbmcK
KyMgUmVkaXJlY3Qgc3RhdHMgYXJlIG5vdCB6ZXJvZWQgb3V0IGFmdGVyIGEgY3Jvc3Mtb3JpZ2lu
IHJlZGlyZWN0LAorIyBwbHVzIHRoZSB0aGlyZCBpZnJhbWUgZG9lcyBub3QgbG9hZCBhdCBhbGwK
IGh0dHAvdGVzdHMvbWlzYy93ZWJ0aW1pbmctb3JpZ2lucy5odG1sCi1odHRwL3Rlc3RzL21pc2Mv
d2VidGltaW5nLW9uZS1yZWRpcmVjdC5waHAKKyMgVGhlIGxvYWQgaXMgbm90IHNsb3cgZW5vdWdo
IC0gc2xlZXBpbmcgZm9yIHR3byBzZWNvbmRzIGluc3RlYWQKKyMgb2Ygb25lIG1ha2VzIHRoZSB0
ZXN0IHN1Y2NlZWQuCiBodHRwL3Rlc3RzL21pc2Mvd2VidGltaW5nLXNsb3ctbG9hZC5waHAKKyMg
TGlic291cCBkb2VzIG5vdCBwcm92aWRlIGluZm9ybWF0aW9uIHdoZW4gZXhhY3RseQorIyBhIHNl
Y3VyZSBjb25uZWN0aW9uIGlzIGNyZWF0ZWQuCiBodHRwL3Rlc3RzL21pc2Mvd2VidGltaW5nLXNz
bC5waHAKLWh0dHAvdGVzdHMvbWlzYy93ZWJ0aW1pbmctdHdvLXJlZGlyZWN0cy5waHAKIAogIyBG
aWxlU3lzdGVtIEFQSSBpcyBub3Qgc3VwcG9ydGVkLgogZmFzdC9maWxlc3lzdGVtCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
aW5kZXggMmE0NzNlOGJhNmM4NDE4ZTU1NDMwZmQwYTlhZDMzNDdmYzU3YTZmNy4uNzU3NDg5Yjky
MTc0YzllOGQ4MWU4NmQ0ZTE1OTBlMDcwMThiMzY1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMx
IEBACisyMDExLTA1LTI5ICBaYW4gRG9iZXJzZWsgIDx6YW5kb2JlcnNla0BnbWFpbC5jb20+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRW5hYmxlIFdl
YiBUaW1pbmcgZm9yIEdUSworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NDI0MzIKKworICAgICAgICBJbXBsZW1lbnQgc3VwcG9ydCBmb3IgdGhlIE5hdmln
YXRpb24gVGltaW5nIHNwZWNpZmljYXRpb24gZm9yIHRoZSBHdGsgcG9ydC4KKyAgICAgICAgVGhp
cyBpcyBkb25lIGJ5IGFzc2lnbmluZyBjdXJyZW50IHRpbWUgdG8gUmVzb3VyY2VMb2FkVGltaW5n
IG9iamVjdCdzIHBhcmFtZXRlcnMKKyAgICAgICAgYXMgdGhlIGNvcnJlc3BvbmRpbmcgZXZlbnRz
IG9jY3VyIGluIHRoZSBwcm9jZXNzIG9mIHJlc291cmNlIGhhbmRsaW5nLgorCisgICAgICAgIEN1
cnJlbnR5IGRvbWFpbiBsb29rdXAgdGltZXMgYXJlIG5vdCBzZXQgYW5kIHRoZSBlbmQtb2YtY29u
bmVjdCB0aW1lIGlzIHNldCB3aGVuCisgICAgICAgIHJlc3BvbnNlIG9jY3VycyBiZWNhdXNlIGxp
YnNvdXAgZG9lcyBub3QgeWV0IG9mZmVyIGEgcHJvcGVyIHdheSB0byBiZSBub3RpZmVkIG9mCisg
ICAgICAgIHRoZXNlIGV2ZW50cy4KKworICAgICAgICBObyBuZXcgdGVzdHMgYXMgdGhleSBhbHJl
YWR5IGV4aXN0LgorCisgICAgICAgICogR05VbWFrZWZpbGUuYW06CisgICAgICAgICogcGxhdGZv
cm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpjdXJyZW50VGltZU1pbnVzUmVxdWVzdFRpbWUpOgorICAgICAgICAoV2ViQ29yZTo6Y2xlYW51
cFNvdXBSZXF1ZXN0T3BlcmF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OnNlbmRSZXF1ZXN0Q2Fs
bGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6Y29ubmVjdGlvbkNyZWF0ZWRDYWxsYmFjayk6Cisg
ICAgICAgIChXZWJDb3JlOjpyZXF1ZXN0U3RhcnRlZENhbGxiYWNrKToKKyAgICAgICAgKFdlYkNv
cmU6OnN0YXJ0SFRUUFJlcXVlc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGU6
OnN0YXJ0KToKKyAgICAgICAgKFdlYkNvcmU6OnN0YXJ0Tm9uSFRUUFJlcXVlc3QpOgorCiAyMDEx
LTA1LTI5ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAg
ICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByODc1NjYuCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9HTlVtYWtlZmlsZS5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCmlu
ZGV4IDI4MTZhNGJiNGI0YjFhMDQyMDY5ODAxYjI3NGFiZTNmMmYwYjNkNWYuLjFkYzRkZWZkOTY4
ZGFlMGViMzFjY2VkNjIxOTJkMzc1ZmEyZDhlOWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0dOVW1ha2VmaWxlLmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCkBAIC01
NzQsNiArNTc0LDE0IEBAIHdlYmNvcmVfY3BwZmxhZ3MgKz0gLURFTkFCTEVfTUhUTUw9MQogZW5k
aWYgICMgRU5EIEVOQUJMRV9NSFRNTAogCiAKKyMgLS0tCisjIFdlYiBUaW1pbmcgc3VwcG9ydAor
IyAtLS0KK2lmIEVOQUJMRV9XRUJfVElNSU5HCitGRUFUVVJFX0RFRklORVMgKz0gRU5BQkxFX1dF
Ql9USU1JTkc9MQord2ViY29yZV9jcHBmbGFncyArPSAtREVOQUJMRV9XRUJfVElNSU5HPTEKK2Vu
ZGlmICAjIEVORCBFTkFCTEVfV0VCX1RJTUlORworCiBEZXJpdmVkU291cmNlcy9XZWJDb3JlL0NT
U1Byb3BlcnR5TmFtZXMuY3BwOiBEZXJpdmVkU291cmNlcy9XZWJDb3JlL0NTU1Byb3BlcnR5TmFt
ZXMuaAogRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9DU1NQcm9wZXJ0eU5hbWVzLmg6ICQoV0VCQ09S
RV9DU1NfUFJPUEVSVFlfTkFNRVMpICQoV2ViQ29yZSkvY3NzL21ha2Vwcm9wLnBsCiAJaWYgc29y
dCAkKFdFQkNPUkVfQ1NTX1BST1BFUlRZX05BTUVTKSB8IHVuaXEgLWQgfCBncmVwIC1FICdeW14j
XSc7IHRoZW4gZWNobyAnRHVwbGljYXRlIHZhbHVlISc7IGV4aXQgMTsgZmkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFuZGxl
U291cC5jcHAKaW5kZXggMGM4NTVkNDc1ZDI0MDRjZDY4N2VjN2FjZDMxNGZhYWE5NDlmMTM1YS4u
Nzg3Yjc2Njk1MmNjZjI2NjcwOTE5YzIyNGQ4ZmMyMjg2NzNjZjI0MCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFuZGxl
U291cC5jcHAKQEAgLTU4LDYgKzU4LDExIEBACiAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CiAjaW5j
bHVkZSA8dW5pc3RkLmg+CiAKKyNpZiBFTkFCTEUoV0VCX1RJTUlORykKKyNpbmNsdWRlICJDdXJy
ZW50VGltZS5oIgorI2luY2x1ZGUgIlJlc291cmNlTG9hZFRpbWluZy5oIgorI2VuZGlmCisKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogI2RlZmluZSBSRUFEX0JVRkZFUl9TSVpFIDgxOTIKQEAgLTEz
MSw2ICsxMzYsMTMgQEAgc3RhdGljIHZvaWQgcmVhZENhbGxiYWNrKEdPYmplY3QqLCBHQXN5bmNS
ZXN1bHQqLCBncG9pbnRlcik7CiBzdGF0aWMgdm9pZCBjbG9zZUNhbGxiYWNrKEdPYmplY3QqLCBH
QXN5bmNSZXN1bHQqLCBncG9pbnRlcik7CiBzdGF0aWMgYm9vbCBzdGFydE5vbkhUVFBSZXF1ZXN0
KFJlc291cmNlSGFuZGxlKiwgS1VSTCk7CiAKKyNpZiBFTkFCTEUoV0VCX1RJTUlORykKK3N0YXRp
YyB1bnNpZ25lZCBsb25nIGxvbmcgY3VycmVudFRpbWVNaW51c1JlcXVlc3RUaW1lKGRvdWJsZSBy
ZXF1ZXN0VGltZSkKK3sKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8dW5zaWduZWQgbG9uZyBsb25n
PigoY3VycmVudFRpbWUoKSAtIHJlcXVlc3RUaW1lKSAqIDEwMDAuMCk7Cit9CisjZW5kaWYKKwog
UmVzb3VyY2VIYW5kbGVJbnRlcm5hbDo6flJlc291cmNlSGFuZGxlSW50ZXJuYWwoKQogewogICAg
IGlmIChtX3NvdXBSZXF1ZXN0KQpAQCAtMzk5LDYgKzQxMSwxMSBAQCBzdGF0aWMgdm9pZCBjbGVh
bnVwU291cFJlcXVlc3RPcGVyYXRpb24oUmVzb3VyY2VIYW5kbGUqIGhhbmRsZSwgYm9vbCBpc0Rl
c3Ryb3lpbgogICAgICAgICBkLT5tX2J1ZmZlciA9IDA7CiAgICAgfQogCisjaWYgRU5BQkxFKFdF
Ql9USU1JTkcpCisgICAgZ19zaWduYWxfaGFuZGxlcnNfZGlzY29ubmVjdF9tYXRjaGVkKGhhbmRs
ZS0+ZGVmYXVsdFNlc3Npb24oKSwgR19TSUdOQUxfTUFUQ0hfREFUQSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwgMCwgMCwgMCwgaGFuZGxlKTsKKyNlbmRpZgor
CiAgICAgaWYgKCFpc0Rlc3Ryb3lpbmcpCiAgICAgICAgIGhhbmRsZS0+ZGVyZWYoKTsKIH0KQEAg
LTQzOCw2ICs0NTUsMTAgQEAgc3RhdGljIHZvaWQgc2VuZFJlcXVlc3RDYWxsYmFjayhHT2JqZWN0
KiBzb3VyY2UsIEdBc3luY1Jlc3VsdCogcmVzLCBncG9pbnRlciB1c2UKICAgICBSZXNvdXJjZUhh
bmRsZUludGVybmFsKiBkID0gaGFuZGxlLT5nZXRJbnRlcm5hbCgpOwogICAgIFJlc291cmNlSGFu
ZGxlQ2xpZW50KiBjbGllbnQgPSBoYW5kbGUtPmNsaWVudCgpOwogCisjaWYgRU5BQkxFKFdFQl9U
SU1JTkcpCisgICAgZC0+bV9yZXNwb25zZS5yZXNvdXJjZUxvYWRUaW1pbmcoKS0+cmVjZWl2ZUhl
YWRlcnNFbmQgPSBjdXJyZW50VGltZU1pbnVzUmVxdWVzdFRpbWUoZC0+bV9yZXNwb25zZS5yZXNv
dXJjZUxvYWRUaW1pbmcoKS0+cmVxdWVzdFRpbWUpOworI2VuZGlmCisKICAgICBpZiAoZC0+bV9n
b3RDaHVua0hhbmRsZXIpIHsKICAgICAgICAgLy8gTm8gbmVlZCB0byBjYWxsIGdvdENodW5rSGFu
ZGxlciBhbnltb3JlLiBSZWNlaXZlZCBkYXRhIHdpbGwKICAgICAgICAgLy8gYmUgcmVwb3J0ZWQg
YnkgcmVhZENhbGxiYWNrCkBAIC01NjEsNiArNTgyLDM4IEBAIHN0YXRpYyBib29sIGFkZEZvcm1F
bGVtZW50c1RvU291cE1lc3NhZ2UoU291cE1lc3NhZ2UqIG1lc3NhZ2UsIGNvbnN0IGNoYXIqIGNv
bnRlCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKKyNpZiBFTkFCTEUoV0VCX1RJTUlORykKK3N0YXRp
YyB2b2lkIGNvbm5lY3Rpb25DcmVhdGVkQ2FsbGJhY2soU291cFNlc3Npb24qLCBTb3VwQ29ubmVj
dGlvbiogY29ubmVjdGlvbiwgZ3BvaW50ZXIgZGF0YSkKK3sKKyAgICBSZWZQdHI8UmVzb3VyY2VI
YW5kbGU+IGhhbmRsZSA9IHN0YXRpY19jYXN0PFJlc291cmNlSGFuZGxlKj4oZGF0YSk7CisgICAg
aWYgKCFoYW5kbGUpCisgICAgICAgIHJldHVybjsKKworICAgIFJlc291cmNlSGFuZGxlSW50ZXJu
YWwqIGQgPSBoYW5kbGUtPmdldEludGVybmFsKCk7CisgICAgaWYgKCFkLT5tX3Jlc3BvbnNlLnJl
c291cmNlTG9hZFRpbWluZygpKQorICAgICAgICByZXR1cm47CisKKyAgICBkLT5tX3Jlc3BvbnNl
LnJlc291cmNlTG9hZFRpbWluZygpLT5jb25uZWN0U3RhcnQgPSBjdXJyZW50VGltZU1pbnVzUmVx
dWVzdFRpbWUoZC0+bV9yZXNwb25zZS5yZXNvdXJjZUxvYWRUaW1pbmcoKS0+cmVxdWVzdFRpbWUp
OworfQorCitzdGF0aWMgdm9pZCByZXF1ZXN0U3RhcnRlZENhbGxiYWNrKFNvdXBTZXNzaW9uKiwg
U291cE1lc3NhZ2UqIG1zZywgU291cFNvY2tldCosIGdwb2ludGVyIGRhdGEpCit7CisgICAgUmVm
UHRyPFJlc291cmNlSGFuZGxlPiBoYW5kbGUgPSBzdGF0aWNfY2FzdDxSZXNvdXJjZUhhbmRsZSo+
KGRhdGEpOworICAgIGlmICghaGFuZGxlKQorICAgICAgICByZXR1cm47CisKKyAgICBSZXNvdXJj
ZUhhbmRsZUludGVybmFsKiBkID0gaGFuZGxlLT5nZXRJbnRlcm5hbCgpOworICAgIGlmICghZC0+
bV9yZXNwb25zZS5yZXNvdXJjZUxvYWRUaW1pbmcoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAg
aWYgKG1zZyAhPSBkLT5tX3NvdXBNZXNzYWdlKQorICAgICAgICByZXR1cm47CisKKyAgICBkLT5t
X3Jlc3BvbnNlLnJlc291cmNlTG9hZFRpbWluZygpLT5jb25uZWN0RW5kID0gY3VycmVudFRpbWVN
aW51c1JlcXVlc3RUaW1lKGQtPm1fcmVzcG9uc2UucmVzb3VyY2VMb2FkVGltaW5nKCktPnJlcXVl
c3RUaW1lKTsKKyAgICBkLT5tX3Jlc3BvbnNlLnJlc291cmNlTG9hZFRpbWluZygpLT5zZW5kU3Rh
cnQgPSBjdXJyZW50VGltZU1pbnVzUmVxdWVzdFRpbWUoZC0+bV9yZXNwb25zZS5yZXNvdXJjZUxv
YWRUaW1pbmcoKS0+cmVxdWVzdFRpbWUpOworfQorI2VuZGlmCisKIHN0YXRpYyBib29sIHN0YXJ0
SFRUUFJlcXVlc3QoUmVzb3VyY2VIYW5kbGUqIGhhbmRsZSkKIHsKICAgICBBU1NFUlQoaGFuZGxl
KTsKQEAgLTYxOCw2ICs2NzEsMTEgQEAgc3RhdGljIGJvb2wgc3RhcnRIVFRQUmVxdWVzdChSZXNv
dXJjZUhhbmRsZSogaGFuZGxlKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogCisjaWYg
RU5BQkxFKFdFQl9USU1JTkcpCisgICAgZ19zaWduYWxfY29ubmVjdChzZXNzaW9uLCAiY29ubmVj
dGlvbi1jcmVhdGVkIiwgR19DQUxMQkFDSyhjb25uZWN0aW9uQ3JlYXRlZENhbGxiYWNrKSwgaGFu
ZGxlKTsKKyAgICBnX3NpZ25hbF9jb25uZWN0KHNlc3Npb24sICJyZXF1ZXN0LXN0YXJ0ZWQiLCBH
X0NBTExCQUNLKHJlcXVlc3RTdGFydGVkQ2FsbGJhY2spLCBoYW5kbGUpOworI2VuZGlmCisKICAg
ICAvLyBiYWxhbmNlZCBieSBhIGRlcmVmKCkgaW4gY2xlYW51cFNvdXBSZXF1ZXN0T3BlcmF0aW9u
LCB3aGljaCBzaG91bGQgYWx3YXlzIHJ1bgogICAgIGhhbmRsZS0+cmVmKCk7CiAKQEAgLTY2Myw2
ICs3MjEsMTEgQEAgYm9vbCBSZXNvdXJjZUhhbmRsZTo6c3RhcnQoTmV0d29ya2luZ0NvbnRleHQq
IGNvbnRleHQpCiAgICAgLy8gVXNlZCB0byBzZXQgdGhlIGF1dGhlbnRpY2F0aW9uIGRpYWxvZyB0
b3BsZXZlbDsgbWF5IGJlIE5VTEwKICAgICBkLT5tX2NvbnRleHQgPSBjb250ZXh0OwogCisjaWYg
RU5BQkxFKFdFQl9USU1JTkcpCisgICAgZC0+bV9yZXNwb25zZS5zZXRSZXNvdXJjZUxvYWRUaW1p
bmcoUmVzb3VyY2VMb2FkVGltaW5nOjpjcmVhdGUoKSk7CisgICAgZC0+bV9yZXNwb25zZS5yZXNv
dXJjZUxvYWRUaW1pbmcoKS0+cmVxdWVzdFRpbWUgPSBjdXJyZW50VGltZSgpOworI2VuZGlmCisK
ICAgICBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UocHJvdG9jb2wsICJodHRwIikgfHwgZXF1YWxJZ25v
cmluZ0Nhc2UocHJvdG9jb2wsICJodHRwcyIpKSB7CiAgICAgICAgIGlmIChzdGFydEhUVFBSZXF1
ZXN0KHRoaXMpKQogICAgICAgICAgICAgcmV0dXJuIHRydWU7CkBAIC04MzgsNiArOTAxLDEwIEBA
IHN0YXRpYyBib29sIHN0YXJ0Tm9uSFRUUFJlcXVlc3QoUmVzb3VyY2VIYW5kbGUqIGhhbmRsZSwg
S1VSTCB1cmwpCiAKICAgICBnX29iamVjdF9zZXRfZGF0YShHX09CSkVDVChkLT5tX3NvdXBSZXF1
ZXN0LmdldCgpKSwgIndlYmtpdC1yZXNvdXJjZSIsIGhhbmRsZSk7CiAKKyNpZiBFTkFCTEUoV0VC
X1RJTUlORykKKyAgICBnX3NpZ25hbF9jb25uZWN0KHNlc3Npb24sICJyZXF1ZXN0LXN0YXJ0ZWQi
LCBHX0NBTExCQUNLKHJlcXVlc3RTdGFydGVkQ2FsbGJhY2spLCBoYW5kbGUpOworI2VuZGlmCisK
ICAgICAvLyBiYWxhbmNlZCBieSBhIGRlcmVmKCkgaW4gY2xlYW51cFNvdXBSZXF1ZXN0T3BlcmF0
aW9uLCB3aGljaCBzaG91bGQgYWx3YXlzIHJ1bgogICAgIGhhbmRsZS0+cmVmKCk7CiAK
</data>
<flag name="review"
          id="88746"
          type_id="1"
          status="-"
          setter="mrobinson"
    />
    <flag name="commit-queue"
          id="88747"
          type_id="3"
          status="-"
          setter="mrobinson"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>97962</attachid>
            <date>2011-06-21 04:32:23 -0700</date>
            <delta_ts>2011-12-28 04:48:06 -0800</delta_ts>
            <desc>Updated patch w/ a new approach to connection times</desc>
            <filename>p</filename>
            <type>text/plain</type>
            <size>6677</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQKaW5kZXggNTIzY2EwYy4uOTA0NjhjNyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vZ3RrL1NraXBwZWQKQEAgLTMzOCwyMCArMzM4LDEzIEBAIGZhc3QvZm9ybXMvY29sb3IK
ICMgU3BlZWNoIGlucHV0IGlzIG5vdCB5ZXQgZW5hYmxlZC4KIGZhc3Qvc3BlZWNoCiAKLSMgV2Vi
IFRpbWluZyBpcyBub3QgZW5hYmxlZC4KLSMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTQyNDMyCisjIFdlYiBUaW1pbmcgdGVzdHMgdGhhdCBzdGlsbCBmYWlsCisjICNi
dWdpZAogZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLXBlcmZvcm1hbmNlLmh0bWwK
LWZhc3QvZG9tL25hdmlnYXRpb24tdHlwZS1iYWNrLWZvcndhcmQuaHRtbAotZmFzdC9kb20vbmF2
aWdhdGlvbi10eXBlLW5hdmlnYXRlLmh0bWwKLWZhc3QvZG9tL25hdmlnYXRpb24tdHlwZS1yZWxv
YWQuaHRtbAotZmFzdC9kb20vd2VidGltaW5nLmh0bWwKLWZhc3QvZG9tL3dlYnRpbWluZy1uYXZp
Z2F0ZS13aXRoaW4tZG9jdW1lbnQuaHRtbAotZmFzdC9kb20vd2VidGltaW5nLWRvY3VtZW50LW9w
ZW4uaHRtbAorIyAjYnVnaWQKIGh0dHAvdGVzdHMvbWlzYy93ZWJ0aW1pbmctb3JpZ2lucy5odG1s
Ci1odHRwL3Rlc3RzL21pc2Mvd2VidGltaW5nLW9uZS1yZWRpcmVjdC5waHAKKyMgI2J1Z2lkCiBo
dHRwL3Rlc3RzL21pc2Mvd2VidGltaW5nLXNsb3ctbG9hZC5waHAKLWh0dHAvdGVzdHMvbWlzYy93
ZWJ0aW1pbmctc3NsLnBocAotaHR0cC90ZXN0cy9taXNjL3dlYnRpbWluZy10d28tcmVkaXJlY3Rz
LnBocAogCiAjIEZpbGVTeXN0ZW0gQVBJIGlzIG5vdCBzdXBwb3J0ZWQuCiBmYXN0L2ZpbGVzeXN0
ZW0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtIGIvU291cmNlL1dl
YkNvcmUvR05VbWFrZWZpbGUuYW0KaW5kZXggNDg2ODJjYy4uMGY5ZjZkYyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFr
ZWZpbGUuYW0KQEAgLTU5Myw2ICs1OTMsMTQgQEAgRkVBVFVSRV9ERUZJTkVTICs9IEVOQUJMRV9S
RUdJU1RFUl9QUk9UT0NPTF9IQU5ETEVSPTEKIHdlYmNvcmVfY3BwZmxhZ3MgKz0gLURFTkFCTEVf
UkVHSVNURVJfUFJPVE9DT0xfSEFORExFUj0xCiBlbmRpZiAgIyBFTkQgRU5BQkxFX1JFR0lTVEVS
X1BST1RPQ09MX0hBTkRMRVIKIAorIyAtLS0KKyMgV2ViIFRpbWluZyBzdXBwb3J0CisjIC0tLQor
aWYgRU5BQkxFX1dFQl9USU1JTkcKK0ZFQVRVUkVfREVGSU5FUyArPSBFTkFCTEVfV0VCX1RJTUlO
Rz0xCit3ZWJjb3JlX2NwcGZsYWdzICs9IC1ERU5BQkxFX1dFQl9USU1JTkc9MQorZW5kaWYgICMg
RU5EIEVOQUJMRV9XRUJfVElNSU5HCisKIERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvQ1NTUHJvcGVy
dHlOYW1lcy5jcHA6IERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvQ1NTUHJvcGVydHlOYW1lcy5oCiBE
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0NTU1Byb3BlcnR5TmFtZXMuaDogJChXRUJDT1JFX0NTU19Q
Uk9QRVJUWV9OQU1FUykgJChXZWJDb3JlKS9jc3MvbWFrZXByb3AucGwKIAlpZiBzb3J0ICQoV0VC
Q09SRV9DU1NfUFJPUEVSVFlfTkFNRVMpIHwgdW5pcSAtZCB8IGdyZXAgLUUgJ15bXiNdJzsgdGhl
biBlY2hvICdEdXBsaWNhdGUgdmFsdWUhJzsgZXhpdCAxOyBmaQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNw
cAppbmRleCA2NzJiOTYzLi4xZWQ1NjhkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcApAQCAtMTMx
LDYgKzEzMSwxMSBAQCBzdGF0aWMgdm9pZCByZWFkQ2FsbGJhY2soR09iamVjdCosIEdBc3luY1Jl
c3VsdCosIGdwb2ludGVyKTsKIHN0YXRpYyB2b2lkIGNsb3NlQ2FsbGJhY2soR09iamVjdCosIEdB
c3luY1Jlc3VsdCosIGdwb2ludGVyKTsKIHN0YXRpYyBib29sIHN0YXJ0Tm9uSFRUUFJlcXVlc3Qo
UmVzb3VyY2VIYW5kbGUqLCBLVVJMKTsKIAorc3RhdGljIHVuc2lnbmVkIGxvbmcgbG9uZyBjdXJy
ZW50VGltZU1pbnVzUmVxdWVzdFRpbWUoZG91YmxlIHJlcXVlc3RUaW1lKQoreworICAgIHJldHVy
biBzdGF0aWNfY2FzdDx1bnNpZ25lZCBsb25nIGxvbmc+KChjdXJyZW50VGltZSgpIC0gcmVxdWVz
dFRpbWUpICogMTAwMC4wKTsKK30KKwogUmVzb3VyY2VIYW5kbGVJbnRlcm5hbDo6flJlc291cmNl
SGFuZGxlSW50ZXJuYWwoKQogewogICAgIGlmIChtX3NvdXBSZXF1ZXN0KQpAQCAtMzk5LDYgKzQw
NCw4IEBAIHN0YXRpYyB2b2lkIGNsZWFudXBTb3VwUmVxdWVzdE9wZXJhdGlvbihSZXNvdXJjZUhh
bmRsZSogaGFuZGxlLCBib29sIGlzRGVzdHJveWluCiAgICAgICAgIGQtPm1fYnVmZmVyID0gMDsK
ICAgICB9CiAKKyAgICBnX3NpZ25hbF9oYW5kbGVyc19kaXNjb25uZWN0X21hdGNoZWQoaGFuZGxl
LT5kZWZhdWx0U2Vzc2lvbigpLCBHX1NJR05BTF9NQVRDSF9EQVRBLCAwLCAwLCAwLCAwLCBoYW5k
bGUpOworCiAgICAgaWYgKCFpc0Rlc3Ryb3lpbmcpCiAgICAgICAgIGhhbmRsZS0+ZGVyZWYoKTsK
IH0KQEAgLTQzOCw2ICs0NDUsOCBAQCBzdGF0aWMgdm9pZCBzZW5kUmVxdWVzdENhbGxiYWNrKEdP
YmplY3QqIHNvdXJjZSwgR0FzeW5jUmVzdWx0KiByZXMsIGdwb2ludGVyIHVzZQogICAgIFJlc291
cmNlSGFuZGxlSW50ZXJuYWwqIGQgPSBoYW5kbGUtPmdldEludGVybmFsKCk7CiAgICAgUmVzb3Vy
Y2VIYW5kbGVDbGllbnQqIGNsaWVudCA9IGhhbmRsZS0+Y2xpZW50KCk7CiAKKyAgICBkLT5tX3Jl
c3BvbnNlLnJlc291cmNlTG9hZFRpbWluZygpLT5yZWNlaXZlSGVhZGVyc0VuZCA9IGN1cnJlbnRU
aW1lTWludXNSZXF1ZXN0VGltZShkLT5tX3Jlc3BvbnNlLnJlc291cmNlTG9hZFRpbWluZygpLT5y
ZXF1ZXN0VGltZSk7CisKICAgICBpZiAoZC0+bV9nb3RDaHVua0hhbmRsZXIpIHsKICAgICAgICAg
Ly8gTm8gbmVlZCB0byBjYWxsIGdvdENodW5rSGFuZGxlciBhbnltb3JlLiBSZWNlaXZlZCBkYXRh
IHdpbGwKICAgICAgICAgLy8gYmUgcmVwb3J0ZWQgYnkgcmVhZENhbGxiYWNrCkBAIC01NjEsNiAr
NTcwLDY0IEBAIHN0YXRpYyBib29sIGFkZEZvcm1FbGVtZW50c1RvU291cE1lc3NhZ2UoU291cE1l
c3NhZ2UqIG1lc3NhZ2UsIGNvbnN0IGNoYXIqIGNvbnRlCiAgICAgcmV0dXJuIHRydWU7CiB9CiAK
K3N0YXRpYyB2b2lkIGNvbm5lY3Rpb25DcmVhdGVkQ2FsbGJhY2soU291cFNlc3Npb24qLCBTb3Vw
Q29ubmVjdGlvbiosIGdwb2ludGVyIGRhdGEpCit7CisgICAgUmVmUHRyPFJlc291cmNlSGFuZGxl
PiBoYW5kbGUgPSBzdGF0aWNfY2FzdDxSZXNvdXJjZUhhbmRsZSo+KGRhdGEpOworICAgIGlmICgh
aGFuZGxlKQorICAgICAgICByZXR1cm47CisKKyAgICBSZXNvdXJjZUhhbmRsZUludGVybmFsKiBk
ID0gaGFuZGxlLT5nZXRJbnRlcm5hbCgpOworICAgIGQtPm1fcmVzcG9uc2Uuc2V0Q29ubmVjdGlv
blJldXNlZChmYWxzZSk7Cit9CisKK3N0YXRpYyB2b2lkIHJlcXVlc3RTdGFydGVkQ2FsbGJhY2so
U291cFNlc3Npb24qLCBTb3VwTWVzc2FnZSogbXNnLCBTb3VwU29ja2V0KiwgZ3BvaW50ZXIgZGF0
YSkKK3sKKyAgICBSZWZQdHI8UmVzb3VyY2VIYW5kbGU+IGhhbmRsZSA9IHN0YXRpY19jYXN0PFJl
c291cmNlSGFuZGxlKj4oZGF0YSk7CisgICAgaWYgKCFoYW5kbGUpCisgICAgICAgIHJldHVybjsK
KworICAgIFJlc291cmNlSGFuZGxlSW50ZXJuYWwqIGQgPSBoYW5kbGUtPmdldEludGVybmFsKCk7
CisgICAgaWYgKCFkLT5tX3Jlc3BvbnNlLnJlc291cmNlTG9hZFRpbWluZygpKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpZiAobXNnICE9IGQtPm1fc291cE1lc3NhZ2UpCisgICAgICAgIHJldHVy
bjsKKworICAgIGQtPm1fcmVzcG9uc2UucmVzb3VyY2VMb2FkVGltaW5nKCktPnNlbmRTdGFydCA9
IGN1cnJlbnRUaW1lTWludXNSZXF1ZXN0VGltZShkLT5tX3Jlc3BvbnNlLnJlc291cmNlTG9hZFRp
bWluZygpLT5yZXF1ZXN0VGltZSk7Cit9CisKK3N0YXRpYyB2b2lkIGNvbm5lY3RTdGFydENhbGxi
YWNrKFNvdXBNZXNzYWdlKiBtc2csIGdwb2ludGVyIGRhdGEpCit7CisgICAgUmVmUHRyPFJlc291
cmNlSGFuZGxlPiBoYW5kbGUgPSBzdGF0aWNfY2FzdDxSZXNvdXJjZUhhbmRsZSo+KGRhdGEpOwor
ICAgIGlmICghaGFuZGxlKQorICAgICAgICByZXR1cm47CisKKyAgICBSZXNvdXJjZUhhbmRsZUlu
dGVybmFsKiBkID0gaGFuZGxlLT5nZXRJbnRlcm5hbCgpOworICAgIGlmICghZC0+bV9yZXNwb25z
ZS5yZXNvdXJjZUxvYWRUaW1pbmcoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKG1zZyAh
PSBkLT5tX3NvdXBNZXNzYWdlKQorICAgICAgICByZXR1cm47CisKKyAgICBkLT5tX3Jlc3BvbnNl
LnJlc291cmNlTG9hZFRpbWluZygpLT5jb25uZWN0U3RhcnQgPSBjdXJyZW50VGltZU1pbnVzUmVx
dWVzdFRpbWUoZC0+bV9yZXNwb25zZS5yZXNvdXJjZUxvYWRUaW1pbmcoKS0+cmVxdWVzdFRpbWUp
OworfQorCitzdGF0aWMgdm9pZCBjb25uZWN0RW5kQ2FsbGJhY2soU291cE1lc3NhZ2UqIG1zZywg
Z3BvaW50ZXIgZGF0YSkKK3sKKyAgICBSZWZQdHI8UmVzb3VyY2VIYW5kbGU+IGhhbmRsZSA9IHN0
YXRpY19jYXN0PFJlc291cmNlSGFuZGxlKj4oZGF0YSk7CisgICAgaWYgKCFoYW5kbGUpCisgICAg
ICAgIHJldHVybjsKKworICAgIFJlc291cmNlSGFuZGxlSW50ZXJuYWwqIGQgPSBoYW5kbGUtPmdl
dEludGVybmFsKCk7CisgICAgaWYgKCFkLT5tX3Jlc3BvbnNlLnJlc291cmNlTG9hZFRpbWluZygp
KQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAobXNnICE9IGQtPm1fc291cE1lc3NhZ2UpCisg
ICAgICAgIHJldHVybjsKKworICAgIGQtPm1fcmVzcG9uc2UucmVzb3VyY2VMb2FkVGltaW5nKCkt
PmNvbm5lY3RFbmQgPSBjdXJyZW50VGltZU1pbnVzUmVxdWVzdFRpbWUoZC0+bV9yZXNwb25zZS5y
ZXNvdXJjZUxvYWRUaW1pbmcoKS0+cmVxdWVzdFRpbWUpOworfQorCiBzdGF0aWMgYm9vbCBzdGFy
dEhUVFBSZXF1ZXN0KFJlc291cmNlSGFuZGxlKiBoYW5kbGUpCiB7CiAgICAgQVNTRVJUKGhhbmRs
ZSk7CkBAIC01NzEsNiArNjM4LDkgQEAgc3RhdGljIGJvb2wgc3RhcnRIVFRQUmVxdWVzdChSZXNv
dXJjZUhhbmRsZSogaGFuZGxlKQogCiAgICAgUmVzb3VyY2VIYW5kbGVJbnRlcm5hbCogZCA9IGhh
bmRsZS0+Z2V0SW50ZXJuYWwoKTsKIAorICAgIGQtPm1fcmVzcG9uc2Uuc2V0UmVzb3VyY2VMb2Fk
VGltaW5nKFJlc291cmNlTG9hZFRpbWluZzo6Y3JlYXRlKCkpOworICAgIGQtPm1fcmVzcG9uc2Uu
cmVzb3VyY2VMb2FkVGltaW5nKCktPnJlcXVlc3RUaW1lID0gY3VycmVudFRpbWUoKTsKKwogICAg
IFJlc291cmNlUmVxdWVzdCByZXF1ZXN0KGhhbmRsZS0+Zmlyc3RSZXF1ZXN0KCkpOwogICAgIEtV
UkwgdXJsKHJlcXVlc3QudXJsKCkpOwogICAgIHVybC5yZW1vdmVGcmFnbWVudElkZW50aWZpZXIo
KTsKQEAgLTYwMSw2ICs2NzEsMTIgQEAgc3RhdGljIGJvb2wgc3RhcnRIVFRQUmVxdWVzdChSZXNv
dXJjZUhhbmRsZSogaGFuZGxlKQogICAgIGdfc2lnbmFsX2Nvbm5lY3Qoc291cE1lc3NhZ2UsICJn
b3QtaGVhZGVycyIsIEdfQ0FMTEJBQ0soZ290SGVhZGVyc0NhbGxiYWNrKSwgaGFuZGxlKTsKICAg
ICBnX3NpZ25hbF9jb25uZWN0KHNvdXBNZXNzYWdlLCAid3JvdGUtYm9keS1kYXRhIiwgR19DQUxM
QkFDSyh3cm90ZUJvZHlEYXRhQ2FsbGJhY2spLCBoYW5kbGUpOwogICAgIGQtPm1fZ290Q2h1bmtI
YW5kbGVyID0gZ19zaWduYWxfY29ubmVjdChzb3VwTWVzc2FnZSwgImdvdC1jaHVuayIsIEdfQ0FM
TEJBQ0soZ290Q2h1bmtDYWxsYmFjayksIGhhbmRsZSk7CisgICAgZ19zaWduYWxfY29ubmVjdChz
b3VwTWVzc2FnZSwgImNvbm5lY3Qtc3RhcnQiLCBHX0NBTExCQUNLKGNvbm5lY3RTdGFydENhbGxi
YWNrKSwgaGFuZGxlKTsKKyAgICBnX3NpZ25hbF9jb25uZWN0KHNvdXBNZXNzYWdlLCAiY29ubmVj
dC1lbmQiLCBHX0NBTExCQUNLKGNvbm5lY3RFbmRDYWxsYmFjayksIGhhbmRsZSk7CisKKyAgICBk
LT5tX3Jlc3BvbnNlLnNldENvbm5lY3Rpb25SZXVzZWQodHJ1ZSk7CisgICAgZ19zaWduYWxfY29u
bmVjdChzZXNzaW9uLCAiY29ubmVjdGlvbi1jcmVhdGVkIiwgR19DQUxMQkFDSyhjb25uZWN0aW9u
Q3JlYXRlZENhbGxiYWNrKSwgaGFuZGxlKTsKKyAgICBnX3NpZ25hbF9jb25uZWN0KHNlc3Npb24s
ICJyZXF1ZXN0LXN0YXJ0ZWQiLCBHX0NBTExCQUNLKHJlcXVlc3RTdGFydGVkQ2FsbGJhY2spLCBo
YW5kbGUpOwogCiAgICAgU3RyaW5nIGZpcnN0UGFydHlTdHJpbmcgPSByZXF1ZXN0LmZpcnN0UGFy
dHlGb3JDb29raWVzKCkuc3RyaW5nKCk7CiAgICAgaWYgKCFmaXJzdFBhcnR5U3RyaW5nLmlzRW1w
dHkoKSkgewo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>97973</attachid>
            <date>2011-06-21 05:36:14 -0700</date>
            <delta_ts>2011-12-28 04:48:11 -0800</delta_ts>
            <desc>Libsoup patch</desc>
            <filename>p</filename>
            <type>text/plain</type>
            <size>3402</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL2xpYnNvdXAvc291cC1tZXNzYWdlLmMgYi9saWJzb3VwL3NvdXAtbWVzc2Fn
ZS5jCmluZGV4IDI5YjI3OWUuLjEzZWZiZmUgMTAwNjQ0Ci0tLSBhL2xpYnNvdXAvc291cC1tZXNz
YWdlLmMKKysrIGIvbGlic291cC9zb3VwLW1lc3NhZ2UuYwpAQCAtMTAxLDYgKzEwMSw5IEBAIGVu
dW0gewogCUdPVF9CT0RZLAogCUNPTlRFTlRfU05JRkZFRCwKIAorCUNPTk5FQ1RfU1RBUlQsCisJ
Q09OTkVDVF9FTkQsCisKIAlSRVNUQVJURUQsCiAJRklOSVNIRUQsCiAKQEAgLTQ1NSw2ICs0NTgs
MzAgQEAgc291cF9tZXNzYWdlX2NsYXNzX2luaXQgKFNvdXBNZXNzYWdlQ2xhc3MgKm1lc3NhZ2Vf
Y2xhc3MpCiAJCQkgICAgICBHX1RZUEVfSEFTSF9UQUJMRSk7CiAKIAkvKioKKwkgKiBGSVhNRTog
ZG9jIQorCSAqKi8KKwlzaWduYWxzW0NPTk5FQ1RfU1RBUlRdID0KKwkJZ19zaWduYWxfbmV3ICgi
Y29ubmVjdF9zdGFydCIsCisJCQkgICAgICBHX09CSkVDVF9DTEFTU19UWVBFIChvYmplY3RfY2xh
c3MpLAorCQkJICAgICAgR19TSUdOQUxfUlVOX0ZJUlNULAorCQkJICAgICAgR19TVFJVQ1RfT0ZG
U0VUIChTb3VwTWVzc2FnZUNsYXNzLCBjb25uZWN0X3N0YXJ0KSwKKwkJCSAgICAgIE5VTEwsIE5V
TEwsCisJCQkgICAgICBzb3VwX21hcnNoYWxfTk9ORV9fTk9ORSwKKwkJCSAgICAgIEdfVFlQRV9O
T05FLCAwKTsKKworCS8qKgorCSAqIEZJWE1FOiBkb2MhCisJICoqLworCXNpZ25hbHNbQ09OTkVD
VF9FTkRdID0KKwkJZ19zaWduYWxfbmV3ICgiY29ubmVjdF9lbmQiLAorCQkJICAgICAgR19PQkpF
Q1RfQ0xBU1NfVFlQRSAob2JqZWN0X2NsYXNzKSwKKwkJCSAgICAgIEdfU0lHTkFMX1JVTl9GSVJT
VCwKKwkJCSAgICAgIEdfU1RSVUNUX09GRlNFVCAoU291cE1lc3NhZ2VDbGFzcywgY29ubmVjdF9l
bmQpLAorCQkJICAgICAgTlVMTCwgTlVMTCwKKwkJCSAgICAgIHNvdXBfbWFyc2hhbF9OT05FX19O
T05FLAorCQkJICAgICAgR19UWVBFX05PTkUsIDApOworCisJLyoqCiAJICogU291cE1lc3NhZ2U6
OnJlc3RhcnRlZDoKIAkgKiBAbXNnOiB0aGUgbWVzc2FnZQogCSAqCkBAIC0xMDYwLDYgKzEwODcs
MTggQEAgc291cF9tZXNzYWdlX2NvbnRlbnRfc25pZmZlZCAoU291cE1lc3NhZ2UgKm1zZywgY29u
c3QgY2hhciAqY29udGVudF90eXBlLCBHSGFzaFQKIAlnX3NpZ25hbF9lbWl0IChtc2csIHNpZ25h
bHNbQ09OVEVOVF9TTklGRkVEXSwgMCwgY29udGVudF90eXBlLCBwYXJhbXMpOwogfQogCit2b2lk
Citzb3VwX21lc3NhZ2VfY29ubmVjdF9zdGFydCAoU291cE1lc3NhZ2UgKm1zZykKK3sKKwlnX3Np
Z25hbF9lbWl0IChtc2csIHNpZ25hbHNbQ09OTkVDVF9TVEFSVF0sIDApOworfQorCit2b2lkCitz
b3VwX21lc3NhZ2VfY29ubmVjdF9lbmQgKFNvdXBNZXNzYWdlICptc2cpCit7CisJZ19zaWduYWxf
ZW1pdCAobXNnLCBzaWduYWxzW0NPTk5FQ1RfRU5EXSwgMCk7Cit9CisKIC8qKgogICogc291cF9t
ZXNzYWdlX3Jlc3RhcnRlZDoKICAqIEBtc2c6IGEgI1NvdXBNZXNzYWdlCmRpZmYgLS1naXQgYS9s
aWJzb3VwL3NvdXAtbWVzc2FnZS5oIGIvbGlic291cC9zb3VwLW1lc3NhZ2UuaAppbmRleCA5Y2Y5
MDFiLi5mYTM3ODA1IDEwMDY0NAotLS0gYS9saWJzb3VwL3NvdXAtbWVzc2FnZS5oCisrKyBiL2xp
YnNvdXAvc291cC1tZXNzYWdlLmgKQEAgLTQ4LDYgKzQ4LDggQEAgdHlwZWRlZiBzdHJ1Y3Qgewog
CXZvaWQgICAgICgqZ290X2hlYWRlcnMpICAgICAgICAgKFNvdXBNZXNzYWdlICptc2cpOwogCXZv
aWQgICAgICgqZ290X2NodW5rKSAgICAgICAgICAgKFNvdXBNZXNzYWdlICptc2csIFNvdXBCdWZm
ZXIgKmNodW5rKTsKIAl2b2lkICAgICAoKmdvdF9ib2R5KSAgICAgICAgICAgIChTb3VwTWVzc2Fn
ZSAqbXNnKTsKKwl2b2lkICAgICAoKmNvbm5lY3Rfc3RhcnQpICAgICAgIChTb3VwTWVzc2FnZSAq
bXNnKTsKKwl2b2lkICAgICAoKmNvbm5lY3RfZW5kKSAgICAgICAgIChTb3VwTWVzc2FnZSAqbXNn
KTsKIAl2b2lkICAgICAoKnJlc3RhcnRlZCkgICAgICAgICAgIChTb3VwTWVzc2FnZSAqbXNnKTsK
IAl2b2lkICAgICAoKmZpbmlzaGVkKSAgICAgICAgICAgIChTb3VwTWVzc2FnZSAqbXNnKTsKIApA
QCAtMTc3LDYgKzE3OSw4IEBAIHZvaWQgc291cF9tZXNzYWdlX2dvdF9oZWFkZXJzICAgICAgICAg
KFNvdXBNZXNzYWdlICptc2cpOwogdm9pZCBzb3VwX21lc3NhZ2VfZ290X2NodW5rICAgICAgICAg
ICAoU291cE1lc3NhZ2UgKm1zZywgU291cEJ1ZmZlciAqY2h1bmspOwogdm9pZCBzb3VwX21lc3Nh
Z2VfZ290X2JvZHkgICAgICAgICAgICAoU291cE1lc3NhZ2UgKm1zZyk7CiB2b2lkIHNvdXBfbWVz
c2FnZV9jb250ZW50X3NuaWZmZWQgICAgIChTb3VwTWVzc2FnZSAqbXNnLCBjb25zdCBjaGFyICpj
b250ZW50X3R5cGUsIEdIYXNoVGFibGUgKnBhcmFtcyk7Cit2b2lkIHNvdXBfbWVzc2FnZV9jb25u
ZWN0X3N0YXJ0ICAgICAgIChTb3VwTWVzc2FnZSAqbXNnKTsKK3ZvaWQgc291cF9tZXNzYWdlX2Nv
bm5lY3RfZW5kICAgICAgICAgKFNvdXBNZXNzYWdlICptc2cpOwogdm9pZCBzb3VwX21lc3NhZ2Vf
cmVzdGFydGVkICAgICAgICAgICAoU291cE1lc3NhZ2UgKm1zZyk7CiB2b2lkIHNvdXBfbWVzc2Fn
ZV9maW5pc2hlZCAgICAgICAgICAgIChTb3VwTWVzc2FnZSAqbXNnKTsKIApkaWZmIC0tZ2l0IGEv
bGlic291cC9zb3VwLXNlc3Npb24tYXN5bmMuYyBiL2xpYnNvdXAvc291cC1zZXNzaW9uLWFzeW5j
LmMKaW5kZXggNTk4YjczNC4uYjliNWYzYyAxMDA2NDQKLS0tIGEvbGlic291cC9zb3VwLXNlc3Np
b24tYXN5bmMuYworKysgYi9saWJzb3VwL3NvdXAtc2Vzc2lvbi1hc3luYy5jCkBAIC0yODcsNiAr
Mjg3LDggQEAgZ290X2Nvbm5lY3Rpb24gKFNvdXBDb25uZWN0aW9uICpjb25uLCBndWludCBzdGF0
dXMsIGdwb2ludGVyIHVzZXJfZGF0YSkKIAlTb3VwU2Vzc2lvbiAqc2Vzc2lvbiA9IGl0ZW0tPnNl
c3Npb247CiAJU291cEFkZHJlc3MgKnR1bm5lbF9hZGRyOwogCisJc291cF9tZXNzYWdlX2Nvbm5l
Y3RfZW5kKGl0ZW0tPm1zZyk7CisKIAlpZiAoaXRlbS0+c3RhdGUgIT0gU09VUF9NRVNTQUdFX0NP
Tk5FQ1RJTkcpIHsKIAkJc291cF9jb25uZWN0aW9uX2Rpc2Nvbm5lY3QgKGNvbm4pOwogCQlkb19p
ZGxlX3J1bl9xdWV1ZSAoc2Vzc2lvbik7CkBAIC0zNTQsNiArMzU2LDcgQEAgcHJvY2Vzc19xdWV1
ZV9pdGVtIChTb3VwTWVzc2FnZVF1ZXVlSXRlbSAqaXRlbSwKIAkJCQlicmVhazsKIAkJCX0KIAor
CQkJc291cF9tZXNzYWdlX2Nvbm5lY3Rfc3RhcnQoaXRlbS0+bXNnKTsKIAkJCWl0ZW0tPnN0YXRl
ID0gU09VUF9NRVNTQUdFX0NPTk5FQ1RJTkc7CiAJCQlzb3VwX21lc3NhZ2VfcXVldWVfaXRlbV9y
ZWYgKGl0ZW0pOwogCQkJZ19vYmplY3RfcmVmIChzZXNzaW9uKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>120652</attachid>
            <date>2011-12-28 04:48:25 -0800</date>
            <delta_ts>2012-01-17 11:36:39 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-42432-20111228134822.patch</filename>
            <type>text/plain</type>
            <size>15510</size>
            <attacher name="Sergio Villar Senin">svillar</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAzNjg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjU3YmVkNmFkNjQwMWYw
NmZkNzZkNWY0ODZhZGVjNmVmNGNmMWYzNy4uZjc4MWIyZWUzNzM1YzRmMGI1MThkMzJhYjVhZDY0
MWIxM2Q5MTI5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDExLTEyLTI4ICBTZXJn
aW8gVmlsbGFyIFNlbmluICA8c3ZpbGxhckBpZ2FsaWEuY29tPgorCisgICAgICAgIFtHVEtdIEVu
YWJsZSBXZWIgVGltaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD00MjQzMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEFkZGVkIFdlYlRpbWluZyBzdXBwb3J0IHRvIHRoZSBHVEsrIHBvcnQuIFdlYlRpbWlu
ZyBhbGxvd3MKKyAgICAgICAgZGV2ZWxvcGVycyB0byBjb2xsZWN0IGRldGFpbGVkIG5ldHdvcmsg
dGltaW5nIGluZm9ybWF0aW9uIHBlcgorICAgICAgICByZXNvdXJjZS4gSXQgcmVxdWlyZXMgdGhl
IG5ldyBTb3VwTWVzc2FnZSdzICJuZXR3b3JrLWV2ZW50IgorICAgICAgICBzaWduYWwuCisKKyAg
ICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBiaW5kaW5ncy9nb2JqZWN0L0dOVW1h
a2VmaWxlLmFtOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRs
ZVNvdXAuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y2xlYW51cFNvdXBSZXF1ZXN0T3BlcmF0aW9u
KToKKyAgICAgICAgKFdlYkNvcmU6OnNlbmRSZXF1ZXN0Q2FsbGJhY2spOgorICAgICAgICAoV2Vi
Q29yZTo6Y3VycmVudFRpbWVNaW51c1JlcXVlc3RUaW1lKToKKyAgICAgICAgKFdlYkNvcmU6Ondy
b3RlQm9keUNhbGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OnJlcXVlc3RTdGFydGVkQ2FsbGJh
Y2spOgorICAgICAgICAoV2ViQ29yZTo6bmV0d29ya0V2ZW50Q2FsbGJhY2spOgorICAgICAgICAo
V2ViQ29yZTo6c3RhcnRIVFRQUmVxdWVzdCk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUhh
bmRsZTo6cGxhdGZvcm1TZXREZWZlcnNMb2FkaW5nKToKKwogMjAxMS0xMi0yNiAgRGFyaW4gQWRs
ZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAgRml4IG11dGF0aW9uIG9ic2VydmVyIGJ1
aWxkIGFmdGVyIGRpZE1vdmVUb05ld0RvY3VtZW50IGNoYW5nZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvR05VbWFrZWZpbGUuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQpp
bmRleCA4YzdiNmYzNjBiOTY4NWJjZjNlYWJlOTU2NDY5Yzc5MmFkMmU4MzdhLi5jMmI2ZjI0ZTQ4
ODViM2IwMWU2ZTZlYWIzOWU5MGM3MGExNDJkNGMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9HTlVtYWtlZmlsZS5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQpAQCAt
NjEzLDYgKzYxMywxNCBAQCBGRUFUVVJFX0RFRklORVMgKz0gRU5BQkxFX0RFVklDRV9PUklFTlRB
VElPTj0xCiB3ZWJjb3JlX2NwcGZsYWdzICs9IC1ERU5BQkxFX0RFVklDRV9PUklFTlRBVElPTj0x
CiBlbmRpZiAgIyBFTkQgRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTgogCisjIC0tLQorIyBXZWIg
VGltaW5nIHN1cHBvcnQKKyMgLS0tCitpZiBFTkFCTEVfV0VCX1RJTUlORworRkVBVFVSRV9ERUZJ
TkVTICs9IEVOQUJMRV9XRUJfVElNSU5HPTEKK3dlYmNvcmVfY3BwZmxhZ3MgKz0gLURFTkFCTEVf
V0VCX1RJTUlORz0xCitlbmRpZiAgIyBFTkQgRU5BQkxFX1dFQl9USU1JTkcKKwogRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9DU1NQcm9wZXJ0eU5hbWVzLmNwcDogRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9DU1NQcm9wZXJ0eU5hbWVzLmgKIERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvQ1NTUHJvcGVydHlO
YW1lcy5oOiAkKFdFQkNPUkVfQ1NTX1BST1BFUlRZX05BTUVTKSAkKFdlYkNvcmUpL2Nzcy9tYWtl
cHJvcC5wbAogCWNhdCAkKFdFQkNPUkVfQ1NTX1BST1BFUlRZX05BTUVTKSA+IENTU1Byb3BlcnR5
TmFtZXMuaW4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvR05V
bWFrZWZpbGUuYW0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L0dOVW1ha2VmaWxl
LmFtCmluZGV4IDA4ZTc3MjE4MmYxZTI4MDk3YWQ0NDUxMTIwODkyYTNjNTBhNWZkZTUuLmEyNDQ3
MGIwOTc3MjQwMzllOTU3Mzg0MzQ3ZmJjMDFiNTZjOWNhMWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvR05VbWFrZWZpbGUuYW0KKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvZ29iamVjdC9HTlVtYWtlZmlsZS5hbQpAQCAtNDM2LDYgKzQzNiwyMSBAQCB3
ZWJraXRndGtfZ2RvbV9idWlsdF9zb3VyY2VzICs9IFwKIAlEZXJpdmVkU291cmNlcy93ZWJraXQv
V2ViS2l0RE9NSFRNTFByb3BlcnRpZXNDb2xsZWN0aW9uUHJpdmF0ZS5oCiBlbmRpZgogCisKK2lm
IEVOQUJMRV9XRUJfVElNSU5HCit3ZWJraXRndGtfYnVpbHRfaF9hcGkgKz0gXAorCSQodG9wX2J1
aWxkZGlyKS9EZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NUGVyZm9ybWFuY2UuaCBcCisJ
JCh0b3BfYnVpbGRkaXIpL0Rlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01QZXJmb3JtYW5j
ZU5hdmlnYXRpb24uaCBcCisJJCh0b3BfYnVpbGRkaXIpL0Rlcml2ZWRTb3VyY2VzL3dlYmtpdC9X
ZWJLaXRET01QZXJmb3JtYW5jZVRpbWluZy5oCit3ZWJraXRndGtfZ2RvbV9idWlsdF9zb3VyY2Vz
ICs9IFwKKwlEZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NUGVyZm9ybWFuY2UuY3BwIFwK
KwlEZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NUGVyZm9ybWFuY2VQcml2YXRlLmggXAor
CURlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01QZXJmb3JtYW5jZU5hdmlnYXRpb24uY3Bw
IFwKKwlEZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NUGVyZm9ybWFuY2VOYXZpZ2F0aW9u
UHJpdmF0ZS5oIFwKKwlEZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NUGVyZm9ybWFuY2VU
aW1pbmcuY3BwIFwKKwlEZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NUGVyZm9ybWFuY2VU
aW1pbmdQcml2YXRlLmgKK2VuZGlmCisKIGdkb21fY2xhc3NfbGlzdCA6PSAkKHN1YnN0IFdlYktp
dERPTSwsICQoZmlsdGVyLW91dCAlUHJpdmF0ZSwgJChiYXNlbmFtZSAkKG5vdGRpciAkKHdlYmtp
dGd0a19nZG9tX2J1aWx0X3NvdXJjZXMpKSkpKQogZ2RvbV9jbGFzc19saXN0ICs9IEN1c3RvbSBF
dmVudFRhcmdldCBPYmplY3QKIERlcml2ZWRTb3VyY2VzL3dlYmtpdC93ZWJraXRkb20uaDogJChX
ZWJDb3JlKS9iaW5kaW5ncy9zY3JpcHRzL2dvYmplY3QtZ2VuZXJhdGUtaGVhZGVycy5wbCAkKFdl
YkNvcmUpL2JpbmRpbmdzL2dvYmplY3QvR05VbWFrZWZpbGUuYW0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5j
cHAKaW5kZXggNWNiNTNiZGZmNGZhYjU2OTMzYTEzMTlhYzZiYWM3YTYwZmIwOWZlYi4uMTkxYzVi
N2Y1ZDhlNDhlYjFkNGNkNTdiZGZiMTYzMjFmOTQ0MGI1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5j
cHAKQEAgLTEzNiw2ICsxMzYsNyBAQCBzdGF0aWMgdm9pZCBzZW5kUmVxdWVzdENhbGxiYWNrKEdP
YmplY3QqLCBHQXN5bmNSZXN1bHQqLCBncG9pbnRlcik7CiBzdGF0aWMgdm9pZCByZWFkQ2FsbGJh
Y2soR09iamVjdCosIEdBc3luY1Jlc3VsdCosIGdwb2ludGVyKTsKIHN0YXRpYyB2b2lkIGNsb3Nl
Q2FsbGJhY2soR09iamVjdCosIEdBc3luY1Jlc3VsdCosIGdwb2ludGVyKTsKIHN0YXRpYyBib29s
IHN0YXJ0Tm9uSFRUUFJlcXVlc3QoUmVzb3VyY2VIYW5kbGUqLCBLVVJMKTsKK3N0YXRpYyBpbnQg
IGN1cnJlbnRUaW1lTWludXNSZXF1ZXN0VGltZShkb3VibGUgcmVxdWVzdFRpbWUpOwogCiBSZXNv
dXJjZUhhbmRsZUludGVybmFsOjp+UmVzb3VyY2VIYW5kbGVJbnRlcm5hbCgpCiB7CkBAIC0yNTMs
OCArMjU0LDggQEAgc3RhdGljIHZvaWQgY2xlYW51cFNvdXBSZXF1ZXN0T3BlcmF0aW9uKFJlc291
cmNlSGFuZGxlKiBoYW5kbGUsIGJvb2wgaXNEZXN0cm95aW4KICAgICBkLT5tX2NhbmNlbGxhYmxl
LmNsZWFyKCk7CiAKICAgICBpZiAoZC0+bV9zb3VwTWVzc2FnZSkgewotICAgICAgICBnX3NpZ25h
bF9oYW5kbGVyc19kaXNjb25uZWN0X21hdGNoZWQoZC0+bV9zb3VwTWVzc2FnZS5nZXQoKSwgR19T
SUdOQUxfTUFUQ0hfREFUQSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIDAsIDAsIDAsIDAsIGhhbmRsZSk7CisgICAgICAgIGdfc2lnbmFsX2hhbmRsZXJzX2Rp
c2Nvbm5lY3RfbWF0Y2hlZChkLT5tX3NvdXBNZXNzYWdlLmdldCgpLCBHX1NJR05BTF9NQVRDSF9E
QVRBLCAwLCAwLCAwLCAwLCBoYW5kbGUpOworICAgICAgICBnX3NpZ25hbF9oYW5kbGVyc19kaXNj
b25uZWN0X21hdGNoZWQoaGFuZGxlLT5kZWZhdWx0U2Vzc2lvbigpLCBHX1NJR05BTF9NQVRDSF9E
QVRBLCAwLCAwLCAwLCAwLCBoYW5kbGUpOwogICAgICAgICBkLT5tX3NvdXBNZXNzYWdlLmNsZWFy
KCk7CiAgICAgfQogCkBAIC0zMDAsNiArMzAxLDExIEBAIHN0YXRpYyB2b2lkIHNlbmRSZXF1ZXN0
Q2FsbGJhY2soR09iamVjdCogc291cmNlLCBHQXN5bmNSZXN1bHQqIHJlcywgZ3BvaW50ZXIgZGF0
CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKKyNpZiBFTkFCTEUoV0VCX1RJTUlORykKKyAgICBp
ZiAoZC0+bV9yZXNwb25zZS5yZXNvdXJjZUxvYWRUaW1pbmcoKSkKKyAgICAgICAgZC0+bV9yZXNw
b25zZS5yZXNvdXJjZUxvYWRUaW1pbmcoKS0+cmVjZWl2ZUhlYWRlcnNFbmQgPSBjdXJyZW50VGlt
ZU1pbnVzUmVxdWVzdFRpbWUoZC0+bV9yZXNwb25zZS5yZXNvdXJjZUxvYWRUaW1pbmcoKS0+cmVx
dWVzdFRpbWUpOworI2VuZGlmCisKICAgICBHT3duUHRyPEdFcnJvcj4gZXJyb3I7CiAgICAgR0lu
cHV0U3RyZWFtKiBpbiA9IHNvdXBfcmVxdWVzdF9zZW5kX2ZpbmlzaChkLT5tX3NvdXBSZXF1ZXN0
LmdldCgpLCByZXMsICZlcnJvci5vdXRQdHIoKSk7CiAgICAgaWYgKGVycm9yKSB7CkBAIC00Mzgs
NiArNDQ0LDkyIEBAIHN0YXRpYyBib29sIGFkZEZvcm1FbGVtZW50c1RvU291cE1lc3NhZ2UoU291
cE1lc3NhZ2UqIG1lc3NhZ2UsIGNvbnN0IGNoYXIqIGNvbnRlCiAgICAgcmV0dXJuIHRydWU7CiB9
CiAKK3N0YXRpYyBpbnQgY3VycmVudFRpbWVNaW51c1JlcXVlc3RUaW1lKGRvdWJsZSByZXF1ZXN0
VGltZSkKK3sKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8aW50PigobW9ub3RvbmljYWxseUluY3Jl
YXNpbmdUaW1lKCkgLSByZXF1ZXN0VGltZSkgKiAxMDAwLjApOworfQorCisjaWYgRU5BQkxFKFdF
Ql9USU1JTkcpCitzdGF0aWMgdm9pZCB3cm90ZUJvZHlDYWxsYmFjayhTb3VwTWVzc2FnZSAqLCBn
cG9pbnRlciBkYXRhKQoreworICAgIFJlZlB0cjxSZXNvdXJjZUhhbmRsZT4gaGFuZGxlID0gc3Rh
dGljX2Nhc3Q8UmVzb3VyY2VIYW5kbGUqPihkYXRhKTsKKyAgICBpZiAoIWhhbmRsZSkKKyAgICAg
ICAgcmV0dXJuOworCisgICAgUmVzb3VyY2VIYW5kbGVJbnRlcm5hbCogZCA9IGhhbmRsZS0+Z2V0
SW50ZXJuYWwoKTsKKyAgICBpZiAoIWQtPm1fcmVzcG9uc2UucmVzb3VyY2VMb2FkVGltaW5nKCkp
CisgICAgICAgIHJldHVybjsKKworICAgIGQtPm1fcmVzcG9uc2UucmVzb3VyY2VMb2FkVGltaW5n
KCktPnNlbmRFbmQgPSBjdXJyZW50VGltZU1pbnVzUmVxdWVzdFRpbWUoZC0+bV9yZXNwb25zZS5y
ZXNvdXJjZUxvYWRUaW1pbmcoKS0+cmVxdWVzdFRpbWUpOworfQorCitzdGF0aWMgdm9pZCByZXF1
ZXN0U3RhcnRlZENhbGxiYWNrKFNvdXBTZXNzaW9uICosIFNvdXBNZXNzYWdlICpzb3VwTWVzc2Fn
ZSwgU291cFNvY2tldCAqLCBncG9pbnRlciBkYXRhKQoreworICAgIFJlZlB0cjxSZXNvdXJjZUhh
bmRsZT4gaGFuZGxlID0gc3RhdGljX2Nhc3Q8UmVzb3VyY2VIYW5kbGUqPihkYXRhKTsKKyAgICBp
ZiAoIWhhbmRsZSkKKyAgICAgICAgcmV0dXJuOworCisgICAgUmVzb3VyY2VIYW5kbGVJbnRlcm5h
bCogZCA9IGhhbmRsZS0+Z2V0SW50ZXJuYWwoKTsKKyAgICBpZiAoIWQtPm1fcmVzcG9uc2UucmVz
b3VyY2VMb2FkVGltaW5nKCkpCisgICAgICAgIHJldHVybjsKKworICAgIGlmIChkLT5tX3NvdXBN
ZXNzYWdlLmdldCgpICE9IHNvdXBNZXNzYWdlKQorICAgICAgICByZXR1cm47CisKKyAgICBkLT5t
X3Jlc3BvbnNlLnJlc291cmNlTG9hZFRpbWluZygpLT5zZW5kU3RhcnQgPSBjdXJyZW50VGltZU1p
bnVzUmVxdWVzdFRpbWUoZC0+bV9yZXNwb25zZS5yZXNvdXJjZUxvYWRUaW1pbmcoKS0+cmVxdWVz
dFRpbWUpOworfQorCitzdGF0aWMgdm9pZCBuZXR3b3JrRXZlbnRDYWxsYmFjayhTb3VwTWVzc2Fn
ZSAqLCBHU29ja2V0Q2xpZW50RXZlbnQgZXZlbnQsIEdJT1N0cmVhbSAqLCBncG9pbnRlciBkYXRh
KQoreworICAgIFJlc291cmNlSGFuZGxlKiBoYW5kbGUgPSBzdGF0aWNfY2FzdDxSZXNvdXJjZUhh
bmRsZSo+KGRhdGEpOworICAgIGlmICghaGFuZGxlKQorICAgICAgICByZXR1cm47CisgICAgUmVz
b3VyY2VIYW5kbGVJbnRlcm5hbCogZCA9IGhhbmRsZS0+Z2V0SW50ZXJuYWwoKTsKKyAgICBpZiAo
ZC0+bV9jYW5jZWxsZWQpCisgICAgICAgIHJldHVybjsKKworICAgIGludCBkZWx0YVRpbWUgPSBj
dXJyZW50VGltZU1pbnVzUmVxdWVzdFRpbWUoZC0+bV9yZXNwb25zZS5yZXNvdXJjZUxvYWRUaW1p
bmcoKS0+cmVxdWVzdFRpbWUpOworICAgIHN3aXRjaCAoZXZlbnQpIHsKKyAgICBjYXNlIEdfU09D
S0VUX0NMSUVOVF9SRVNPTFZJTkc6CisgICAgICAgIGQtPm1fcmVzcG9uc2UucmVzb3VyY2VMb2Fk
VGltaW5nKCktPmRuc1N0YXJ0ID0gZGVsdGFUaW1lOworICAgICAgICBicmVhazsKKyAgICBjYXNl
IEdfU09DS0VUX0NMSUVOVF9SRVNPTFZFRDoKKyAgICAgICAgZC0+bV9yZXNwb25zZS5yZXNvdXJj
ZUxvYWRUaW1pbmcoKS0+ZG5zRW5kID0gZGVsdGFUaW1lOworICAgICAgICBicmVhazsKKyAgICBj
YXNlIEdfU09DS0VUX0NMSUVOVF9DT05ORUNUSU5HOgorICAgICAgICBkLT5tX3Jlc3BvbnNlLnJl
c291cmNlTG9hZFRpbWluZygpLT5jb25uZWN0U3RhcnQgPSBkZWx0YVRpbWU7CisgICAgICAgIGlm
IChkLT5tX3Jlc3BvbnNlLnJlc291cmNlTG9hZFRpbWluZygpLT5kbnNTdGFydCAhPSAtMSkKKyAg
ICAgICAgICAgIC8vIFdlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZVRpbWluZ1Zp
ZXcuanMgYXNzdW1lcyB0aGF0IEROUyB0aW1lIGlzIGluY2x1ZGVkCisgICAgICAgICAgICAvLyBp
biBjb25uZWN0aW9uIHRpbWUgc28gbXVzdCBzdWJzdHJhY3QgaGVyZSB0aGUgRE5TIGRlbHRhIHRo
YXQgd2lsbCBiZSBhZGRlZCBsYXRlci4KKyAgICAgICAgICAgIGQtPm1fcmVzcG9uc2UucmVzb3Vy
Y2VMb2FkVGltaW5nKCktPmNvbm5lY3RTdGFydCAtPQorICAgICAgICAgICAgICAgIGQtPm1fcmVz
cG9uc2UucmVzb3VyY2VMb2FkVGltaW5nKCktPmRuc0VuZCAtIGQtPm1fcmVzcG9uc2UucmVzb3Vy
Y2VMb2FkVGltaW5nKCktPmRuc1N0YXJ0OworICAgICAgICBicmVhazsKKyAgICBjYXNlIEdfU09D
S0VUX0NMSUVOVF9DT05ORUNURUQ6CisgICAgICAgIC8vIFdlYiBUaW1pbmcgY29uc2lkZXJzIHRo
YXQgY29ubmVjdGlvbiB0aW1lIGludm9sdmVzIGRucywgcHJveHkgJiBUTFMgbmVnb3RpYXRpb24u
Li4KKyAgICAgICAgLy8gc28gd2UgYmV0dGVyIHBpY2sgR19TT0NLRVRfQ0xJRU5UX0NPTVBMRVRF
IGZvciBjb25uZWN0RW5kCisgICAgICAgIGJyZWFrOworICAgIGNhc2UgR19TT0NLRVRfQ0xJRU5U
X1BST1hZX05FR09USUFUSU5HOgorICAgICAgICBkLT5tX3Jlc3BvbnNlLnJlc291cmNlTG9hZFRp
bWluZygpLT5wcm94eVN0YXJ0ID0gZGVsdGFUaW1lOworICAgICAgICBicmVhazsKKyAgICBjYXNl
IEdfU09DS0VUX0NMSUVOVF9QUk9YWV9ORUdPVElBVEVEOgorICAgICAgICBkLT5tX3Jlc3BvbnNl
LnJlc291cmNlTG9hZFRpbWluZygpLT5wcm94eUVuZCA9IGRlbHRhVGltZTsKKyAgICAgICAgYnJl
YWs7CisgICAgY2FzZSBHX1NPQ0tFVF9DTElFTlRfVExTX0hBTkRTSEFLSU5HOgorICAgICAgICBk
LT5tX3Jlc3BvbnNlLnJlc291cmNlTG9hZFRpbWluZygpLT5zc2xTdGFydCA9IGRlbHRhVGltZTsK
KyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBHX1NPQ0tFVF9DTElFTlRfVExTX0hBTkRTSEFLRUQ6
CisgICAgICAgIGQtPm1fcmVzcG9uc2UucmVzb3VyY2VMb2FkVGltaW5nKCktPnNzbEVuZCA9IGRl
bHRhVGltZTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBHX1NPQ0tFVF9DTElFTlRfQ09NUExF
VEU6CisgICAgICAgIGQtPm1fcmVzcG9uc2UucmVzb3VyY2VMb2FkVGltaW5nKCktPmNvbm5lY3RF
bmQgPSBkZWx0YVRpbWU7CisgICAgICAgIGJyZWFrOworICAgIGRlZmF1bHQ6CisgICAgICAgIEFT
U0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICBicmVhazsKKyAgICB9Cit9CisjZW5kaWYKKwog
c3RhdGljIGJvb2wgc3RhcnRIVFRQUmVxdWVzdChSZXNvdXJjZUhhbmRsZSogaGFuZGxlKQogewog
ICAgIEFTU0VSVChoYW5kbGUpOwpAQCAtNDczLDYgKzU2NSwxMiBAQCBzdGF0aWMgYm9vbCBzdGFy
dEhUVFBSZXF1ZXN0KFJlc291cmNlSGFuZGxlKiBoYW5kbGUpCiAgICAgZ19zaWduYWxfY29ubmVj
dChzb3VwTWVzc2FnZSwgInJlc3RhcnRlZCIsIEdfQ0FMTEJBQ0socmVzdGFydGVkQ2FsbGJhY2sp
LCBoYW5kbGUpOwogICAgIGdfc2lnbmFsX2Nvbm5lY3Qoc291cE1lc3NhZ2UsICJ3cm90ZS1ib2R5
LWRhdGEiLCBHX0NBTExCQUNLKHdyb3RlQm9keURhdGFDYWxsYmFjayksIGhhbmRsZSk7CiAKKyNp
ZiBFTkFCTEUoV0VCX1RJTUlORykKKyAgICBnX3NpZ25hbF9jb25uZWN0KHNvdXBNZXNzYWdlLCAi
bmV0d29yay1ldmVudCIsIEdfQ0FMTEJBQ0sobmV0d29ya0V2ZW50Q2FsbGJhY2spLCBoYW5kbGUp
OworICAgIGdfc2lnbmFsX2Nvbm5lY3Qoc291cE1lc3NhZ2UsICJ3cm90ZS1ib2R5IiwgR19DQUxM
QkFDSyh3cm90ZUJvZHlDYWxsYmFjayksIGhhbmRsZSk7CisgICAgZ19zaWduYWxfY29ubmVjdChz
ZXNzaW9uLCAicmVxdWVzdC1zdGFydGVkIiwgR19DQUxMQkFDSyhyZXF1ZXN0U3RhcnRlZENhbGxi
YWNrKSwgaGFuZGxlKTsKKyNlbmRpZgorCiAgICAgU3RyaW5nIGZpcnN0UGFydHlTdHJpbmcgPSBy
ZXF1ZXN0LmZpcnN0UGFydHlGb3JDb29raWVzKCkuc3RyaW5nKCk7CiAgICAgaWYgKCFmaXJzdFBh
cnR5U3RyaW5nLmlzRW1wdHkoKSkgewogICAgICAgICBHT3duUHRyPFNvdXBVUkk+IGZpcnN0UGFy
dHkoc291cF91cmlfbmV3KGZpcnN0UGFydHlTdHJpbmcudXRmOCgpLmRhdGEoKSkpOwpAQCAtNDg1
LDYgKzU4Myw3IEBAIHN0YXRpYyBib29sIHN0YXJ0SFRUUFJlcXVlc3QoUmVzb3VyY2VIYW5kbGUq
IGhhbmRsZSkKICAgICAgICAgJiYgIWFkZEZvcm1FbGVtZW50c1RvU291cE1lc3NhZ2Uoc291cE1l
c3NhZ2UsIGNvbnRlbnRUeXBlLmRhdGEoKSwgaHR0cEJvZHksIGQtPm1fYm9keVNpemUpKSB7CiAg
ICAgICAgIC8vIFdlIGZhaWxlZCB0byBwcmVwYXJlIHRoZSBib2R5IGRhdGEsIHNvIGp1c3QgZmFp
bCB0aGlzIGxvYWQuCiAgICAgICAgIGdfc2lnbmFsX2hhbmRsZXJzX2Rpc2Nvbm5lY3RfbWF0Y2hl
ZChzb3VwTWVzc2FnZSwgR19TSUdOQUxfTUFUQ0hfREFUQSwgMCwgMCwgMCwgMCwgaGFuZGxlKTsK
KyAgICAgICAgZ19zaWduYWxfaGFuZGxlcnNfZGlzY29ubmVjdF9tYXRjaGVkKHNlc3Npb24sIEdf
U0lHTkFMX01BVENIX0RBVEEsIDAsIDAsIDAsIDAsIGhhbmRsZSk7CiAgICAgICAgIGQtPm1fc291
cE1lc3NhZ2UuY2xlYXIoKTsKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KQEAgLTQ5Miw2
ICs1OTEsMTAgQEAgc3RhdGljIGJvb2wgc3RhcnRIVFRQUmVxdWVzdChSZXNvdXJjZUhhbmRsZSog
aGFuZGxlKQogICAgIC8vIGJhbGFuY2VkIGJ5IGEgZGVyZWYoKSBpbiBjbGVhbnVwU291cFJlcXVl
c3RPcGVyYXRpb24sIHdoaWNoIHNob3VsZCBhbHdheXMgcnVuCiAgICAgaGFuZGxlLT5yZWYoKTsK
IAorI2lmIEVOQUJMRShXRUJfVElNSU5HKQorICAgIGQtPm1fcmVzcG9uc2Uuc2V0UmVzb3VyY2VM
b2FkVGltaW5nKFJlc291cmNlTG9hZFRpbWluZzo6Y3JlYXRlKCkpOworI2VuZGlmCisKICAgICAv
LyBNYWtlIHN1cmUgd2UgaGF2ZSBhbiBBY2NlcHQgaGVhZGVyIGZvciBzdWJyZXNvdXJjZXM7IHNv
bWUgc2l0ZXMKICAgICAvLyB3YW50IHRoaXMgdG8gc2VydmUgc29tZSBvZiB0aGVpciBzdWJyZXNv
dXJjZXMKICAgICBpZiAoIXNvdXBfbWVzc2FnZV9oZWFkZXJzX2dldF9vbmUoc291cE1lc3NhZ2Ut
PnJlcXVlc3RfaGVhZGVycywgIkFjY2VwdCIpKQpAQCAtNDk5LDYgKzYwMiw5IEBAIHN0YXRpYyBi
b29sIHN0YXJ0SFRUUFJlcXVlc3QoUmVzb3VyY2VIYW5kbGUqIGhhbmRsZSkKIAogICAgIC8vIFNl
bmQgdGhlIHJlcXVlc3Qgb25seSBpZiBpdCdzIG5vdCBiZWVuIGV4cGxpY2l0bHkgZGVmZXJyZWQu
CiAgICAgaWYgKCFkLT5tX2RlZmVyc0xvYWRpbmcpIHsKKyNpZiBFTkFCTEUoV0VCX1RJTUlORykK
KyAgICAgICAgZC0+bV9yZXNwb25zZS5yZXNvdXJjZUxvYWRUaW1pbmcoKS0+cmVxdWVzdFRpbWUg
PSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKKyNlbmRpZgogICAgICAgICBkLT5tX2Nh
bmNlbGxhYmxlID0gYWRvcHRHUmVmKGdfY2FuY2VsbGFibGVfbmV3KCkpOwogICAgICAgICBzb3Vw
X3JlcXVlc3Rfc2VuZF9hc3luYyhkLT5tX3NvdXBSZXF1ZXN0LmdldCgpLCBkLT5tX2NhbmNlbGxh
YmxlLmdldCgpLCBzZW5kUmVxdWVzdENhbGxiYWNrLCBoYW5kbGUpOwogICAgIH0KQEAgLTU3OCw2
ICs2ODQsMTAgQEAgdm9pZCBSZXNvdXJjZUhhbmRsZTo6cGxhdGZvcm1TZXREZWZlcnNMb2FkaW5n
KGJvb2wgZGVmZXJzTG9hZGluZykKICAgICAvLyBzaW1wbHkgY2hlY2sgZm9yIGQtPm1fc2NoZWR1
bGVkRmFpbHVyZSBiZWNhdXNlIGl0J3MgY2xlYXJlZCBhcwogICAgIC8vIHNvb24gYXMgdGhlIGZh
aWx1cmUgZXZlbnQgaXMgZmlyZWQuCiAgICAgaWYgKCFoYXNCZWVuU2VudCh0aGlzKSAmJiBkLT5t
X3NvdXBSZXF1ZXN0KSB7CisjaWYgRU5BQkxFKFdFQl9USU1JTkcpCisgICAgICAgIGlmIChkLT5t
X3Jlc3BvbnNlLnJlc291cmNlTG9hZFRpbWluZygpKQorICAgICAgICAgICAgZC0+bV9yZXNwb25z
ZS5yZXNvdXJjZUxvYWRUaW1pbmcoKS0+cmVxdWVzdFRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVh
c2luZ1RpbWUoKTsKKyNlbmRpZgogICAgICAgICBkLT5tX2NhbmNlbGxhYmxlID0gYWRvcHRHUmVm
KGdfY2FuY2VsbGFibGVfbmV3KCkpOwogICAgICAgICBzb3VwX3JlcXVlc3Rfc2VuZF9hc3luYyhk
LT5tX3NvdXBSZXF1ZXN0LmdldCgpLCBkLT5tX2NhbmNlbGxhYmxlLmdldCgpLCBzZW5kUmVxdWVz
dENhbGxiYWNrLCB0aGlzKTsKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hh
bmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGRhYjkyZGJlMDU2MGExMWI0YTFlMDYzMWE2
ZDU3ZTZiN2RkNjhjZDEuLmViZjhiNzZiYTYyZGFmZWJiN2M3ZWM3ZGUzNzk1NzMxY2ZiODA3MGYg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNiBAQAorMjAxMS0xMi0yOCAgU2VyZ2lvIFZpbGxhciBTZW5pbiAgPHN2aWxsYXJAaWdh
bGlhLmNvbT4KKworICAgICAgICBbR1RLXSBFbmFibGUgV2ViIFRpbWluZworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDI0MzIKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGVkIHRoZSBqaGJ1aWxkIGxp
YnNvdXAgcmVxdWlyZW1lbnQuIEFsc28gd2ViIHRpbWluZyBpcyBidWlsdAorICAgICAgICBieSBk
ZWZhdWx0IHdoZW5ldmVyIGJ1aWxkLXdlYmtpdCBpcyB1c2VkLgorCisgICAgICAgICogU2NyaXB0
cy9idWlsZC13ZWJraXQ6CisgICAgICAgICogZ3RrL2poYnVpbGQubW9kdWxlczoKKwogMjAxMS0x
Mi0yNCAgS2VudGFybyBIYXJhICA8aGFyYWtlbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgQWRk
IHVuaXR0ZXN0cyBmb3IgdGhlIEMrKyBwYXJzZXIgb2YgcHJlcGFyZS1DaGFuZ2VMb2cKZGlmZiAt
LWdpdCBhL1Rvb2xzL1NjcmlwdHMvYnVpbGQtd2Via2l0IGIvVG9vbHMvU2NyaXB0cy9idWlsZC13
ZWJraXQKaW5kZXggNmQxN2I5YzJmYzBmMmM4YzE3OWYxZGE5ODZjMmFiOTVkNDVhNTUyZC4uMjU4
NzU0NmYzMjIyNzRkOWRmZGFhZGY2OWEwOGNhZjc5YzczZDk4YSAxMDA3NTUKLS0tIGEvVG9vbHMv
U2NyaXB0cy9idWlsZC13ZWJraXQKKysrIGIvVG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQKQEAg
LTMyNSw3ICszMjUsNyBAQCBteSBAZmVhdHVyZXMgPSAoCiAgICAgICBkZWZpbmUgPT4gIkVOQUJM
RV9XRUJfU09DS0VUUyIsIGRlZmF1bHQgPT4gMSwgdmFsdWU9PiBcJHdlYlNvY2tldHNTdXBwb3J0
IH0sCiAKICAgICB7IG9wdGlvbiA9PiAid2ViLXRpbWluZyIsIGRlc2MgPT4gIlRvZ2dsZSBXZWIg
VGltaW5nIHN1cHBvcnQiLAotICAgICAgZGVmaW5lID0+ICJFTkFCTEVfV0VCX1RJTUlORyIsIGRl
ZmF1bHQgPT4gMCwgdmFsdWU9PiBcJHdlYlRpbWluZ1N1cHBvcnQgfSwKKyAgICAgIGRlZmluZSA9
PiAiRU5BQkxFX1dFQl9USU1JTkciLCBkZWZhdWx0ID0+IChpc0d0aygpKSwgdmFsdWU9PiBcJHdl
YlRpbWluZ1N1cHBvcnQgfSwKIAogICAgIHsgb3B0aW9uID0+ICJ3b3JrZXJzIiwgZGVzYyA9PiAi
VG9nZ2xlIFdlYiBXb3JrZXJzIHN1cHBvcnQiLAogICAgICAgZGVmaW5lID0+ICJFTkFCTEVfV09S
S0VSUyIsIGRlZmF1bHQgPT4gKGlzQXBwbGVXZWJLaXQoKSB8fCBpc0d0aygpIHx8IGlzQmxhY2tC
ZXJyeSgpKSwgdmFsdWUgPT4gXCR3b3JrZXJzU3VwcG9ydCB9LApkaWZmIC0tZ2l0IGEvVG9vbHMv
Z3RrL2poYnVpbGQubW9kdWxlcyBiL1Rvb2xzL2d0ay9qaGJ1aWxkLm1vZHVsZXMKaW5kZXggZjFh
MmM1YjlkMDIxMzQ0ZjJmNTdkMDkzZGNjMjZmZWQ2Y2M0NDBmNS4uOTc1MDNmNTEzZmU2ZjAzNTlm
NTYwYjI4NmIzMzEwNWVmZTg4M2VjNiAxMDA2NDQKLS0tIGEvVG9vbHMvZ3RrL2poYnVpbGQubW9k
dWxlcworKysgYi9Ub29scy9ndGsvamhidWlsZC5tb2R1bGVzCkBAIC0xMjgsNyArMTI4LDcgQEAK
ICAgICA8L2RlcGVuZGVuY2llcz4KICAgICA8YnJhbmNoIG1vZHVsZT0ibGlic291cCIgdmVyc2lv
bj0iMi4zNy4yLjErZ2l0IgogICAgICAgICAgICAgcmVwbz0iZ2l0Lmdub21lLm9yZyIKLSAgICAg
ICAgICAgIHRhZz0iNWNiZmM0OGNhZjc2Y2VkMmUyOGVlMDZjOWU0MDUyMzI3MzYwMWRjNiIvPgor
ICAgICAgICAgICAgdGFnPSI3YzJmMTk1NjgwOGIzMWFkZTE5YTVjYjI0ZDE2YTQ2NWFkNTc1NDIx
Ii8+CiAgIDwvYXV0b3Rvb2xzPgogCiAgIDxhdXRvdG9vbHMgaWQ9ImZvbnRjb25maWciIGF1dG9n
ZW4tc2g9ImNvbmZpZ3VyZSI+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggM2VjMTNiY2NiZjA0MDhhMjUzNTE5YjZjNzExZmYw
ZTRlMzEzZGNiYS4uNDI0MmU5MDdlMDQ4YjRmNTM5NzQ5OTk5NjVkYjQyM2U5MjQ2MjhmYiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE1IEBACisyMDExLTEyLTI4ICBTZXJnaW8gVmlsbGFyIFNlbmluICA8c3Zp
bGxhckBpZ2FsaWEuY29tPgorCisgICAgICAgIFtHVEtdIEVuYWJsZSBXZWIgVGltaW5nCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MjQzMgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZWQgc29tZSB0
ZXN0cyB0aGF0IGFyZSB3b3JraW5nIGZpbmUgbm93IGFmdGVyIGFkZGluZyBXZWIKKyAgICAgICAg
VGltaW5nIHN1cHBvcnQuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvU2tpcHBlZDoKKwogMjAx
MS0xMi0yNiAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAgQ2hlY2sg
aW4gZXhwZWN0ZWQgZmFpbHVyZXMgZm9yIGEgY291cGxlIG9mIHRlc3RzLgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9n
dGsvU2tpcHBlZAppbmRleCBiZWU1N2Q2NGZjN2Y3OTgyYjQzNDc0MzA4NDczNjAwMjkwZWFjYjE1
Li4yZmUzNTBiZTYzMjZhZWRkNDdmZmEwMDM2YzU4OGRlM2MyYTE1NGE0IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9ndGsvU2tpcHBlZApAQCAtMjYwLDIwICsyNjAsMTMgQEAgZ2FtZXBhZC8KICMgU3BlZWNoIGlu
cHV0IGlzIG5vdCB5ZXQgZW5hYmxlZC4KIGZhc3Qvc3BlZWNoCiAKLSMgV2ViIFRpbWluZyBpcyBu
b3QgZW5hYmxlZC4KLSMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQy
NDMyCisjIFdlYiBUaW1pbmcgaXNzdWVzCisjIGhlYXAgc2l6ZSBsaW1pdCB1bmRlZmluZWQKIGZh
c3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy1wZXJmb3JtYW5jZS5odG1sCi1mYXN0L2Rv
bS9uYXZpZ2F0aW9uLXR5cGUtYmFjay1mb3J3YXJkLmh0bWwKLWZhc3QvZG9tL25hdmlnYXRpb24t
dHlwZS1uYXZpZ2F0ZS5odG1sCi1mYXN0L2RvbS9uYXZpZ2F0aW9uLXR5cGUtcmVsb2FkLmh0bWwK
LWZhc3QvZG9tL3dlYnRpbWluZy5odG1sCi1mYXN0L2RvbS93ZWJ0aW1pbmctbmF2aWdhdGUtd2l0
aGluLWRvY3VtZW50Lmh0bWwKLWZhc3QvZG9tL3dlYnRpbWluZy1kb2N1bWVudC1vcGVuLmh0bWwK
KyMgY3Jvc3Mtb3JpZ2luIHJlZGlyZWN0cwogaHR0cC90ZXN0cy9taXNjL3dlYnRpbWluZy1vcmln
aW5zLmh0bWwKLWh0dHAvdGVzdHMvbWlzYy93ZWJ0aW1pbmctb25lLXJlZGlyZWN0LnBocAotaHR0
cC90ZXN0cy9taXNjL3dlYnRpbWluZy1zbG93LWxvYWQucGhwCisjIFNTTCBzdGFydCBpcyBnZXR0
aW5nIGEgdmFsdWUgd2hlbiBpdCBzaG91bGQgYXBwYXJlbnRseSBub3QKIGh0dHAvdGVzdHMvbWlz
Yy93ZWJ0aW1pbmctc3NsLnBocAotaHR0cC90ZXN0cy9taXNjL3dlYnRpbWluZy10d28tcmVkaXJl
Y3RzLnBocAogCiAjIEZpbGVTeXN0ZW0gQVBJIGlzIG5vdCBzdXBwb3J0ZWQuCiBmYXN0L2ZpbGVz
eXN0ZW0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>122787</attachid>
            <date>2012-01-17 11:36:49 -0800</date>
            <delta_ts>2012-01-25 07:49:37 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-42432-20120117173606.patch</filename>
            <type>text/plain</type>
            <size>16304</size>
            <attacher name="Gustavo Noronha (kov)">gustavo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA1MTYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTZmODY0Yjg3ZGY2ZGU3
YmE0ZDM3MjgxMWZjYjg5ZTNmZGYwZmE5Ny4uM2M1ODBjMDRkYmNlZWZlMWFjNjljNDc5ZWM2MGM1
YTg5ZmM5MjczOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDEyLTAxLTE3ICBTZXJn
aW8gVmlsbGFyIFNlbmluICA8c3ZpbGxhckBpZ2FsaWEuY29tPgorCisgICAgICAgIFtHVEtdIEVu
YWJsZSBXZWIgVGltaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD00MjQzMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEFkZGVkIFdlYlRpbWluZyBzdXBwb3J0IHRvIHRoZSBHVEsrIHBvcnQuIFdlYlRpbWlu
ZyBhbGxvd3MKKyAgICAgICAgZGV2ZWxvcGVycyB0byBjb2xsZWN0IGRldGFpbGVkIG5ldHdvcmsg
dGltaW5nIGluZm9ybWF0aW9uIHBlcgorICAgICAgICByZXNvdXJjZS4gSXQgcmVxdWlyZXMgdGhl
IG5ldyBTb3VwTWVzc2FnZSdzICJuZXR3b3JrLWV2ZW50IgorICAgICAgICBzaWduYWwuCisKKyAg
ICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBiaW5kaW5ncy9nb2JqZWN0L0dOVW1h
a2VmaWxlLmFtOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRs
ZVNvdXAuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y2xlYW51cFNvdXBSZXF1ZXN0T3BlcmF0aW9u
KToKKyAgICAgICAgKFdlYkNvcmU6OnNlbmRSZXF1ZXN0Q2FsbGJhY2spOgorICAgICAgICAoV2Vi
Q29yZTo6Y3VycmVudFRpbWVNaW51c1JlcXVlc3RUaW1lKToKKyAgICAgICAgKFdlYkNvcmU6Ondy
b3RlQm9keUNhbGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OnJlcXVlc3RTdGFydGVkQ2FsbGJh
Y2spOgorICAgICAgICAoV2ViQ29yZTo6bmV0d29ya0V2ZW50Q2FsbGJhY2spOgorICAgICAgICAo
V2ViQ29yZTo6c3RhcnRIVFRQUmVxdWVzdCk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUhh
bmRsZTo6cGxhdGZvcm1TZXREZWZlcnNMb2FkaW5nKToKKwogMjAxMi0wMS0xNyAgUGV0ZXIgUnli
aW4gIDxwZXRlci5yeWJpbkBnbWFpbC5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogQ29k
ZUdlbmVyYXRvckluc3BlY3Rvci5weTogc3RhcnQgdXNpbmcgdHlwZWRlZnMKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZp
bGUuYW0KaW5kZXggMDk0M2U3MDdhOTk2NWZkNTNlOTNlZTlmMzZlZWViNmQ4YTU5OTRhMS4uNWY3
NzFhYjU2MjFjNTBhNTQxODI1ZmI3Njg1OTliMjEzNDFiNjUyYSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUu
YW0KQEAgLTYwMSw2ICs2MDEsMTQgQEAgRkVBVFVSRV9ERUZJTkVTICs9IEVOQUJMRV9ERVZJQ0Vf
T1JJRU5UQVRJT049MQogd2ViY29yZV9jcHBmbGFncyArPSAtREVOQUJMRV9ERVZJQ0VfT1JJRU5U
QVRJT049MQogZW5kaWYgICMgRU5EIEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04KIAorIyAtLS0K
KyMgV2ViIFRpbWluZyBzdXBwb3J0CisjIC0tLQoraWYgRU5BQkxFX1dFQl9USU1JTkcKK0ZFQVRV
UkVfREVGSU5FUyArPSBFTkFCTEVfV0VCX1RJTUlORz0xCit3ZWJjb3JlX2NwcGZsYWdzICs9IC1E
RU5BQkxFX1dFQl9USU1JTkc9MQorZW5kaWYgICMgRU5EIEVOQUJMRV9XRUJfVElNSU5HCisKIERl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvQ1NTUHJvcGVydHlOYW1lcy5jcHA6IERlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvQ1NTUHJvcGVydHlOYW1lcy5oCiBEZXJpdmVkU291cmNlcy9XZWJDb3JlL0NTU1By
b3BlcnR5TmFtZXMuaDogJChXRUJDT1JFX0NTU19QUk9QRVJUWV9OQU1FUykgJChXZWJDb3JlKS9j
c3MvbWFrZXByb3AucGwKIAljYXQgJChXRUJDT1JFX0NTU19QUk9QRVJUWV9OQU1FUykgPiBDU1NQ
cm9wZXJ0eU5hbWVzLmluCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nb2Jq
ZWN0L0dOVW1ha2VmaWxlLmFtIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9HTlVt
YWtlZmlsZS5hbQppbmRleCA4MGZmMTllMmJkNDIyODdlMjgwYzFiYTRkNDhiNTU3YTliMzZjMGIy
Li40ZDAwN2VhZDFiMzMwODllYjc3ZTFhMjA0NjJmYjFmNmUwMzkwZWVlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L0dOVW1ha2VmaWxlLmFtCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvR05VbWFrZWZpbGUuYW0KQEAgLTQzNiw2ICs0MzYs
MjEgQEAgd2Via2l0Z3RrX2dkb21fYnVpbHRfc291cmNlcyArPSBcCiAJRGVyaXZlZFNvdXJjZXMv
d2Via2l0L1dlYktpdERPTUhUTUxQcm9wZXJ0aWVzQ29sbGVjdGlvblByaXZhdGUuaAogZW5kaWYK
IAorCitpZiBFTkFCTEVfV0VCX1RJTUlORword2Via2l0Z3RrX2J1aWx0X2hfYXBpICs9IFwKKwkk
KHRvcF9idWlsZGRpcikvRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTVBlcmZvcm1hbmNl
LmggXAorCSQodG9wX2J1aWxkZGlyKS9EZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NUGVy
Zm9ybWFuY2VOYXZpZ2F0aW9uLmggXAorCSQodG9wX2J1aWxkZGlyKS9EZXJpdmVkU291cmNlcy93
ZWJraXQvV2ViS2l0RE9NUGVyZm9ybWFuY2VUaW1pbmcuaAord2Via2l0Z3RrX2dkb21fYnVpbHRf
c291cmNlcyArPSBcCisJRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTVBlcmZvcm1hbmNl
LmNwcCBcCisJRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTVBlcmZvcm1hbmNlUHJpdmF0
ZS5oIFwKKwlEZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NUGVyZm9ybWFuY2VOYXZpZ2F0
aW9uLmNwcCBcCisJRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTVBlcmZvcm1hbmNlTmF2
aWdhdGlvblByaXZhdGUuaCBcCisJRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTVBlcmZv
cm1hbmNlVGltaW5nLmNwcCBcCisJRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTVBlcmZv
cm1hbmNlVGltaW5nUHJpdmF0ZS5oCitlbmRpZgorCiBnZG9tX2NsYXNzX2xpc3QgOj0gJChzdWJz
dCBXZWJLaXRET00sLCAkKGZpbHRlci1vdXQgJVByaXZhdGUsICQoYmFzZW5hbWUgJChub3RkaXIg
JCh3ZWJraXRndGtfZ2RvbV9idWlsdF9zb3VyY2VzKSkpKSkKIGdkb21fY2xhc3NfbGlzdCArPSBD
dXN0b20gRXZlbnRUYXJnZXQgT2JqZWN0CiBEZXJpdmVkU291cmNlcy93ZWJraXQvd2Via2l0ZG9t
Lmg6ICQoV2ViQ29yZSkvYmluZGluZ3Mvc2NyaXB0cy9nb2JqZWN0LWdlbmVyYXRlLWhlYWRlcnMu
cGwgJChXZWJDb3JlKS9iaW5kaW5ncy9nb2JqZWN0L0dOVW1ha2VmaWxlLmFtCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3Vw
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRs
ZVNvdXAuY3BwCmluZGV4IDVjYjUzYmRmZjRmYWI1NjkzM2ExMzE5YWM2YmFjN2E2MGZiMDlmZWIu
LjE5MWM1YjdmNWQ4ZTQ4ZWIxZDRjZDU3YmRmYjE2MzIxZjk0NDBiNTUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRs
ZVNvdXAuY3BwCkBAIC0xMzYsNiArMTM2LDcgQEAgc3RhdGljIHZvaWQgc2VuZFJlcXVlc3RDYWxs
YmFjayhHT2JqZWN0KiwgR0FzeW5jUmVzdWx0KiwgZ3BvaW50ZXIpOwogc3RhdGljIHZvaWQgcmVh
ZENhbGxiYWNrKEdPYmplY3QqLCBHQXN5bmNSZXN1bHQqLCBncG9pbnRlcik7CiBzdGF0aWMgdm9p
ZCBjbG9zZUNhbGxiYWNrKEdPYmplY3QqLCBHQXN5bmNSZXN1bHQqLCBncG9pbnRlcik7CiBzdGF0
aWMgYm9vbCBzdGFydE5vbkhUVFBSZXF1ZXN0KFJlc291cmNlSGFuZGxlKiwgS1VSTCk7CitzdGF0
aWMgaW50ICBjdXJyZW50VGltZU1pbnVzUmVxdWVzdFRpbWUoZG91YmxlIHJlcXVlc3RUaW1lKTsK
IAogUmVzb3VyY2VIYW5kbGVJbnRlcm5hbDo6flJlc291cmNlSGFuZGxlSW50ZXJuYWwoKQogewpA
QCAtMjUzLDggKzI1NCw4IEBAIHN0YXRpYyB2b2lkIGNsZWFudXBTb3VwUmVxdWVzdE9wZXJhdGlv
bihSZXNvdXJjZUhhbmRsZSogaGFuZGxlLCBib29sIGlzRGVzdHJveWluCiAgICAgZC0+bV9jYW5j
ZWxsYWJsZS5jbGVhcigpOwogCiAgICAgaWYgKGQtPm1fc291cE1lc3NhZ2UpIHsKLSAgICAgICAg
Z19zaWduYWxfaGFuZGxlcnNfZGlzY29ubmVjdF9tYXRjaGVkKGQtPm1fc291cE1lc3NhZ2UuZ2V0
KCksIEdfU0lHTkFMX01BVENIX0RBVEEsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAwLCAwLCAwLCAwLCBoYW5kbGUpOworICAgICAgICBnX3NpZ25hbF9oYW5k
bGVyc19kaXNjb25uZWN0X21hdGNoZWQoZC0+bV9zb3VwTWVzc2FnZS5nZXQoKSwgR19TSUdOQUxf
TUFUQ0hfREFUQSwgMCwgMCwgMCwgMCwgaGFuZGxlKTsKKyAgICAgICAgZ19zaWduYWxfaGFuZGxl
cnNfZGlzY29ubmVjdF9tYXRjaGVkKGhhbmRsZS0+ZGVmYXVsdFNlc3Npb24oKSwgR19TSUdOQUxf
TUFUQ0hfREFUQSwgMCwgMCwgMCwgMCwgaGFuZGxlKTsKICAgICAgICAgZC0+bV9zb3VwTWVzc2Fn
ZS5jbGVhcigpOwogICAgIH0KIApAQCAtMzAwLDYgKzMwMSwxMSBAQCBzdGF0aWMgdm9pZCBzZW5k
UmVxdWVzdENhbGxiYWNrKEdPYmplY3QqIHNvdXJjZSwgR0FzeW5jUmVzdWx0KiByZXMsIGdwb2lu
dGVyIGRhdAogICAgICAgICByZXR1cm47CiAgICAgfQogCisjaWYgRU5BQkxFKFdFQl9USU1JTkcp
CisgICAgaWYgKGQtPm1fcmVzcG9uc2UucmVzb3VyY2VMb2FkVGltaW5nKCkpCisgICAgICAgIGQt
Pm1fcmVzcG9uc2UucmVzb3VyY2VMb2FkVGltaW5nKCktPnJlY2VpdmVIZWFkZXJzRW5kID0gY3Vy
cmVudFRpbWVNaW51c1JlcXVlc3RUaW1lKGQtPm1fcmVzcG9uc2UucmVzb3VyY2VMb2FkVGltaW5n
KCktPnJlcXVlc3RUaW1lKTsKKyNlbmRpZgorCiAgICAgR093blB0cjxHRXJyb3I+IGVycm9yOwog
ICAgIEdJbnB1dFN0cmVhbSogaW4gPSBzb3VwX3JlcXVlc3Rfc2VuZF9maW5pc2goZC0+bV9zb3Vw
UmVxdWVzdC5nZXQoKSwgcmVzLCAmZXJyb3Iub3V0UHRyKCkpOwogICAgIGlmIChlcnJvcikgewpA
QCAtNDM4LDYgKzQ0NCw5MiBAQCBzdGF0aWMgYm9vbCBhZGRGb3JtRWxlbWVudHNUb1NvdXBNZXNz
YWdlKFNvdXBNZXNzYWdlKiBtZXNzYWdlLCBjb25zdCBjaGFyKiBjb250ZQogICAgIHJldHVybiB0
cnVlOwogfQogCitzdGF0aWMgaW50IGN1cnJlbnRUaW1lTWludXNSZXF1ZXN0VGltZShkb3VibGUg
cmVxdWVzdFRpbWUpCit7CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PGludD4oKG1vbm90b25pY2Fs
bHlJbmNyZWFzaW5nVGltZSgpIC0gcmVxdWVzdFRpbWUpICogMTAwMC4wKTsKK30KKworI2lmIEVO
QUJMRShXRUJfVElNSU5HKQorc3RhdGljIHZvaWQgd3JvdGVCb2R5Q2FsbGJhY2soU291cE1lc3Nh
Z2UgKiwgZ3BvaW50ZXIgZGF0YSkKK3sKKyAgICBSZWZQdHI8UmVzb3VyY2VIYW5kbGU+IGhhbmRs
ZSA9IHN0YXRpY19jYXN0PFJlc291cmNlSGFuZGxlKj4oZGF0YSk7CisgICAgaWYgKCFoYW5kbGUp
CisgICAgICAgIHJldHVybjsKKworICAgIFJlc291cmNlSGFuZGxlSW50ZXJuYWwqIGQgPSBoYW5k
bGUtPmdldEludGVybmFsKCk7CisgICAgaWYgKCFkLT5tX3Jlc3BvbnNlLnJlc291cmNlTG9hZFRp
bWluZygpKQorICAgICAgICByZXR1cm47CisKKyAgICBkLT5tX3Jlc3BvbnNlLnJlc291cmNlTG9h
ZFRpbWluZygpLT5zZW5kRW5kID0gY3VycmVudFRpbWVNaW51c1JlcXVlc3RUaW1lKGQtPm1fcmVz
cG9uc2UucmVzb3VyY2VMb2FkVGltaW5nKCktPnJlcXVlc3RUaW1lKTsKK30KKworc3RhdGljIHZv
aWQgcmVxdWVzdFN0YXJ0ZWRDYWxsYmFjayhTb3VwU2Vzc2lvbiAqLCBTb3VwTWVzc2FnZSAqc291
cE1lc3NhZ2UsIFNvdXBTb2NrZXQgKiwgZ3BvaW50ZXIgZGF0YSkKK3sKKyAgICBSZWZQdHI8UmVz
b3VyY2VIYW5kbGU+IGhhbmRsZSA9IHN0YXRpY19jYXN0PFJlc291cmNlSGFuZGxlKj4oZGF0YSk7
CisgICAgaWYgKCFoYW5kbGUpCisgICAgICAgIHJldHVybjsKKworICAgIFJlc291cmNlSGFuZGxl
SW50ZXJuYWwqIGQgPSBoYW5kbGUtPmdldEludGVybmFsKCk7CisgICAgaWYgKCFkLT5tX3Jlc3Bv
bnNlLnJlc291cmNlTG9hZFRpbWluZygpKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoZC0+
bV9zb3VwTWVzc2FnZS5nZXQoKSAhPSBzb3VwTWVzc2FnZSkKKyAgICAgICAgcmV0dXJuOworCisg
ICAgZC0+bV9yZXNwb25zZS5yZXNvdXJjZUxvYWRUaW1pbmcoKS0+c2VuZFN0YXJ0ID0gY3VycmVu
dFRpbWVNaW51c1JlcXVlc3RUaW1lKGQtPm1fcmVzcG9uc2UucmVzb3VyY2VMb2FkVGltaW5nKCkt
PnJlcXVlc3RUaW1lKTsKK30KKworc3RhdGljIHZvaWQgbmV0d29ya0V2ZW50Q2FsbGJhY2soU291
cE1lc3NhZ2UgKiwgR1NvY2tldENsaWVudEV2ZW50IGV2ZW50LCBHSU9TdHJlYW0gKiwgZ3BvaW50
ZXIgZGF0YSkKK3sKKyAgICBSZXNvdXJjZUhhbmRsZSogaGFuZGxlID0gc3RhdGljX2Nhc3Q8UmVz
b3VyY2VIYW5kbGUqPihkYXRhKTsKKyAgICBpZiAoIWhhbmRsZSkKKyAgICAgICAgcmV0dXJuOwor
ICAgIFJlc291cmNlSGFuZGxlSW50ZXJuYWwqIGQgPSBoYW5kbGUtPmdldEludGVybmFsKCk7Cisg
ICAgaWYgKGQtPm1fY2FuY2VsbGVkKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnQgZGVsdGFU
aW1lID0gY3VycmVudFRpbWVNaW51c1JlcXVlc3RUaW1lKGQtPm1fcmVzcG9uc2UucmVzb3VyY2VM
b2FkVGltaW5nKCktPnJlcXVlc3RUaW1lKTsKKyAgICBzd2l0Y2ggKGV2ZW50KSB7CisgICAgY2Fz
ZSBHX1NPQ0tFVF9DTElFTlRfUkVTT0xWSU5HOgorICAgICAgICBkLT5tX3Jlc3BvbnNlLnJlc291
cmNlTG9hZFRpbWluZygpLT5kbnNTdGFydCA9IGRlbHRhVGltZTsKKyAgICAgICAgYnJlYWs7Cisg
ICAgY2FzZSBHX1NPQ0tFVF9DTElFTlRfUkVTT0xWRUQ6CisgICAgICAgIGQtPm1fcmVzcG9uc2Uu
cmVzb3VyY2VMb2FkVGltaW5nKCktPmRuc0VuZCA9IGRlbHRhVGltZTsKKyAgICAgICAgYnJlYWs7
CisgICAgY2FzZSBHX1NPQ0tFVF9DTElFTlRfQ09OTkVDVElORzoKKyAgICAgICAgZC0+bV9yZXNw
b25zZS5yZXNvdXJjZUxvYWRUaW1pbmcoKS0+Y29ubmVjdFN0YXJ0ID0gZGVsdGFUaW1lOworICAg
ICAgICBpZiAoZC0+bV9yZXNwb25zZS5yZXNvdXJjZUxvYWRUaW1pbmcoKS0+ZG5zU3RhcnQgIT0g
LTEpCisgICAgICAgICAgICAvLyBXZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2VU
aW1pbmdWaWV3LmpzIGFzc3VtZXMgdGhhdCBETlMgdGltZSBpcyBpbmNsdWRlZAorICAgICAgICAg
ICAgLy8gaW4gY29ubmVjdGlvbiB0aW1lIHNvIG11c3Qgc3Vic3RyYWN0IGhlcmUgdGhlIEROUyBk
ZWx0YSB0aGF0IHdpbGwgYmUgYWRkZWQgbGF0ZXIuCisgICAgICAgICAgICBkLT5tX3Jlc3BvbnNl
LnJlc291cmNlTG9hZFRpbWluZygpLT5jb25uZWN0U3RhcnQgLT0KKyAgICAgICAgICAgICAgICBk
LT5tX3Jlc3BvbnNlLnJlc291cmNlTG9hZFRpbWluZygpLT5kbnNFbmQgLSBkLT5tX3Jlc3BvbnNl
LnJlc291cmNlTG9hZFRpbWluZygpLT5kbnNTdGFydDsKKyAgICAgICAgYnJlYWs7CisgICAgY2Fz
ZSBHX1NPQ0tFVF9DTElFTlRfQ09OTkVDVEVEOgorICAgICAgICAvLyBXZWIgVGltaW5nIGNvbnNp
ZGVycyB0aGF0IGNvbm5lY3Rpb24gdGltZSBpbnZvbHZlcyBkbnMsIHByb3h5ICYgVExTIG5lZ290
aWF0aW9uLi4uCisgICAgICAgIC8vIHNvIHdlIGJldHRlciBwaWNrIEdfU09DS0VUX0NMSUVOVF9D
T01QTEVURSBmb3IgY29ubmVjdEVuZAorICAgICAgICBicmVhazsKKyAgICBjYXNlIEdfU09DS0VU
X0NMSUVOVF9QUk9YWV9ORUdPVElBVElORzoKKyAgICAgICAgZC0+bV9yZXNwb25zZS5yZXNvdXJj
ZUxvYWRUaW1pbmcoKS0+cHJveHlTdGFydCA9IGRlbHRhVGltZTsKKyAgICAgICAgYnJlYWs7Cisg
ICAgY2FzZSBHX1NPQ0tFVF9DTElFTlRfUFJPWFlfTkVHT1RJQVRFRDoKKyAgICAgICAgZC0+bV9y
ZXNwb25zZS5yZXNvdXJjZUxvYWRUaW1pbmcoKS0+cHJveHlFbmQgPSBkZWx0YVRpbWU7CisgICAg
ICAgIGJyZWFrOworICAgIGNhc2UgR19TT0NLRVRfQ0xJRU5UX1RMU19IQU5EU0hBS0lORzoKKyAg
ICAgICAgZC0+bV9yZXNwb25zZS5yZXNvdXJjZUxvYWRUaW1pbmcoKS0+c3NsU3RhcnQgPSBkZWx0
YVRpbWU7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgR19TT0NLRVRfQ0xJRU5UX1RMU19IQU5E
U0hBS0VEOgorICAgICAgICBkLT5tX3Jlc3BvbnNlLnJlc291cmNlTG9hZFRpbWluZygpLT5zc2xF
bmQgPSBkZWx0YVRpbWU7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgR19TT0NLRVRfQ0xJRU5U
X0NPTVBMRVRFOgorICAgICAgICBkLT5tX3Jlc3BvbnNlLnJlc291cmNlTG9hZFRpbWluZygpLT5j
b25uZWN0RW5kID0gZGVsdGFUaW1lOworICAgICAgICBicmVhazsKKyAgICBkZWZhdWx0OgorICAg
ICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgYnJlYWs7CisgICAgfQorfQorI2Vu
ZGlmCisKIHN0YXRpYyBib29sIHN0YXJ0SFRUUFJlcXVlc3QoUmVzb3VyY2VIYW5kbGUqIGhhbmRs
ZSkKIHsKICAgICBBU1NFUlQoaGFuZGxlKTsKQEAgLTQ3Myw2ICs1NjUsMTIgQEAgc3RhdGljIGJv
b2wgc3RhcnRIVFRQUmVxdWVzdChSZXNvdXJjZUhhbmRsZSogaGFuZGxlKQogICAgIGdfc2lnbmFs
X2Nvbm5lY3Qoc291cE1lc3NhZ2UsICJyZXN0YXJ0ZWQiLCBHX0NBTExCQUNLKHJlc3RhcnRlZENh
bGxiYWNrKSwgaGFuZGxlKTsKICAgICBnX3NpZ25hbF9jb25uZWN0KHNvdXBNZXNzYWdlLCAid3Jv
dGUtYm9keS1kYXRhIiwgR19DQUxMQkFDSyh3cm90ZUJvZHlEYXRhQ2FsbGJhY2spLCBoYW5kbGUp
OwogCisjaWYgRU5BQkxFKFdFQl9USU1JTkcpCisgICAgZ19zaWduYWxfY29ubmVjdChzb3VwTWVz
c2FnZSwgIm5ldHdvcmstZXZlbnQiLCBHX0NBTExCQUNLKG5ldHdvcmtFdmVudENhbGxiYWNrKSwg
aGFuZGxlKTsKKyAgICBnX3NpZ25hbF9jb25uZWN0KHNvdXBNZXNzYWdlLCAid3JvdGUtYm9keSIs
IEdfQ0FMTEJBQ0sod3JvdGVCb2R5Q2FsbGJhY2spLCBoYW5kbGUpOworICAgIGdfc2lnbmFsX2Nv
bm5lY3Qoc2Vzc2lvbiwgInJlcXVlc3Qtc3RhcnRlZCIsIEdfQ0FMTEJBQ0socmVxdWVzdFN0YXJ0
ZWRDYWxsYmFjayksIGhhbmRsZSk7CisjZW5kaWYKKwogICAgIFN0cmluZyBmaXJzdFBhcnR5U3Ry
aW5nID0gcmVxdWVzdC5maXJzdFBhcnR5Rm9yQ29va2llcygpLnN0cmluZygpOwogICAgIGlmICgh
Zmlyc3RQYXJ0eVN0cmluZy5pc0VtcHR5KCkpIHsKICAgICAgICAgR093blB0cjxTb3VwVVJJPiBm
aXJzdFBhcnR5KHNvdXBfdXJpX25ldyhmaXJzdFBhcnR5U3RyaW5nLnV0ZjgoKS5kYXRhKCkpKTsK
QEAgLTQ4NSw2ICs1ODMsNyBAQCBzdGF0aWMgYm9vbCBzdGFydEhUVFBSZXF1ZXN0KFJlc291cmNl
SGFuZGxlKiBoYW5kbGUpCiAgICAgICAgICYmICFhZGRGb3JtRWxlbWVudHNUb1NvdXBNZXNzYWdl
KHNvdXBNZXNzYWdlLCBjb250ZW50VHlwZS5kYXRhKCksIGh0dHBCb2R5LCBkLT5tX2JvZHlTaXpl
KSkgewogICAgICAgICAvLyBXZSBmYWlsZWQgdG8gcHJlcGFyZSB0aGUgYm9keSBkYXRhLCBzbyBq
dXN0IGZhaWwgdGhpcyBsb2FkLgogICAgICAgICBnX3NpZ25hbF9oYW5kbGVyc19kaXNjb25uZWN0
X21hdGNoZWQoc291cE1lc3NhZ2UsIEdfU0lHTkFMX01BVENIX0RBVEEsIDAsIDAsIDAsIDAsIGhh
bmRsZSk7CisgICAgICAgIGdfc2lnbmFsX2hhbmRsZXJzX2Rpc2Nvbm5lY3RfbWF0Y2hlZChzZXNz
aW9uLCBHX1NJR05BTF9NQVRDSF9EQVRBLCAwLCAwLCAwLCAwLCBoYW5kbGUpOwogICAgICAgICBk
LT5tX3NvdXBNZXNzYWdlLmNsZWFyKCk7CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CkBA
IC00OTIsNiArNTkxLDEwIEBAIHN0YXRpYyBib29sIHN0YXJ0SFRUUFJlcXVlc3QoUmVzb3VyY2VI
YW5kbGUqIGhhbmRsZSkKICAgICAvLyBiYWxhbmNlZCBieSBhIGRlcmVmKCkgaW4gY2xlYW51cFNv
dXBSZXF1ZXN0T3BlcmF0aW9uLCB3aGljaCBzaG91bGQgYWx3YXlzIHJ1bgogICAgIGhhbmRsZS0+
cmVmKCk7CiAKKyNpZiBFTkFCTEUoV0VCX1RJTUlORykKKyAgICBkLT5tX3Jlc3BvbnNlLnNldFJl
c291cmNlTG9hZFRpbWluZyhSZXNvdXJjZUxvYWRUaW1pbmc6OmNyZWF0ZSgpKTsKKyNlbmRpZgor
CiAgICAgLy8gTWFrZSBzdXJlIHdlIGhhdmUgYW4gQWNjZXB0IGhlYWRlciBmb3Igc3VicmVzb3Vy
Y2VzOyBzb21lIHNpdGVzCiAgICAgLy8gd2FudCB0aGlzIHRvIHNlcnZlIHNvbWUgb2YgdGhlaXIg
c3VicmVzb3VyY2VzCiAgICAgaWYgKCFzb3VwX21lc3NhZ2VfaGVhZGVyc19nZXRfb25lKHNvdXBN
ZXNzYWdlLT5yZXF1ZXN0X2hlYWRlcnMsICJBY2NlcHQiKSkKQEAgLTQ5OSw2ICs2MDIsOSBAQCBz
dGF0aWMgYm9vbCBzdGFydEhUVFBSZXF1ZXN0KFJlc291cmNlSGFuZGxlKiBoYW5kbGUpCiAKICAg
ICAvLyBTZW5kIHRoZSByZXF1ZXN0IG9ubHkgaWYgaXQncyBub3QgYmVlbiBleHBsaWNpdGx5IGRl
ZmVycmVkLgogICAgIGlmICghZC0+bV9kZWZlcnNMb2FkaW5nKSB7CisjaWYgRU5BQkxFKFdFQl9U
SU1JTkcpCisgICAgICAgIGQtPm1fcmVzcG9uc2UucmVzb3VyY2VMb2FkVGltaW5nKCktPnJlcXVl
c3RUaW1lID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7CisjZW5kaWYKICAgICAgICAg
ZC0+bV9jYW5jZWxsYWJsZSA9IGFkb3B0R1JlZihnX2NhbmNlbGxhYmxlX25ldygpKTsKICAgICAg
ICAgc291cF9yZXF1ZXN0X3NlbmRfYXN5bmMoZC0+bV9zb3VwUmVxdWVzdC5nZXQoKSwgZC0+bV9j
YW5jZWxsYWJsZS5nZXQoKSwgc2VuZFJlcXVlc3RDYWxsYmFjaywgaGFuZGxlKTsKICAgICB9CkBA
IC01NzgsNiArNjg0LDEwIEBAIHZvaWQgUmVzb3VyY2VIYW5kbGU6OnBsYXRmb3JtU2V0RGVmZXJz
TG9hZGluZyhib29sIGRlZmVyc0xvYWRpbmcpCiAgICAgLy8gc2ltcGx5IGNoZWNrIGZvciBkLT5t
X3NjaGVkdWxlZEZhaWx1cmUgYmVjYXVzZSBpdCdzIGNsZWFyZWQgYXMKICAgICAvLyBzb29uIGFz
IHRoZSBmYWlsdXJlIGV2ZW50IGlzIGZpcmVkLgogICAgIGlmICghaGFzQmVlblNlbnQodGhpcykg
JiYgZC0+bV9zb3VwUmVxdWVzdCkgeworI2lmIEVOQUJMRShXRUJfVElNSU5HKQorICAgICAgICBp
ZiAoZC0+bV9yZXNwb25zZS5yZXNvdXJjZUxvYWRUaW1pbmcoKSkKKyAgICAgICAgICAgIGQtPm1f
cmVzcG9uc2UucmVzb3VyY2VMb2FkVGltaW5nKCktPnJlcXVlc3RUaW1lID0gbW9ub3RvbmljYWxs
eUluY3JlYXNpbmdUaW1lKCk7CisjZW5kaWYKICAgICAgICAgZC0+bV9jYW5jZWxsYWJsZSA9IGFk
b3B0R1JlZihnX2NhbmNlbGxhYmxlX25ldygpKTsKICAgICAgICAgc291cF9yZXF1ZXN0X3NlbmRf
YXN5bmMoZC0+bV9zb3VwUmVxdWVzdC5nZXQoKSwgZC0+bV9jYW5jZWxsYWJsZS5nZXQoKSwgc2Vu
ZFJlcXVlc3RDYWxsYmFjaywgdGhpcyk7CiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1Rv
b2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA1YWI5MmI3OTE2ZGM1MzJlOTY4
NzI2YjJhMjU0MDQ1YjM3ZDRhMTUwLi44MTc4MTI4MzcxNjlhNGZiNzMxZGU2OGMzN2EzYTI1ODll
Mzk4ODY1IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMDEtMTcgIFNlcmdpbyBWaWxsYXIgU2VuaW4gIDxzdmls
bGFyQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0dUS10gRW5hYmxlIFdlYiBUaW1pbmcKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQyNDMyCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlZCB0aGUgamhi
dWlsZCBsaWJzb3VwIHJlcXVpcmVtZW50LiBBbHNvIHdlYiB0aW1pbmcgaXMgYnVpbHQKKyAgICAg
ICAgYnkgZGVmYXVsdCB3aGVuZXZlciBidWlsZC13ZWJraXQgaXMgdXNlZC4KKworICAgICAgICAq
IFNjcmlwdHMvYnVpbGQtd2Via2l0OgorICAgICAgICAqIGd0ay9qaGJ1aWxkLm1vZHVsZXM6CisK
IDIwMTItMDEtMTcgIEd1c3Rhdm8gTm9yb25oYSBTaWx2YSAgPGduc0Bnbm9tZS5vcmc+CiAKICAg
ICAgICAgVW5yZXZpZXdlZC4gRml4IHB5dGhvbiB1bml0IHRlc3QgSSBicm9rZSB3aXRoIHIxMDUx
NDIKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvYnVpbGQtd2Via2l0IGIvVG9vbHMvU2NyaXB0
cy9idWlsZC13ZWJraXQKaW5kZXggMmRlZTU4MDYzMDMwYmNiNmNiN2FiYjMzZmZiNGJhMWY0OGJh
ZmU3Yy4uYTBiYzg0ZWZjMWIxMGRhMDY3NDA5ZTMyNjhjMDhlMGJiMzIzMGJlNSAxMDA3NTUKLS0t
IGEvVG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQKKysrIGIvVG9vbHMvU2NyaXB0cy9idWlsZC13
ZWJraXQKQEAgLTMzMyw3ICszMzMsNyBAQCBteSBAZmVhdHVyZXMgPSAoCiAgICAgICBkZWZpbmUg
PT4gIkVOQUJMRV9XRUJfU09DS0VUUyIsIGRlZmF1bHQgPT4gMSwgdmFsdWU9PiBcJHdlYlNvY2tl
dHNTdXBwb3J0IH0sCiAKICAgICB7IG9wdGlvbiA9PiAid2ViLXRpbWluZyIsIGRlc2MgPT4gIlRv
Z2dsZSBXZWIgVGltaW5nIHN1cHBvcnQiLAotICAgICAgZGVmaW5lID0+ICJFTkFCTEVfV0VCX1RJ
TUlORyIsIGRlZmF1bHQgPT4gMCwgdmFsdWU9PiBcJHdlYlRpbWluZ1N1cHBvcnQgfSwKKyAgICAg
IGRlZmluZSA9PiAiRU5BQkxFX1dFQl9USU1JTkciLCBkZWZhdWx0ID0+IChpc0d0aygpKSwgdmFs
dWU9PiBcJHdlYlRpbWluZ1N1cHBvcnQgfSwKIAogICAgIHsgb3B0aW9uID0+ICJ3b3JrZXJzIiwg
ZGVzYyA9PiAiVG9nZ2xlIFdlYiBXb3JrZXJzIHN1cHBvcnQiLAogICAgICAgZGVmaW5lID0+ICJF
TkFCTEVfV09SS0VSUyIsIGRlZmF1bHQgPT4gKGlzQXBwbGVXZWJLaXQoKSB8fCBpc0d0aygpIHx8
IGlzQmxhY2tCZXJyeSgpKSwgdmFsdWUgPT4gXCR3b3JrZXJzU3VwcG9ydCB9LApkaWZmIC0tZ2l0
IGEvVG9vbHMvZ3RrL2poYnVpbGQubW9kdWxlcyBiL1Rvb2xzL2d0ay9qaGJ1aWxkLm1vZHVsZXMK
aW5kZXggMmRjYmY2MzNhNWRiMWY3NGY5YTM1MzZlNjc5MmNmMzNkZTNkMDU3Yi4uZTQ1ZjQzZTMz
NGM2M2VjNTQ2Nzk2Y2EyOTNmMjUxNGNlNTcyMmU2MSAxMDA2NDQKLS0tIGEvVG9vbHMvZ3RrL2po
YnVpbGQubW9kdWxlcworKysgYi9Ub29scy9ndGsvamhidWlsZC5tb2R1bGVzCkBAIC0xMDYsMTAg
KzEwNiwxMCBAQAogICAgIDxkZXBlbmRlbmNpZXM+CiAgICAgICA8ZGVwIHBhY2thZ2U9ImxpYmZm
aSIvPgogICAgIDwvZGVwZW5kZW5jaWVzPgotICAgIDxicmFuY2ggbW9kdWxlPSIvcHViL0dOT01F
L3NvdXJjZXMvZ2xpYi8yLjMxL2dsaWItMi4zMS4yLnRhci54eiIgdmVyc2lvbj0iMi4zMS4yIgor
ICAgIDxicmFuY2ggbW9kdWxlPSIvcHViL0dOT01FL3NvdXJjZXMvZ2xpYi8yLjMxL2dsaWItMi4z
MS44LnRhci54eiIgdmVyc2lvbj0iMi4zMS44IgogICAgICAgICAgICAgcmVwbz0iZnRwLmdub21l
Lm9yZyIKLSAgICAgICAgICAgIGhhc2g9InNoYTI1NjoxOWQ3OTIxNjcxYTQ4N2MzYzU3NTlhNTdk
ZjdiODUwOGFmZGJhZGQ3NzY0ZDYyYTQ3YTgyZmZmN2IzOTkwMzJiIgotICAgICAgICAgICAgbWQ1
c3VtPSIxY2JkZjMxNGQ3Yzg3OTE2YTBjM2RjZTgzYWMwMjg1ZiIvPgorICAgICAgICAgICAgaGFz
aD0ic2hhMjU2OjFjZTNkMjc1MTg5MDAwZTFjNTBlOTJlZmNkYjY0NDdiYzI2MGIxZTVjNDE2OTli
N2ExOTU5ZTNlMTkyOGZiYWEiCisgICAgICAgICAgICBtZDVzdW09IjY5MDk2NjRmMjlmYWUyZjAw
Y2MzMTgxYzhjNmE2YWE3Ii8+CiAgIDwvYXV0b3Rvb2xzPgogCiAgIDxhdXRvdG9vbHMgaWQ9Imds
aWItbmV0d29ya2luZyI+CkBAIC0xMzgsOSArMTM4LDkgQEAKICAgICA8ZGVwZW5kZW5jaWVzPgog
ICAgICAgPGRlcCBwYWNrYWdlPSJnbGliLW5ldHdvcmtpbmciLz4KICAgICA8L2RlcGVuZGVuY2ll
cz4KLSAgICA8YnJhbmNoIG1vZHVsZT0ibGlic291cCIgdmVyc2lvbj0iMi4zNy4yLjErZ2l0Igor
ICAgIDxicmFuY2ggbW9kdWxlPSJsaWJzb3VwIiB2ZXJzaW9uPSIyLjM3LjUiCiAgICAgICAgICAg
ICByZXBvPSJnaXQuZ25vbWUub3JnIgotICAgICAgICAgICAgdGFnPSI1Y2JmYzQ4Y2FmNzZjZWQy
ZTI4ZWUwNmM5ZTQwNTIzMjczNjAxZGM2Ii8+CisgICAgICAgICAgICB0YWc9IjVlZGRmMWE5ZDJl
MDQxZGU5NTAxMmVjZTNjZjk3ZmJjMjIzNjMwNmQiLz4KICAgPC9hdXRvdG9vbHM+CiAKICAgPGF1
dG90b29scyBpZD0iZm9udGNvbmZpZyIgYXV0b2dlbi1zaD0iY29uZmlndXJlIj4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBh
MmEzY2VhNjJiYTY0OTE1MTU2OTgyYTA3ODNjZGUwNzNhZGZhNWJjLi4yNThkYTZkMTQwYWM2ZjU1
OTdiOTUyYjIxMjg5YmRiYmIzZWExYWE4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTItMDEt
MTcgIFNlcmdpbyBWaWxsYXIgU2VuaW4gIDxzdmlsbGFyQGlnYWxpYS5jb20+CisKKyAgICAgICAg
W0dUS10gRW5hYmxlIFdlYiBUaW1pbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTQyNDMyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgUmVtb3ZlZCBzb21lIHRlc3RzIHRoYXQgYXJlIHdvcmtpbmcgZmluZSBu
b3cgYWZ0ZXIgYWRkaW5nIFdlYgorICAgICAgICBUaW1pbmcgc3VwcG9ydC4KKworICAgICAgICAq
IHBsYXRmb3JtL2d0ay9Ta2lwcGVkOgorCiAyMDEyLTAxLTE3ICBSYWZhZWwgQnJhbmRhbyAgPHJh
ZmFlbC5sb2JvQG9wZW5ib3NzYS5vcmc+CiAKICAgICAgICAgW1F0XVtXSzJdIENyYXNoIGluIGZh
c3QvdGV4dC9yZWdpb25hbC1pbmRpY2F0b3Itc3ltb2Jscy5odG1sCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9T
a2lwcGVkCmluZGV4IDc1ZTM3NDNmMjIzNWY4YmY2NWZjYzEzMTQwNDViOGVkMWJkZjE3YTguLmE3
ZTY2NGY2MGY1OGY5OWFlODQyMTBlY2Q1MmRjOGZmNWM5NzQ3YmQgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0
ay9Ta2lwcGVkCkBAIC0yNjAsMjAgKzI2MCwxMyBAQCBnYW1lcGFkLwogIyBTcGVlY2ggaW5wdXQg
aXMgbm90IHlldCBlbmFibGVkLgogZmFzdC9zcGVlY2gKIAotIyBXZWIgVGltaW5nIGlzIG5vdCBl
bmFibGVkLgotIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDI0MzIK
KyMgV2ViIFRpbWluZyBpc3N1ZXMKKyMgaGVhcCBzaXplIGxpbWl0IHVuZGVmaW5lZAogZmFzdC9k
b20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLXBlcmZvcm1hbmNlLmh0bWwKLWZhc3QvZG9tL25h
dmlnYXRpb24tdHlwZS1iYWNrLWZvcndhcmQuaHRtbAotZmFzdC9kb20vbmF2aWdhdGlvbi10eXBl
LW5hdmlnYXRlLmh0bWwKLWZhc3QvZG9tL25hdmlnYXRpb24tdHlwZS1yZWxvYWQuaHRtbAotZmFz
dC9kb20vd2VidGltaW5nLmh0bWwKLWZhc3QvZG9tL3dlYnRpbWluZy1uYXZpZ2F0ZS13aXRoaW4t
ZG9jdW1lbnQuaHRtbAotZmFzdC9kb20vd2VidGltaW5nLWRvY3VtZW50LW9wZW4uaHRtbAorIyBj
cm9zcy1vcmlnaW4gcmVkaXJlY3RzCiBodHRwL3Rlc3RzL21pc2Mvd2VidGltaW5nLW9yaWdpbnMu
aHRtbAotaHR0cC90ZXN0cy9taXNjL3dlYnRpbWluZy1vbmUtcmVkaXJlY3QucGhwCi1odHRwL3Rl
c3RzL21pc2Mvd2VidGltaW5nLXNsb3ctbG9hZC5waHAKKyMgU1NMIHN0YXJ0IGlzIGdldHRpbmcg
YSB2YWx1ZSB3aGVuIGl0IHNob3VsZCBhcHBhcmVudGx5IG5vdAogaHR0cC90ZXN0cy9taXNjL3dl
YnRpbWluZy1zc2wucGhwCi1odHRwL3Rlc3RzL21pc2Mvd2VidGltaW5nLXR3by1yZWRpcmVjdHMu
cGhwCiAKICMgRmlsZVN5c3RlbSBBUEkgaXMgbm90IHN1cHBvcnRlZC4KIGZhc3QvZmlsZXN5c3Rl
bQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>123939</attachid>
            <date>2012-01-25 07:49:46 -0800</date>
            <delta_ts>2012-01-30 08:02:15 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-42432-20120125164944.patch</filename>
            <type>text/plain</type>
            <size>16645</size>
            <attacher name="Sergio Villar Senin">svillar</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA1ODU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWY0ZTQyMTMxNjViOGJh
OGI3NWU4YWNiYjQxYTgyNzVkZTg4NjgwZC4uYTZhNzJlMzhlZDhmMTQ1NDdhMGM3MjliZjMzZWQ1
YTA3OWU3OTAzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDExLTEyLTI4ICBTZXJn
aW8gVmlsbGFyIFNlbmluICA8c3ZpbGxhckBpZ2FsaWEuY29tPgorCisgICAgICAgIFtHVEtdIEVu
YWJsZSBXZWIgVGltaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD00MjQzMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEFkZGVkIFdlYlRpbWluZyBzdXBwb3J0IHRvIHRoZSBHVEsrIHBvcnQuIFdlYlRpbWlu
ZyBhbGxvd3MKKyAgICAgICAgZGV2ZWxvcGVycyB0byBjb2xsZWN0IGRldGFpbGVkIG5ldHdvcmsg
dGltaW5nIGluZm9ybWF0aW9uIHBlcgorICAgICAgICByZXNvdXJjZS4gSXQgcmVxdWlyZXMgdGhl
IG5ldyBTb3VwTWVzc2FnZSdzICJuZXR3b3JrLWV2ZW50IgorICAgICAgICBzaWduYWwuCisKKyAg
ICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBiaW5kaW5ncy9nb2JqZWN0L0dOVW1h
a2VmaWxlLmFtOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRs
ZVNvdXAuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y2xlYW51cFNvdXBSZXF1ZXN0T3BlcmF0aW9u
KToKKyAgICAgICAgKFdlYkNvcmU6OnNlbmRSZXF1ZXN0Q2FsbGJhY2spOgorICAgICAgICAoV2Vi
Q29yZTo6Y3VycmVudFRpbWVNaW51c1JlcXVlc3RUaW1lKToKKyAgICAgICAgKFdlYkNvcmU6Ondy
b3RlQm9keUNhbGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OnJlcXVlc3RTdGFydGVkQ2FsbGJh
Y2spOgorICAgICAgICAoV2ViQ29yZTo6bmV0d29ya0V2ZW50Q2FsbGJhY2spOgorICAgICAgICAo
V2ViQ29yZTo6c3RhcnRIVFRQUmVxdWVzdCk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUhh
bmRsZTo6cGxhdGZvcm1TZXREZWZlcnNMb2FkaW5nKToKKwogMjAxMi0wMS0yNSAgUm9sYW5kIFN0
ZWluZXIgIDxyb2xhbmRzdGVpbmVyQGNocm9taXVtLm9yZz4KIAogICAgICAgICA8c3R5bGUgc2Nv
cGVkPjogSW1wbGVtZW50IHJlZ2lzdGVyaW5nIG9mIDxzdHlsZSBzY29wZWQ+IHdpdGggdGhlIHNj
b3BpbmcgZWxlbWVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0g
Yi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQppbmRleCAyNGU5ZGUyNWE4YTEyYzJhOWNl
NGY1ZjY2YWE3Nzg3ZTNhYjgzODUzLi41M2EzNTQ2NjE3YTEwMjlkZjU2MGUxMTI0YjI5NjJhNzcz
NTFlMDNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQorKysgYi9T
b3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQpAQCAtNjAyLDYgKzYwMiwxNCBAQCBGRUFUVVJF
X0RFRklORVMgKz0gRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTj0xCiB3ZWJjb3JlX2NwcGZsYWdz
ICs9IC1ERU5BQkxFX0RFVklDRV9PUklFTlRBVElPTj0xCiBlbmRpZiAgIyBFTkQgRU5BQkxFX0RF
VklDRV9PUklFTlRBVElPTgogCisjIC0tLQorIyBXZWIgVGltaW5nIHN1cHBvcnQKKyMgLS0tCitp
ZiBFTkFCTEVfV0VCX1RJTUlORworRkVBVFVSRV9ERUZJTkVTICs9IEVOQUJMRV9XRUJfVElNSU5H
PTEKK3dlYmNvcmVfY3BwZmxhZ3MgKz0gLURFTkFCTEVfV0VCX1RJTUlORz0xCitlbmRpZiAgIyBF
TkQgRU5BQkxFX1dFQl9USU1JTkcKKwogRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9DU1NQcm9wZXJ0
eU5hbWVzLmNwcDogRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9DU1NQcm9wZXJ0eU5hbWVzLmgKIERl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvQ1NTUHJvcGVydHlOYW1lcy5oOiAkKFdFQkNPUkVfQ1NTX1BS
T1BFUlRZX05BTUVTKSAkKFdlYkNvcmUpL2Nzcy9tYWtlcHJvcC5wbAogCSQoQU1fVl9HRU4pCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L0dOVW1ha2VmaWxlLmFt
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9HTlVtYWtlZmlsZS5hbQppbmRleCA4
MGZmMTllMmJkNDIyODdlMjgwYzFiYTRkNDhiNTU3YTliMzZjMGIyLi40ZDAwN2VhZDFiMzMwODll
Yjc3ZTFhMjA0NjJmYjFmNmUwMzkwZWVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9nb2JqZWN0L0dOVW1ha2VmaWxlLmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2dvYmplY3QvR05VbWFrZWZpbGUuYW0KQEAgLTQzNiw2ICs0MzYsMjEgQEAgd2Via2l0Z3RrX2dk
b21fYnVpbHRfc291cmNlcyArPSBcCiAJRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTUhU
TUxQcm9wZXJ0aWVzQ29sbGVjdGlvblByaXZhdGUuaAogZW5kaWYKIAorCitpZiBFTkFCTEVfV0VC
X1RJTUlORword2Via2l0Z3RrX2J1aWx0X2hfYXBpICs9IFwKKwkkKHRvcF9idWlsZGRpcikvRGVy
aXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTVBlcmZvcm1hbmNlLmggXAorCSQodG9wX2J1aWxk
ZGlyKS9EZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NUGVyZm9ybWFuY2VOYXZpZ2F0aW9u
LmggXAorCSQodG9wX2J1aWxkZGlyKS9EZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NUGVy
Zm9ybWFuY2VUaW1pbmcuaAord2Via2l0Z3RrX2dkb21fYnVpbHRfc291cmNlcyArPSBcCisJRGVy
aXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTVBlcmZvcm1hbmNlLmNwcCBcCisJRGVyaXZlZFNv
dXJjZXMvd2Via2l0L1dlYktpdERPTVBlcmZvcm1hbmNlUHJpdmF0ZS5oIFwKKwlEZXJpdmVkU291
cmNlcy93ZWJraXQvV2ViS2l0RE9NUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmNwcCBcCisJRGVyaXZl
ZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTVBlcmZvcm1hbmNlTmF2aWdhdGlvblByaXZhdGUuaCBc
CisJRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTVBlcmZvcm1hbmNlVGltaW5nLmNwcCBc
CisJRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTVBlcmZvcm1hbmNlVGltaW5nUHJpdmF0
ZS5oCitlbmRpZgorCiBnZG9tX2NsYXNzX2xpc3QgOj0gJChzdWJzdCBXZWJLaXRET00sLCAkKGZp
bHRlci1vdXQgJVByaXZhdGUsICQoYmFzZW5hbWUgJChub3RkaXIgJCh3ZWJraXRndGtfZ2RvbV9i
dWlsdF9zb3VyY2VzKSkpKSkKIGdkb21fY2xhc3NfbGlzdCArPSBDdXN0b20gRXZlbnRUYXJnZXQg
T2JqZWN0CiBEZXJpdmVkU291cmNlcy93ZWJraXQvd2Via2l0ZG9tLmg6ICQoV2ViQ29yZSkvYmlu
ZGluZ3Mvc2NyaXB0cy9nb2JqZWN0LWdlbmVyYXRlLWhlYWRlcnMucGwgJChXZWJDb3JlKS9iaW5k
aW5ncy9nb2JqZWN0L0dOVW1ha2VmaWxlLmFtCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwCmluZGV4IDVj
YjUzYmRmZjRmYWI1NjkzM2ExMzE5YWM2YmFjN2E2MGZiMDlmZWIuLjZlNGFjZDlkN2E1Y2M4M2Zk
MDhmNDcxZDQ2NmQ5MzdkZmFmNTc0ZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwCkBAIC0xMzYs
NiArMTM2LDkgQEAgc3RhdGljIHZvaWQgc2VuZFJlcXVlc3RDYWxsYmFjayhHT2JqZWN0KiwgR0Fz
eW5jUmVzdWx0KiwgZ3BvaW50ZXIpOwogc3RhdGljIHZvaWQgcmVhZENhbGxiYWNrKEdPYmplY3Qq
LCBHQXN5bmNSZXN1bHQqLCBncG9pbnRlcik7CiBzdGF0aWMgdm9pZCBjbG9zZUNhbGxiYWNrKEdP
YmplY3QqLCBHQXN5bmNSZXN1bHQqLCBncG9pbnRlcik7CiBzdGF0aWMgYm9vbCBzdGFydE5vbkhU
VFBSZXF1ZXN0KFJlc291cmNlSGFuZGxlKiwgS1VSTCk7CisjaWYgRU5BQkxFKFdFQl9USU1JTkcp
CitzdGF0aWMgaW50ICBjdXJyZW50VGltZU1pbnVzUmVxdWVzdFRpbWUoZG91YmxlIHJlcXVlc3RU
aW1lKTsKKyNlbmRpZgogCiBSZXNvdXJjZUhhbmRsZUludGVybmFsOjp+UmVzb3VyY2VIYW5kbGVJ
bnRlcm5hbCgpCiB7CkBAIC0yMTMsNiArMjE2LDExIEBAIHN0YXRpYyB2b2lkIHJlc3RhcnRlZENh
bGxiYWNrKFNvdXBNZXNzYWdlKiBtc2csIGdwb2ludGVyIGRhdGEpCiAgICAgaWYgKGQtPm1fY2Fu
Y2VsbGVkKQogICAgICAgICByZXR1cm47CiAKKyNpZiBFTkFCTEUoV0VCX1RJTUlORykKKyAgICBk
LT5tX3Jlc3BvbnNlLnNldFJlc291cmNlTG9hZFRpbWluZyhSZXNvdXJjZUxvYWRUaW1pbmc6OmNy
ZWF0ZSgpKTsKKyAgICBkLT5tX3Jlc3BvbnNlLnJlc291cmNlTG9hZFRpbWluZygpLT5yZXF1ZXN0
VGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOworI2VuZGlmCisKICAgICAvLyBV
cGRhdGUgdGhlIGZpcnN0IHBhcnR5IGluIGNhc2UgdGhlIGJhc2UgVVJMIGNoYW5nZWQgd2l0aCB0
aGUgcmVkaXJlY3QKICAgICBTdHJpbmcgZmlyc3RQYXJ0eVN0cmluZyA9IHJlcXVlc3QuZmlyc3RQ
YXJ0eUZvckNvb2tpZXMoKS5zdHJpbmcoKTsKICAgICBpZiAoIWZpcnN0UGFydHlTdHJpbmcuaXNF
bXB0eSgpKSB7CkBAIC0zMDAsNiArMzA4LDExIEBAIHN0YXRpYyB2b2lkIHNlbmRSZXF1ZXN0Q2Fs
bGJhY2soR09iamVjdCogc291cmNlLCBHQXN5bmNSZXN1bHQqIHJlcywgZ3BvaW50ZXIgZGF0CiAg
ICAgICAgIHJldHVybjsKICAgICB9CiAKKyNpZiBFTkFCTEUoV0VCX1RJTUlORykKKyAgICBpZiAo
ZC0+bV9yZXNwb25zZS5yZXNvdXJjZUxvYWRUaW1pbmcoKSkKKyAgICAgICAgZC0+bV9yZXNwb25z
ZS5yZXNvdXJjZUxvYWRUaW1pbmcoKS0+cmVjZWl2ZUhlYWRlcnNFbmQgPSBjdXJyZW50VGltZU1p
bnVzUmVxdWVzdFRpbWUoZC0+bV9yZXNwb25zZS5yZXNvdXJjZUxvYWRUaW1pbmcoKS0+cmVxdWVz
dFRpbWUpOworI2VuZGlmCisKICAgICBHT3duUHRyPEdFcnJvcj4gZXJyb3I7CiAgICAgR0lucHV0
U3RyZWFtKiBpbiA9IHNvdXBfcmVxdWVzdF9zZW5kX2ZpbmlzaChkLT5tX3NvdXBSZXF1ZXN0Lmdl
dCgpLCByZXMsICZlcnJvci5vdXRQdHIoKSk7CiAgICAgaWYgKGVycm9yKSB7CkBAIC00MzgsNiAr
NDUxLDk0IEBAIHN0YXRpYyBib29sIGFkZEZvcm1FbGVtZW50c1RvU291cE1lc3NhZ2UoU291cE1l
c3NhZ2UqIG1lc3NhZ2UsIGNvbnN0IGNoYXIqIGNvbnRlCiAgICAgcmV0dXJuIHRydWU7CiB9CiAK
KyNpZiBFTkFCTEUoV0VCX1RJTUlORykKK3N0YXRpYyBpbnQgY3VycmVudFRpbWVNaW51c1JlcXVl
c3RUaW1lKGRvdWJsZSByZXF1ZXN0VGltZSkKK3sKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8aW50
PigobW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkgLSByZXF1ZXN0VGltZSkgKiAxMDAwLjAp
OworfQorCitzdGF0aWMgdm9pZCB3cm90ZUJvZHlDYWxsYmFjayhTb3VwTWVzc2FnZSAqLCBncG9p
bnRlciBkYXRhKQoreworICAgIFJlZlB0cjxSZXNvdXJjZUhhbmRsZT4gaGFuZGxlID0gc3RhdGlj
X2Nhc3Q8UmVzb3VyY2VIYW5kbGUqPihkYXRhKTsKKyAgICBpZiAoIWhhbmRsZSkKKyAgICAgICAg
cmV0dXJuOworCisgICAgUmVzb3VyY2VIYW5kbGVJbnRlcm5hbCogZCA9IGhhbmRsZS0+Z2V0SW50
ZXJuYWwoKTsKKyAgICBpZiAoIWQtPm1fcmVzcG9uc2UucmVzb3VyY2VMb2FkVGltaW5nKCkpCisg
ICAgICAgIHJldHVybjsKKworICAgIGQtPm1fcmVzcG9uc2UucmVzb3VyY2VMb2FkVGltaW5nKCkt
PnNlbmRFbmQgPSBjdXJyZW50VGltZU1pbnVzUmVxdWVzdFRpbWUoZC0+bV9yZXNwb25zZS5yZXNv
dXJjZUxvYWRUaW1pbmcoKS0+cmVxdWVzdFRpbWUpOworfQorCitzdGF0aWMgdm9pZCByZXF1ZXN0
U3RhcnRlZENhbGxiYWNrKFNvdXBTZXNzaW9uICosIFNvdXBNZXNzYWdlICpzb3VwTWVzc2FnZSwg
U291cFNvY2tldCAqLCBncG9pbnRlciBkYXRhKQoreworICAgIFJlZlB0cjxSZXNvdXJjZUhhbmRs
ZT4gaGFuZGxlID0gc3RhdGljX2Nhc3Q8UmVzb3VyY2VIYW5kbGUqPihnX29iamVjdF9nZXRfZGF0
YShHX09CSkVDVChzb3VwTWVzc2FnZSksICJoYW5kbGUiKSk7CisgICAgaWYgKCFoYW5kbGUpCisg
ICAgICAgIHJldHVybjsKKworICAgIFJlc291cmNlSGFuZGxlSW50ZXJuYWwqIGQgPSBoYW5kbGUt
PmdldEludGVybmFsKCk7CisgICAgaWYgKCFkLT5tX3Jlc3BvbnNlLnJlc291cmNlTG9hZFRpbWlu
ZygpKQorICAgICAgICByZXR1cm47CisKKyAgICBkLT5tX3Jlc3BvbnNlLnJlc291cmNlTG9hZFRp
bWluZygpLT5zZW5kU3RhcnQgPSBjdXJyZW50VGltZU1pbnVzUmVxdWVzdFRpbWUoZC0+bV9yZXNw
b25zZS5yZXNvdXJjZUxvYWRUaW1pbmcoKS0+cmVxdWVzdFRpbWUpOworICAgIGlmIChkLT5tX3Jl
c3BvbnNlLnJlc291cmNlTG9hZFRpbWluZygpLT5zc2xTdGFydCAhPSAtMSkKKyAgICAgICAgLy8g
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlVGltaW5nVmlldy5qcyBhc3N1bWVz
IHRoYXQgU1NMIHRpbWUgaXMgaW5jbHVkZWQKKyAgICAgICAgLy8gaW4gY29ubmVjdGlvbiB0aW1l
IHNvIG11c3Qgc3Vic3RyYWN0IGhlcmUgdGhlIFNTTCBkZWx0YSB0aGF0IHdpbGwgYmUgYWRkZWQg
bGF0ZXIuCisgICAgICAgIGQtPm1fcmVzcG9uc2UucmVzb3VyY2VMb2FkVGltaW5nKCktPnNlbmRT
dGFydCAtPQorICAgICAgICAgICAgZC0+bV9yZXNwb25zZS5yZXNvdXJjZUxvYWRUaW1pbmcoKS0+
c3NsRW5kIC0gZC0+bV9yZXNwb25zZS5yZXNvdXJjZUxvYWRUaW1pbmcoKS0+c3NsU3RhcnQ7Cit9
CisKK3N0YXRpYyB2b2lkIG5ldHdvcmtFdmVudENhbGxiYWNrKFNvdXBNZXNzYWdlICosIEdTb2Nr
ZXRDbGllbnRFdmVudCBldmVudCwgR0lPU3RyZWFtICosIGdwb2ludGVyIGRhdGEpCit7CisgICAg
UmVzb3VyY2VIYW5kbGUqIGhhbmRsZSA9IHN0YXRpY19jYXN0PFJlc291cmNlSGFuZGxlKj4oZGF0
YSk7CisgICAgaWYgKCFoYW5kbGUpCisgICAgICAgIHJldHVybjsKKyAgICBSZXNvdXJjZUhhbmRs
ZUludGVybmFsKiBkID0gaGFuZGxlLT5nZXRJbnRlcm5hbCgpOworICAgIGlmIChkLT5tX2NhbmNl
bGxlZCkKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50IGRlbHRhVGltZSA9IGN1cnJlbnRUaW1l
TWludXNSZXF1ZXN0VGltZShkLT5tX3Jlc3BvbnNlLnJlc291cmNlTG9hZFRpbWluZygpLT5yZXF1
ZXN0VGltZSk7CisgICAgc3dpdGNoIChldmVudCkgeworICAgIGNhc2UgR19TT0NLRVRfQ0xJRU5U
X1JFU09MVklORzoKKyAgICAgICAgZC0+bV9yZXNwb25zZS5yZXNvdXJjZUxvYWRUaW1pbmcoKS0+
ZG5zU3RhcnQgPSBkZWx0YVRpbWU7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgR19TT0NLRVRf
Q0xJRU5UX1JFU09MVkVEOgorICAgICAgICBkLT5tX3Jlc3BvbnNlLnJlc291cmNlTG9hZFRpbWlu
ZygpLT5kbnNFbmQgPSBkZWx0YVRpbWU7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgR19TT0NL
RVRfQ0xJRU5UX0NPTk5FQ1RJTkc6CisgICAgICAgIGQtPm1fcmVzcG9uc2UucmVzb3VyY2VMb2Fk
VGltaW5nKCktPmNvbm5lY3RTdGFydCA9IGRlbHRhVGltZTsKKyAgICAgICAgaWYgKGQtPm1fcmVz
cG9uc2UucmVzb3VyY2VMb2FkVGltaW5nKCktPmRuc1N0YXJ0ICE9IC0xKQorICAgICAgICAgICAg
Ly8gV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlVGltaW5nVmlldy5qcyBhc3N1
bWVzIHRoYXQgRE5TIHRpbWUgaXMgaW5jbHVkZWQKKyAgICAgICAgICAgIC8vIGluIGNvbm5lY3Rp
b24gdGltZSBzbyBtdXN0IHN1YnN0cmFjdCBoZXJlIHRoZSBETlMgZGVsdGEgdGhhdCB3aWxsIGJl
IGFkZGVkIGxhdGVyLgorICAgICAgICAgICAgZC0+bV9yZXNwb25zZS5yZXNvdXJjZUxvYWRUaW1p
bmcoKS0+Y29ubmVjdFN0YXJ0IC09CisgICAgICAgICAgICAgICAgZC0+bV9yZXNwb25zZS5yZXNv
dXJjZUxvYWRUaW1pbmcoKS0+ZG5zRW5kIC0gZC0+bV9yZXNwb25zZS5yZXNvdXJjZUxvYWRUaW1p
bmcoKS0+ZG5zU3RhcnQ7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgR19TT0NLRVRfQ0xJRU5U
X0NPTk5FQ1RFRDoKKyAgICAgICAgLy8gV2ViIFRpbWluZyBjb25zaWRlcnMgdGhhdCBjb25uZWN0
aW9uIHRpbWUgaW52b2x2ZXMgZG5zLCBwcm94eSAmIFRMUyBuZWdvdGlhdGlvbi4uLgorICAgICAg
ICAvLyBzbyB3ZSBiZXR0ZXIgcGljayBHX1NPQ0tFVF9DTElFTlRfQ09NUExFVEUgZm9yIGNvbm5l
Y3RFbmQKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBHX1NPQ0tFVF9DTElFTlRfUFJPWFlfTkVH
T1RJQVRJTkc6CisgICAgICAgIGQtPm1fcmVzcG9uc2UucmVzb3VyY2VMb2FkVGltaW5nKCktPnBy
b3h5U3RhcnQgPSBkZWx0YVRpbWU7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgR19TT0NLRVRf
Q0xJRU5UX1BST1hZX05FR09USUFURUQ6CisgICAgICAgIGQtPm1fcmVzcG9uc2UucmVzb3VyY2VM
b2FkVGltaW5nKCktPnByb3h5RW5kID0gZGVsdGFUaW1lOworICAgICAgICBicmVhazsKKyAgICBj
YXNlIEdfU09DS0VUX0NMSUVOVF9UTFNfSEFORFNIQUtJTkc6CisgICAgICAgIGQtPm1fcmVzcG9u
c2UucmVzb3VyY2VMb2FkVGltaW5nKCktPnNzbFN0YXJ0ID0gZGVsdGFUaW1lOworICAgICAgICBi
cmVhazsKKyAgICBjYXNlIEdfU09DS0VUX0NMSUVOVF9UTFNfSEFORFNIQUtFRDoKKyAgICAgICAg
ZC0+bV9yZXNwb25zZS5yZXNvdXJjZUxvYWRUaW1pbmcoKS0+c3NsRW5kID0gZGVsdGFUaW1lOwor
ICAgICAgICBicmVhazsKKyAgICBjYXNlIEdfU09DS0VUX0NMSUVOVF9DT01QTEVURToKKyAgICAg
ICAgZC0+bV9yZXNwb25zZS5yZXNvdXJjZUxvYWRUaW1pbmcoKS0+Y29ubmVjdEVuZCA9IGRlbHRh
VGltZTsKKyAgICAgICAgYnJlYWs7CisgICAgZGVmYXVsdDoKKyAgICAgICAgQVNTRVJUX05PVF9S
RUFDSEVEKCk7CisgICAgICAgIGJyZWFrOworICAgIH0KK30KKyNlbmRpZgorCiBzdGF0aWMgYm9v
bCBzdGFydEhUVFBSZXF1ZXN0KFJlc291cmNlSGFuZGxlKiBoYW5kbGUpCiB7CiAgICAgQVNTRVJU
KGhhbmRsZSk7CkBAIC00NzMsNiArNTc0LDEyIEBAIHN0YXRpYyBib29sIHN0YXJ0SFRUUFJlcXVl
c3QoUmVzb3VyY2VIYW5kbGUqIGhhbmRsZSkKICAgICBnX3NpZ25hbF9jb25uZWN0KHNvdXBNZXNz
YWdlLCAicmVzdGFydGVkIiwgR19DQUxMQkFDSyhyZXN0YXJ0ZWRDYWxsYmFjayksIGhhbmRsZSk7
CiAgICAgZ19zaWduYWxfY29ubmVjdChzb3VwTWVzc2FnZSwgIndyb3RlLWJvZHktZGF0YSIsIEdf
Q0FMTEJBQ0sod3JvdGVCb2R5RGF0YUNhbGxiYWNrKSwgaGFuZGxlKTsKIAorI2lmIEVOQUJMRShX
RUJfVElNSU5HKQorICAgIGdfc2lnbmFsX2Nvbm5lY3Qoc291cE1lc3NhZ2UsICJuZXR3b3JrLWV2
ZW50IiwgR19DQUxMQkFDSyhuZXR3b3JrRXZlbnRDYWxsYmFjayksIGhhbmRsZSk7CisgICAgZ19z
aWduYWxfY29ubmVjdChzb3VwTWVzc2FnZSwgIndyb3RlLWJvZHkiLCBHX0NBTExCQUNLKHdyb3Rl
Qm9keUNhbGxiYWNrKSwgaGFuZGxlKTsKKyAgICBnX29iamVjdF9zZXRfZGF0YShHX09CSkVDVChz
b3VwTWVzc2FnZSksICJoYW5kbGUiLCBoYW5kbGUpOworI2VuZGlmCisKICAgICBTdHJpbmcgZmly
c3RQYXJ0eVN0cmluZyA9IHJlcXVlc3QuZmlyc3RQYXJ0eUZvckNvb2tpZXMoKS5zdHJpbmcoKTsK
ICAgICBpZiAoIWZpcnN0UGFydHlTdHJpbmcuaXNFbXB0eSgpKSB7CiAgICAgICAgIEdPd25QdHI8
U291cFVSST4gZmlyc3RQYXJ0eShzb3VwX3VyaV9uZXcoZmlyc3RQYXJ0eVN0cmluZy51dGY4KCku
ZGF0YSgpKSk7CkBAIC00OTIsNiArNTk5LDEwIEBAIHN0YXRpYyBib29sIHN0YXJ0SFRUUFJlcXVl
c3QoUmVzb3VyY2VIYW5kbGUqIGhhbmRsZSkKICAgICAvLyBiYWxhbmNlZCBieSBhIGRlcmVmKCkg
aW4gY2xlYW51cFNvdXBSZXF1ZXN0T3BlcmF0aW9uLCB3aGljaCBzaG91bGQgYWx3YXlzIHJ1bgog
ICAgIGhhbmRsZS0+cmVmKCk7CiAKKyNpZiBFTkFCTEUoV0VCX1RJTUlORykKKyAgICBkLT5tX3Jl
c3BvbnNlLnNldFJlc291cmNlTG9hZFRpbWluZyhSZXNvdXJjZUxvYWRUaW1pbmc6OmNyZWF0ZSgp
KTsKKyNlbmRpZgorCiAgICAgLy8gTWFrZSBzdXJlIHdlIGhhdmUgYW4gQWNjZXB0IGhlYWRlciBm
b3Igc3VicmVzb3VyY2VzOyBzb21lIHNpdGVzCiAgICAgLy8gd2FudCB0aGlzIHRvIHNlcnZlIHNv
bWUgb2YgdGhlaXIgc3VicmVzb3VyY2VzCiAgICAgaWYgKCFzb3VwX21lc3NhZ2VfaGVhZGVyc19n
ZXRfb25lKHNvdXBNZXNzYWdlLT5yZXF1ZXN0X2hlYWRlcnMsICJBY2NlcHQiKSkKQEAgLTQ5OSw2
ICs2MTAsOSBAQCBzdGF0aWMgYm9vbCBzdGFydEhUVFBSZXF1ZXN0KFJlc291cmNlSGFuZGxlKiBo
YW5kbGUpCiAKICAgICAvLyBTZW5kIHRoZSByZXF1ZXN0IG9ubHkgaWYgaXQncyBub3QgYmVlbiBl
eHBsaWNpdGx5IGRlZmVycmVkLgogICAgIGlmICghZC0+bV9kZWZlcnNMb2FkaW5nKSB7CisjaWYg
RU5BQkxFKFdFQl9USU1JTkcpCisgICAgICAgIGQtPm1fcmVzcG9uc2UucmVzb3VyY2VMb2FkVGlt
aW5nKCktPnJlcXVlc3RUaW1lID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7CisjZW5k
aWYKICAgICAgICAgZC0+bV9jYW5jZWxsYWJsZSA9IGFkb3B0R1JlZihnX2NhbmNlbGxhYmxlX25l
dygpKTsKICAgICAgICAgc291cF9yZXF1ZXN0X3NlbmRfYXN5bmMoZC0+bV9zb3VwUmVxdWVzdC5n
ZXQoKSwgZC0+bV9jYW5jZWxsYWJsZS5nZXQoKSwgc2VuZFJlcXVlc3RDYWxsYmFjaywgaGFuZGxl
KTsKICAgICB9CkBAIC01NzgsNiArNjkyLDEwIEBAIHZvaWQgUmVzb3VyY2VIYW5kbGU6OnBsYXRm
b3JtU2V0RGVmZXJzTG9hZGluZyhib29sIGRlZmVyc0xvYWRpbmcpCiAgICAgLy8gc2ltcGx5IGNo
ZWNrIGZvciBkLT5tX3NjaGVkdWxlZEZhaWx1cmUgYmVjYXVzZSBpdCdzIGNsZWFyZWQgYXMKICAg
ICAvLyBzb29uIGFzIHRoZSBmYWlsdXJlIGV2ZW50IGlzIGZpcmVkLgogICAgIGlmICghaGFzQmVl
blNlbnQodGhpcykgJiYgZC0+bV9zb3VwUmVxdWVzdCkgeworI2lmIEVOQUJMRShXRUJfVElNSU5H
KQorICAgICAgICBpZiAoZC0+bV9yZXNwb25zZS5yZXNvdXJjZUxvYWRUaW1pbmcoKSkKKyAgICAg
ICAgICAgIGQtPm1fcmVzcG9uc2UucmVzb3VyY2VMb2FkVGltaW5nKCktPnJlcXVlc3RUaW1lID0g
bW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7CisjZW5kaWYKICAgICAgICAgZC0+bV9jYW5j
ZWxsYWJsZSA9IGFkb3B0R1JlZihnX2NhbmNlbGxhYmxlX25ldygpKTsKICAgICAgICAgc291cF9y
ZXF1ZXN0X3NlbmRfYXN5bmMoZC0+bV9zb3VwUmVxdWVzdC5nZXQoKSwgZC0+bV9jYW5jZWxsYWJs
ZS5nZXQoKSwgc2VuZFJlcXVlc3RDYWxsYmFjaywgdGhpcyk7CiAgICAgICAgIHJldHVybjsKQEAg
LTcyNyw4ICs4NDUsMTEgQEAgU291cFNlc3Npb24qIFJlc291cmNlSGFuZGxlOjpkZWZhdWx0U2Vz
c2lvbigpCiAgICAgICAgIHNlc3Npb24gPSBzb3VwX3Nlc3Npb25fYXN5bmNfbmV3KCk7CiAgICAg
ICAgIGdfb2JqZWN0X3NldChzZXNzaW9uLAogICAgICAgICAgICAgICAgICAgICAgU09VUF9TRVNT
SU9OX01BWF9DT05OUywgbWF4Q29ubmVjdGlvbnMsCi0gICAgICAgICAgICAgICAgICAgICBTT1VQ
X1NFU1NJT05fTUFYX0NPTk5TX1BFUl9IT1NULCBtYXhDb25uZWN0aW9uc1Blckhvc3QsIAorICAg
ICAgICAgICAgICAgICAgICAgU09VUF9TRVNTSU9OX01BWF9DT05OU19QRVJfSE9TVCwgbWF4Q29u
bmVjdGlvbnNQZXJIb3N0LAogICAgICAgICAgICAgICAgICAgICAgTlVMTCk7CisjaWYgRU5BQkxF
KFdFQl9USU1JTkcpCisgICAgICAgIGdfc2lnbmFsX2Nvbm5lY3QoR19PQkpFQ1Qoc2Vzc2lvbiks
ICJyZXF1ZXN0LXN0YXJ0ZWQiLCBHX0NBTExCQUNLKHJlcXVlc3RTdGFydGVkQ2FsbGJhY2spLCAw
KTsKKyNlbmRpZgogICAgIH0KIAogICAgIHJldHVybiBzZXNzaW9uOwpkaWZmIC0tZ2l0IGEvVG9v
bHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDMxMjQ0M2MxYWNmNTBhMTAzMjA1
ZmUzYmRiYjFkOTFiY2E2YTg1NzAuLjgxYWZkNWUyNTgzNGIyMDgxNGJiZjU0YjQ0N2UxZDQyOGM4
YzNhMmUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNiBAQAorMjAxMS0xMi0yOCAgU2VyZ2lvIFZpbGxhciBTZW5pbiAgPHN2aWxs
YXJAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXSBFbmFibGUgV2ViIFRpbWluZworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDI0MzIKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGVkIHRoZSBqaGJ1
aWxkIGxpYnNvdXAgcmVxdWlyZW1lbnQuIEFsc28gd2ViIHRpbWluZyBpcyBidWlsdAorICAgICAg
ICBieSBkZWZhdWx0IHdoZW5ldmVyIGJ1aWxkLXdlYmtpdCBpcyB1c2VkLgorCisgICAgICAgICog
U2NyaXB0cy9idWlsZC13ZWJraXQ6CisgICAgICAgICogZ3RrL2poYnVpbGQubW9kdWxlczoKKwog
MjAxMi0wMS0yNSAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAK
ICAgICAgICAgW0dUS10gUGFnZSBjbGllbnRzIGRvbid0IG5lZWQgdG8gYmUgR09iamVjdHMgYW55
bW9yZSBpbiBXZWJLaXQyIEdUSysgQVBJCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL2J1aWxk
LXdlYmtpdCBiL1Rvb2xzL1NjcmlwdHMvYnVpbGQtd2Via2l0CmluZGV4IGI5Yjk5NzIwNmM2NzY0
Y2UyMWQzOGEwZDhjMDU2ZTUxZmYwNjNmMWMuLjM5NDllOTlmZDc3OGQ0ZmZkZDhkYWM4ZTg3Yzcy
ODE4ZmM2YTU5MGIgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvYnVpbGQtd2Via2l0CisrKyBi
L1Rvb2xzL1NjcmlwdHMvYnVpbGQtd2Via2l0CkBAIC0zMzMsNyArMzMzLDcgQEAgbXkgQGZlYXR1
cmVzID0gKAogICAgICAgZGVmaW5lID0+ICJFTkFCTEVfV0VCX1NPQ0tFVFMiLCBkZWZhdWx0ID0+
IDEsIHZhbHVlPT4gXCR3ZWJTb2NrZXRzU3VwcG9ydCB9LAogCiAgICAgeyBvcHRpb24gPT4gIndl
Yi10aW1pbmciLCBkZXNjID0+ICJUb2dnbGUgV2ViIFRpbWluZyBzdXBwb3J0IiwKLSAgICAgIGRl
ZmluZSA9PiAiRU5BQkxFX1dFQl9USU1JTkciLCBkZWZhdWx0ID0+IDAsIHZhbHVlPT4gXCR3ZWJU
aW1pbmdTdXBwb3J0IH0sCisgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9XRUJfVElNSU5HIiwgZGVm
YXVsdCA9PiAoaXNHdGsoKSksIHZhbHVlPT4gXCR3ZWJUaW1pbmdTdXBwb3J0IH0sCiAKICAgICB7
IG9wdGlvbiA9PiAid29ya2VycyIsIGRlc2MgPT4gIlRvZ2dsZSBXZWIgV29ya2VycyBzdXBwb3J0
IiwKICAgICAgIGRlZmluZSA9PiAiRU5BQkxFX1dPUktFUlMiLCBkZWZhdWx0ID0+IChpc0FwcGxl
V2ViS2l0KCkgfHwgaXNHdGsoKSB8fCBpc0JsYWNrQmVycnkoKSksIHZhbHVlID0+IFwkd29ya2Vy
c1N1cHBvcnQgfSwKZGlmZiAtLWdpdCBhL1Rvb2xzL2d0ay9qaGJ1aWxkLm1vZHVsZXMgYi9Ub29s
cy9ndGsvamhidWlsZC5tb2R1bGVzCmluZGV4IDE5OTEwZDU4Y2JjY2EzOTkyMmEzNmVlM2E1YTZl
MTU0OTQ1ODZmMWMuLmNlMmFiNTBhYzJmMTAyYTA0MjRhMjJkMjVjMDQ3OWQwMGUxYTMxNWMgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL2d0ay9qaGJ1aWxkLm1vZHVsZXMKKysrIGIvVG9vbHMvZ3RrL2poYnVp
bGQubW9kdWxlcwpAQCAtMTA4LDEwICsxMDgsMTAgQEAKICAgICA8ZGVwZW5kZW5jaWVzPgogICAg
ICAgPGRlcCBwYWNrYWdlPSJsaWJmZmkiLz4KICAgICA8L2RlcGVuZGVuY2llcz4KLSAgICA8YnJh
bmNoIG1vZHVsZT0iL3B1Yi9HTk9NRS9zb3VyY2VzL2dsaWIvMi4zMS9nbGliLTIuMzEuMi50YXIu
eHoiIHZlcnNpb249IjIuMzEuMiIKKyAgICA8YnJhbmNoIG1vZHVsZT0iL3B1Yi9HTk9NRS9zb3Vy
Y2VzL2dsaWIvMi4zMS9nbGliLTIuMzEuOC50YXIueHoiIHZlcnNpb249IjIuMzEuOCIKICAgICAg
ICAgICAgIHJlcG89ImZ0cC5nbm9tZS5vcmciCi0gICAgICAgICAgICBoYXNoPSJzaGEyNTY6MTlk
NzkyMTY3MWE0ODdjM2M1NzU5YTU3ZGY3Yjg1MDhhZmRiYWRkNzc2NGQ2MmE0N2E4MmZmZjdiMzk5
MDMyYiIKLSAgICAgICAgICAgIG1kNXN1bT0iMWNiZGYzMTRkN2M4NzkxNmEwYzNkY2U4M2FjMDI4
NWYiLz4KKyAgICAgICAgICAgIGhhc2g9InNoYTI1NjoxY2UzZDI3NTE4OTAwMGUxYzUwZTkyZWZj
ZGI2NDQ3YmMyNjBiMWU1YzQxNjk5YjdhMTk1OWUzZTE5MjhmYmFhIgorICAgICAgICAgICAgbWQ1
c3VtPSI2OTA5NjY0ZjI5ZmFlMmYwMGNjMzE4MWM4YzZhNmFhNyIvPgogICA8L2F1dG90b29scz4K
IAogICA8YXV0b3Rvb2xzIGlkPSJnbGliLW5ldHdvcmtpbmciPgpAQCAtMTQwLDkgKzE0MCw5IEBA
CiAgICAgPGRlcGVuZGVuY2llcz4KICAgICAgIDxkZXAgcGFja2FnZT0iZ2xpYi1uZXR3b3JraW5n
Ii8+CiAgICAgPC9kZXBlbmRlbmNpZXM+Ci0gICAgPGJyYW5jaCBtb2R1bGU9ImxpYnNvdXAiIHZl
cnNpb249IjIuMzcuMi4xK2dpdCIKKyAgICA8YnJhbmNoIG1vZHVsZT0ibGlic291cCIgdmVyc2lv
bj0iMi4zNy40K2dpdCIKICAgICAgICAgICAgIHJlcG89ImdpdC5nbm9tZS5vcmciCi0gICAgICAg
ICAgICB0YWc9IjVjYmZjNDhjYWY3NmNlZDJlMjhlZTA2YzllNDA1MjMyNzM2MDFkYzYiLz4KKyAg
ICAgICAgICAgIHRhZz0iYjkyYmU0MzQ3Yzk4MTIwNWNhMmZiNDM2MmY4ZjAzMzAxZDFhYjkwNSIv
PgogICA8L2F1dG90b29scz4KIAogICA8YXV0b3Rvb2xzIGlkPSJmb250Y29uZmlnIiBhdXRvZ2Vu
LXNoPSJjb25maWd1cmUiPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGVhMGEyYmE4ZTEwNDFkZWExOTZjOTdhMDJmZTdkMDA1
Y2Q4NjkzOTYuLjVkM2VkODFkNjJhNmNjZWIxYmQ2NDU3MWIzYWM2N2Q1MDQ1YzY3ODUgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNSBAQAorMjAxMS0xMi0yOCAgU2VyZ2lvIFZpbGxhciBTZW5pbiAgPHN2aWxs
YXJAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXSBFbmFibGUgV2ViIFRpbWluZworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDI0MzIKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW1vdmVkIHNvbWUgdGVz
dHMgdGhhdCBhcmUgd29ya2luZyBmaW5lIG5vdyBhZnRlciBhZGRpbmcgV2ViCisgICAgICAgIFRp
bWluZyBzdXBwb3J0LgorCisgICAgICAgICogcGxhdGZvcm0vZ3RrL1NraXBwZWQ6CisKIDIwMTIt
MDEtMjUgIENzYWJhIE9zenRyb2dvbsOhYyAgPG9zc3lAd2Via2l0Lm9yZz4KIAogICAgICAgICBV
bnNraXAgbm93IHBhc3NpbmcgdGVzdHMgYWZ0ZXIgcjEwNTgxMy4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Nr
aXBwZWQKaW5kZXggMzRkOTdjYmZkNGViZTgwOWQ0MzVhMjc2YWUxZjZiMzkzM2UyZDFmMC4uYWM1
ZWU5ZWJmYmYxMjIyMTdlZDQ4ZGZlZjE2NTRiOGM0MGE0ZjgxMiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3Rr
L1NraXBwZWQKQEAgLTI1NywyMCArMjU3LDEzIEBAIGdhbWVwYWQvCiAjIFNwZWVjaCBpbnB1dCBp
cyBub3QgeWV0IGVuYWJsZWQuCiBmYXN0L3NwZWVjaAogCi0jIFdlYiBUaW1pbmcgaXMgbm90IGVu
YWJsZWQuCi0jIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MjQzMgor
IyBXZWIgVGltaW5nIGlzc3VlcworIyBoZWFwIHNpemUgbGltaXQgdW5kZWZpbmVkCiBmYXN0L2Rv
bS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtcGVyZm9ybWFuY2UuaHRtbAotZmFzdC9kb20vbmF2
aWdhdGlvbi10eXBlLWJhY2stZm9yd2FyZC5odG1sCi1mYXN0L2RvbS9uYXZpZ2F0aW9uLXR5cGUt
bmF2aWdhdGUuaHRtbAotZmFzdC9kb20vbmF2aWdhdGlvbi10eXBlLXJlbG9hZC5odG1sCi1mYXN0
L2RvbS93ZWJ0aW1pbmcuaHRtbAotZmFzdC9kb20vd2VidGltaW5nLW5hdmlnYXRlLXdpdGhpbi1k
b2N1bWVudC5odG1sCi1mYXN0L2RvbS93ZWJ0aW1pbmctZG9jdW1lbnQtb3Blbi5odG1sCisjIGNy
b3NzLW9yaWdpbiByZWRpcmVjdHMKIGh0dHAvdGVzdHMvbWlzYy93ZWJ0aW1pbmctb3JpZ2lucy5o
dG1sCi1odHRwL3Rlc3RzL21pc2Mvd2VidGltaW5nLW9uZS1yZWRpcmVjdC5waHAKLWh0dHAvdGVz
dHMvbWlzYy93ZWJ0aW1pbmctc2xvdy1sb2FkLnBocAorIyBTU0wgc3RhcnQgaXMgZ2V0dGluZyBh
IHZhbHVlIHdoZW4gaXQgc2hvdWxkIGFwcGFyZW50bHkgbm90CiBodHRwL3Rlc3RzL21pc2Mvd2Vi
dGltaW5nLXNzbC5waHAKLWh0dHAvdGVzdHMvbWlzYy93ZWJ0aW1pbmctdHdvLXJlZGlyZWN0cy5w
aHAKIAogIyBGaWxlU3lzdGVtIEFQSSBpcyBub3Qgc3VwcG9ydGVkLgogZmFzdC9maWxlc3lzdGVt
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>124552</attachid>
            <date>2012-01-30 08:02:24 -0800</date>
            <delta_ts>2012-01-30 08:28:59 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-42432-20120130140124.patch</filename>
            <type>text/plain</type>
            <size>17145</size>
            <attacher name="Gustavo Noronha (kov)">gustavo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA2MjAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWQ0MjYxN2UzZGNkYWJj
YWRkNGUwM2NjZjI0ZDVmYTU2ZmNjYThjOS4uZjMxZDEyOGNmYTE3OWM1YmVkYWY0NzViNzdiZTA5
ZDdlNGI4ZjIzOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDExLTEyLTI4ICBTZXJn
aW8gVmlsbGFyIFNlbmluICA8c3ZpbGxhckBpZ2FsaWEuY29tPgorCisgICAgICAgIFtHVEtdIEVu
YWJsZSBXZWIgVGltaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD00MjQzMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEFkZGVkIFdlYlRpbWluZyBzdXBwb3J0IHRvIHRoZSBHVEsrIHBvcnQuIFdlYlRpbWlu
ZyBhbGxvd3MKKyAgICAgICAgZGV2ZWxvcGVycyB0byBjb2xsZWN0IGRldGFpbGVkIG5ldHdvcmsg
dGltaW5nIGluZm9ybWF0aW9uIHBlcgorICAgICAgICByZXNvdXJjZS4gSXQgcmVxdWlyZXMgdGhl
IG5ldyBTb3VwTWVzc2FnZSdzICJuZXR3b3JrLWV2ZW50IgorICAgICAgICBzaWduYWwuCisKKyAg
ICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBiaW5kaW5ncy9nb2JqZWN0L0dOVW1h
a2VmaWxlLmFtOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRs
ZVNvdXAuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y2xlYW51cFNvdXBSZXF1ZXN0T3BlcmF0aW9u
KToKKyAgICAgICAgKFdlYkNvcmU6OnNlbmRSZXF1ZXN0Q2FsbGJhY2spOgorICAgICAgICAoV2Vi
Q29yZTo6Y3VycmVudFRpbWVNaW51c1JlcXVlc3RUaW1lKToKKyAgICAgICAgKFdlYkNvcmU6Ondy
b3RlQm9keUNhbGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OnJlcXVlc3RTdGFydGVkQ2FsbGJh
Y2spOgorICAgICAgICAoV2ViQ29yZTo6bmV0d29ya0V2ZW50Q2FsbGJhY2spOgorICAgICAgICAo
V2ViQ29yZTo6c3RhcnRIVFRQUmVxdWVzdCk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUhh
bmRsZTo6cGxhdGZvcm1TZXREZWZlcnNMb2FkaW5nKToKKwogMjAxMi0wMS0yOSAgTm9lbCBHb3Jk
b24gIDxub2VsLmdvcmRvbkBnbWFpbC5jb20+CiAKICAgICAgICAgW2Nocm9taXVtXSBVc2UgZGVj
b2Rpbmcgc3dpenpsZSBvbmx5IG9uIGxpYmpwZWctdHVyYm8gMS4xLjkwKwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmls
ZS5hbQppbmRleCBjODE1ZDdiMWM5NzU2NGVhN2Q3NjViYjQ3ZjZlOTljYWQ1ZjViMDZkLi4zNGUx
OTZjNWVhYmU1NmQ3MTQzMzAwZDY5OWIxYzkwZGZlMGQ1MDMyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9HTlVtYWtlZmlsZS5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5h
bQpAQCAtNjEwLDYgKzYxMCwxNCBAQCBGRUFUVVJFX0RFRklORVMgKz0gRU5BQkxFX0RFVklDRV9P
UklFTlRBVElPTj0xCiB3ZWJjb3JlX2NwcGZsYWdzICs9IC1ERU5BQkxFX0RFVklDRV9PUklFTlRB
VElPTj0xCiBlbmRpZiAgIyBFTkQgRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTgogCisjIC0tLQor
IyBXZWIgVGltaW5nIHN1cHBvcnQKKyMgLS0tCitpZiBFTkFCTEVfV0VCX1RJTUlORworRkVBVFVS
RV9ERUZJTkVTICs9IEVOQUJMRV9XRUJfVElNSU5HPTEKK3dlYmNvcmVfY3BwZmxhZ3MgKz0gLURF
TkFCTEVfV0VCX1RJTUlORz0xCitlbmRpZiAgIyBFTkQgRU5BQkxFX1dFQl9USU1JTkcKKwogRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9DU1NQcm9wZXJ0eU5hbWVzLmNwcDogRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9DU1NQcm9wZXJ0eU5hbWVzLmgKIERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvQ1NTUHJv
cGVydHlOYW1lcy5oOiAkKFdFQkNPUkVfQ1NTX1BST1BFUlRZX05BTUVTKSAkKFdlYkNvcmUpL2Nz
cy9tYWtlcHJvcC5wbAogCSQoQU1fVl9HRU4pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9nb2JqZWN0L0dOVW1ha2VmaWxlLmFtIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
Z29iamVjdC9HTlVtYWtlZmlsZS5hbQppbmRleCA4MGZmMTllMmJkNDIyODdlMjgwYzFiYTRkNDhi
NTU3YTliMzZjMGIyLi40ZDAwN2VhZDFiMzMwODllYjc3ZTFhMjA0NjJmYjFmNmUwMzkwZWVlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L0dOVW1ha2VmaWxlLmFt
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvR05VbWFrZWZpbGUuYW0KQEAg
LTQzNiw2ICs0MzYsMjEgQEAgd2Via2l0Z3RrX2dkb21fYnVpbHRfc291cmNlcyArPSBcCiAJRGVy
aXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTUhUTUxQcm9wZXJ0aWVzQ29sbGVjdGlvblByaXZh
dGUuaAogZW5kaWYKIAorCitpZiBFTkFCTEVfV0VCX1RJTUlORword2Via2l0Z3RrX2J1aWx0X2hf
YXBpICs9IFwKKwkkKHRvcF9idWlsZGRpcikvRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERP
TVBlcmZvcm1hbmNlLmggXAorCSQodG9wX2J1aWxkZGlyKS9EZXJpdmVkU291cmNlcy93ZWJraXQv
V2ViS2l0RE9NUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmggXAorCSQodG9wX2J1aWxkZGlyKS9EZXJp
dmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NUGVyZm9ybWFuY2VUaW1pbmcuaAord2Via2l0Z3Rr
X2dkb21fYnVpbHRfc291cmNlcyArPSBcCisJRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERP
TVBlcmZvcm1hbmNlLmNwcCBcCisJRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTVBlcmZv
cm1hbmNlUHJpdmF0ZS5oIFwKKwlEZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NUGVyZm9y
bWFuY2VOYXZpZ2F0aW9uLmNwcCBcCisJRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTVBl
cmZvcm1hbmNlTmF2aWdhdGlvblByaXZhdGUuaCBcCisJRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dl
YktpdERPTVBlcmZvcm1hbmNlVGltaW5nLmNwcCBcCisJRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dl
YktpdERPTVBlcmZvcm1hbmNlVGltaW5nUHJpdmF0ZS5oCitlbmRpZgorCiBnZG9tX2NsYXNzX2xp
c3QgOj0gJChzdWJzdCBXZWJLaXRET00sLCAkKGZpbHRlci1vdXQgJVByaXZhdGUsICQoYmFzZW5h
bWUgJChub3RkaXIgJCh3ZWJraXRndGtfZ2RvbV9idWlsdF9zb3VyY2VzKSkpKSkKIGdkb21fY2xh
c3NfbGlzdCArPSBDdXN0b20gRXZlbnRUYXJnZXQgT2JqZWN0CiBEZXJpdmVkU291cmNlcy93ZWJr
aXQvd2Via2l0ZG9tLmg6ICQoV2ViQ29yZSkvYmluZGluZ3Mvc2NyaXB0cy9nb2JqZWN0LWdlbmVy
YXRlLWhlYWRlcnMucGwgJChXZWJDb3JlKS9iaW5kaW5ncy9nb2JqZWN0L0dOVW1ha2VmaWxlLmFt
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3Vy
Y2VIYW5kbGVTb3VwLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9S
ZXNvdXJjZUhhbmRsZVNvdXAuY3BwCmluZGV4IDVjYjUzYmRmZjRmYWI1NjkzM2ExMzE5YWM2YmFj
N2E2MGZiMDlmZWIuLjZlNGFjZDlkN2E1Y2M4M2ZkMDhmNDcxZDQ2NmQ5MzdkZmFmNTc0ZWEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhh
bmRsZVNvdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9S
ZXNvdXJjZUhhbmRsZVNvdXAuY3BwCkBAIC0xMzYsNiArMTM2LDkgQEAgc3RhdGljIHZvaWQgc2Vu
ZFJlcXVlc3RDYWxsYmFjayhHT2JqZWN0KiwgR0FzeW5jUmVzdWx0KiwgZ3BvaW50ZXIpOwogc3Rh
dGljIHZvaWQgcmVhZENhbGxiYWNrKEdPYmplY3QqLCBHQXN5bmNSZXN1bHQqLCBncG9pbnRlcik7
CiBzdGF0aWMgdm9pZCBjbG9zZUNhbGxiYWNrKEdPYmplY3QqLCBHQXN5bmNSZXN1bHQqLCBncG9p
bnRlcik7CiBzdGF0aWMgYm9vbCBzdGFydE5vbkhUVFBSZXF1ZXN0KFJlc291cmNlSGFuZGxlKiwg
S1VSTCk7CisjaWYgRU5BQkxFKFdFQl9USU1JTkcpCitzdGF0aWMgaW50ICBjdXJyZW50VGltZU1p
bnVzUmVxdWVzdFRpbWUoZG91YmxlIHJlcXVlc3RUaW1lKTsKKyNlbmRpZgogCiBSZXNvdXJjZUhh
bmRsZUludGVybmFsOjp+UmVzb3VyY2VIYW5kbGVJbnRlcm5hbCgpCiB7CkBAIC0yMTMsNiArMjE2
LDExIEBAIHN0YXRpYyB2b2lkIHJlc3RhcnRlZENhbGxiYWNrKFNvdXBNZXNzYWdlKiBtc2csIGdw
b2ludGVyIGRhdGEpCiAgICAgaWYgKGQtPm1fY2FuY2VsbGVkKQogICAgICAgICByZXR1cm47CiAK
KyNpZiBFTkFCTEUoV0VCX1RJTUlORykKKyAgICBkLT5tX3Jlc3BvbnNlLnNldFJlc291cmNlTG9h
ZFRpbWluZyhSZXNvdXJjZUxvYWRUaW1pbmc6OmNyZWF0ZSgpKTsKKyAgICBkLT5tX3Jlc3BvbnNl
LnJlc291cmNlTG9hZFRpbWluZygpLT5yZXF1ZXN0VGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFz
aW5nVGltZSgpOworI2VuZGlmCisKICAgICAvLyBVcGRhdGUgdGhlIGZpcnN0IHBhcnR5IGluIGNh
c2UgdGhlIGJhc2UgVVJMIGNoYW5nZWQgd2l0aCB0aGUgcmVkaXJlY3QKICAgICBTdHJpbmcgZmly
c3RQYXJ0eVN0cmluZyA9IHJlcXVlc3QuZmlyc3RQYXJ0eUZvckNvb2tpZXMoKS5zdHJpbmcoKTsK
ICAgICBpZiAoIWZpcnN0UGFydHlTdHJpbmcuaXNFbXB0eSgpKSB7CkBAIC0zMDAsNiArMzA4LDEx
IEBAIHN0YXRpYyB2b2lkIHNlbmRSZXF1ZXN0Q2FsbGJhY2soR09iamVjdCogc291cmNlLCBHQXN5
bmNSZXN1bHQqIHJlcywgZ3BvaW50ZXIgZGF0CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKKyNp
ZiBFTkFCTEUoV0VCX1RJTUlORykKKyAgICBpZiAoZC0+bV9yZXNwb25zZS5yZXNvdXJjZUxvYWRU
aW1pbmcoKSkKKyAgICAgICAgZC0+bV9yZXNwb25zZS5yZXNvdXJjZUxvYWRUaW1pbmcoKS0+cmVj
ZWl2ZUhlYWRlcnNFbmQgPSBjdXJyZW50VGltZU1pbnVzUmVxdWVzdFRpbWUoZC0+bV9yZXNwb25z
ZS5yZXNvdXJjZUxvYWRUaW1pbmcoKS0+cmVxdWVzdFRpbWUpOworI2VuZGlmCisKICAgICBHT3du
UHRyPEdFcnJvcj4gZXJyb3I7CiAgICAgR0lucHV0U3RyZWFtKiBpbiA9IHNvdXBfcmVxdWVzdF9z
ZW5kX2ZpbmlzaChkLT5tX3NvdXBSZXF1ZXN0LmdldCgpLCByZXMsICZlcnJvci5vdXRQdHIoKSk7
CiAgICAgaWYgKGVycm9yKSB7CkBAIC00MzgsNiArNDUxLDk0IEBAIHN0YXRpYyBib29sIGFkZEZv
cm1FbGVtZW50c1RvU291cE1lc3NhZ2UoU291cE1lc3NhZ2UqIG1lc3NhZ2UsIGNvbnN0IGNoYXIq
IGNvbnRlCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKKyNpZiBFTkFCTEUoV0VCX1RJTUlORykKK3N0
YXRpYyBpbnQgY3VycmVudFRpbWVNaW51c1JlcXVlc3RUaW1lKGRvdWJsZSByZXF1ZXN0VGltZSkK
K3sKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8aW50PigobW9ub3RvbmljYWxseUluY3JlYXNpbmdU
aW1lKCkgLSByZXF1ZXN0VGltZSkgKiAxMDAwLjApOworfQorCitzdGF0aWMgdm9pZCB3cm90ZUJv
ZHlDYWxsYmFjayhTb3VwTWVzc2FnZSAqLCBncG9pbnRlciBkYXRhKQoreworICAgIFJlZlB0cjxS
ZXNvdXJjZUhhbmRsZT4gaGFuZGxlID0gc3RhdGljX2Nhc3Q8UmVzb3VyY2VIYW5kbGUqPihkYXRh
KTsKKyAgICBpZiAoIWhhbmRsZSkKKyAgICAgICAgcmV0dXJuOworCisgICAgUmVzb3VyY2VIYW5k
bGVJbnRlcm5hbCogZCA9IGhhbmRsZS0+Z2V0SW50ZXJuYWwoKTsKKyAgICBpZiAoIWQtPm1fcmVz
cG9uc2UucmVzb3VyY2VMb2FkVGltaW5nKCkpCisgICAgICAgIHJldHVybjsKKworICAgIGQtPm1f
cmVzcG9uc2UucmVzb3VyY2VMb2FkVGltaW5nKCktPnNlbmRFbmQgPSBjdXJyZW50VGltZU1pbnVz
UmVxdWVzdFRpbWUoZC0+bV9yZXNwb25zZS5yZXNvdXJjZUxvYWRUaW1pbmcoKS0+cmVxdWVzdFRp
bWUpOworfQorCitzdGF0aWMgdm9pZCByZXF1ZXN0U3RhcnRlZENhbGxiYWNrKFNvdXBTZXNzaW9u
ICosIFNvdXBNZXNzYWdlICpzb3VwTWVzc2FnZSwgU291cFNvY2tldCAqLCBncG9pbnRlciBkYXRh
KQoreworICAgIFJlZlB0cjxSZXNvdXJjZUhhbmRsZT4gaGFuZGxlID0gc3RhdGljX2Nhc3Q8UmVz
b3VyY2VIYW5kbGUqPihnX29iamVjdF9nZXRfZGF0YShHX09CSkVDVChzb3VwTWVzc2FnZSksICJo
YW5kbGUiKSk7CisgICAgaWYgKCFoYW5kbGUpCisgICAgICAgIHJldHVybjsKKworICAgIFJlc291
cmNlSGFuZGxlSW50ZXJuYWwqIGQgPSBoYW5kbGUtPmdldEludGVybmFsKCk7CisgICAgaWYgKCFk
LT5tX3Jlc3BvbnNlLnJlc291cmNlTG9hZFRpbWluZygpKQorICAgICAgICByZXR1cm47CisKKyAg
ICBkLT5tX3Jlc3BvbnNlLnJlc291cmNlTG9hZFRpbWluZygpLT5zZW5kU3RhcnQgPSBjdXJyZW50
VGltZU1pbnVzUmVxdWVzdFRpbWUoZC0+bV9yZXNwb25zZS5yZXNvdXJjZUxvYWRUaW1pbmcoKS0+
cmVxdWVzdFRpbWUpOworICAgIGlmIChkLT5tX3Jlc3BvbnNlLnJlc291cmNlTG9hZFRpbWluZygp
LT5zc2xTdGFydCAhPSAtMSkKKyAgICAgICAgLy8gV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L1Jlc291cmNlVGltaW5nVmlldy5qcyBhc3N1bWVzIHRoYXQgU1NMIHRpbWUgaXMgaW5jbHVkZWQK
KyAgICAgICAgLy8gaW4gY29ubmVjdGlvbiB0aW1lIHNvIG11c3Qgc3Vic3RyYWN0IGhlcmUgdGhl
IFNTTCBkZWx0YSB0aGF0IHdpbGwgYmUgYWRkZWQgbGF0ZXIuCisgICAgICAgIGQtPm1fcmVzcG9u
c2UucmVzb3VyY2VMb2FkVGltaW5nKCktPnNlbmRTdGFydCAtPQorICAgICAgICAgICAgZC0+bV9y
ZXNwb25zZS5yZXNvdXJjZUxvYWRUaW1pbmcoKS0+c3NsRW5kIC0gZC0+bV9yZXNwb25zZS5yZXNv
dXJjZUxvYWRUaW1pbmcoKS0+c3NsU3RhcnQ7Cit9CisKK3N0YXRpYyB2b2lkIG5ldHdvcmtFdmVu
dENhbGxiYWNrKFNvdXBNZXNzYWdlICosIEdTb2NrZXRDbGllbnRFdmVudCBldmVudCwgR0lPU3Ry
ZWFtICosIGdwb2ludGVyIGRhdGEpCit7CisgICAgUmVzb3VyY2VIYW5kbGUqIGhhbmRsZSA9IHN0
YXRpY19jYXN0PFJlc291cmNlSGFuZGxlKj4oZGF0YSk7CisgICAgaWYgKCFoYW5kbGUpCisgICAg
ICAgIHJldHVybjsKKyAgICBSZXNvdXJjZUhhbmRsZUludGVybmFsKiBkID0gaGFuZGxlLT5nZXRJ
bnRlcm5hbCgpOworICAgIGlmIChkLT5tX2NhbmNlbGxlZCkKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50IGRlbHRhVGltZSA9IGN1cnJlbnRUaW1lTWludXNSZXF1ZXN0VGltZShkLT5tX3Jlc3Bv
bnNlLnJlc291cmNlTG9hZFRpbWluZygpLT5yZXF1ZXN0VGltZSk7CisgICAgc3dpdGNoIChldmVu
dCkgeworICAgIGNhc2UgR19TT0NLRVRfQ0xJRU5UX1JFU09MVklORzoKKyAgICAgICAgZC0+bV9y
ZXNwb25zZS5yZXNvdXJjZUxvYWRUaW1pbmcoKS0+ZG5zU3RhcnQgPSBkZWx0YVRpbWU7CisgICAg
ICAgIGJyZWFrOworICAgIGNhc2UgR19TT0NLRVRfQ0xJRU5UX1JFU09MVkVEOgorICAgICAgICBk
LT5tX3Jlc3BvbnNlLnJlc291cmNlTG9hZFRpbWluZygpLT5kbnNFbmQgPSBkZWx0YVRpbWU7Cisg
ICAgICAgIGJyZWFrOworICAgIGNhc2UgR19TT0NLRVRfQ0xJRU5UX0NPTk5FQ1RJTkc6CisgICAg
ICAgIGQtPm1fcmVzcG9uc2UucmVzb3VyY2VMb2FkVGltaW5nKCktPmNvbm5lY3RTdGFydCA9IGRl
bHRhVGltZTsKKyAgICAgICAgaWYgKGQtPm1fcmVzcG9uc2UucmVzb3VyY2VMb2FkVGltaW5nKCkt
PmRuc1N0YXJ0ICE9IC0xKQorICAgICAgICAgICAgLy8gV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL1Jlc291cmNlVGltaW5nVmlldy5qcyBhc3N1bWVzIHRoYXQgRE5TIHRpbWUgaXMgaW5jbHVk
ZWQKKyAgICAgICAgICAgIC8vIGluIGNvbm5lY3Rpb24gdGltZSBzbyBtdXN0IHN1YnN0cmFjdCBo
ZXJlIHRoZSBETlMgZGVsdGEgdGhhdCB3aWxsIGJlIGFkZGVkIGxhdGVyLgorICAgICAgICAgICAg
ZC0+bV9yZXNwb25zZS5yZXNvdXJjZUxvYWRUaW1pbmcoKS0+Y29ubmVjdFN0YXJ0IC09CisgICAg
ICAgICAgICAgICAgZC0+bV9yZXNwb25zZS5yZXNvdXJjZUxvYWRUaW1pbmcoKS0+ZG5zRW5kIC0g
ZC0+bV9yZXNwb25zZS5yZXNvdXJjZUxvYWRUaW1pbmcoKS0+ZG5zU3RhcnQ7CisgICAgICAgIGJy
ZWFrOworICAgIGNhc2UgR19TT0NLRVRfQ0xJRU5UX0NPTk5FQ1RFRDoKKyAgICAgICAgLy8gV2Vi
IFRpbWluZyBjb25zaWRlcnMgdGhhdCBjb25uZWN0aW9uIHRpbWUgaW52b2x2ZXMgZG5zLCBwcm94
eSAmIFRMUyBuZWdvdGlhdGlvbi4uLgorICAgICAgICAvLyBzbyB3ZSBiZXR0ZXIgcGljayBHX1NP
Q0tFVF9DTElFTlRfQ09NUExFVEUgZm9yIGNvbm5lY3RFbmQKKyAgICAgICAgYnJlYWs7CisgICAg
Y2FzZSBHX1NPQ0tFVF9DTElFTlRfUFJPWFlfTkVHT1RJQVRJTkc6CisgICAgICAgIGQtPm1fcmVz
cG9uc2UucmVzb3VyY2VMb2FkVGltaW5nKCktPnByb3h5U3RhcnQgPSBkZWx0YVRpbWU7CisgICAg
ICAgIGJyZWFrOworICAgIGNhc2UgR19TT0NLRVRfQ0xJRU5UX1BST1hZX05FR09USUFURUQ6Cisg
ICAgICAgIGQtPm1fcmVzcG9uc2UucmVzb3VyY2VMb2FkVGltaW5nKCktPnByb3h5RW5kID0gZGVs
dGFUaW1lOworICAgICAgICBicmVhazsKKyAgICBjYXNlIEdfU09DS0VUX0NMSUVOVF9UTFNfSEFO
RFNIQUtJTkc6CisgICAgICAgIGQtPm1fcmVzcG9uc2UucmVzb3VyY2VMb2FkVGltaW5nKCktPnNz
bFN0YXJ0ID0gZGVsdGFUaW1lOworICAgICAgICBicmVhazsKKyAgICBjYXNlIEdfU09DS0VUX0NM
SUVOVF9UTFNfSEFORFNIQUtFRDoKKyAgICAgICAgZC0+bV9yZXNwb25zZS5yZXNvdXJjZUxvYWRU
aW1pbmcoKS0+c3NsRW5kID0gZGVsdGFUaW1lOworICAgICAgICBicmVhazsKKyAgICBjYXNlIEdf
U09DS0VUX0NMSUVOVF9DT01QTEVURToKKyAgICAgICAgZC0+bV9yZXNwb25zZS5yZXNvdXJjZUxv
YWRUaW1pbmcoKS0+Y29ubmVjdEVuZCA9IGRlbHRhVGltZTsKKyAgICAgICAgYnJlYWs7CisgICAg
ZGVmYXVsdDoKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIGJyZWFrOwor
ICAgIH0KK30KKyNlbmRpZgorCiBzdGF0aWMgYm9vbCBzdGFydEhUVFBSZXF1ZXN0KFJlc291cmNl
SGFuZGxlKiBoYW5kbGUpCiB7CiAgICAgQVNTRVJUKGhhbmRsZSk7CkBAIC00NzMsNiArNTc0LDEy
IEBAIHN0YXRpYyBib29sIHN0YXJ0SFRUUFJlcXVlc3QoUmVzb3VyY2VIYW5kbGUqIGhhbmRsZSkK
ICAgICBnX3NpZ25hbF9jb25uZWN0KHNvdXBNZXNzYWdlLCAicmVzdGFydGVkIiwgR19DQUxMQkFD
SyhyZXN0YXJ0ZWRDYWxsYmFjayksIGhhbmRsZSk7CiAgICAgZ19zaWduYWxfY29ubmVjdChzb3Vw
TWVzc2FnZSwgIndyb3RlLWJvZHktZGF0YSIsIEdfQ0FMTEJBQ0sod3JvdGVCb2R5RGF0YUNhbGxi
YWNrKSwgaGFuZGxlKTsKIAorI2lmIEVOQUJMRShXRUJfVElNSU5HKQorICAgIGdfc2lnbmFsX2Nv
bm5lY3Qoc291cE1lc3NhZ2UsICJuZXR3b3JrLWV2ZW50IiwgR19DQUxMQkFDSyhuZXR3b3JrRXZl
bnRDYWxsYmFjayksIGhhbmRsZSk7CisgICAgZ19zaWduYWxfY29ubmVjdChzb3VwTWVzc2FnZSwg
Indyb3RlLWJvZHkiLCBHX0NBTExCQUNLKHdyb3RlQm9keUNhbGxiYWNrKSwgaGFuZGxlKTsKKyAg
ICBnX29iamVjdF9zZXRfZGF0YShHX09CSkVDVChzb3VwTWVzc2FnZSksICJoYW5kbGUiLCBoYW5k
bGUpOworI2VuZGlmCisKICAgICBTdHJpbmcgZmlyc3RQYXJ0eVN0cmluZyA9IHJlcXVlc3QuZmly
c3RQYXJ0eUZvckNvb2tpZXMoKS5zdHJpbmcoKTsKICAgICBpZiAoIWZpcnN0UGFydHlTdHJpbmcu
aXNFbXB0eSgpKSB7CiAgICAgICAgIEdPd25QdHI8U291cFVSST4gZmlyc3RQYXJ0eShzb3VwX3Vy
aV9uZXcoZmlyc3RQYXJ0eVN0cmluZy51dGY4KCkuZGF0YSgpKSk7CkBAIC00OTIsNiArNTk5LDEw
IEBAIHN0YXRpYyBib29sIHN0YXJ0SFRUUFJlcXVlc3QoUmVzb3VyY2VIYW5kbGUqIGhhbmRsZSkK
ICAgICAvLyBiYWxhbmNlZCBieSBhIGRlcmVmKCkgaW4gY2xlYW51cFNvdXBSZXF1ZXN0T3BlcmF0
aW9uLCB3aGljaCBzaG91bGQgYWx3YXlzIHJ1bgogICAgIGhhbmRsZS0+cmVmKCk7CiAKKyNpZiBF
TkFCTEUoV0VCX1RJTUlORykKKyAgICBkLT5tX3Jlc3BvbnNlLnNldFJlc291cmNlTG9hZFRpbWlu
ZyhSZXNvdXJjZUxvYWRUaW1pbmc6OmNyZWF0ZSgpKTsKKyNlbmRpZgorCiAgICAgLy8gTWFrZSBz
dXJlIHdlIGhhdmUgYW4gQWNjZXB0IGhlYWRlciBmb3Igc3VicmVzb3VyY2VzOyBzb21lIHNpdGVz
CiAgICAgLy8gd2FudCB0aGlzIHRvIHNlcnZlIHNvbWUgb2YgdGhlaXIgc3VicmVzb3VyY2VzCiAg
ICAgaWYgKCFzb3VwX21lc3NhZ2VfaGVhZGVyc19nZXRfb25lKHNvdXBNZXNzYWdlLT5yZXF1ZXN0
X2hlYWRlcnMsICJBY2NlcHQiKSkKQEAgLTQ5OSw2ICs2MTAsOSBAQCBzdGF0aWMgYm9vbCBzdGFy
dEhUVFBSZXF1ZXN0KFJlc291cmNlSGFuZGxlKiBoYW5kbGUpCiAKICAgICAvLyBTZW5kIHRoZSBy
ZXF1ZXN0IG9ubHkgaWYgaXQncyBub3QgYmVlbiBleHBsaWNpdGx5IGRlZmVycmVkLgogICAgIGlm
ICghZC0+bV9kZWZlcnNMb2FkaW5nKSB7CisjaWYgRU5BQkxFKFdFQl9USU1JTkcpCisgICAgICAg
IGQtPm1fcmVzcG9uc2UucmVzb3VyY2VMb2FkVGltaW5nKCktPnJlcXVlc3RUaW1lID0gbW9ub3Rv
bmljYWxseUluY3JlYXNpbmdUaW1lKCk7CisjZW5kaWYKICAgICAgICAgZC0+bV9jYW5jZWxsYWJs
ZSA9IGFkb3B0R1JlZihnX2NhbmNlbGxhYmxlX25ldygpKTsKICAgICAgICAgc291cF9yZXF1ZXN0
X3NlbmRfYXN5bmMoZC0+bV9zb3VwUmVxdWVzdC5nZXQoKSwgZC0+bV9jYW5jZWxsYWJsZS5nZXQo
KSwgc2VuZFJlcXVlc3RDYWxsYmFjaywgaGFuZGxlKTsKICAgICB9CkBAIC01NzgsNiArNjkyLDEw
IEBAIHZvaWQgUmVzb3VyY2VIYW5kbGU6OnBsYXRmb3JtU2V0RGVmZXJzTG9hZGluZyhib29sIGRl
ZmVyc0xvYWRpbmcpCiAgICAgLy8gc2ltcGx5IGNoZWNrIGZvciBkLT5tX3NjaGVkdWxlZEZhaWx1
cmUgYmVjYXVzZSBpdCdzIGNsZWFyZWQgYXMKICAgICAvLyBzb29uIGFzIHRoZSBmYWlsdXJlIGV2
ZW50IGlzIGZpcmVkLgogICAgIGlmICghaGFzQmVlblNlbnQodGhpcykgJiYgZC0+bV9zb3VwUmVx
dWVzdCkgeworI2lmIEVOQUJMRShXRUJfVElNSU5HKQorICAgICAgICBpZiAoZC0+bV9yZXNwb25z
ZS5yZXNvdXJjZUxvYWRUaW1pbmcoKSkKKyAgICAgICAgICAgIGQtPm1fcmVzcG9uc2UucmVzb3Vy
Y2VMb2FkVGltaW5nKCktPnJlcXVlc3RUaW1lID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1l
KCk7CisjZW5kaWYKICAgICAgICAgZC0+bV9jYW5jZWxsYWJsZSA9IGFkb3B0R1JlZihnX2NhbmNl
bGxhYmxlX25ldygpKTsKICAgICAgICAgc291cF9yZXF1ZXN0X3NlbmRfYXN5bmMoZC0+bV9zb3Vw
UmVxdWVzdC5nZXQoKSwgZC0+bV9jYW5jZWxsYWJsZS5nZXQoKSwgc2VuZFJlcXVlc3RDYWxsYmFj
aywgdGhpcyk7CiAgICAgICAgIHJldHVybjsKQEAgLTcyNyw4ICs4NDUsMTEgQEAgU291cFNlc3Np
b24qIFJlc291cmNlSGFuZGxlOjpkZWZhdWx0U2Vzc2lvbigpCiAgICAgICAgIHNlc3Npb24gPSBz
b3VwX3Nlc3Npb25fYXN5bmNfbmV3KCk7CiAgICAgICAgIGdfb2JqZWN0X3NldChzZXNzaW9uLAog
ICAgICAgICAgICAgICAgICAgICAgU09VUF9TRVNTSU9OX01BWF9DT05OUywgbWF4Q29ubmVjdGlv
bnMsCi0gICAgICAgICAgICAgICAgICAgICBTT1VQX1NFU1NJT05fTUFYX0NPTk5TX1BFUl9IT1NU
LCBtYXhDb25uZWN0aW9uc1Blckhvc3QsIAorICAgICAgICAgICAgICAgICAgICAgU09VUF9TRVNT
SU9OX01BWF9DT05OU19QRVJfSE9TVCwgbWF4Q29ubmVjdGlvbnNQZXJIb3N0LAogICAgICAgICAg
ICAgICAgICAgICAgTlVMTCk7CisjaWYgRU5BQkxFKFdFQl9USU1JTkcpCisgICAgICAgIGdfc2ln
bmFsX2Nvbm5lY3QoR19PQkpFQ1Qoc2Vzc2lvbiksICJyZXF1ZXN0LXN0YXJ0ZWQiLCBHX0NBTExC
QUNLKHJlcXVlc3RTdGFydGVkQ2FsbGJhY2spLCAwKTsKKyNlbmRpZgogICAgIH0KIAogICAgIHJl
dHVybiBzZXNzaW9uOwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdl
TG9nCmluZGV4IDlhMDE1YWE3YjE1YTA1OGI2MWEzYTEyOTA2NjYxNDYxZTgxZGEzM2MuLjI2N2U4
ZjRmOWIxOGU1MjE4OWVhMmQxOThiOTQzZTk0ZWMzMzNkYjQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0No
YW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMS0xMi0y
OCAgU2VyZ2lvIFZpbGxhciBTZW5pbiAgPHN2aWxsYXJAaWdhbGlhLmNvbT4KKworICAgICAgICBb
R1RLXSBFbmFibGUgV2ViIFRpbWluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NDI0MzIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBVcGRhdGVkIHRoZSBqaGJ1aWxkIGxpYnNvdXAgcmVxdWlyZW1lbnQuIEFs
c28gd2ViIHRpbWluZyBpcyBidWlsdAorICAgICAgICBieSBkZWZhdWx0IHdoZW5ldmVyIGJ1aWxk
LXdlYmtpdCBpcyB1c2VkLgorCisgICAgICAgICogU2NyaXB0cy9idWlsZC13ZWJraXQ6CisgICAg
ICAgICogZ3RrL2poYnVpbGQubW9kdWxlczoKKwogMjAxMi0wMS0yOSAgU2hlcmlmZiBCb3QgIDx3
ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGlu
ZyBvdXQgcjEwNjEwOS4KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvYnVpbGQtd2Via2l0IGIv
VG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQKaW5kZXggMjdhMDg0ZWUyYTU3ZWNhODI5YWJlOGNh
ODU2OWQ1MGMyODVhMDhhOS4uODEyYzFiM2M0NjgzMGNkNWFiOTUwYmIzYzIwOTI3ZGQ0OGVmOTFl
ZCAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQKKysrIGIvVG9vbHMvU2Ny
aXB0cy9idWlsZC13ZWJraXQKQEAgLTMzNyw3ICszMzcsNyBAQCBteSBAZmVhdHVyZXMgPSAoCiAg
ICAgICBkZWZpbmUgPT4gIkVOQUJMRV9XRUJfU09DS0VUUyIsIGRlZmF1bHQgPT4gMSwgdmFsdWU9
PiBcJHdlYlNvY2tldHNTdXBwb3J0IH0sCiAKICAgICB7IG9wdGlvbiA9PiAid2ViLXRpbWluZyIs
IGRlc2MgPT4gIlRvZ2dsZSBXZWIgVGltaW5nIHN1cHBvcnQiLAotICAgICAgZGVmaW5lID0+ICJF
TkFCTEVfV0VCX1RJTUlORyIsIGRlZmF1bHQgPT4gMCwgdmFsdWU9PiBcJHdlYlRpbWluZ1N1cHBv
cnQgfSwKKyAgICAgIGRlZmluZSA9PiAiRU5BQkxFX1dFQl9USU1JTkciLCBkZWZhdWx0ID0+IChp
c0d0aygpKSwgdmFsdWU9PiBcJHdlYlRpbWluZ1N1cHBvcnQgfSwKIAogICAgIHsgb3B0aW9uID0+
ICJ3b3JrZXJzIiwgZGVzYyA9PiAiVG9nZ2xlIFdlYiBXb3JrZXJzIHN1cHBvcnQiLAogICAgICAg
ZGVmaW5lID0+ICJFTkFCTEVfV09SS0VSUyIsIGRlZmF1bHQgPT4gKGlzQXBwbGVXZWJLaXQoKSB8
fCBpc0d0aygpIHx8IGlzQmxhY2tCZXJyeSgpKSwgdmFsdWUgPT4gXCR3b3JrZXJzU3VwcG9ydCB9
LApkaWZmIC0tZ2l0IGEvVG9vbHMvZ3RrL2poYnVpbGQubW9kdWxlcyBiL1Rvb2xzL2d0ay9qaGJ1
aWxkLm1vZHVsZXMKaW5kZXggMTk5MTBkNThjYmNjYTM5OTIyYTM2ZWUzYTVhNmUxNTQ5NDU4NmYx
Yy4uZTA5NjZhMjgyN2QwYmE3NzMwMmMyODM4MDg0MjcxMWJiNDE2MzRmZiAxMDA2NDQKLS0tIGEv
VG9vbHMvZ3RrL2poYnVpbGQubW9kdWxlcworKysgYi9Ub29scy9ndGsvamhidWlsZC5tb2R1bGVz
CkBAIC0xMSw2ICsxMSw3IEBACiAgICAgICA8ZGVwIHBhY2thZ2U9ImZyZWV0eXBlNiIvPgogICAg
ICAgPGRlcCBwYWNrYWdlPSJndGsrIi8+CiAgICAgICA8ZGVwIHBhY2thZ2U9ImdsaWIiLz4KKyAg
ICAgIDxkZXAgcGFja2FnZT0iZ29iamVjdC1pbnRyb3NwZWN0aW9uIi8+CiAgICAgICA8ZGVwIHBh
Y2thZ2U9ImdsaWItbmV0d29ya2luZyIvPgogICAgICAgPGRlcCBwYWNrYWdlPSJnbm9tZS1pY29u
LXRoZW1lIi8+CiAgICAgICA8ZGVwIHBhY2thZ2U9ImxpYnNvdXAiLz4KQEAgLTEwOCwxMCArMTA5
LDE5IEBACiAgICAgPGRlcGVuZGVuY2llcz4KICAgICAgIDxkZXAgcGFja2FnZT0ibGliZmZpIi8+
CiAgICAgPC9kZXBlbmRlbmNpZXM+Ci0gICAgPGJyYW5jaCBtb2R1bGU9Ii9wdWIvR05PTUUvc291
cmNlcy9nbGliLzIuMzEvZ2xpYi0yLjMxLjIudGFyLnh6IiB2ZXJzaW9uPSIyLjMxLjIiCisgICAg
PGJyYW5jaCBtb2R1bGU9Ii9wdWIvR05PTUUvc291cmNlcy9nbGliLzIuMzEvZ2xpYi0yLjMxLjgu
dGFyLnh6IiB2ZXJzaW9uPSIyLjMxLjgiCiAgICAgICAgICAgICByZXBvPSJmdHAuZ25vbWUub3Jn
IgotICAgICAgICAgICAgaGFzaD0ic2hhMjU2OjE5ZDc5MjE2NzFhNDg3YzNjNTc1OWE1N2RmN2I4
NTA4YWZkYmFkZDc3NjRkNjJhNDdhODJmZmY3YjM5OTAzMmIiCi0gICAgICAgICAgICBtZDVzdW09
IjFjYmRmMzE0ZDdjODc5MTZhMGMzZGNlODNhYzAyODVmIi8+CisgICAgICAgICAgICBoYXNoPSJz
aGEyNTY6MWNlM2QyNzUxODkwMDBlMWM1MGU5MmVmY2RiNjQ0N2JjMjYwYjFlNWM0MTY5OWI3YTE5
NTllM2UxOTI4ZmJhYSIKKyAgICAgICAgICAgIG1kNXN1bT0iNjkwOTY2NGYyOWZhZTJmMDBjYzMx
ODFjOGM2YTZhYTciLz4KKyAgPC9hdXRvdG9vbHM+CisKKyAgPGF1dG90b29scyBpZD0iZ29iamVj
dC1pbnRyb3NwZWN0aW9uIj4KKyAgICA8ZGVwZW5kZW5jaWVzPgorICAgICAgPGRlcCBwYWNrYWdl
PSJnbGliIi8+CisgICAgPC9kZXBlbmRlbmNpZXM+CisgICAgPGJyYW5jaCBtb2R1bGU9ImdvYmpl
Y3QtaW50cm9zcGVjdGlvbiIgdmVyc2lvbj0iMS4zMS4xMCIKKyAgICAgICAgICAgIHJlcG89Imdp
dC5nbm9tZS5vcmciCisgICAgICAgICAgICB0YWc9IjYwNTMzZDQ1Mjg2OTBkZjcyMjg3ZDFmZTBk
ZGU5ZTAyNTcwODFkZDMiLz4KICAgPC9hdXRvdG9vbHM+CiAKICAgPGF1dG90b29scyBpZD0iZ2xp
Yi1uZXR3b3JraW5nIj4KQEAgLTE0MCw5ICsxNTAsOSBAQAogICAgIDxkZXBlbmRlbmNpZXM+CiAg
ICAgICA8ZGVwIHBhY2thZ2U9ImdsaWItbmV0d29ya2luZyIvPgogICAgIDwvZGVwZW5kZW5jaWVz
PgotICAgIDxicmFuY2ggbW9kdWxlPSJsaWJzb3VwIiB2ZXJzaW9uPSIyLjM3LjIuMStnaXQiCisg
ICAgPGJyYW5jaCBtb2R1bGU9ImxpYnNvdXAiIHZlcnNpb249IjIuMzcuNCtnaXQiCiAgICAgICAg
ICAgICByZXBvPSJnaXQuZ25vbWUub3JnIgotICAgICAgICAgICAgdGFnPSI1Y2JmYzQ4Y2FmNzZj
ZWQyZTI4ZWUwNmM5ZTQwNTIzMjczNjAxZGM2Ii8+CisgICAgICAgICAgICB0YWc9ImI5MmJlNDM0
N2M5ODEyMDVjYTJmYjQzNjJmOGYwMzMwMWQxYWI5MDUiLz4KICAgPC9hdXRvdG9vbHM+CiAKICAg
PGF1dG90b29scyBpZD0iZm9udGNvbmZpZyIgYXV0b2dlbi1zaD0iY29uZmlndXJlIj4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRl
eCA4YWIzNDI1NTMyM2VhZDQzNGU3MDc3YmY1MGEwYThlNzU0YTk4NTZjLi40MjJiZWRlYjVlMDUy
ZTVlYTEyOTRlZWU0MTliY2FlYWVkOTdkMWI3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEt
MTItMjggIFNlcmdpbyBWaWxsYXIgU2VuaW4gIDxzdmlsbGFyQGlnYWxpYS5jb20+CisKKyAgICAg
ICAgW0dUS10gRW5hYmxlIFdlYiBUaW1pbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTQyNDMyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgUmVtb3ZlZCBzb21lIHRlc3RzIHRoYXQgYXJlIHdvcmtpbmcgZmlu
ZSBub3cgYWZ0ZXIgYWRkaW5nIFdlYgorICAgICAgICBUaW1pbmcgc3VwcG9ydC4KKworICAgICAg
ICAqIHBsYXRmb3JtL2d0ay9Ta2lwcGVkOgorCiAyMDEyLTAxLTI5ICBMZXZpIFdlaW50cmF1YiAg
PGxldml3QGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXNlcnZlZCBXb3JkIHRlc3RzIGZhaWwg
b24gQ2hyb21pdW0gYWZ0ZXIgcjEwNjE5OApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vZ3RrL1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZAppbmRleCA2
ZWYzMzcwZDQ1YmU1MjM3MzI1ZmFkNDExOWQxYjU0NjgwNDNlMWQzLi43NzJiNWMxMzU1YmE0NTdj
NDJlMDY0ODNjOTM5YjhjYjc0MGI0M2RjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9ndGsvU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZApAQCAt
MjU3LDIwICsyNTcsMTMgQEAgZ2FtZXBhZC8KICMgU3BlZWNoIGlucHV0IGlzIG5vdCB5ZXQgZW5h
YmxlZC4KIGZhc3Qvc3BlZWNoCiAKLSMgV2ViIFRpbWluZyBpcyBub3QgZW5hYmxlZC4KLSMgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQyNDMyCisjIFdlYiBUaW1pbmcg
aXNzdWVzCisjIGhlYXAgc2l6ZSBsaW1pdCB1bmRlZmluZWQKIGZhc3QvZG9tL1dpbmRvdy93aW5k
b3ctcHJvcGVydGllcy1wZXJmb3JtYW5jZS5odG1sCi1mYXN0L2RvbS9uYXZpZ2F0aW9uLXR5cGUt
YmFjay1mb3J3YXJkLmh0bWwKLWZhc3QvZG9tL25hdmlnYXRpb24tdHlwZS1uYXZpZ2F0ZS5odG1s
Ci1mYXN0L2RvbS9uYXZpZ2F0aW9uLXR5cGUtcmVsb2FkLmh0bWwKLWZhc3QvZG9tL3dlYnRpbWlu
Zy5odG1sCi1mYXN0L2RvbS93ZWJ0aW1pbmctbmF2aWdhdGUtd2l0aGluLWRvY3VtZW50Lmh0bWwK
LWZhc3QvZG9tL3dlYnRpbWluZy1kb2N1bWVudC1vcGVuLmh0bWwKKyMgY3Jvc3Mtb3JpZ2luIHJl
ZGlyZWN0cwogaHR0cC90ZXN0cy9taXNjL3dlYnRpbWluZy1vcmlnaW5zLmh0bWwKLWh0dHAvdGVz
dHMvbWlzYy93ZWJ0aW1pbmctb25lLXJlZGlyZWN0LnBocAotaHR0cC90ZXN0cy9taXNjL3dlYnRp
bWluZy1zbG93LWxvYWQucGhwCisjIFNTTCBzdGFydCBpcyBnZXR0aW5nIGEgdmFsdWUgd2hlbiBp
dCBzaG91bGQgYXBwYXJlbnRseSBub3QKIGh0dHAvdGVzdHMvbWlzYy93ZWJ0aW1pbmctc3NsLnBo
cAotaHR0cC90ZXN0cy9taXNjL3dlYnRpbWluZy10d28tcmVkaXJlY3RzLnBocAogCiAjIEZpbGVT
eXN0ZW0gQVBJIGlzIG5vdCBzdXBwb3J0ZWQuCiBmYXN0L2ZpbGVzeXN0ZW0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>124556</attachid>
            <date>2012-01-30 08:29:08 -0800</date>
            <delta_ts>2012-03-29 01:27:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-42432-20120130142808.patch</filename>
            <type>text/plain</type>
            <size>17269</size>
            <attacher name="Gustavo Noronha (kov)">gustavo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA2MjQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjcyZmZkYWIzMmRkOGRk
ODgzMTY3NjMzMjI1NTNhMTdmOWI5Y2JlNS4uM2U5YmQ3YTA4OThkMmNlMWZkNWU2N2Y5MGExNjBl
OWJiNWIyNDQ1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDEyLTAxLTMwICBTZXJn
aW8gVmlsbGFyIFNlbmluICA8c3ZpbGxhckBpZ2FsaWEuY29tPgorCisgICAgICAgIFtHVEtdIEVu
YWJsZSBXZWIgVGltaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD00MjQzMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEFkZGVkIFdlYlRpbWluZyBzdXBwb3J0IHRvIHRoZSBHVEsrIHBvcnQuIFdlYlRpbWlu
ZyBhbGxvd3MKKyAgICAgICAgZGV2ZWxvcGVycyB0byBjb2xsZWN0IGRldGFpbGVkIG5ldHdvcmsg
dGltaW5nIGluZm9ybWF0aW9uIHBlcgorICAgICAgICByZXNvdXJjZS4gSXQgcmVxdWlyZXMgdGhl
IG5ldyBTb3VwTWVzc2FnZSdzICJuZXR3b3JrLWV2ZW50IgorICAgICAgICBzaWduYWwuCisKKyAg
ICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBiaW5kaW5ncy9nb2JqZWN0L0dOVW1h
a2VmaWxlLmFtOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRs
ZVNvdXAuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y2xlYW51cFNvdXBSZXF1ZXN0T3BlcmF0aW9u
KToKKyAgICAgICAgKFdlYkNvcmU6OnNlbmRSZXF1ZXN0Q2FsbGJhY2spOgorICAgICAgICAoV2Vi
Q29yZTo6Y3VycmVudFRpbWVNaW51c1JlcXVlc3RUaW1lKToKKyAgICAgICAgKFdlYkNvcmU6Ondy
b3RlQm9keUNhbGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OnJlcXVlc3RTdGFydGVkQ2FsbGJh
Y2spOgorICAgICAgICAoV2ViQ29yZTo6bmV0d29ya0V2ZW50Q2FsbGJhY2spOgorICAgICAgICAo
V2ViQ29yZTo6c3RhcnRIVFRQUmVxdWVzdCk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUhh
bmRsZTo6cGxhdGZvcm1TZXREZWZlcnNMb2FkaW5nKToKKwogMjAxMi0wMS0zMCAgWXVyeSBTZW1p
a2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBr
ZXlib2FyZCBuYXZpZ2F0aW9uIHRocm91Z2ggY29tcGFyaXNvbiB2aWV3IGluIGhlYXAgcHJvZmls
ZXIgc2hvdWxkIHVwZGF0ZSByZXRhaW5lcnMgdmlldwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvR05VbWFrZWZpbGUuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQppbmRleCA3
MDFmYTMzZjE5OWM0NDM2NDk5NDA4OWJmNTc4NzZkMjBmOTNjMjU4Li4yYWU5ZjJhMGM5NjczNDE5
OGExZmVmNWJkYzBhNTZiNzRlY2ExZjhhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVt
YWtlZmlsZS5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQpAQCAtNjExLDYg
KzYxMSwxNCBAQCBGRUFUVVJFX0RFRklORVMgKz0gRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTj0x
CiB3ZWJjb3JlX2NwcGZsYWdzICs9IC1ERU5BQkxFX0RFVklDRV9PUklFTlRBVElPTj0xCiBlbmRp
ZiAgIyBFTkQgRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTgogCisjIC0tLQorIyBXZWIgVGltaW5n
IHN1cHBvcnQKKyMgLS0tCitpZiBFTkFCTEVfV0VCX1RJTUlORworRkVBVFVSRV9ERUZJTkVTICs9
IEVOQUJMRV9XRUJfVElNSU5HPTEKK3dlYmNvcmVfY3BwZmxhZ3MgKz0gLURFTkFCTEVfV0VCX1RJ
TUlORz0xCitlbmRpZiAgIyBFTkQgRU5BQkxFX1dFQl9USU1JTkcKKwogRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9DU1NQcm9wZXJ0eU5hbWVzLmNwcDogRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9DU1NQ
cm9wZXJ0eU5hbWVzLmgKIERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvQ1NTUHJvcGVydHlOYW1lcy5o
OiAkKFdFQkNPUkVfQ1NTX1BST1BFUlRZX05BTUVTKSAkKFdlYkNvcmUpL2Nzcy9tYWtlcHJvcC5w
bAogCSQoQU1fVl9HRU4pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nb2Jq
ZWN0L0dOVW1ha2VmaWxlLmFtIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9HTlVt
YWtlZmlsZS5hbQppbmRleCA4MGZmMTllMmJkNDIyODdlMjgwYzFiYTRkNDhiNTU3YTliMzZjMGIy
Li40ZDAwN2VhZDFiMzMwODllYjc3ZTFhMjA0NjJmYjFmNmUwMzkwZWVlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L0dOVW1ha2VmaWxlLmFtCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvR05VbWFrZWZpbGUuYW0KQEAgLTQzNiw2ICs0MzYs
MjEgQEAgd2Via2l0Z3RrX2dkb21fYnVpbHRfc291cmNlcyArPSBcCiAJRGVyaXZlZFNvdXJjZXMv
d2Via2l0L1dlYktpdERPTUhUTUxQcm9wZXJ0aWVzQ29sbGVjdGlvblByaXZhdGUuaAogZW5kaWYK
IAorCitpZiBFTkFCTEVfV0VCX1RJTUlORword2Via2l0Z3RrX2J1aWx0X2hfYXBpICs9IFwKKwkk
KHRvcF9idWlsZGRpcikvRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTVBlcmZvcm1hbmNl
LmggXAorCSQodG9wX2J1aWxkZGlyKS9EZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NUGVy
Zm9ybWFuY2VOYXZpZ2F0aW9uLmggXAorCSQodG9wX2J1aWxkZGlyKS9EZXJpdmVkU291cmNlcy93
ZWJraXQvV2ViS2l0RE9NUGVyZm9ybWFuY2VUaW1pbmcuaAord2Via2l0Z3RrX2dkb21fYnVpbHRf
c291cmNlcyArPSBcCisJRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTVBlcmZvcm1hbmNl
LmNwcCBcCisJRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTVBlcmZvcm1hbmNlUHJpdmF0
ZS5oIFwKKwlEZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NUGVyZm9ybWFuY2VOYXZpZ2F0
aW9uLmNwcCBcCisJRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTVBlcmZvcm1hbmNlTmF2
aWdhdGlvblByaXZhdGUuaCBcCisJRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTVBlcmZv
cm1hbmNlVGltaW5nLmNwcCBcCisJRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTVBlcmZv
cm1hbmNlVGltaW5nUHJpdmF0ZS5oCitlbmRpZgorCiBnZG9tX2NsYXNzX2xpc3QgOj0gJChzdWJz
dCBXZWJLaXRET00sLCAkKGZpbHRlci1vdXQgJVByaXZhdGUsICQoYmFzZW5hbWUgJChub3RkaXIg
JCh3ZWJraXRndGtfZ2RvbV9idWlsdF9zb3VyY2VzKSkpKSkKIGdkb21fY2xhc3NfbGlzdCArPSBD
dXN0b20gRXZlbnRUYXJnZXQgT2JqZWN0CiBEZXJpdmVkU291cmNlcy93ZWJraXQvd2Via2l0ZG9t
Lmg6ICQoV2ViQ29yZSkvYmluZGluZ3Mvc2NyaXB0cy9nb2JqZWN0LWdlbmVyYXRlLWhlYWRlcnMu
cGwgJChXZWJDb3JlKS9iaW5kaW5ncy9nb2JqZWN0L0dOVW1ha2VmaWxlLmFtCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3Vw
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRs
ZVNvdXAuY3BwCmluZGV4IDVjYjUzYmRmZjRmYWI1NjkzM2ExMzE5YWM2YmFjN2E2MGZiMDlmZWIu
LjZlNGFjZDlkN2E1Y2M4M2ZkMDhmNDcxZDQ2NmQ5MzdkZmFmNTc0ZWEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRs
ZVNvdXAuY3BwCkBAIC0xMzYsNiArMTM2LDkgQEAgc3RhdGljIHZvaWQgc2VuZFJlcXVlc3RDYWxs
YmFjayhHT2JqZWN0KiwgR0FzeW5jUmVzdWx0KiwgZ3BvaW50ZXIpOwogc3RhdGljIHZvaWQgcmVh
ZENhbGxiYWNrKEdPYmplY3QqLCBHQXN5bmNSZXN1bHQqLCBncG9pbnRlcik7CiBzdGF0aWMgdm9p
ZCBjbG9zZUNhbGxiYWNrKEdPYmplY3QqLCBHQXN5bmNSZXN1bHQqLCBncG9pbnRlcik7CiBzdGF0
aWMgYm9vbCBzdGFydE5vbkhUVFBSZXF1ZXN0KFJlc291cmNlSGFuZGxlKiwgS1VSTCk7CisjaWYg
RU5BQkxFKFdFQl9USU1JTkcpCitzdGF0aWMgaW50ICBjdXJyZW50VGltZU1pbnVzUmVxdWVzdFRp
bWUoZG91YmxlIHJlcXVlc3RUaW1lKTsKKyNlbmRpZgogCiBSZXNvdXJjZUhhbmRsZUludGVybmFs
Ojp+UmVzb3VyY2VIYW5kbGVJbnRlcm5hbCgpCiB7CkBAIC0yMTMsNiArMjE2LDExIEBAIHN0YXRp
YyB2b2lkIHJlc3RhcnRlZENhbGxiYWNrKFNvdXBNZXNzYWdlKiBtc2csIGdwb2ludGVyIGRhdGEp
CiAgICAgaWYgKGQtPm1fY2FuY2VsbGVkKQogICAgICAgICByZXR1cm47CiAKKyNpZiBFTkFCTEUo
V0VCX1RJTUlORykKKyAgICBkLT5tX3Jlc3BvbnNlLnNldFJlc291cmNlTG9hZFRpbWluZyhSZXNv
dXJjZUxvYWRUaW1pbmc6OmNyZWF0ZSgpKTsKKyAgICBkLT5tX3Jlc3BvbnNlLnJlc291cmNlTG9h
ZFRpbWluZygpLT5yZXF1ZXN0VGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwor
I2VuZGlmCisKICAgICAvLyBVcGRhdGUgdGhlIGZpcnN0IHBhcnR5IGluIGNhc2UgdGhlIGJhc2Ug
VVJMIGNoYW5nZWQgd2l0aCB0aGUgcmVkaXJlY3QKICAgICBTdHJpbmcgZmlyc3RQYXJ0eVN0cmlu
ZyA9IHJlcXVlc3QuZmlyc3RQYXJ0eUZvckNvb2tpZXMoKS5zdHJpbmcoKTsKICAgICBpZiAoIWZp
cnN0UGFydHlTdHJpbmcuaXNFbXB0eSgpKSB7CkBAIC0zMDAsNiArMzA4LDExIEBAIHN0YXRpYyB2
b2lkIHNlbmRSZXF1ZXN0Q2FsbGJhY2soR09iamVjdCogc291cmNlLCBHQXN5bmNSZXN1bHQqIHJl
cywgZ3BvaW50ZXIgZGF0CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKKyNpZiBFTkFCTEUoV0VC
X1RJTUlORykKKyAgICBpZiAoZC0+bV9yZXNwb25zZS5yZXNvdXJjZUxvYWRUaW1pbmcoKSkKKyAg
ICAgICAgZC0+bV9yZXNwb25zZS5yZXNvdXJjZUxvYWRUaW1pbmcoKS0+cmVjZWl2ZUhlYWRlcnNF
bmQgPSBjdXJyZW50VGltZU1pbnVzUmVxdWVzdFRpbWUoZC0+bV9yZXNwb25zZS5yZXNvdXJjZUxv
YWRUaW1pbmcoKS0+cmVxdWVzdFRpbWUpOworI2VuZGlmCisKICAgICBHT3duUHRyPEdFcnJvcj4g
ZXJyb3I7CiAgICAgR0lucHV0U3RyZWFtKiBpbiA9IHNvdXBfcmVxdWVzdF9zZW5kX2ZpbmlzaChk
LT5tX3NvdXBSZXF1ZXN0LmdldCgpLCByZXMsICZlcnJvci5vdXRQdHIoKSk7CiAgICAgaWYgKGVy
cm9yKSB7CkBAIC00MzgsNiArNDUxLDk0IEBAIHN0YXRpYyBib29sIGFkZEZvcm1FbGVtZW50c1Rv
U291cE1lc3NhZ2UoU291cE1lc3NhZ2UqIG1lc3NhZ2UsIGNvbnN0IGNoYXIqIGNvbnRlCiAgICAg
cmV0dXJuIHRydWU7CiB9CiAKKyNpZiBFTkFCTEUoV0VCX1RJTUlORykKK3N0YXRpYyBpbnQgY3Vy
cmVudFRpbWVNaW51c1JlcXVlc3RUaW1lKGRvdWJsZSByZXF1ZXN0VGltZSkKK3sKKyAgICByZXR1
cm4gc3RhdGljX2Nhc3Q8aW50PigobW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkgLSByZXF1
ZXN0VGltZSkgKiAxMDAwLjApOworfQorCitzdGF0aWMgdm9pZCB3cm90ZUJvZHlDYWxsYmFjayhT
b3VwTWVzc2FnZSAqLCBncG9pbnRlciBkYXRhKQoreworICAgIFJlZlB0cjxSZXNvdXJjZUhhbmRs
ZT4gaGFuZGxlID0gc3RhdGljX2Nhc3Q8UmVzb3VyY2VIYW5kbGUqPihkYXRhKTsKKyAgICBpZiAo
IWhhbmRsZSkKKyAgICAgICAgcmV0dXJuOworCisgICAgUmVzb3VyY2VIYW5kbGVJbnRlcm5hbCog
ZCA9IGhhbmRsZS0+Z2V0SW50ZXJuYWwoKTsKKyAgICBpZiAoIWQtPm1fcmVzcG9uc2UucmVzb3Vy
Y2VMb2FkVGltaW5nKCkpCisgICAgICAgIHJldHVybjsKKworICAgIGQtPm1fcmVzcG9uc2UucmVz
b3VyY2VMb2FkVGltaW5nKCktPnNlbmRFbmQgPSBjdXJyZW50VGltZU1pbnVzUmVxdWVzdFRpbWUo
ZC0+bV9yZXNwb25zZS5yZXNvdXJjZUxvYWRUaW1pbmcoKS0+cmVxdWVzdFRpbWUpOworfQorCitz
dGF0aWMgdm9pZCByZXF1ZXN0U3RhcnRlZENhbGxiYWNrKFNvdXBTZXNzaW9uICosIFNvdXBNZXNz
YWdlICpzb3VwTWVzc2FnZSwgU291cFNvY2tldCAqLCBncG9pbnRlciBkYXRhKQoreworICAgIFJl
ZlB0cjxSZXNvdXJjZUhhbmRsZT4gaGFuZGxlID0gc3RhdGljX2Nhc3Q8UmVzb3VyY2VIYW5kbGUq
PihnX29iamVjdF9nZXRfZGF0YShHX09CSkVDVChzb3VwTWVzc2FnZSksICJoYW5kbGUiKSk7Cisg
ICAgaWYgKCFoYW5kbGUpCisgICAgICAgIHJldHVybjsKKworICAgIFJlc291cmNlSGFuZGxlSW50
ZXJuYWwqIGQgPSBoYW5kbGUtPmdldEludGVybmFsKCk7CisgICAgaWYgKCFkLT5tX3Jlc3BvbnNl
LnJlc291cmNlTG9hZFRpbWluZygpKQorICAgICAgICByZXR1cm47CisKKyAgICBkLT5tX3Jlc3Bv
bnNlLnJlc291cmNlTG9hZFRpbWluZygpLT5zZW5kU3RhcnQgPSBjdXJyZW50VGltZU1pbnVzUmVx
dWVzdFRpbWUoZC0+bV9yZXNwb25zZS5yZXNvdXJjZUxvYWRUaW1pbmcoKS0+cmVxdWVzdFRpbWUp
OworICAgIGlmIChkLT5tX3Jlc3BvbnNlLnJlc291cmNlTG9hZFRpbWluZygpLT5zc2xTdGFydCAh
PSAtMSkKKyAgICAgICAgLy8gV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlVGlt
aW5nVmlldy5qcyBhc3N1bWVzIHRoYXQgU1NMIHRpbWUgaXMgaW5jbHVkZWQKKyAgICAgICAgLy8g
aW4gY29ubmVjdGlvbiB0aW1lIHNvIG11c3Qgc3Vic3RyYWN0IGhlcmUgdGhlIFNTTCBkZWx0YSB0
aGF0IHdpbGwgYmUgYWRkZWQgbGF0ZXIuCisgICAgICAgIGQtPm1fcmVzcG9uc2UucmVzb3VyY2VM
b2FkVGltaW5nKCktPnNlbmRTdGFydCAtPQorICAgICAgICAgICAgZC0+bV9yZXNwb25zZS5yZXNv
dXJjZUxvYWRUaW1pbmcoKS0+c3NsRW5kIC0gZC0+bV9yZXNwb25zZS5yZXNvdXJjZUxvYWRUaW1p
bmcoKS0+c3NsU3RhcnQ7Cit9CisKK3N0YXRpYyB2b2lkIG5ldHdvcmtFdmVudENhbGxiYWNrKFNv
dXBNZXNzYWdlICosIEdTb2NrZXRDbGllbnRFdmVudCBldmVudCwgR0lPU3RyZWFtICosIGdwb2lu
dGVyIGRhdGEpCit7CisgICAgUmVzb3VyY2VIYW5kbGUqIGhhbmRsZSA9IHN0YXRpY19jYXN0PFJl
c291cmNlSGFuZGxlKj4oZGF0YSk7CisgICAgaWYgKCFoYW5kbGUpCisgICAgICAgIHJldHVybjsK
KyAgICBSZXNvdXJjZUhhbmRsZUludGVybmFsKiBkID0gaGFuZGxlLT5nZXRJbnRlcm5hbCgpOwor
ICAgIGlmIChkLT5tX2NhbmNlbGxlZCkKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50IGRlbHRh
VGltZSA9IGN1cnJlbnRUaW1lTWludXNSZXF1ZXN0VGltZShkLT5tX3Jlc3BvbnNlLnJlc291cmNl
TG9hZFRpbWluZygpLT5yZXF1ZXN0VGltZSk7CisgICAgc3dpdGNoIChldmVudCkgeworICAgIGNh
c2UgR19TT0NLRVRfQ0xJRU5UX1JFU09MVklORzoKKyAgICAgICAgZC0+bV9yZXNwb25zZS5yZXNv
dXJjZUxvYWRUaW1pbmcoKS0+ZG5zU3RhcnQgPSBkZWx0YVRpbWU7CisgICAgICAgIGJyZWFrOwor
ICAgIGNhc2UgR19TT0NLRVRfQ0xJRU5UX1JFU09MVkVEOgorICAgICAgICBkLT5tX3Jlc3BvbnNl
LnJlc291cmNlTG9hZFRpbWluZygpLT5kbnNFbmQgPSBkZWx0YVRpbWU7CisgICAgICAgIGJyZWFr
OworICAgIGNhc2UgR19TT0NLRVRfQ0xJRU5UX0NPTk5FQ1RJTkc6CisgICAgICAgIGQtPm1fcmVz
cG9uc2UucmVzb3VyY2VMb2FkVGltaW5nKCktPmNvbm5lY3RTdGFydCA9IGRlbHRhVGltZTsKKyAg
ICAgICAgaWYgKGQtPm1fcmVzcG9uc2UucmVzb3VyY2VMb2FkVGltaW5nKCktPmRuc1N0YXJ0ICE9
IC0xKQorICAgICAgICAgICAgLy8gV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNl
VGltaW5nVmlldy5qcyBhc3N1bWVzIHRoYXQgRE5TIHRpbWUgaXMgaW5jbHVkZWQKKyAgICAgICAg
ICAgIC8vIGluIGNvbm5lY3Rpb24gdGltZSBzbyBtdXN0IHN1YnN0cmFjdCBoZXJlIHRoZSBETlMg
ZGVsdGEgdGhhdCB3aWxsIGJlIGFkZGVkIGxhdGVyLgorICAgICAgICAgICAgZC0+bV9yZXNwb25z
ZS5yZXNvdXJjZUxvYWRUaW1pbmcoKS0+Y29ubmVjdFN0YXJ0IC09CisgICAgICAgICAgICAgICAg
ZC0+bV9yZXNwb25zZS5yZXNvdXJjZUxvYWRUaW1pbmcoKS0+ZG5zRW5kIC0gZC0+bV9yZXNwb25z
ZS5yZXNvdXJjZUxvYWRUaW1pbmcoKS0+ZG5zU3RhcnQ7CisgICAgICAgIGJyZWFrOworICAgIGNh
c2UgR19TT0NLRVRfQ0xJRU5UX0NPTk5FQ1RFRDoKKyAgICAgICAgLy8gV2ViIFRpbWluZyBjb25z
aWRlcnMgdGhhdCBjb25uZWN0aW9uIHRpbWUgaW52b2x2ZXMgZG5zLCBwcm94eSAmIFRMUyBuZWdv
dGlhdGlvbi4uLgorICAgICAgICAvLyBzbyB3ZSBiZXR0ZXIgcGljayBHX1NPQ0tFVF9DTElFTlRf
Q09NUExFVEUgZm9yIGNvbm5lY3RFbmQKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBHX1NPQ0tF
VF9DTElFTlRfUFJPWFlfTkVHT1RJQVRJTkc6CisgICAgICAgIGQtPm1fcmVzcG9uc2UucmVzb3Vy
Y2VMb2FkVGltaW5nKCktPnByb3h5U3RhcnQgPSBkZWx0YVRpbWU7CisgICAgICAgIGJyZWFrOwor
ICAgIGNhc2UgR19TT0NLRVRfQ0xJRU5UX1BST1hZX05FR09USUFURUQ6CisgICAgICAgIGQtPm1f
cmVzcG9uc2UucmVzb3VyY2VMb2FkVGltaW5nKCktPnByb3h5RW5kID0gZGVsdGFUaW1lOworICAg
ICAgICBicmVhazsKKyAgICBjYXNlIEdfU09DS0VUX0NMSUVOVF9UTFNfSEFORFNIQUtJTkc6Cisg
ICAgICAgIGQtPm1fcmVzcG9uc2UucmVzb3VyY2VMb2FkVGltaW5nKCktPnNzbFN0YXJ0ID0gZGVs
dGFUaW1lOworICAgICAgICBicmVhazsKKyAgICBjYXNlIEdfU09DS0VUX0NMSUVOVF9UTFNfSEFO
RFNIQUtFRDoKKyAgICAgICAgZC0+bV9yZXNwb25zZS5yZXNvdXJjZUxvYWRUaW1pbmcoKS0+c3Ns
RW5kID0gZGVsdGFUaW1lOworICAgICAgICBicmVhazsKKyAgICBjYXNlIEdfU09DS0VUX0NMSUVO
VF9DT01QTEVURToKKyAgICAgICAgZC0+bV9yZXNwb25zZS5yZXNvdXJjZUxvYWRUaW1pbmcoKS0+
Y29ubmVjdEVuZCA9IGRlbHRhVGltZTsKKyAgICAgICAgYnJlYWs7CisgICAgZGVmYXVsdDoKKyAg
ICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIGJyZWFrOworICAgIH0KK30KKyNl
bmRpZgorCiBzdGF0aWMgYm9vbCBzdGFydEhUVFBSZXF1ZXN0KFJlc291cmNlSGFuZGxlKiBoYW5k
bGUpCiB7CiAgICAgQVNTRVJUKGhhbmRsZSk7CkBAIC00NzMsNiArNTc0LDEyIEBAIHN0YXRpYyBi
b29sIHN0YXJ0SFRUUFJlcXVlc3QoUmVzb3VyY2VIYW5kbGUqIGhhbmRsZSkKICAgICBnX3NpZ25h
bF9jb25uZWN0KHNvdXBNZXNzYWdlLCAicmVzdGFydGVkIiwgR19DQUxMQkFDSyhyZXN0YXJ0ZWRD
YWxsYmFjayksIGhhbmRsZSk7CiAgICAgZ19zaWduYWxfY29ubmVjdChzb3VwTWVzc2FnZSwgIndy
b3RlLWJvZHktZGF0YSIsIEdfQ0FMTEJBQ0sod3JvdGVCb2R5RGF0YUNhbGxiYWNrKSwgaGFuZGxl
KTsKIAorI2lmIEVOQUJMRShXRUJfVElNSU5HKQorICAgIGdfc2lnbmFsX2Nvbm5lY3Qoc291cE1l
c3NhZ2UsICJuZXR3b3JrLWV2ZW50IiwgR19DQUxMQkFDSyhuZXR3b3JrRXZlbnRDYWxsYmFjayks
IGhhbmRsZSk7CisgICAgZ19zaWduYWxfY29ubmVjdChzb3VwTWVzc2FnZSwgIndyb3RlLWJvZHki
LCBHX0NBTExCQUNLKHdyb3RlQm9keUNhbGxiYWNrKSwgaGFuZGxlKTsKKyAgICBnX29iamVjdF9z
ZXRfZGF0YShHX09CSkVDVChzb3VwTWVzc2FnZSksICJoYW5kbGUiLCBoYW5kbGUpOworI2VuZGlm
CisKICAgICBTdHJpbmcgZmlyc3RQYXJ0eVN0cmluZyA9IHJlcXVlc3QuZmlyc3RQYXJ0eUZvckNv
b2tpZXMoKS5zdHJpbmcoKTsKICAgICBpZiAoIWZpcnN0UGFydHlTdHJpbmcuaXNFbXB0eSgpKSB7
CiAgICAgICAgIEdPd25QdHI8U291cFVSST4gZmlyc3RQYXJ0eShzb3VwX3VyaV9uZXcoZmlyc3RQ
YXJ0eVN0cmluZy51dGY4KCkuZGF0YSgpKSk7CkBAIC00OTIsNiArNTk5LDEwIEBAIHN0YXRpYyBi
b29sIHN0YXJ0SFRUUFJlcXVlc3QoUmVzb3VyY2VIYW5kbGUqIGhhbmRsZSkKICAgICAvLyBiYWxh
bmNlZCBieSBhIGRlcmVmKCkgaW4gY2xlYW51cFNvdXBSZXF1ZXN0T3BlcmF0aW9uLCB3aGljaCBz
aG91bGQgYWx3YXlzIHJ1bgogICAgIGhhbmRsZS0+cmVmKCk7CiAKKyNpZiBFTkFCTEUoV0VCX1RJ
TUlORykKKyAgICBkLT5tX3Jlc3BvbnNlLnNldFJlc291cmNlTG9hZFRpbWluZyhSZXNvdXJjZUxv
YWRUaW1pbmc6OmNyZWF0ZSgpKTsKKyNlbmRpZgorCiAgICAgLy8gTWFrZSBzdXJlIHdlIGhhdmUg
YW4gQWNjZXB0IGhlYWRlciBmb3Igc3VicmVzb3VyY2VzOyBzb21lIHNpdGVzCiAgICAgLy8gd2Fu
dCB0aGlzIHRvIHNlcnZlIHNvbWUgb2YgdGhlaXIgc3VicmVzb3VyY2VzCiAgICAgaWYgKCFzb3Vw
X21lc3NhZ2VfaGVhZGVyc19nZXRfb25lKHNvdXBNZXNzYWdlLT5yZXF1ZXN0X2hlYWRlcnMsICJB
Y2NlcHQiKSkKQEAgLTQ5OSw2ICs2MTAsOSBAQCBzdGF0aWMgYm9vbCBzdGFydEhUVFBSZXF1ZXN0
KFJlc291cmNlSGFuZGxlKiBoYW5kbGUpCiAKICAgICAvLyBTZW5kIHRoZSByZXF1ZXN0IG9ubHkg
aWYgaXQncyBub3QgYmVlbiBleHBsaWNpdGx5IGRlZmVycmVkLgogICAgIGlmICghZC0+bV9kZWZl
cnNMb2FkaW5nKSB7CisjaWYgRU5BQkxFKFdFQl9USU1JTkcpCisgICAgICAgIGQtPm1fcmVzcG9u
c2UucmVzb3VyY2VMb2FkVGltaW5nKCktPnJlcXVlc3RUaW1lID0gbW9ub3RvbmljYWxseUluY3Jl
YXNpbmdUaW1lKCk7CisjZW5kaWYKICAgICAgICAgZC0+bV9jYW5jZWxsYWJsZSA9IGFkb3B0R1Jl
ZihnX2NhbmNlbGxhYmxlX25ldygpKTsKICAgICAgICAgc291cF9yZXF1ZXN0X3NlbmRfYXN5bmMo
ZC0+bV9zb3VwUmVxdWVzdC5nZXQoKSwgZC0+bV9jYW5jZWxsYWJsZS5nZXQoKSwgc2VuZFJlcXVl
c3RDYWxsYmFjaywgaGFuZGxlKTsKICAgICB9CkBAIC01NzgsNiArNjkyLDEwIEBAIHZvaWQgUmVz
b3VyY2VIYW5kbGU6OnBsYXRmb3JtU2V0RGVmZXJzTG9hZGluZyhib29sIGRlZmVyc0xvYWRpbmcp
CiAgICAgLy8gc2ltcGx5IGNoZWNrIGZvciBkLT5tX3NjaGVkdWxlZEZhaWx1cmUgYmVjYXVzZSBp
dCdzIGNsZWFyZWQgYXMKICAgICAvLyBzb29uIGFzIHRoZSBmYWlsdXJlIGV2ZW50IGlzIGZpcmVk
LgogICAgIGlmICghaGFzQmVlblNlbnQodGhpcykgJiYgZC0+bV9zb3VwUmVxdWVzdCkgeworI2lm
IEVOQUJMRShXRUJfVElNSU5HKQorICAgICAgICBpZiAoZC0+bV9yZXNwb25zZS5yZXNvdXJjZUxv
YWRUaW1pbmcoKSkKKyAgICAgICAgICAgIGQtPm1fcmVzcG9uc2UucmVzb3VyY2VMb2FkVGltaW5n
KCktPnJlcXVlc3RUaW1lID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7CisjZW5kaWYK
ICAgICAgICAgZC0+bV9jYW5jZWxsYWJsZSA9IGFkb3B0R1JlZihnX2NhbmNlbGxhYmxlX25ldygp
KTsKICAgICAgICAgc291cF9yZXF1ZXN0X3NlbmRfYXN5bmMoZC0+bV9zb3VwUmVxdWVzdC5nZXQo
KSwgZC0+bV9jYW5jZWxsYWJsZS5nZXQoKSwgc2VuZFJlcXVlc3RDYWxsYmFjaywgdGhpcyk7CiAg
ICAgICAgIHJldHVybjsKQEAgLTcyNyw4ICs4NDUsMTEgQEAgU291cFNlc3Npb24qIFJlc291cmNl
SGFuZGxlOjpkZWZhdWx0U2Vzc2lvbigpCiAgICAgICAgIHNlc3Npb24gPSBzb3VwX3Nlc3Npb25f
YXN5bmNfbmV3KCk7CiAgICAgICAgIGdfb2JqZWN0X3NldChzZXNzaW9uLAogICAgICAgICAgICAg
ICAgICAgICAgU09VUF9TRVNTSU9OX01BWF9DT05OUywgbWF4Q29ubmVjdGlvbnMsCi0gICAgICAg
ICAgICAgICAgICAgICBTT1VQX1NFU1NJT05fTUFYX0NPTk5TX1BFUl9IT1NULCBtYXhDb25uZWN0
aW9uc1Blckhvc3QsIAorICAgICAgICAgICAgICAgICAgICAgU09VUF9TRVNTSU9OX01BWF9DT05O
U19QRVJfSE9TVCwgbWF4Q29ubmVjdGlvbnNQZXJIb3N0LAogICAgICAgICAgICAgICAgICAgICAg
TlVMTCk7CisjaWYgRU5BQkxFKFdFQl9USU1JTkcpCisgICAgICAgIGdfc2lnbmFsX2Nvbm5lY3Qo
R19PQkpFQ1Qoc2Vzc2lvbiksICJyZXF1ZXN0LXN0YXJ0ZWQiLCBHX0NBTExCQUNLKHJlcXVlc3RT
dGFydGVkQ2FsbGJhY2spLCAwKTsKKyNlbmRpZgogICAgIH0KIAogICAgIHJldHVybiBzZXNzaW9u
OwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDBi
NjJhYzM4ZDEwYzBkNmRhNTNiODc2NTI1ZjlmMTZmN2MyY2Y0ZTIuLjYxZTMwYWI5ODFjMzk2Y2M2
NWNhOTFmOTkzMDFmOGViOTYwZDViZGUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysg
Yi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMi0wMS0zMCAgU2VyZ2lvIFZp
bGxhciBTZW5pbiAgPHN2aWxsYXJAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXSBFbmFibGUg
V2ViIFRpbWluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NDI0MzIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBVcGRhdGVkIHRoZSBqaGJ1aWxkIGxpYnNvdXAgcmVxdWlyZW1lbnQuIEFsc28gd2ViIHRpbWlu
ZyBpcyBidWlsdAorICAgICAgICBieSBkZWZhdWx0IHdoZW5ldmVyIGJ1aWxkLXdlYmtpdCBpcyB1
c2VkLgorCisgICAgICAgICogU2NyaXB0cy9idWlsZC13ZWJraXQ6CisgICAgICAgICogZ3RrL2po
YnVpbGQubW9kdWxlczoKKwogMjAxMi0wMS0zMCAgVG9yIEFybmUgVmVzdGLDuCAgPHRvci5hcm5l
LnZlc3Rib0Bub2tpYS5jb20+CiAKICAgICAgICAgW1F0XSBTdG9yZSBidWlsZCBjb25maWcgaW1t
ZWRpYXRlbHkgaW5zdGVhZCBvZiB3YWl0aW5nIGZvciBhIHN1Y2Nlc3NmdWxsIGJ1aWxkCmRpZmYg
LS1naXQgYS9Ub29scy9TY3JpcHRzL2J1aWxkLXdlYmtpdCBiL1Rvb2xzL1NjcmlwdHMvYnVpbGQt
d2Via2l0CmluZGV4IDI3YTA4NGVlMmE1N2VjYTgyOWFiZThjYTg1NjlkNTBjMjg1YTA4YTkuLjgx
MmMxYjNjNDY4MzBjZDVhYjk1MGJiM2MyMDkyN2RkNDhlZjkxZWQgMTAwNzU1Ci0tLSBhL1Rvb2xz
L1NjcmlwdHMvYnVpbGQtd2Via2l0CisrKyBiL1Rvb2xzL1NjcmlwdHMvYnVpbGQtd2Via2l0CkBA
IC0zMzcsNyArMzM3LDcgQEAgbXkgQGZlYXR1cmVzID0gKAogICAgICAgZGVmaW5lID0+ICJFTkFC
TEVfV0VCX1NPQ0tFVFMiLCBkZWZhdWx0ID0+IDEsIHZhbHVlPT4gXCR3ZWJTb2NrZXRzU3VwcG9y
dCB9LAogCiAgICAgeyBvcHRpb24gPT4gIndlYi10aW1pbmciLCBkZXNjID0+ICJUb2dnbGUgV2Vi
IFRpbWluZyBzdXBwb3J0IiwKLSAgICAgIGRlZmluZSA9PiAiRU5BQkxFX1dFQl9USU1JTkciLCBk
ZWZhdWx0ID0+IDAsIHZhbHVlPT4gXCR3ZWJUaW1pbmdTdXBwb3J0IH0sCisgICAgICBkZWZpbmUg
PT4gIkVOQUJMRV9XRUJfVElNSU5HIiwgZGVmYXVsdCA9PiAoaXNHdGsoKSksIHZhbHVlPT4gXCR3
ZWJUaW1pbmdTdXBwb3J0IH0sCiAKICAgICB7IG9wdGlvbiA9PiAid29ya2VycyIsIGRlc2MgPT4g
IlRvZ2dsZSBXZWIgV29ya2VycyBzdXBwb3J0IiwKICAgICAgIGRlZmluZSA9PiAiRU5BQkxFX1dP
UktFUlMiLCBkZWZhdWx0ID0+IChpc0FwcGxlV2ViS2l0KCkgfHwgaXNHdGsoKSB8fCBpc0JsYWNr
QmVycnkoKSksIHZhbHVlID0+IFwkd29ya2Vyc1N1cHBvcnQgfSwKZGlmZiAtLWdpdCBhL1Rvb2xz
L2d0ay9qaGJ1aWxkLm1vZHVsZXMgYi9Ub29scy9ndGsvamhidWlsZC5tb2R1bGVzCmluZGV4IDE5
OTEwZDU4Y2JjY2EzOTkyMmEzNmVlM2E1YTZlMTU0OTQ1ODZmMWMuLmUwOTY2YTI4MjdkMGJhNzcz
MDJjMjgzODA4NDI3MTFiYjQxNjM0ZmYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL2d0ay9qaGJ1aWxkLm1v
ZHVsZXMKKysrIGIvVG9vbHMvZ3RrL2poYnVpbGQubW9kdWxlcwpAQCAtMTEsNiArMTEsNyBAQAog
ICAgICAgPGRlcCBwYWNrYWdlPSJmcmVldHlwZTYiLz4KICAgICAgIDxkZXAgcGFja2FnZT0iZ3Rr
KyIvPgogICAgICAgPGRlcCBwYWNrYWdlPSJnbGliIi8+CisgICAgICA8ZGVwIHBhY2thZ2U9Imdv
YmplY3QtaW50cm9zcGVjdGlvbiIvPgogICAgICAgPGRlcCBwYWNrYWdlPSJnbGliLW5ldHdvcmtp
bmciLz4KICAgICAgIDxkZXAgcGFja2FnZT0iZ25vbWUtaWNvbi10aGVtZSIvPgogICAgICAgPGRl
cCBwYWNrYWdlPSJsaWJzb3VwIi8+CkBAIC0xMDgsMTAgKzEwOSwxOSBAQAogICAgIDxkZXBlbmRl
bmNpZXM+CiAgICAgICA8ZGVwIHBhY2thZ2U9ImxpYmZmaSIvPgogICAgIDwvZGVwZW5kZW5jaWVz
PgotICAgIDxicmFuY2ggbW9kdWxlPSIvcHViL0dOT01FL3NvdXJjZXMvZ2xpYi8yLjMxL2dsaWIt
Mi4zMS4yLnRhci54eiIgdmVyc2lvbj0iMi4zMS4yIgorICAgIDxicmFuY2ggbW9kdWxlPSIvcHVi
L0dOT01FL3NvdXJjZXMvZ2xpYi8yLjMxL2dsaWItMi4zMS44LnRhci54eiIgdmVyc2lvbj0iMi4z
MS44IgogICAgICAgICAgICAgcmVwbz0iZnRwLmdub21lLm9yZyIKLSAgICAgICAgICAgIGhhc2g9
InNoYTI1NjoxOWQ3OTIxNjcxYTQ4N2MzYzU3NTlhNTdkZjdiODUwOGFmZGJhZGQ3NzY0ZDYyYTQ3
YTgyZmZmN2IzOTkwMzJiIgotICAgICAgICAgICAgbWQ1c3VtPSIxY2JkZjMxNGQ3Yzg3OTE2YTBj
M2RjZTgzYWMwMjg1ZiIvPgorICAgICAgICAgICAgaGFzaD0ic2hhMjU2OjFjZTNkMjc1MTg5MDAw
ZTFjNTBlOTJlZmNkYjY0NDdiYzI2MGIxZTVjNDE2OTliN2ExOTU5ZTNlMTkyOGZiYWEiCisgICAg
ICAgICAgICBtZDVzdW09IjY5MDk2NjRmMjlmYWUyZjAwY2MzMTgxYzhjNmE2YWE3Ii8+CisgIDwv
YXV0b3Rvb2xzPgorCisgIDxhdXRvdG9vbHMgaWQ9ImdvYmplY3QtaW50cm9zcGVjdGlvbiI+Cisg
ICAgPGRlcGVuZGVuY2llcz4KKyAgICAgIDxkZXAgcGFja2FnZT0iZ2xpYiIvPgorICAgIDwvZGVw
ZW5kZW5jaWVzPgorICAgIDxicmFuY2ggbW9kdWxlPSJnb2JqZWN0LWludHJvc3BlY3Rpb24iIHZl
cnNpb249IjEuMzEuMTAiCisgICAgICAgICAgICByZXBvPSJnaXQuZ25vbWUub3JnIgorICAgICAg
ICAgICAgdGFnPSI2MDUzM2Q0NTI4NjkwZGY3MjI4N2QxZmUwZGRlOWUwMjU3MDgxZGQzIi8+CiAg
IDwvYXV0b3Rvb2xzPgogCiAgIDxhdXRvdG9vbHMgaWQ9ImdsaWItbmV0d29ya2luZyI+CkBAIC0x
NDAsOSArMTUwLDkgQEAKICAgICA8ZGVwZW5kZW5jaWVzPgogICAgICAgPGRlcCBwYWNrYWdlPSJn
bGliLW5ldHdvcmtpbmciLz4KICAgICA8L2RlcGVuZGVuY2llcz4KLSAgICA8YnJhbmNoIG1vZHVs
ZT0ibGlic291cCIgdmVyc2lvbj0iMi4zNy4yLjErZ2l0IgorICAgIDxicmFuY2ggbW9kdWxlPSJs
aWJzb3VwIiB2ZXJzaW9uPSIyLjM3LjQrZ2l0IgogICAgICAgICAgICAgcmVwbz0iZ2l0Lmdub21l
Lm9yZyIKLSAgICAgICAgICAgIHRhZz0iNWNiZmM0OGNhZjc2Y2VkMmUyOGVlMDZjOWU0MDUyMzI3
MzYwMWRjNiIvPgorICAgICAgICAgICAgdGFnPSJiOTJiZTQzNDdjOTgxMjA1Y2EyZmI0MzYyZjhm
MDMzMDFkMWFiOTA1Ii8+CiAgIDwvYXV0b3Rvb2xzPgogCiAgIDxhdXRvdG9vbHMgaWQ9ImZvbnRj
b25maWciIGF1dG9nZW4tc2g9ImNvbmZpZ3VyZSI+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNDQwMzcwYTZiMDRkMWYyYzBm
OWVmYjlmOGIwMjA3MWRkZDE3NTU2MS4uYWQ4OTBkNTg0ODE2NjMyOTViZGFkYzBkNTQwNjU0MjNh
ZjI3ODdjMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEyLTAxLTMwICBTZXJnaW8gVmlsbGFy
IFNlbmluICA8c3ZpbGxhckBpZ2FsaWEuY29tPgorCisgICAgICAgIFtHVEtdIEVuYWJsZSBXZWIg
VGltaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00
MjQzMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJl
bW92ZWQgc29tZSB0ZXN0cyB0aGF0IGFyZSB3b3JraW5nIGZpbmUgbm93IGFmdGVyIGFkZGluZyBX
ZWIKKyAgICAgICAgVGltaW5nIHN1cHBvcnQuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvU2tp
cHBlZDoKKwogMjAxMi0wMS0zMCAgQ3NhYmEgT3N6dHJvZ29uw6FjICA8b3NzeUB3ZWJraXQub3Jn
PgogCiAgICAgICAgIFtRdF1bV0syXSBodHRwL3Rlc3RzL2hpc3RvcnkvcmVwbGFjZXN0YXRlLXBv
c3QtdG8tZ2V0LTIuaHRtbCBmYWlscyB3aXRoIHRpbWVvdXQKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBw
ZWQKaW5kZXggNmVmMzM3MGQ0NWJlNTIzNzMyNWZhZDQxMTlkMWI1NDY4MDQzZTFkMy4uNzcyYjVj
MTM1NWJhNDU3YzQyZTA2NDgzYzkzOWI4Y2I3NDBiNDNkYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Nr
aXBwZWQKQEAgLTI1NywyMCArMjU3LDEzIEBAIGdhbWVwYWQvCiAjIFNwZWVjaCBpbnB1dCBpcyBu
b3QgeWV0IGVuYWJsZWQuCiBmYXN0L3NwZWVjaAogCi0jIFdlYiBUaW1pbmcgaXMgbm90IGVuYWJs
ZWQuCi0jIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MjQzMgorIyBX
ZWIgVGltaW5nIGlzc3VlcworIyBoZWFwIHNpemUgbGltaXQgdW5kZWZpbmVkCiBmYXN0L2RvbS9X
aW5kb3cvd2luZG93LXByb3BlcnRpZXMtcGVyZm9ybWFuY2UuaHRtbAotZmFzdC9kb20vbmF2aWdh
dGlvbi10eXBlLWJhY2stZm9yd2FyZC5odG1sCi1mYXN0L2RvbS9uYXZpZ2F0aW9uLXR5cGUtbmF2
aWdhdGUuaHRtbAotZmFzdC9kb20vbmF2aWdhdGlvbi10eXBlLXJlbG9hZC5odG1sCi1mYXN0L2Rv
bS93ZWJ0aW1pbmcuaHRtbAotZmFzdC9kb20vd2VidGltaW5nLW5hdmlnYXRlLXdpdGhpbi1kb2N1
bWVudC5odG1sCi1mYXN0L2RvbS93ZWJ0aW1pbmctZG9jdW1lbnQtb3Blbi5odG1sCisjIGNyb3Nz
LW9yaWdpbiByZWRpcmVjdHMKIGh0dHAvdGVzdHMvbWlzYy93ZWJ0aW1pbmctb3JpZ2lucy5odG1s
Ci1odHRwL3Rlc3RzL21pc2Mvd2VidGltaW5nLW9uZS1yZWRpcmVjdC5waHAKLWh0dHAvdGVzdHMv
bWlzYy93ZWJ0aW1pbmctc2xvdy1sb2FkLnBocAorIyBTU0wgc3RhcnQgaXMgZ2V0dGluZyBhIHZh
bHVlIHdoZW4gaXQgc2hvdWxkIGFwcGFyZW50bHkgbm90CiBodHRwL3Rlc3RzL21pc2Mvd2VidGlt
aW5nLXNzbC5waHAKLWh0dHAvdGVzdHMvbWlzYy93ZWJ0aW1pbmctdHdvLXJlZGlyZWN0cy5waHAK
IAogIyBGaWxlU3lzdGVtIEFQSSBpcyBub3Qgc3VwcG9ydGVkLgogZmFzdC9maWxlc3lzdGVtCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>134524</attachid>
            <date>2012-03-29 01:27:47 -0700</date>
            <delta_ts>2012-04-19 15:35:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-42432-20120329102745.patch</filename>
            <type>text/plain</type>
            <size>15230</size>
            <attacher name="Sergio Villar Senin">svillar</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEyNDEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDNmODdjYzYwNDNjZWI1
N2Q3MzJlNzA1N2MwNDIyYmRlMjhkOWRlMS4uOTgyOTE4N2Y3Yzc5ZTJlNjA1OTE5NmRmN2YwODYx
NjY4M2RhYmEzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDExLTEyLTI4ICBTZXJn
aW8gVmlsbGFyIFNlbmluICA8c3ZpbGxhckBpZ2FsaWEuY29tPgorCisgICAgICAgIFtHVEtdIEVu
YWJsZSBXZWIgVGltaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD00MjQzMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEFkZGVkIFdlYlRpbWluZyBzdXBwb3J0IHRvIHRoZSBHVEsrIHBvcnQuIFdlYlRpbWlu
ZyBhbGxvd3MKKyAgICAgICAgZGV2ZWxvcGVycyB0byBjb2xsZWN0IGRldGFpbGVkIG5ldHdvcmsg
dGltaW5nIGluZm9ybWF0aW9uIHBlcgorICAgICAgICByZXNvdXJjZS4gSXQgcmVxdWlyZXMgdGhl
IG5ldyBTb3VwTWVzc2FnZSdzICJuZXR3b3JrLWV2ZW50IgorICAgICAgICBzaWduYWwuCisKKyAg
ICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBiaW5kaW5ncy9nb2JqZWN0L0dOVW1h
a2VmaWxlLmFtOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRs
ZVNvdXAuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y2xlYW51cFNvdXBSZXF1ZXN0T3BlcmF0aW9u
KToKKyAgICAgICAgKFdlYkNvcmU6OnNlbmRSZXF1ZXN0Q2FsbGJhY2spOgorICAgICAgICAoV2Vi
Q29yZTo6Y3VycmVudFRpbWVNaW51c1JlcXVlc3RUaW1lKToKKyAgICAgICAgKFdlYkNvcmU6Ondy
b3RlQm9keUNhbGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OnJlcXVlc3RTdGFydGVkQ2FsbGJh
Y2spOgorICAgICAgICAoV2ViQ29yZTo6bmV0d29ya0V2ZW50Q2FsbGJhY2spOgorICAgICAgICAo
V2ViQ29yZTo6c3RhcnRIVFRQUmVxdWVzdCk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUhh
bmRsZTo6cGxhdGZvcm1TZXREZWZlcnNMb2FkaW5nKToKKwogMjAxMi0wMy0yOCAgQW5kcmV5IEtv
c3lha292ICA8Y2FzZXFAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IG9u
bHkgdXBkYXRlIFRpbWVsaW5lIG92ZXJ2aWV3IHdoZW4gcmVhbGx5IG5lZWRlZApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtl
ZmlsZS5hbQppbmRleCA3MTNiM2U4MmFiMmFhMTBkOGUxMGYyNjJlMDU1YzQ2NjkwY2IxZDBlLi44
ZDI1OWU4MDU1YzY5YzNjNDZmYzg4MmE1NGRhN2M4NTgwNGRjNjY5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmls
ZS5hbQpAQCAtNjM5LDYgKzYzOSwxNCBAQCBGRUFUVVJFX0RFRklORVMgKz0gRU5BQkxFX0RFVklD
RV9PUklFTlRBVElPTj0xCiB3ZWJjb3JlX2NwcGZsYWdzICs9IC1ERU5BQkxFX0RFVklDRV9PUklF
TlRBVElPTj0xCiBlbmRpZiAgIyBFTkQgRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTgogCisjIC0t
LQorIyBXZWIgVGltaW5nIHN1cHBvcnQKKyMgLS0tCitpZiBFTkFCTEVfV0VCX1RJTUlORworRkVB
VFVSRV9ERUZJTkVTICs9IEVOQUJMRV9XRUJfVElNSU5HPTEKK3dlYmNvcmVfY3BwZmxhZ3MgKz0g
LURFTkFCTEVfV0VCX1RJTUlORz0xCitlbmRpZiAgIyBFTkQgRU5BQkxFX1dFQl9USU1JTkcKKwog
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9DU1NQcm9wZXJ0eU5hbWVzLmNwcDogRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9DU1NQcm9wZXJ0eU5hbWVzLmgKIERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvQ1NT
UHJvcGVydHlOYW1lcy5oOiAkKFdFQkNPUkVfQ1NTX1BST1BFUlRZX05BTUVTKSAkKFdlYkNvcmUp
L2Nzcy9tYWtlcHJvcC5wbAogCSQoQU1fVl9HRU4pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9nb2JqZWN0L0dOVW1ha2VmaWxlLmFtIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvZ29iamVjdC9HTlVtYWtlZmlsZS5hbQppbmRleCA2NjBiNzhhMzJjMTVmMjhiZjExYTJlNjY1
YjA5MDRkYzdmNzA4Zjg4Li5hODA2YmU2N2I2MzkzYjYyNWY0ODgxZTAyZTg4ZWY1ODRjNjJjYzdh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L0dOVW1ha2VmaWxl
LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvR05VbWFrZWZpbGUuYW0K
QEAgLTQyOCw2ICs0MjgsMjEgQEAgd2Via2l0Z3RrX2dkb21fYnVpbHRfc291cmNlcyArPSBcCiAJ
RGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTUhUTUxQcm9wZXJ0aWVzQ29sbGVjdGlvblBy
aXZhdGUuaAogZW5kaWYKIAorCitpZiBFTkFCTEVfV0VCX1RJTUlORword2Via2l0Z3RrX2J1aWx0
X2hfYXBpICs9IFwKKwkkKHRvcF9idWlsZGRpcikvRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktp
dERPTVBlcmZvcm1hbmNlLmggXAorCSQodG9wX2J1aWxkZGlyKS9EZXJpdmVkU291cmNlcy93ZWJr
aXQvV2ViS2l0RE9NUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmggXAorCSQodG9wX2J1aWxkZGlyKS9E
ZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NUGVyZm9ybWFuY2VUaW1pbmcuaAord2Via2l0
Z3RrX2dkb21fYnVpbHRfc291cmNlcyArPSBcCisJRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktp
dERPTVBlcmZvcm1hbmNlLmNwcCBcCisJRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTVBl
cmZvcm1hbmNlUHJpdmF0ZS5oIFwKKwlEZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NUGVy
Zm9ybWFuY2VOYXZpZ2F0aW9uLmNwcCBcCisJRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERP
TVBlcmZvcm1hbmNlTmF2aWdhdGlvblByaXZhdGUuaCBcCisJRGVyaXZlZFNvdXJjZXMvd2Via2l0
L1dlYktpdERPTVBlcmZvcm1hbmNlVGltaW5nLmNwcCBcCisJRGVyaXZlZFNvdXJjZXMvd2Via2l0
L1dlYktpdERPTVBlcmZvcm1hbmNlVGltaW5nUHJpdmF0ZS5oCitlbmRpZgorCiBnZG9tX2NsYXNz
X2xpc3QgOj0gJChzdWJzdCBXZWJLaXRET00sLCAkKGZpbHRlci1vdXQgJVByaXZhdGUsICQoYmFz
ZW5hbWUgJChub3RkaXIgJCh3ZWJraXRndGtfZ2RvbV9idWlsdF9zb3VyY2VzKSkpKSkKIGdkb21f
Y2xhc3NfbGlzdCArPSBDdXN0b20gRXZlbnRUYXJnZXQgT2JqZWN0CiBEZXJpdmVkU291cmNlcy93
ZWJraXQvd2Via2l0ZG9tLmg6ICQoV2ViQ29yZSkvYmluZGluZ3Mvc2NyaXB0cy9nb2JqZWN0LWdl
bmVyYXRlLWhlYWRlcnMucGwgJChXZWJDb3JlKS9iaW5kaW5ncy9nb2JqZWN0L0dOVW1ha2VmaWxl
LmFtCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVz
b3VyY2VIYW5kbGVTb3VwLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291
cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwCmluZGV4IGFmZWVlZDM1ODk3ZDcwYTQxOTc1OGVlYjVk
MWMxMjI2YjBiZmI4YjguLjcwNDJjMGQyMThhYzY4Y2I1MDQ5YjM2YTJlYjRhZTkyYTRjMGZmMDYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJj
ZUhhbmRsZVNvdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291
cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwCkBAIC0xMzYsNiArMTM2LDkgQEAgc3RhdGljIHZvaWQg
c2VuZFJlcXVlc3RDYWxsYmFjayhHT2JqZWN0KiwgR0FzeW5jUmVzdWx0KiwgZ3BvaW50ZXIpOwog
c3RhdGljIHZvaWQgcmVhZENhbGxiYWNrKEdPYmplY3QqLCBHQXN5bmNSZXN1bHQqLCBncG9pbnRl
cik7CiBzdGF0aWMgdm9pZCBjbG9zZUNhbGxiYWNrKEdPYmplY3QqLCBHQXN5bmNSZXN1bHQqLCBn
cG9pbnRlcik7CiBzdGF0aWMgYm9vbCBzdGFydE5vbkhUVFBSZXF1ZXN0KFJlc291cmNlSGFuZGxl
KiwgS1VSTCk7CisjaWYgRU5BQkxFKFdFQl9USU1JTkcpCitzdGF0aWMgaW50ICBjdXJyZW50VGlt
ZU1pbnVzUmVxdWVzdFRpbWUoZG91YmxlIHJlcXVlc3RUaW1lKTsKKyNlbmRpZgogCiBSZXNvdXJj
ZUhhbmRsZUludGVybmFsOjp+UmVzb3VyY2VIYW5kbGVJbnRlcm5hbCgpCiB7CkBAIC0yMTIsNiAr
MjE1LDExIEBAIHN0YXRpYyB2b2lkIHJlc3RhcnRlZENhbGxiYWNrKFNvdXBNZXNzYWdlKiBtc2cs
IGdwb2ludGVyIGRhdGEpCiAgICAgaWYgKGQtPm1fY2FuY2VsbGVkKQogICAgICAgICByZXR1cm47
CiAKKyNpZiBFTkFCTEUoV0VCX1RJTUlORykKKyAgICBkLT5tX3Jlc3BvbnNlLnNldFJlc291cmNl
TG9hZFRpbWluZyhSZXNvdXJjZUxvYWRUaW1pbmc6OmNyZWF0ZSgpKTsKKyAgICBkLT5tX3Jlc3Bv
bnNlLnJlc291cmNlTG9hZFRpbWluZygpLT5yZXF1ZXN0VGltZSA9IG1vbm90b25pY2FsbHlJbmNy
ZWFzaW5nVGltZSgpOworI2VuZGlmCisKICAgICAvLyBVcGRhdGUgdGhlIGZpcnN0IHBhcnR5IGlu
IGNhc2UgdGhlIGJhc2UgVVJMIGNoYW5nZWQgd2l0aCB0aGUgcmVkaXJlY3QKICAgICBTdHJpbmcg
Zmlyc3RQYXJ0eVN0cmluZyA9IHJlcXVlc3QuZmlyc3RQYXJ0eUZvckNvb2tpZXMoKS5zdHJpbmco
KTsKICAgICBpZiAoIWZpcnN0UGFydHlTdHJpbmcuaXNFbXB0eSgpKSB7CkBAIC0yOTksNiArMzA3
LDExIEBAIHN0YXRpYyB2b2lkIHNlbmRSZXF1ZXN0Q2FsbGJhY2soR09iamVjdCogc291cmNlLCBH
QXN5bmNSZXN1bHQqIHJlcywgZ3BvaW50ZXIgZGF0CiAgICAgICAgIHJldHVybjsKICAgICB9CiAK
KyNpZiBFTkFCTEUoV0VCX1RJTUlORykKKyAgICBpZiAoZC0+bV9yZXNwb25zZS5yZXNvdXJjZUxv
YWRUaW1pbmcoKSkKKyAgICAgICAgZC0+bV9yZXNwb25zZS5yZXNvdXJjZUxvYWRUaW1pbmcoKS0+
cmVjZWl2ZUhlYWRlcnNFbmQgPSBjdXJyZW50VGltZU1pbnVzUmVxdWVzdFRpbWUoZC0+bV9yZXNw
b25zZS5yZXNvdXJjZUxvYWRUaW1pbmcoKS0+cmVxdWVzdFRpbWUpOworI2VuZGlmCisKICAgICBH
T3duUHRyPEdFcnJvcj4gZXJyb3I7CiAgICAgR0lucHV0U3RyZWFtKiBpbiA9IHNvdXBfcmVxdWVz
dF9zZW5kX2ZpbmlzaChkLT5tX3NvdXBSZXF1ZXN0LmdldCgpLCByZXMsICZlcnJvci5vdXRQdHIo
KSk7CiAgICAgaWYgKGVycm9yKSB7CkBAIC00MzcsNiArNDUwLDk0IEBAIHN0YXRpYyBib29sIGFk
ZEZvcm1FbGVtZW50c1RvU291cE1lc3NhZ2UoU291cE1lc3NhZ2UqIG1lc3NhZ2UsIGNvbnN0IGNo
YXIqIGNvbnRlCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKKyNpZiBFTkFCTEUoV0VCX1RJTUlORykK
K3N0YXRpYyBpbnQgY3VycmVudFRpbWVNaW51c1JlcXVlc3RUaW1lKGRvdWJsZSByZXF1ZXN0VGlt
ZSkKK3sKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8aW50PigobW9ub3RvbmljYWxseUluY3JlYXNp
bmdUaW1lKCkgLSByZXF1ZXN0VGltZSkgKiAxMDAwLjApOworfQorCitzdGF0aWMgdm9pZCB3cm90
ZUJvZHlDYWxsYmFjayhTb3VwTWVzc2FnZSAqLCBncG9pbnRlciBkYXRhKQoreworICAgIFJlZlB0
cjxSZXNvdXJjZUhhbmRsZT4gaGFuZGxlID0gc3RhdGljX2Nhc3Q8UmVzb3VyY2VIYW5kbGUqPihk
YXRhKTsKKyAgICBpZiAoIWhhbmRsZSkKKyAgICAgICAgcmV0dXJuOworCisgICAgUmVzb3VyY2VI
YW5kbGVJbnRlcm5hbCogZCA9IGhhbmRsZS0+Z2V0SW50ZXJuYWwoKTsKKyAgICBpZiAoIWQtPm1f
cmVzcG9uc2UucmVzb3VyY2VMb2FkVGltaW5nKCkpCisgICAgICAgIHJldHVybjsKKworICAgIGQt
Pm1fcmVzcG9uc2UucmVzb3VyY2VMb2FkVGltaW5nKCktPnNlbmRFbmQgPSBjdXJyZW50VGltZU1p
bnVzUmVxdWVzdFRpbWUoZC0+bV9yZXNwb25zZS5yZXNvdXJjZUxvYWRUaW1pbmcoKS0+cmVxdWVz
dFRpbWUpOworfQorCitzdGF0aWMgdm9pZCByZXF1ZXN0U3RhcnRlZENhbGxiYWNrKFNvdXBTZXNz
aW9uICosIFNvdXBNZXNzYWdlICpzb3VwTWVzc2FnZSwgU291cFNvY2tldCAqLCBncG9pbnRlciBk
YXRhKQoreworICAgIFJlZlB0cjxSZXNvdXJjZUhhbmRsZT4gaGFuZGxlID0gc3RhdGljX2Nhc3Q8
UmVzb3VyY2VIYW5kbGUqPihnX29iamVjdF9nZXRfZGF0YShHX09CSkVDVChzb3VwTWVzc2FnZSks
ICJoYW5kbGUiKSk7CisgICAgaWYgKCFoYW5kbGUpCisgICAgICAgIHJldHVybjsKKworICAgIFJl
c291cmNlSGFuZGxlSW50ZXJuYWwqIGQgPSBoYW5kbGUtPmdldEludGVybmFsKCk7CisgICAgaWYg
KCFkLT5tX3Jlc3BvbnNlLnJlc291cmNlTG9hZFRpbWluZygpKQorICAgICAgICByZXR1cm47CisK
KyAgICBkLT5tX3Jlc3BvbnNlLnJlc291cmNlTG9hZFRpbWluZygpLT5zZW5kU3RhcnQgPSBjdXJy
ZW50VGltZU1pbnVzUmVxdWVzdFRpbWUoZC0+bV9yZXNwb25zZS5yZXNvdXJjZUxvYWRUaW1pbmco
KS0+cmVxdWVzdFRpbWUpOworICAgIGlmIChkLT5tX3Jlc3BvbnNlLnJlc291cmNlTG9hZFRpbWlu
ZygpLT5zc2xTdGFydCAhPSAtMSkKKyAgICAgICAgLy8gV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL1Jlc291cmNlVGltaW5nVmlldy5qcyBhc3N1bWVzIHRoYXQgU1NMIHRpbWUgaXMgaW5jbHVk
ZWQKKyAgICAgICAgLy8gaW4gY29ubmVjdGlvbiB0aW1lIHNvIG11c3Qgc3Vic3RyYWN0IGhlcmUg
dGhlIFNTTCBkZWx0YSB0aGF0IHdpbGwgYmUgYWRkZWQgbGF0ZXIuCisgICAgICAgIGQtPm1fcmVz
cG9uc2UucmVzb3VyY2VMb2FkVGltaW5nKCktPnNlbmRTdGFydCAtPQorICAgICAgICAgICAgZC0+
bV9yZXNwb25zZS5yZXNvdXJjZUxvYWRUaW1pbmcoKS0+c3NsRW5kIC0gZC0+bV9yZXNwb25zZS5y
ZXNvdXJjZUxvYWRUaW1pbmcoKS0+c3NsU3RhcnQ7Cit9CisKK3N0YXRpYyB2b2lkIG5ldHdvcmtF
dmVudENhbGxiYWNrKFNvdXBNZXNzYWdlICosIEdTb2NrZXRDbGllbnRFdmVudCBldmVudCwgR0lP
U3RyZWFtICosIGdwb2ludGVyIGRhdGEpCit7CisgICAgUmVzb3VyY2VIYW5kbGUqIGhhbmRsZSA9
IHN0YXRpY19jYXN0PFJlc291cmNlSGFuZGxlKj4oZGF0YSk7CisgICAgaWYgKCFoYW5kbGUpCisg
ICAgICAgIHJldHVybjsKKyAgICBSZXNvdXJjZUhhbmRsZUludGVybmFsKiBkID0gaGFuZGxlLT5n
ZXRJbnRlcm5hbCgpOworICAgIGlmIChkLT5tX2NhbmNlbGxlZCkKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50IGRlbHRhVGltZSA9IGN1cnJlbnRUaW1lTWludXNSZXF1ZXN0VGltZShkLT5tX3Jl
c3BvbnNlLnJlc291cmNlTG9hZFRpbWluZygpLT5yZXF1ZXN0VGltZSk7CisgICAgc3dpdGNoIChl
dmVudCkgeworICAgIGNhc2UgR19TT0NLRVRfQ0xJRU5UX1JFU09MVklORzoKKyAgICAgICAgZC0+
bV9yZXNwb25zZS5yZXNvdXJjZUxvYWRUaW1pbmcoKS0+ZG5zU3RhcnQgPSBkZWx0YVRpbWU7Cisg
ICAgICAgIGJyZWFrOworICAgIGNhc2UgR19TT0NLRVRfQ0xJRU5UX1JFU09MVkVEOgorICAgICAg
ICBkLT5tX3Jlc3BvbnNlLnJlc291cmNlTG9hZFRpbWluZygpLT5kbnNFbmQgPSBkZWx0YVRpbWU7
CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgR19TT0NLRVRfQ0xJRU5UX0NPTk5FQ1RJTkc6Cisg
ICAgICAgIGQtPm1fcmVzcG9uc2UucmVzb3VyY2VMb2FkVGltaW5nKCktPmNvbm5lY3RTdGFydCA9
IGRlbHRhVGltZTsKKyAgICAgICAgaWYgKGQtPm1fcmVzcG9uc2UucmVzb3VyY2VMb2FkVGltaW5n
KCktPmRuc1N0YXJ0ICE9IC0xKQorICAgICAgICAgICAgLy8gV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL1Jlc291cmNlVGltaW5nVmlldy5qcyBhc3N1bWVzIHRoYXQgRE5TIHRpbWUgaXMgaW5j
bHVkZWQKKyAgICAgICAgICAgIC8vIGluIGNvbm5lY3Rpb24gdGltZSBzbyBtdXN0IHN1YnN0cmFj
dCBoZXJlIHRoZSBETlMgZGVsdGEgdGhhdCB3aWxsIGJlIGFkZGVkIGxhdGVyLgorICAgICAgICAg
ICAgZC0+bV9yZXNwb25zZS5yZXNvdXJjZUxvYWRUaW1pbmcoKS0+Y29ubmVjdFN0YXJ0IC09Cisg
ICAgICAgICAgICAgICAgZC0+bV9yZXNwb25zZS5yZXNvdXJjZUxvYWRUaW1pbmcoKS0+ZG5zRW5k
IC0gZC0+bV9yZXNwb25zZS5yZXNvdXJjZUxvYWRUaW1pbmcoKS0+ZG5zU3RhcnQ7CisgICAgICAg
IGJyZWFrOworICAgIGNhc2UgR19TT0NLRVRfQ0xJRU5UX0NPTk5FQ1RFRDoKKyAgICAgICAgLy8g
V2ViIFRpbWluZyBjb25zaWRlcnMgdGhhdCBjb25uZWN0aW9uIHRpbWUgaW52b2x2ZXMgZG5zLCBw
cm94eSAmIFRMUyBuZWdvdGlhdGlvbi4uLgorICAgICAgICAvLyBzbyB3ZSBiZXR0ZXIgcGljayBH
X1NPQ0tFVF9DTElFTlRfQ09NUExFVEUgZm9yIGNvbm5lY3RFbmQKKyAgICAgICAgYnJlYWs7Cisg
ICAgY2FzZSBHX1NPQ0tFVF9DTElFTlRfUFJPWFlfTkVHT1RJQVRJTkc6CisgICAgICAgIGQtPm1f
cmVzcG9uc2UucmVzb3VyY2VMb2FkVGltaW5nKCktPnByb3h5U3RhcnQgPSBkZWx0YVRpbWU7Cisg
ICAgICAgIGJyZWFrOworICAgIGNhc2UgR19TT0NLRVRfQ0xJRU5UX1BST1hZX05FR09USUFURUQ6
CisgICAgICAgIGQtPm1fcmVzcG9uc2UucmVzb3VyY2VMb2FkVGltaW5nKCktPnByb3h5RW5kID0g
ZGVsdGFUaW1lOworICAgICAgICBicmVhazsKKyAgICBjYXNlIEdfU09DS0VUX0NMSUVOVF9UTFNf
SEFORFNIQUtJTkc6CisgICAgICAgIGQtPm1fcmVzcG9uc2UucmVzb3VyY2VMb2FkVGltaW5nKCkt
PnNzbFN0YXJ0ID0gZGVsdGFUaW1lOworICAgICAgICBicmVhazsKKyAgICBjYXNlIEdfU09DS0VU
X0NMSUVOVF9UTFNfSEFORFNIQUtFRDoKKyAgICAgICAgZC0+bV9yZXNwb25zZS5yZXNvdXJjZUxv
YWRUaW1pbmcoKS0+c3NsRW5kID0gZGVsdGFUaW1lOworICAgICAgICBicmVhazsKKyAgICBjYXNl
IEdfU09DS0VUX0NMSUVOVF9DT01QTEVURToKKyAgICAgICAgZC0+bV9yZXNwb25zZS5yZXNvdXJj
ZUxvYWRUaW1pbmcoKS0+Y29ubmVjdEVuZCA9IGRlbHRhVGltZTsKKyAgICAgICAgYnJlYWs7Cisg
ICAgZGVmYXVsdDoKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIGJyZWFr
OworICAgIH0KK30KKyNlbmRpZgorCiBzdGF0aWMgYm9vbCBzdGFydEhUVFBSZXF1ZXN0KFJlc291
cmNlSGFuZGxlKiBoYW5kbGUpCiB7CiAgICAgQVNTRVJUKGhhbmRsZSk7CkBAIC00NzIsNiArNTcz
LDEyIEBAIHN0YXRpYyBib29sIHN0YXJ0SFRUUFJlcXVlc3QoUmVzb3VyY2VIYW5kbGUqIGhhbmRs
ZSkKICAgICBnX3NpZ25hbF9jb25uZWN0KHNvdXBNZXNzYWdlLCAicmVzdGFydGVkIiwgR19DQUxM
QkFDSyhyZXN0YXJ0ZWRDYWxsYmFjayksIGhhbmRsZSk7CiAgICAgZ19zaWduYWxfY29ubmVjdChz
b3VwTWVzc2FnZSwgIndyb3RlLWJvZHktZGF0YSIsIEdfQ0FMTEJBQ0sod3JvdGVCb2R5RGF0YUNh
bGxiYWNrKSwgaGFuZGxlKTsKIAorI2lmIEVOQUJMRShXRUJfVElNSU5HKQorICAgIGdfc2lnbmFs
X2Nvbm5lY3Qoc291cE1lc3NhZ2UsICJuZXR3b3JrLWV2ZW50IiwgR19DQUxMQkFDSyhuZXR3b3Jr
RXZlbnRDYWxsYmFjayksIGhhbmRsZSk7CisgICAgZ19zaWduYWxfY29ubmVjdChzb3VwTWVzc2Fn
ZSwgIndyb3RlLWJvZHkiLCBHX0NBTExCQUNLKHdyb3RlQm9keUNhbGxiYWNrKSwgaGFuZGxlKTsK
KyAgICBnX29iamVjdF9zZXRfZGF0YShHX09CSkVDVChzb3VwTWVzc2FnZSksICJoYW5kbGUiLCBo
YW5kbGUpOworI2VuZGlmCisKICAgICBTdHJpbmcgZmlyc3RQYXJ0eVN0cmluZyA9IHJlcXVlc3Qu
Zmlyc3RQYXJ0eUZvckNvb2tpZXMoKS5zdHJpbmcoKTsKICAgICBpZiAoIWZpcnN0UGFydHlTdHJp
bmcuaXNFbXB0eSgpKSB7CiAgICAgICAgIEdPd25QdHI8U291cFVSST4gZmlyc3RQYXJ0eShzb3Vw
X3VyaV9uZXcoZmlyc3RQYXJ0eVN0cmluZy51dGY4KCkuZGF0YSgpKSk7CkBAIC00OTEsNiArNTk4
LDEwIEBAIHN0YXRpYyBib29sIHN0YXJ0SFRUUFJlcXVlc3QoUmVzb3VyY2VIYW5kbGUqIGhhbmRs
ZSkKICAgICAvLyBiYWxhbmNlZCBieSBhIGRlcmVmKCkgaW4gY2xlYW51cFNvdXBSZXF1ZXN0T3Bl
cmF0aW9uLCB3aGljaCBzaG91bGQgYWx3YXlzIHJ1bgogICAgIGhhbmRsZS0+cmVmKCk7CiAKKyNp
ZiBFTkFCTEUoV0VCX1RJTUlORykKKyAgICBkLT5tX3Jlc3BvbnNlLnNldFJlc291cmNlTG9hZFRp
bWluZyhSZXNvdXJjZUxvYWRUaW1pbmc6OmNyZWF0ZSgpKTsKKyNlbmRpZgorCiAgICAgLy8gTWFr
ZSBzdXJlIHdlIGhhdmUgYW4gQWNjZXB0IGhlYWRlciBmb3Igc3VicmVzb3VyY2VzOyBzb21lIHNp
dGVzCiAgICAgLy8gd2FudCB0aGlzIHRvIHNlcnZlIHNvbWUgb2YgdGhlaXIgc3VicmVzb3VyY2Vz
CiAgICAgaWYgKCFzb3VwX21lc3NhZ2VfaGVhZGVyc19nZXRfb25lKHNvdXBNZXNzYWdlLT5yZXF1
ZXN0X2hlYWRlcnMsICJBY2NlcHQiKSkKQEAgLTQ5OCw2ICs2MDksOSBAQCBzdGF0aWMgYm9vbCBz
dGFydEhUVFBSZXF1ZXN0KFJlc291cmNlSGFuZGxlKiBoYW5kbGUpCiAKICAgICAvLyBTZW5kIHRo
ZSByZXF1ZXN0IG9ubHkgaWYgaXQncyBub3QgYmVlbiBleHBsaWNpdGx5IGRlZmVycmVkLgogICAg
IGlmICghZC0+bV9kZWZlcnNMb2FkaW5nKSB7CisjaWYgRU5BQkxFKFdFQl9USU1JTkcpCisgICAg
ICAgIGQtPm1fcmVzcG9uc2UucmVzb3VyY2VMb2FkVGltaW5nKCktPnJlcXVlc3RUaW1lID0gbW9u
b3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7CisjZW5kaWYKICAgICAgICAgZC0+bV9jYW5jZWxs
YWJsZSA9IGFkb3B0R1JlZihnX2NhbmNlbGxhYmxlX25ldygpKTsKICAgICAgICAgc291cF9yZXF1
ZXN0X3NlbmRfYXN5bmMoZC0+bV9zb3VwUmVxdWVzdC5nZXQoKSwgZC0+bV9jYW5jZWxsYWJsZS5n
ZXQoKSwgc2VuZFJlcXVlc3RDYWxsYmFjaywgaGFuZGxlKTsKICAgICB9CkBAIC01NzcsNiArNjkx
LDEwIEBAIHZvaWQgUmVzb3VyY2VIYW5kbGU6OnBsYXRmb3JtU2V0RGVmZXJzTG9hZGluZyhib29s
IGRlZmVyc0xvYWRpbmcpCiAgICAgLy8gc2ltcGx5IGNoZWNrIGZvciBkLT5tX3NjaGVkdWxlZEZh
aWx1cmUgYmVjYXVzZSBpdCdzIGNsZWFyZWQgYXMKICAgICAvLyBzb29uIGFzIHRoZSBmYWlsdXJl
IGV2ZW50IGlzIGZpcmVkLgogICAgIGlmICghaGFzQmVlblNlbnQodGhpcykgJiYgZC0+bV9zb3Vw
UmVxdWVzdCkgeworI2lmIEVOQUJMRShXRUJfVElNSU5HKQorICAgICAgICBpZiAoZC0+bV9yZXNw
b25zZS5yZXNvdXJjZUxvYWRUaW1pbmcoKSkKKyAgICAgICAgICAgIGQtPm1fcmVzcG9uc2UucmVz
b3VyY2VMb2FkVGltaW5nKCktPnJlcXVlc3RUaW1lID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdU
aW1lKCk7CisjZW5kaWYKICAgICAgICAgZC0+bV9jYW5jZWxsYWJsZSA9IGFkb3B0R1JlZihnX2Nh
bmNlbGxhYmxlX25ldygpKTsKICAgICAgICAgc291cF9yZXF1ZXN0X3NlbmRfYXN5bmMoZC0+bV9z
b3VwUmVxdWVzdC5nZXQoKSwgZC0+bV9jYW5jZWxsYWJsZS5nZXQoKSwgc2VuZFJlcXVlc3RDYWxs
YmFjaywgdGhpcyk7CiAgICAgICAgIHJldHVybjsKQEAgLTczMiw2ICs4NTAsOSBAQCBTb3VwU2Vz
c2lvbiogUmVzb3VyY2VIYW5kbGU6OmRlZmF1bHRTZXNzaW9uKCkKICAgICAgICAgICAgICAgICAg
ICAgIFNPVVBfU0VTU0lPTl9BRERfRkVBVFVSRV9CWV9UWVBFLCBTT1VQX1RZUEVfQ09OVEVOVF9T
TklGRkVSLAogICAgICAgICAgICAgICAgICAgICAgU09VUF9TRVNTSU9OX0FERF9GRUFUVVJFX0JZ
X1RZUEUsIFNPVVBfVFlQRV9QUk9YWV9SRVNPTFZFUl9ERUZBVUxULAogICAgICAgICAgICAgICAg
ICAgICAgTlVMTCk7CisjaWYgRU5BQkxFKFdFQl9USU1JTkcpCisgICAgICAgIGdfc2lnbmFsX2Nv
bm5lY3QoR19PQkpFQ1Qoc2Vzc2lvbiksICJyZXF1ZXN0LXN0YXJ0ZWQiLCBHX0NBTExCQUNLKHJl
cXVlc3RTdGFydGVkQ2FsbGJhY2spLCAwKTsKKyNlbmRpZgogICAgIH0KIAogICAgIHJldHVybiBz
ZXNzaW9uOwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmlu
ZGV4IGMxMzBiNWU4NzE0ZDgxNGUyYTQ0MmEwMDZhMjAzOTkwOWU1MDIwNDUuLjFkMzY0ZjVmMjNm
YzI0NjNjMmRjMDBiNzg0MWZjOGY3YTQzZTRhNzMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxv
ZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMS0xMi0yOCAgU2Vy
Z2lvIFZpbGxhciBTZW5pbiAgPHN2aWxsYXJAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXSBF
bmFibGUgV2ViIFRpbWluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NDI0MzIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBCdWlsZCB3ZWIgdGltaW5nIGJ5IGRlZmF1bHQgd2hlbmV2ZXIgYnVpbGQtd2Via2l0
IGlzIHVzZWQuCisKKyAgICAgICAgKiBTY3JpcHRzL2J1aWxkLXdlYmtpdDoKKwogMjAxMi0wMy0y
OCAgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dU
S10gZ2VuZXJhdGUtZ3RrLWRvYyBkb2Vzbid0IGNvcGUgd2l0aCBjdXN0b20gYnVpbGQgZGlyZWN0
b3J5CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL2J1aWxkLXdlYmtpdCBiL1Rvb2xzL1Njcmlw
dHMvYnVpbGQtd2Via2l0CmluZGV4IGZhZTFjZTQzNGZjNGRiNTJkNTgzNDk4ZmRhMjVmZTJjNDg3
Y2MxMTUuLjZmODA1Njc4YjlhOGU1MzM0NDAyNzI3NjdhZTZkYTE5N2Q3NzZhOTUgMTAwNzU1Ci0t
LSBhL1Rvb2xzL1NjcmlwdHMvYnVpbGQtd2Via2l0CisrKyBiL1Rvb2xzL1NjcmlwdHMvYnVpbGQt
d2Via2l0CkBAIC0zNTQsNyArMzU0LDcgQEAgbXkgQGZlYXR1cmVzID0gKAogICAgICAgZGVmaW5l
ID0+ICJFTkFCTEVfV0VCX1NPQ0tFVFMiLCBkZWZhdWx0ID0+IDEsIHZhbHVlPT4gXCR3ZWJTb2Nr
ZXRzU3VwcG9ydCB9LAogCiAgICAgeyBvcHRpb24gPT4gIndlYi10aW1pbmciLCBkZXNjID0+ICJU
b2dnbGUgV2ViIFRpbWluZyBzdXBwb3J0IiwKLSAgICAgIGRlZmluZSA9PiAiRU5BQkxFX1dFQl9U
SU1JTkciLCBkZWZhdWx0ID0+IGlzQmxhY2tCZXJyeSgpLCB2YWx1ZT0+IFwkd2ViVGltaW5nU3Vw
cG9ydCB9LAorICAgICAgZGVmaW5lID0+ICJFTkFCTEVfV0VCX1RJTUlORyIsIGRlZmF1bHQgPT4g
KGlzQmxhY2tCZXJyeSgpIHx8IGlzR3RrKCkpLCB2YWx1ZT0+IFwkd2ViVGltaW5nU3VwcG9ydCB9
LAogCiAgICAgeyBvcHRpb24gPT4gIndvcmtlcnMiLCBkZXNjID0+ICJUb2dnbGUgV2ViIFdvcmtl
cnMgc3VwcG9ydCIsCiAgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9XT1JLRVJTIiwgZGVmYXVsdCA9
PiAoaXNBcHBsZVdlYktpdCgpIHx8IGlzR3RrKCkgfHwgaXNCbGFja0JlcnJ5KCkgfHwgaXNFZmwo
KSksIHZhbHVlID0+IFwkd29ya2Vyc1N1cHBvcnQgfSwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAyZWJjYjk0NjI0YWI3MzRi
NWUyNzRkNjFhNzZiYmI4MDkwM2UwNTQ3Li4xMDU1NjI5NDk0ZWExYTY1OWEyMmE0YmNjMzE3NmRm
NzM1ZTg0NmNmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMTItMjggIFNlcmdpbyBWaWxs
YXIgU2VuaW4gIDxzdmlsbGFyQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0dUS10gRW5hYmxlIFdl
YiBUaW1pbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTQyNDMyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
UmVtb3ZlZCBzb21lIHRlc3RzIHRoYXQgYXJlIHdvcmtpbmcgZmluZSBub3cgYWZ0ZXIgYWRkaW5n
IFdlYgorICAgICAgICBUaW1pbmcgc3VwcG9ydC4KKworICAgICAgICAqIHBsYXRmb3JtL2d0ay9T
a2lwcGVkOgorCiAyMDEyLTAzLTI4ICBTZXJnaW8gVmlsbGFyIFNlbmluICA8c3ZpbGxhckBpZ2Fs
aWEuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHNraXBwaW5nIDMgdGVzdHMgdGltaW5nIG91
dCBhZnRlciB0aGUgbGlic291cCB1cGdyYWRlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9ndGsvU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkCmluZGV4
IGZiZjRiMjVjYTQzMzkwMGNkOWVlYjgzNmUyZmVhMWFlZTJhYTc0MzQuLjAwMDRkYTU1N2QyY2M0
YzllOThjZTUzMDZkMjJjZDc3YjUyZjgyY2QgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL2d0ay9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkCkBA
IC0yNzUsMjAgKzI3NSwxMiBAQCBmYXN0L3NwZWVjaAogIyBTcGVlY2ggSmF2YVNjcmlwdCBBUEkg
aXMgbm90IHlldCBlbmFibGVkLgogZmFzdC9ldmVudHMvY29uc3RydWN0b3JzL3NwZWVjaC1yZWNv
Z25pdGlvbi1ldmVudC1jb25zdHJ1Y3Rvci5odG1sCiAKLSMgV2ViIFRpbWluZyBpcyBub3QgZW5h
YmxlZC4KLSMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQyNDMyCisj
IFR5cGUgaXNzdWUgd2l0aCB3aW5kb3cucGVyZm9ybWFuY2UubWVtb3J5LmpzSGVhcFNpemVMaW1p
dAogZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLXBlcmZvcm1hbmNlLmh0bWwKLWZh
c3QvZG9tL25hdmlnYXRpb24tdHlwZS1iYWNrLWZvcndhcmQuaHRtbAotZmFzdC9kb20vbmF2aWdh
dGlvbi10eXBlLW5hdmlnYXRlLmh0bWwKLWZhc3QvZG9tL25hdmlnYXRpb24tdHlwZS1yZWxvYWQu
aHRtbAotZmFzdC9kb20vd2VidGltaW5nLmh0bWwKLWZhc3QvZG9tL3dlYnRpbWluZy1uYXZpZ2F0
ZS13aXRoaW4tZG9jdW1lbnQuaHRtbAotZmFzdC9kb20vd2VidGltaW5nLWRvY3VtZW50LW9wZW4u
aHRtbAorIyBjcm9zcy1vcmlnaW4gcmVkaXJlY3RzCiBodHRwL3Rlc3RzL21pc2Mvd2VidGltaW5n
LW9yaWdpbnMuaHRtbAotaHR0cC90ZXN0cy9taXNjL3dlYnRpbWluZy1vbmUtcmVkaXJlY3QucGhw
Ci1odHRwL3Rlc3RzL21pc2Mvd2VidGltaW5nLXNsb3ctbG9hZC5waHAKKyMgU1NMIHN0YXJ0IGlz
IGdldHRpbmcgYSB2YWx1ZSB3aGVuIGl0IHNob3VsZCBhcHBhcmVudGx5IG5vdAogaHR0cC90ZXN0
cy9taXNjL3dlYnRpbWluZy1zc2wucGhwCi1odHRwL3Rlc3RzL21pc2Mvd2VidGltaW5nLXR3by1y
ZWRpcmVjdHMucGhwCiAKICMgRmlsZVN5c3RlbSBBUEkgaXMgbm90IHN1cHBvcnRlZC4KIGZhc3Qv
ZmlsZXN5c3RlbQo=
</data>
<flag name="review"
          id="138802"
          type_id="1"
          status="+"
          setter="gustavo"
    />
          </attachment>
      

    </bug>

</bugzilla>