<?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>53202</bug_id>
          
          <creation_ts>2011-01-26 16:39:41 -0800</creation_ts>
          <short_desc>Async event handlers should not fire within a modal dialog</short_desc>
          <delta_ts>2011-02-03 01:32:09 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>DOM</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Mihai Parparita">mihaip</reporter>
          <assigned_to name="Mihai Parparita">mihaip</assigned_to>
          <cc>ap</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dimich</cc>
    
    <cc>eric</cc>
    
    <cc>fishd</cc>
    
    <cc>jamesr</cc>
    
    <cc>jorlow</cc>
    
    <cc>pnormand</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>340579</commentid>
    <comment_count>0</comment_count>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2011-01-26 16:39:41 -0800</bug_when>
    <thetext>Scroll event callbacks should not fire within a modal dialog</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>340583</commentid>
    <comment_count>1</comment_count>
      <attachid>80263</attachid>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2011-01-26 16:43:38 -0800</bug_when>
    <thetext>Created attachment 80263
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>341210</commentid>
    <comment_count>2</comment_count>
      <attachid>80263</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-01-27 18:07:33 -0800</bug_when>
    <thetext>Comment on attachment 80263
Patch

Rejecting attachment 80263 from commit-queue.

Failed to run &quot;[&apos;./Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;--bot-id=eseidel-cq-sf&apos;, &apos;bu...&quot; exit_code: 2

Last 500 characters of output:
ntation .
fast/dom/Range ..............................
fast/dom/Selection ..
fast/dom/SelectorAPI .................
fast/dom/StyleSheet ................
fast/dom/Text .
fast/dom/TreeWalker ........
fast/dom/Window ....................................
fast/dom/Window/timer-resume-on-navigation-back.html -&gt; failed

Exiting early after 1 failures. 7521 tests run.
194.73s total testing time

7520 test cases (99%) succeeded
1 test case (&lt;1%) had incorrect layout
4 test cases (&lt;1%) had stderr output

Full output: http://queues.webkit.org/results/7574361</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>341258</commentid>
    <comment_count>3</comment_count>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2011-01-27 19:32:05 -0800</bug_when>
    <thetext>It looks like this is preventing the document from going into the page cache because the default implementation of canSuspend returns false, and logCanCacheFrameDecision in PageCache.cpp checks for that.

James, you may want to watch out for that in the patch on bug 53188.

+Jeremy, since he expressed interest in using EventQueue. Jeremy, this patch makes the EventQueue constructor take a Document. Should it take a ScriptExecutionContext instead, if you want to use it in a worker?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>341268</commentid>
    <comment_count>4</comment_count>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2011-01-27 19:53:21 -0800</bug_when>
    <thetext>+ ap because this is touching activeDOMObject

(In reply to comment #3)
&gt; It looks like this is preventing the document from going into the page cache because the default implementation of canSuspend returns false, and logCanCacheFrameDecision in PageCache.cpp checks for that.
&gt; 
&gt; James, you may want to watch out for that in the patch on bug 53188.
&gt; 
&gt; +Jeremy, since he expressed interest in using EventQueue. Jeremy, this patch makes the EventQueue constructor take a Document. Should it take a ScriptExecutionContext instead, if you want to use it in a worker?

I don&apos;t need it in a worker yet, so it&apos;s probably fine to leave it as is for now.  (I&apos;m just asserting isDocument and then casting for now.)

Mihai, do you want it to cause things not to suspend?  If not, you should just override the canSuspend function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>341292</commentid>
    <comment_count>5</comment_count>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2011-01-27 20:43:29 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; Mihai, do you want it to cause things not to suspend?  If not, you should just override the canSuspend function.

Yeah, I&apos;m just going to override canSuspend.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>341322</commentid>
    <comment_count>6</comment_count>
      <attachid>80420</attachid>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2011-01-27 22:40:48 -0800</bug_when>
    <thetext>Created attachment 80420
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>341329</commentid>
    <comment_count>7</comment_count>
      <attachid>80420</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-01-27 23:15:58 -0800</bug_when>
    <thetext>Comment on attachment 80420
Patch for landing

Wait, how can EventQueue be an ActiveDOMObject when it&apos;s not a DOM object, and doesn&apos;t have a JS wrapper?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>341342</commentid>
    <comment_count>8</comment_count>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2011-01-28 00:13:29 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; (From update of attachment 80420 [details])
&gt; Wait, how can EventQueue be an ActiveDOMObject when it&apos;s not a DOM object, and doesn&apos;t have a JS wrapper?

I think we need to pull the notification aspect of ActiveDOMObject out from it.  It seems like this is a pretty common need, even though these things aren&apos;t technically &quot;ActiveDOMObjects&quot;.  (Which is why IndexedDB and VoidCallback use it.)

Thoughts?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>341343</commentid>
    <comment_count>9</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-01-28 00:35:59 -0800</bug_when>
    <thetext>The notification aspect of ActiveDOMObject is poorly thought through. Stop/canSuspend/suspend don&apos;t really reflect what we need - &quot;suspending&quot; for debugger, for page cache and for modal dialogs are all different. Different kinds of modal dialogs (alert() vs. showModalDialog() vs. print()) aren&apos;t necessarily all the same either.

See e.g. bug 45306 comment 9.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>341443</commentid>
    <comment_count>10</comment_count>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2011-01-28 08:06:36 -0800</bug_when>
    <thetext>(In reply to comment #9)
&gt; The notification aspect of ActiveDOMObject is poorly thought through. Stop/canSuspend/suspend don&apos;t really reflect what we need - &quot;suspending&quot; for debugger, for page cache and for modal dialogs are all different. Different kinds of modal dialogs (alert() vs. showModalDialog() vs. print()) aren&apos;t necessarily all the same either.
&gt; 
&gt; See e.g. bug 45306 comment 9.

That was followed up by http://trac.webkit.org/changeset/67432, which added the ReasonForSuspension enum to ActiveDOMObject::suspend. Do you have in mind any further refactorings that would make this cleaner?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>341460</commentid>
    <comment_count>11</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-01-28 08:39:18 -0800</bug_when>
    <thetext>No, I don&apos;t have anything specific to suggest. If I were doing this, I&apos;d have started with making a list of objects that need such notification, and their behaviors. We have a lot of objects that are notified in a custom way - see e.g. bug 24030 or bug 34679.

There is one good thing about custom code though - AsyncDOMObject is not particularly scalable, as we have to iterate a list that includes even objects that don&apos;t care about the current reason for suspension. An object that notifies objects it owns can be more discriminate. AsyncDOMObject even iterates objects that are not active right now!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>341519</commentid>
    <comment_count>12</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-01-28 10:38:58 -0800</bug_when>
    <thetext>(In reply to comment #9)
&gt; The notification aspect of ActiveDOMObject is poorly thought through. Stop/canSuspend/suspend don&apos;t really reflect what we need - &quot;suspending&quot; for debugger, for page cache and for modal dialogs are all different. Different kinds of modal dialogs (alert() vs. showModalDialog() vs. print()) aren&apos;t necessarily all the same either.
&gt; 
&gt; See e.g. bug 45306 comment 9.

In this case we do want to treat all of those (debugger, page cage, modal dialogs) in the same way, so I&apos;m not sure I see the issue.  EventQueues are 1:1 with Documents so efficiency is not a problem either.  Do you have a specific issue with using ActiveDOMObject other than the name and the fact that it has been used for a different use case previously?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>341543</commentid>
    <comment_count>13</comment_count>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2011-01-28 11:14:33 -0800</bug_when>
    <thetext>How about this approach: 

1. Create a Suspendable class, and move these methods from ActiveDOMObject into it:
        virtual bool canSuspend() const;
        virtual void suspend(ReasonForSuspension);
        virtual void resume();
        virtual void stop();
2. Make ActiveDOMObject inherit from Suspendable
3. Make the Suspendable constructor register instances with ScriptExecutionContext (which will put these in a separate list from m_activeDOMObjects)
4. Rename ScriptExecutionContext::suspend/resumeActiveDOMObjects to just ::suspend/resume, and have it loop over the list of Suspendables instead.
5. Make EventQueue (and RegisterAnimation) subclass Suspendable instead of ActiveDOMObject</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>341558</commentid>
    <comment_count>14</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-01-28 11:26:13 -0800</bug_when>
    <thetext>Separating notification and GC protection responsibilities of ActiveDOMObjects is a reasonable step. I have some comments:
- you probably don&apos;t want to have all suspendable objects in the list. E.g. if an animation isn&apos;t running, there is no reason to waste time on itin every suspend() call;
- we do need to discuss specific needs of several interesting objects in detail to better assess the design - what exactly needs to be &quot;suspended&quot; in each case;
- please don&apos;t make a special code path for EventQueue and RegisterAnimation only. Even if it&apos;s the best code path, it&apos;s not helpful if it adds to the mess of how objects are notified about document state changes.

&gt; 4. Rename ScriptExecutionContext::suspend/resumeActiveDOMObjects to just ::suspend/resume,
&gt; and have it loop over the list of Suspendables instead.

This is not a great name - you won&apos;t suspend or resume ScriptExecutionContext itself in this method, all it does is notify some of the objects it tracks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>341574</commentid>
    <comment_count>15</comment_count>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2011-01-28 11:37:17 -0800</bug_when>
    <thetext>(In reply to comment #14)
&gt; Separating notification and GC protection responsibilities of ActiveDOMObjects is a reasonable step. I have some comments:
&gt; - you probably don&apos;t want to have all suspendable objects in the list. E.g. if an animation isn&apos;t running, there is no reason to waste time on it in every suspend() call;

I can&apos;t speak for other use-cases, but there is one EventQueue and one RequestAnimationFrameController per Document, so the overhead of calling suspend on them is not significant. I&apos;d rather not make the design even more complicated (by allowing Suspendables to add/remove themselves from the list at will) unless there&apos;s a specific need for it.

&gt; - we do need to discuss specific needs of several interesting objects in detail to better assess the design - what exactly needs to be &quot;suspended&quot; in each case;

Does this need to be done now? By making ActiveDOMObject inherit from Suspendable, existing ActiveDOMObject subclasses will not be affected. I agree it makes sense to investigate other ActiveDOMObject implementations to see if they could just use Suspendable instead, but I think that&apos;s beyond the scope of one patch.

&gt; - please don&apos;t make a special code path for EventQueue and RegisterAnimation only. Even if it&apos;s the best code path, it&apos;s not helpful if it adds to the mess of how objects are notified about document state changes.

What specifically do you think is special for EventQueue and RegisterAnimation? I&apos;m just proposing splitting ActiveDOMObject into two.

&gt; This is not a great name - you won&apos;t suspend or resume ScriptExecutionContext itself in this method, all it does is notify some of the objects it tracks.

::suspendObjects perhaps? Any other suggestions?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>341635</commentid>
    <comment_count>16</comment_count>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2011-01-28 12:22:40 -0800</bug_when>
    <thetext>Actually, now that I look deeper, I see that we already have WebCore/page/SuspendableTimer. I can just make EventQueue use that instead of Timer directly. However, that doesn&apos;t help with RequestAnimationFrameController.

Alexey, would SuspendableTimer be a good candidate for subclassing my proposed Suspendable class instead of ActiveDOMObject?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>341715</commentid>
    <comment_count>17</comment_count>
      <attachid>80494</attachid>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2011-01-28 14:03:24 -0800</bug_when>
    <thetext>Created attachment 80494
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>341717</commentid>
    <comment_count>18</comment_count>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2011-01-28 14:04:59 -0800</bug_when>
    <thetext>The new patch avoids using ActiveDOMObject directly by using SuspendableTimer, which seems tailor-made for this purpose (the fact that SuspendableTimer uses ActiveDOMObject itself is debatable, but that should hopefully not block this patch).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>341728</commentid>
    <comment_count>19</comment_count>
      <attachid>80494</attachid>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2011-01-28 14:12:24 -0800</bug_when>
    <thetext>Comment on attachment 80494
Patch

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

&gt; Source/WebCore/dom/Document.cpp:416
&gt; +    , m_eventQueue(adoptPtr(new EventQueue(this)))

EventQueue should have a ::create() which returns a PassOwnPtr.  new should pretty much never be outside of a ::create

&gt; Source/WebCore/dom/EventQueue.cpp:38
&gt; +class EventQueueTimer : public SuspendableTimer {

Is all of this just to avoid including SuspendableTimer.h in EventQueue.h?  If so, I&apos;m not sure it&apos;s worth it.

&gt; Source/WebCore/dom/EventQueue.cpp:41
&gt; +    explicit EventQueueTimer(EventQueue* eventQueue, ScriptExecutionContext* context)

no explicit

&gt; Source/WebCore/dom/EventQueue.h:52
&gt; +    explicit EventQueue(ScriptExecutionContext*);

Make private and add a factory method

&gt; Source/WebCore/dom/EventQueue.h:57
&gt; +    

remove tab</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>341754</commentid>
    <comment_count>20</comment_count>
    <who name="Dmitry Titov">dimich</who>
    <bug_when>2011-01-28 14:48:13 -0800</bug_when>
    <thetext>Just a note: DRT now can test operations under modal dialogs using showModalDialog(). See http://trac.webkit.org/changeset/61599 for more details.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>341775</commentid>
    <comment_count>21</comment_count>
      <attachid>80504</attachid>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2011-01-28 15:13:24 -0800</bug_when>
    <thetext>Created attachment 80504
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>341778</commentid>
    <comment_count>22</comment_count>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2011-01-28 15:14:57 -0800</bug_when>
    <thetext>(In reply to comment #19)
&gt; EventQueue should have a ::create() which returns a PassOwnPtr.  new should pretty much never be outside of a ::create

Changed.

&gt; &gt; Source/WebCore/dom/EventQueue.cpp:38
&gt; &gt; +class EventQueueTimer : public SuspendableTimer {
&gt; 
&gt; Is all of this just to avoid including SuspendableTimer.h in EventQueue.h?  If so, I&apos;m not sure it&apos;s worth it.

No, it&apos;s because SuspendableTimer (unlike Timer) does not take the method that you want called as a constructor argument, instead you have to implement fired().
 
&gt; &gt; Source/WebCore/dom/EventQueue.cpp:41
&gt; &gt; +    explicit EventQueueTimer(EventQueue* eventQueue, ScriptExecutionContext* context)
&gt; 
&gt; no explicit

Oops, left over from when it only had one argument. Removed.

&gt; &gt; Source/WebCore/dom/EventQueue.h:52
&gt; &gt; +    explicit EventQueue(ScriptExecutionContext*);
&gt; 
&gt; Make private and add a factory method

Done.

&gt; &gt; Source/WebCore/dom/EventQueue.h:57
&gt; &gt; +    
&gt; 
&gt; remove tab

Done.

(In reply to comment #20)
&gt; Just a note: DRT now can test operations under modal dialogs using showModalDialog(). See http://trac.webkit.org/changeset/61599 for more details.

Thanks for the pointer, added a layout test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>341795</commentid>
    <comment_count>23</comment_count>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2011-01-28 15:27:04 -0800</bug_when>
    <thetext>(In reply to comment #22)
&gt; (In reply to comment #19)
&gt; &gt; &gt; Source/WebCore/dom/EventQueue.cpp:38
&gt; &gt; &gt; +class EventQueueTimer : public SuspendableTimer {
&gt; &gt; 
&gt; &gt; Is all of this just to avoid including SuspendableTimer.h in EventQueue.h?  If so, I&apos;m not sure it&apos;s worth it.
&gt; 
&gt; No, it&apos;s because SuspendableTimer (unlike Timer) does not take the method that you want called as a constructor argument, instead you have to implement fired().

Sure, but why can&apos;t EventQueue implement fired rather than using its own method?  I guess it&apos;s slightly less clear, but a comment would mostly fix that.

I don&apos;t feel strongly though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>341897</commentid>
    <comment_count>24</comment_count>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2011-01-28 17:41:23 -0800</bug_when>
    <thetext>(In reply to comment #23)
&gt; Sure, but why can&apos;t EventQueue implement fired rather than using its own method?  I guess it&apos;s slightly less clear, but a comment would mostly fix that.
&gt; 
&gt; I don&apos;t feel strongly though.

You mean have EventQueue subclass SuspendableTimer? That doesn&apos;t seem right.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>342419</commentid>
    <comment_count>25</comment_count>
      <attachid>80504</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-01-30 18:56:36 -0800</bug_when>
    <thetext>Comment on attachment 80504
Patch

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

Looks good to me.  For posterity this behavior is specified by http://www.whatwg.org/specs/web-apps/current-work/multipage/timers.html#dom-alert (for alert(), confirm(), print()) and http://www.whatwg.org/specs/web-apps/current-work/multipage/timers.html#dom-showmodaldialog step 5 for showModalDialog().

&gt; Source/WebCore/dom/EventQueue.h:59
&gt; +    virtual ~EventQueue();

why virtual? I can&apos;t find any subclasses of EventQueue in the codebase currently</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>342840</commentid>
    <comment_count>26</comment_count>
      <attachid>80684</attachid>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2011-01-31 15:05:17 -0800</bug_when>
    <thetext>Created attachment 80684
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>342842</commentid>
    <comment_count>27</comment_count>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2011-01-31 15:05:50 -0800</bug_when>
    <thetext>(In reply to comment #25)
&gt; &gt; Source/WebCore/dom/EventQueue.h:59
&gt; &gt; +    virtual ~EventQueue();
&gt; 
&gt; why virtual? I can&apos;t find any subclasses of EventQueue in the codebase currently

No reason for it to be virtual, removed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>343080</commentid>
    <comment_count>28</comment_count>
      <attachid>80684</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-02-01 01:21:12 -0800</bug_when>
    <thetext>Comment on attachment 80684
Patch for landing

Clearing flags on attachment: 80684

Committed r77230: &lt;http://trac.webkit.org/changeset/77230&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>343081</commentid>
    <comment_count>29</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-02-01 01:21:19 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>343130</commentid>
    <comment_count>30</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-02-01 04:19:16 -0800</bug_when>
    <thetext>Reopening since the change was rolled out in http://trac.webkit.org/changeset/77241 due to layout tests crashes on Chromium Debug bots:

http://build.chromium.org/p/chromium.webkit/builders/Webkit%20Linux%20(dbg)(1)/builds/787</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>343632</commentid>
    <comment_count>31</comment_count>
      <attachid>80846</attachid>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2011-02-01 16:04:21 -0800</bug_when>
    <thetext>Created attachment 80846
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>343633</commentid>
    <comment_count>32</comment_count>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2011-02-01 16:06:36 -0800</bug_when>
    <thetext>Delta from previous patch is in SuspendableTimer, it was suspending the timer (and restarting it) even when it hadn&apos;t been started. I made SuspendableTimer keep track of whether or not the timer had been started via m_active.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>343637</commentid>
    <comment_count>33</comment_count>
      <attachid>80846</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-02-01 16:10:09 -0800</bug_when>
    <thetext>Comment on attachment 80846
Patch

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

Looks good, although I wonder if we shouldn&apos;t assimilate the m_suspend timer instead.  Also while you&apos;re in SuspendableTimer.h can you make the c&apos;tor explicit?

&gt; Source/WebCore/page/SuspendableTimer.h:50
&gt; +    bool m_active;

nit: this should be declared after the doubles so it packs better.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>343639</commentid>
    <comment_count>34</comment_count>
      <attachid>80848</attachid>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2011-02-01 16:13:23 -0800</bug_when>
    <thetext>Created attachment 80848
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>343641</commentid>
    <comment_count>35</comment_count>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2011-02-01 16:15:20 -0800</bug_when>
    <thetext>(In reply to comment #33)
&gt; Looks good, although I wonder if we shouldn&apos;t assimilate the m_suspend timer instead.  

As discussed in person, m_suspended is about making sure that suspend()/resume() calls are balanced (and is thus relevant to this being an ActiveDOMObject subclass), while m_active is about the timer being started, so they don&apos;t really do the same thing.

&gt; Also while you&apos;re in SuspendableTimer.h can you make the c&apos;tor explicit?

Done.

&gt; &gt; Source/WebCore/page/SuspendableTimer.h:50
&gt; &gt; +    bool m_active;
&gt; 
&gt; nit: this should be declared after the doubles so it packs better.

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>343764</commentid>
    <comment_count>36</comment_count>
      <attachid>80848</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-02-01 18:39:43 -0800</bug_when>
    <thetext>Comment on attachment 80848
Patch for landing

Clearing flags on attachment: 80848

Committed r77355: &lt;http://trac.webkit.org/changeset/77355&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>343765</commentid>
    <comment_count>37</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-02-01 18:39:50 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>344248</commentid>
    <comment_count>38</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-02-02 14:21:04 -0800</bug_when>
    <thetext>SUCCESS: Build 14507 (r77358) was the first to show failures: set([u&apos;fast/events/pageshow-pagehide-on-back-cached.html&apos;, u&apos;fast/history/timed-refresh-in-cached-frame.html&apos;])

http://build.webkit.org/results/SnowLeopard%20Intel%20Leaks/r77400%20(14522)/results.html

I think this checkin is to blame.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>344432</commentid>
    <comment_count>39</comment_count>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2011-02-02 17:05:37 -0800</bug_when>
    <thetext>(In reply to comment #38)
&gt; SUCCESS: Build 14507 (r77358) was the first to show failures: set([u&apos;fast/events/pageshow-pagehide-on-back-cached.html&apos;, u&apos;fast/history/timed-refresh-in-cached-frame.html&apos;])
&gt; 
&gt; http://build.webkit.org/results/SnowLeopard%20Intel%20Leaks/r77400%20(14522)/results.html
&gt; 
&gt; I think this checkin is to blame.

Filed bug 53648 about this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>344584</commentid>
    <comment_count>40</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2011-02-03 01:32:09 -0800</bug_when>
    <thetext>This patch broke a test on GTK as well, see bug 53667</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>80263</attachid>
            <date>2011-01-26 16:43:38 -0800</date>
            <delta_ts>2011-01-27 22:40:46 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-53202-20110126164336.patch</filename>
            <type>text/plain</type>
            <size>3848</size>
            <attacher name="Mihai Parparita">mihaip</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAzODYzMDY4ZjZlYjFjODEzMjA4MDgxOTYxNzFiNTExMDAwMDA0NGUyLi45
NDY3Yjk4ZWEzMWViMzEzMTdlZmViNjE1MDczZmY2MjgwNzNmMDc3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjcgQEAKKzIwMTEtMDEtMjYgIE1paGFpIFBhcnBhcml0YSAgPG1paGFpcEBjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
U2Nyb2xsIGV2ZW50IGNhbGxiYWNrcyBzaG91bGQgbm90IGZpcmUgd2l0aGluIGEgbW9kYWwgZGlh
bG9nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MzIw
MgorCisgICAgICAgIEFzeWNocm9ub3VzIGV2ZW50cyB0aGF0IHVzZSBFdmVudFF1ZXVlIHdvdWxk
IGN1cnJlbnRseSBmaXJlIHdoaWxlIGEKKyAgICAgICAgbW9kYWwgZGlhbG9nIChlLmcuIHdpbmRv
dy5hbGVydCgpKSB3YXMgdXAuIE1ha2UgRXZlbnRRdWV1ZSBzdWJjbGFzcworICAgICAgICBBY3Rp
dmVET01PYmplY3QgYW5kIHN1c3BlbnQvcmVzdW1lIHRoZSBhc3luYyBldmVudCB0aW1lciBpbiBy
ZXNwb25zZSB0bworICAgICAgICBzdXNwZW5kKCkvcmVzdW1lKCkgY2FsbHMuCisgICAgICAgIAor
ICAgICAgICBUZXN0ZWQgbWFudWFsbHkgc2luY2UgdGhlcmUncyBubyB3YXkgdG8gdGVzdCB3aW5k
b3cuYWxlcnQoKSBpbiBhIGxheW91dAorICAgICAgICB0ZXN0LgorCisgICAgICAgICogZG9tL0Rv
Y3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpEb2N1bWVudCk6CisgICAg
ICAgICogZG9tL0V2ZW50UXVldWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRRdWV1ZTo6
RXZlbnRRdWV1ZSk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudFF1ZXVlOjp+RXZlbnRRdWV1ZSk6
CisgICAgICAgIChXZWJDb3JlOjpFdmVudFF1ZXVlOjpzdXNwZW5kKToKKyAgICAgICAgKFdlYkNv
cmU6OkV2ZW50UXVldWU6OnJlc3VtZSk6CisgICAgICAgICogZG9tL0V2ZW50UXVldWUuaDoKKwog
MjAxMS0wMS0yNiAgTWFyaW8gU2FuY2hleiBQcmFkYSAgPG1zYW5jaGV6QGlnYWxpYS5jb20+CiAK
ICAgICAgICAgUmV2aWV3ZWQgYnkgTWFydGluIFJvYmluc29uLgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5j
cHAKaW5kZXggZWExNzc2MzY0N2M5YTg3ODA1NjUzNjY5YWUyYTYyOTI3YTRhMDczZi4uZWJlMWNh
ZWQ3NTAzYTkzOGQ1ZDM4MjllZjEwZDJlMzNlYTgxM2NmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
Y3BwCkBAIC00MTMsNyArNDEzLDcgQEAgRG9jdW1lbnQ6OkRvY3VtZW50KEZyYW1lKiBmcmFtZSwg
Y29uc3QgS1VSTCYgdXJsLCBib29sIGlzWEhUTUwsIGJvb2wgaXNIVE1MLCBjb24KICAgICAsIG1f
bm9ybWFsV29ybGRXcmFwcGVyQ2FjaGUoMCkKICNlbmRpZgogICAgICwgbV91c2luZ0dlb2xvY2F0
aW9uKGZhbHNlKQotICAgICwgbV9ldmVudFF1ZXVlKGFkb3B0UHRyKG5ldyBFdmVudFF1ZXVlKSkK
KyAgICAsIG1fZXZlbnRRdWV1ZShhZG9wdFB0cihuZXcgRXZlbnRRdWV1ZSh0aGlzKSkpCiAjaWYg
RU5BQkxFKFdNTCkKICAgICAsIG1fY29udGFpbnNXTUxDb250ZW50KGZhbHNlKQogI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRRdWV1ZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRXZlbnRRdWV1ZS5jcHAKaW5kZXggYTQzOTI5ZTc1ZTkzNDExNzk5MTRhNjVhOGQ2
NDgwZDdiNzRmMzNmMS4uZGM3ZjQzYTkzMjI2ZmNmNWE5Njc1MzFhOWNlOWNlZjkwZTE1OGExNCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50UXVldWUuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9FdmVudFF1ZXVlLmNwcApAQCAtMzQsOCArMzQsMTMgQEAKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCi1FdmVudFF1ZXVlOjpFdmVudFF1ZXVlKCkKLSAgICA6IG1fcGVuZGlu
Z0V2ZW50VGltZXIodGhpcywgJkV2ZW50UXVldWU6OnBlbmRpbmdFdmVudFRpbWVyRmlyZWQpCitF
dmVudFF1ZXVlOjpFdmVudFF1ZXVlKERvY3VtZW50KiBkb2N1bWVudCkKKyAgICA6IEFjdGl2ZURP
TU9iamVjdChkb2N1bWVudCwgdGhpcykKKyAgICAsIG1fcGVuZGluZ0V2ZW50VGltZXIodGhpcywg
JkV2ZW50UXVldWU6OnBlbmRpbmdFdmVudFRpbWVyRmlyZWQpCit7Cit9CisKK0V2ZW50UXVldWU6
On5FdmVudFF1ZXVlKCkKIHsKIH0KIApAQCAtODQsNCArODksMTYgQEAgdm9pZCBFdmVudFF1ZXVl
OjpkaXNwYXRjaEV2ZW50KFBhc3NSZWZQdHI8RXZlbnQ+IGV2ZW50KQogICAgICAgICBBU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKIH0KIAordm9pZCBFdmVudFF1ZXVlOjpzdXNwZW5kKFJlYXNvbkZvclN1
c3BlbnNpb24pCit7CisgICAgaWYgKG1fcGVuZGluZ0V2ZW50VGltZXIuaXNBY3RpdmUoKSkKKyAg
ICAgICAgbV9wZW5kaW5nRXZlbnRUaW1lci5zdG9wKCk7Cit9CisKK3ZvaWQgRXZlbnRRdWV1ZTo6
cmVzdW1lKCkKK3sKKyAgICBpZiAobV9xdWV1ZWRFdmVudHMuc2l6ZSgpKQorICAgICAgICBtX3Bl
bmRpbmdFdmVudFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKK30KKwogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvZG9tL0V2ZW50UXVldWUuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFF1
ZXVlLmgKaW5kZXggN2Y4ZDVmYjI1NDYxMTQ2YWQ0Nzk1NDJiYWY0NWE3ODBjYjlkNmFkNC4uMTll
YTYwMmFhODExYjk1MjFkMTk1ZmQ2NjE0ODFiMDY0OTc1NzFhMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZG9tL0V2ZW50UXVldWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRR
dWV1ZS5oCkBAIC0yNyw2ICsyNyw3IEBACiAjaWZuZGVmIEV2ZW50UXVldWVfaAogI2RlZmluZSBF
dmVudFF1ZXVlX2gKIAorI2luY2x1ZGUgIkFjdGl2ZURPTU9iamVjdC5oIgogI2luY2x1ZGUgIlRp
bWVyLmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KICNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KQEAgLTM1LDEwICszNiwxMSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNz
IERvY3VtZW50OwogY2xhc3MgRXZlbnQ7CiBjbGFzcyBOb2RlOwogCi1jbGFzcyBFdmVudFF1ZXVl
IHsKK2NsYXNzIEV2ZW50UXVldWUgOiBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0IHsKICAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShFdmVudFF1ZXVlKTsKIAogcHVibGljOgpAQCAtNDcsMTAgKzQ5LDE1
IEBAIHB1YmxpYzoKICAgICAgICAgU2Nyb2xsRXZlbnRFbGVtZW50VGFyZ2V0CiAgICAgfTsKIAot
ICAgIEV2ZW50UXVldWUoKTsKKyAgICBleHBsaWNpdCBFdmVudFF1ZXVlKERvY3VtZW50Kik7Cisg
ICAgdmlydHVhbCB+RXZlbnRRdWV1ZSgpOwogCiAgICAgdm9pZCBlbnF1ZXVlRXZlbnQoUGFzc1Jl
ZlB0cjxFdmVudD4pOwogICAgIHZvaWQgZW5xdWV1ZVNjcm9sbEV2ZW50KFBhc3NSZWZQdHI8Tm9k
ZT4sIFNjcm9sbEV2ZW50VGFyZ2V0VHlwZSk7CisgICAgCisgICAgLy8gQWN0aXZlRE9NT2JqZWN0
CisgICAgdmlydHVhbCB2b2lkIHN1c3BlbmQoUmVhc29uRm9yU3VzcGVuc2lvbik7CisgICAgdmly
dHVhbCB2b2lkIHJlc3VtZSgpOwogCiBwcml2YXRlOgogICAgIHZvaWQgcGVuZGluZ0V2ZW50VGlt
ZXJGaXJlZChUaW1lcjxFdmVudFF1ZXVlPiopOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>80420</attachid>
            <date>2011-01-27 22:40:48 -0800</date>
            <delta_ts>2011-01-28 14:03:21 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-53202-20110127224047.patch</filename>
            <type>text/plain</type>
            <size>3976</size>
            <attacher name="Mihai Parparita">mihaip</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA2MWYwMDZlYTA5MmJkNzU4YTk4YTdjMzk2M2FhYjNiMzI2NjRhYmZjLi42
ZDY4MDgyZWU0MTJmYzg1YWQzOTY2MTk4OTM0ZWZjNDFhNWMwYjFmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjggQEAKKzIwMTEtMDEtMjYgIE1paGFpIFBhcnBhcml0YSAgPG1paGFpcEBjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gRmlzaGVyLgorCisgICAgICAgIEFz
eW5jIGV2ZW50IGhhbmRsZXJzIHNob3VsZCBub3QgZmlyZSB3aXRoaW4gYSBtb2RhbCBkaWFsb2cK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUzMjAyCisK
KyAgICAgICAgQXN5Y2hyb25vdXMgZXZlbnRzIHRoYXQgdXNlIEV2ZW50UXVldWUgd291bGQgY3Vy
cmVudGx5IGZpcmUgd2hpbGUgYQorICAgICAgICBtb2RhbCBkaWFsb2cgKGUuZy4gd2luZG93LmFs
ZXJ0KCkpIHdhcyB1cC4gTWFrZSBFdmVudFF1ZXVlIHN1YmNsYXNzCisgICAgICAgIEFjdGl2ZURP
TU9iamVjdCBhbmQgc3VzcGVudC9yZXN1bWUgdGhlIGFzeW5jIGV2ZW50IHRpbWVyIGluIHJlc3Bv
bnNlIHRvCisgICAgICAgIHN1c3BlbmQoKS9yZXN1bWUoKSBjYWxscy4KKyAgICAgICAgCisgICAg
ICAgIFRlc3RlZCBtYW51YWxseSBzaW5jZSB0aGVyZSdzIG5vIHdheSB0byB0ZXN0IHdpbmRvdy5h
bGVydCgpIGluIGEgbGF5b3V0CisgICAgICAgIHRlc3QuCisKKyAgICAgICAgKiBkb20vRG9jdW1l
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OkRvY3VtZW50KToKKyAgICAgICAg
KiBkb20vRXZlbnRRdWV1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudFF1ZXVlOjpFdmVu
dFF1ZXVlKToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50UXVldWU6On5FdmVudFF1ZXVlKToKKyAg
ICAgICAgKFdlYkNvcmU6OkV2ZW50UXVldWU6OmNhblN1c3BlbmQpOgorICAgICAgICAoV2ViQ29y
ZTo6RXZlbnRRdWV1ZTo6c3VzcGVuZCk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudFF1ZXVlOjpy
ZXN1bWUpOgorICAgICAgICAqIGRvbS9FdmVudFF1ZXVlLmg6CisKIDIwMTEtMDEtMjcgIEVtaWwg
QSBFa2x1bmQgIDxlYWVAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmlu
IEFkbGVyLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggNmFkZWYyNjkzMGNmZTg3OTdiYTRi
Y2ZhODEyOTQ4NGE2OWEyODRkZS4uMDU4MDZkYTI0ZmI4MTc1OTcyMTRlZDIxNDA5OTIzYjdhZmZk
YmMxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC00MTMsNyArNDEzLDcgQEAgRG9jdW1l
bnQ6OkRvY3VtZW50KEZyYW1lKiBmcmFtZSwgY29uc3QgS1VSTCYgdXJsLCBib29sIGlzWEhUTUws
IGJvb2wgaXNIVE1MLCBjb24KICAgICAsIG1fbm9ybWFsV29ybGRXcmFwcGVyQ2FjaGUoMCkKICNl
bmRpZgogICAgICwgbV91c2luZ0dlb2xvY2F0aW9uKGZhbHNlKQotICAgICwgbV9ldmVudFF1ZXVl
KGFkb3B0UHRyKG5ldyBFdmVudFF1ZXVlKSkKKyAgICAsIG1fZXZlbnRRdWV1ZShhZG9wdFB0cihu
ZXcgRXZlbnRRdWV1ZSh0aGlzKSkpCiAjaWYgRU5BQkxFKFdNTCkKICAgICAsIG1fY29udGFpbnNX
TUxDb250ZW50KGZhbHNlKQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
RXZlbnRRdWV1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRRdWV1ZS5jcHAKaW5kZXgg
YTQzOTI5ZTc1ZTkzNDExNzk5MTRhNjVhOGQ2NDgwZDdiNzRmMzNmMS4uMjZmMGExOTEzZDc3Y2Ew
NDkwNTZkNzE2MjU3ZTViYmIxYjgyNjlhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L0V2ZW50UXVldWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFF1ZXVlLmNwcApA
QCAtMzQsOCArMzQsMTMgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1FdmVudFF1ZXVlOjpF
dmVudFF1ZXVlKCkKLSAgICA6IG1fcGVuZGluZ0V2ZW50VGltZXIodGhpcywgJkV2ZW50UXVldWU6
OnBlbmRpbmdFdmVudFRpbWVyRmlyZWQpCitFdmVudFF1ZXVlOjpFdmVudFF1ZXVlKERvY3VtZW50
KiBkb2N1bWVudCkKKyAgICA6IEFjdGl2ZURPTU9iamVjdChkb2N1bWVudCwgdGhpcykKKyAgICAs
IG1fcGVuZGluZ0V2ZW50VGltZXIodGhpcywgJkV2ZW50UXVldWU6OnBlbmRpbmdFdmVudFRpbWVy
RmlyZWQpCit7Cit9CisKK0V2ZW50UXVldWU6On5FdmVudFF1ZXVlKCkKIHsKIH0KIApAQCAtODQs
NCArODksMjEgQEAgdm9pZCBFdmVudFF1ZXVlOjpkaXNwYXRjaEV2ZW50KFBhc3NSZWZQdHI8RXZl
bnQ+IGV2ZW50KQogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKIH0KIAorYm9vbCBFdmVu
dFF1ZXVlOjpjYW5TdXNwZW5kKCkgY29uc3QKK3sKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwordm9p
ZCBFdmVudFF1ZXVlOjpzdXNwZW5kKFJlYXNvbkZvclN1c3BlbnNpb24pCit7CisgICAgaWYgKG1f
cGVuZGluZ0V2ZW50VGltZXIuaXNBY3RpdmUoKSkKKyAgICAgICAgbV9wZW5kaW5nRXZlbnRUaW1l
ci5zdG9wKCk7Cit9CisKK3ZvaWQgRXZlbnRRdWV1ZTo6cmVzdW1lKCkKK3sKKyAgICBpZiAobV9x
dWV1ZWRFdmVudHMuc2l6ZSgpKQorICAgICAgICBtX3BlbmRpbmdFdmVudFRpbWVyLnN0YXJ0T25l
U2hvdCgwKTsKK30KKwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50UXVl
dWUuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFF1ZXVlLmgKaW5kZXggN2Y4ZDVmYjI1NDYx
MTQ2YWQ0Nzk1NDJiYWY0NWE3ODBjYjlkNmFkNC4uZDVhN2NmNzAzMmYzMzY2NTZjNGJlNTdiNjk3
MTdiYzhkMDZjOWU5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50UXVldWUu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRRdWV1ZS5oCkBAIC0yNyw2ICsyNyw3IEBA
CiAjaWZuZGVmIEV2ZW50UXVldWVfaAogI2RlZmluZSBFdmVudFF1ZXVlX2gKIAorI2luY2x1ZGUg
IkFjdGl2ZURPTU9iamVjdC5oIgogI2luY2x1ZGUgIlRpbWVyLmgiCiAjaW5jbHVkZSA8d3RmL0hh
c2hTZXQuaD4KICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KQEAgLTM1LDEwICszNiwxMSBA
QAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIERvY3VtZW50OwogY2xhc3MgRXZlbnQ7
CiBjbGFzcyBOb2RlOwogCi1jbGFzcyBFdmVudFF1ZXVlIHsKK2NsYXNzIEV2ZW50UXVldWUgOiBw
dWJsaWMgQWN0aXZlRE9NT2JqZWN0IHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShFdmVudFF1
ZXVlKTsKIAogcHVibGljOgpAQCAtNDcsMTAgKzQ5LDE2IEBAIHB1YmxpYzoKICAgICAgICAgU2Ny
b2xsRXZlbnRFbGVtZW50VGFyZ2V0CiAgICAgfTsKIAotICAgIEV2ZW50UXVldWUoKTsKKyAgICBl
eHBsaWNpdCBFdmVudFF1ZXVlKERvY3VtZW50Kik7CisgICAgdmlydHVhbCB+RXZlbnRRdWV1ZSgp
OwogCiAgICAgdm9pZCBlbnF1ZXVlRXZlbnQoUGFzc1JlZlB0cjxFdmVudD4pOwogICAgIHZvaWQg
ZW5xdWV1ZVNjcm9sbEV2ZW50KFBhc3NSZWZQdHI8Tm9kZT4sIFNjcm9sbEV2ZW50VGFyZ2V0VHlw
ZSk7CisgICAgCisgICAgLy8gQWN0aXZlRE9NT2JqZWN0CisgICAgdmlydHVhbCBib29sIGNhblN1
c3BlbmQoKSBjb25zdDsKKyAgICB2aXJ0dWFsIHZvaWQgc3VzcGVuZChSZWFzb25Gb3JTdXNwZW5z
aW9uKTsKKyAgICB2aXJ0dWFsIHZvaWQgcmVzdW1lKCk7CiAKIHByaXZhdGU6CiAgICAgdm9pZCBw
ZW5kaW5nRXZlbnRUaW1lckZpcmVkKFRpbWVyPEV2ZW50UXVldWU+Kik7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>80494</attachid>
            <date>2011-01-28 14:03:24 -0800</date>
            <delta_ts>2011-01-28 15:13:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-53202-20110128140323.patch</filename>
            <type>text/plain</type>
            <size>5286</size>
            <attacher name="Mihai Parparita">mihaip</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA2YTYwMTUwNTI2ZDFmZDViYjgzMjg1NzI1MjZkNzdiNTYwODdhN2Q1Li45
NGMzMTliNDFiNjYxNjY2Y2UxM2VhYjUxM2JjNmYwYTY1ZWQ0OTIyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjggQEAKKzIwMTEtMDEtMjYgIE1paGFpIFBhcnBhcml0YSAgPG1paGFpcEBjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QXN5bmMgZXZlbnQgaGFuZGxlcnMgc2hvdWxkIG5vdCBmaXJlIHdpdGhpbiBhIG1vZGFsIGRpYWxv
ZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTMyMDIK
KworICAgICAgICBBc3ljaHJvbm91cyBldmVudHMgdGhhdCB1c2UgRXZlbnRRdWV1ZSB3b3VsZCBj
dXJyZW50bHkgZmlyZSB3aGlsZSBhCisgICAgICAgIG1vZGFsIGRpYWxvZyAoZS5nLiB3aW5kb3cu
YWxlcnQoKSkgd2FzIHVwLiBDaGFuZ2UgRXZlbnRRdWV1ZSB0byB1c2UgYQorICAgICAgICBTdXNw
ZW5kYWJsZVRpbWVyICh3aGljaCBhdXRvbWF0aWNhbGx5IGdldHMgc3VzcGVuZGVkIHdoaWxlIGRp
YWxvZ3MgYXJlCisgICAgICAgIHVwIGFuZCBpbiBvdGhlciBjYXNlcyB3aGVyZSBKUyBleGVjdXRp
b24gaXMgbm90IGFsbG93ZWQpLgorICAgICAgICAKKyAgICAgICAgVGVzdGVkIG1hbnVhbGx5IHNp
bmNlIHRoZXJlJ3Mgbm8gd2F5IHRvIHRlc3Qgd2luZG93LmFsZXJ0KCkgaW4gYSBsYXlvdXQKKyAg
ICAgICAgdGVzdC4KKworICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpEb2N1bWVudDo6RG9jdW1lbnQpOgorICAgICAgICAqIGRvbS9FdmVudFF1ZXVlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkV2ZW50UXVldWVUaW1lcjo6RXZlbnRRdWV1ZVRpbWVyKToKKyAg
ICAgICAgKFdlYkNvcmU6OkV2ZW50UXVldWVUaW1lcjo6ZmlyZWQpOgorICAgICAgICAoV2ViQ29y
ZTo6RXZlbnRRdWV1ZTo6RXZlbnRRdWV1ZSk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudFF1ZXVl
OjplbnF1ZXVlRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRRdWV1ZTo6cGVuZGluZ0V2
ZW50VGltZXJGaXJlZCk6CisgICAgICAgICogZG9tL0V2ZW50UXVldWUuaDoKKwogMjAxMS0wMS0y
OCAgTWljaGFlbCBTYWJvZmYgIDxtc2Fib2ZmQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBHZW9mZnJleSBHYXJlbi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IDZhZGVmMjY5
MzBjZmU4Nzk3YmE0YmNmYTgxMjk0ODRhNjlhMjg0ZGUuLjA1ODA2ZGEyNGZiODE3NTk3MjE0ZWQy
MTQwOTkyM2I3YWZmZGJjMTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVu
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtNDEzLDcgKzQx
Myw3IEBAIERvY3VtZW50OjpEb2N1bWVudChGcmFtZSogZnJhbWUsIGNvbnN0IEtVUkwmIHVybCwg
Ym9vbCBpc1hIVE1MLCBib29sIGlzSFRNTCwgY29uCiAgICAgLCBtX25vcm1hbFdvcmxkV3JhcHBl
ckNhY2hlKDApCiAjZW5kaWYKICAgICAsIG1fdXNpbmdHZW9sb2NhdGlvbihmYWxzZSkKLSAgICAs
IG1fZXZlbnRRdWV1ZShhZG9wdFB0cihuZXcgRXZlbnRRdWV1ZSkpCisgICAgLCBtX2V2ZW50UXVl
dWUoYWRvcHRQdHIobmV3IEV2ZW50UXVldWUodGhpcykpKQogI2lmIEVOQUJMRShXTUwpCiAgICAg
LCBtX2NvbnRhaW5zV01MQ29udGVudChmYWxzZSkKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL0V2ZW50UXVldWUuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50UXVl
dWUuY3BwCmluZGV4IGE0MzkyOWU3NWU5MzQxMTc5OTE0YTY1YThkNjQ4MGQ3Yjc0ZjMzZjEuLjcz
NzFiMTMyMjFjM2VhOTViYjQzNDExMWQ1OWZmNjIzMTAzYjFiMDMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9FdmVudFF1ZXVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZl
bnRRdWV1ZS5jcHAKQEAgLTI4LDE0ICsyOCwzMSBAQAogI2luY2x1ZGUgIkV2ZW50UXVldWUuaCIK
IAogI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgotI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVk
ZSAiRXZlbnQuaCIKICNpbmNsdWRlICJFdmVudE5hbWVzLmgiCisjaW5jbHVkZSAiU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dC5oIgorI2luY2x1ZGUgIlN1c3BlbmRhYmxlVGltZXIuaCIKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCi1FdmVudFF1ZXVlOjpFdmVudFF1ZXVlKCkKLSAgICA6IG1fcGVuZGlu
Z0V2ZW50VGltZXIodGhpcywgJkV2ZW50UXVldWU6OnBlbmRpbmdFdmVudFRpbWVyRmlyZWQpCitj
bGFzcyBFdmVudFF1ZXVlVGltZXIgOiBwdWJsaWMgU3VzcGVuZGFibGVUaW1lciB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoRXZlbnRRdWV1ZVRpbWVyKTsKK3B1YmxpYzoKKyAgICBleHBsaWNp
dCBFdmVudFF1ZXVlVGltZXIoRXZlbnRRdWV1ZSogZXZlbnRRdWV1ZSwgU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCogY29udGV4dCkKKyAgICAgICAgOiBTdXNwZW5kYWJsZVRpbWVyKGNvbnRleHQpCisg
ICAgICAgICwgbV9ldmVudFF1ZXVlKGV2ZW50UXVldWUpIHsgfQorCitwcml2YXRlOgorICAgIHZp
cnR1YWwgdm9pZCBmaXJlZCgpIHsgbV9ldmVudFF1ZXVlLT5wZW5kaW5nRXZlbnRUaW1lckZpcmVk
KCk7IH0KKyAgICBFdmVudFF1ZXVlKiBtX2V2ZW50UXVldWU7ICAgIAorfTsKKworRXZlbnRRdWV1
ZTo6RXZlbnRRdWV1ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0KQorICAgIDogbV9w
ZW5kaW5nRXZlbnRUaW1lcihhZG9wdFB0cihuZXcgRXZlbnRRdWV1ZVRpbWVyKHRoaXMsIGNvbnRl
eHQpKSkKK3sKK30KKworRXZlbnRRdWV1ZTo6fkV2ZW50UXVldWUoKQogewogfQogCkBAIC00NCw4
ICs2MSw4IEBAIHZvaWQgRXZlbnRRdWV1ZTo6ZW5xdWV1ZUV2ZW50KFBhc3NSZWZQdHI8RXZlbnQ+
IGV2ZW50KQogICAgIEFTU0VSVChldmVudC0+dGFyZ2V0KCktPnRvTm9kZSgpIHx8IGV2ZW50LT50
YXJnZXQoKS0+dG9ET01XaW5kb3coKSk7CiAgICAgbV9xdWV1ZWRFdmVudHMuYXBwZW5kKGV2ZW50
KTsKICAgICAKLSAgICBpZiAoIW1fcGVuZGluZ0V2ZW50VGltZXIuaXNBY3RpdmUoKSkKLSAgICAg
ICAgbV9wZW5kaW5nRXZlbnRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgaWYgKCFtX3BlbmRp
bmdFdmVudFRpbWVyLT5pc0FjdGl2ZSgpKQorICAgICAgICBtX3BlbmRpbmdFdmVudFRpbWVyLT5z
dGFydE9uZVNob3QoMCk7CiB9CiAKIHZvaWQgRXZlbnRRdWV1ZTo6ZW5xdWV1ZVNjcm9sbEV2ZW50
KFBhc3NSZWZQdHI8Tm9kZT4gdGFyZ2V0LCBTY3JvbGxFdmVudFRhcmdldFR5cGUgdGFyZ2V0VHlw
ZSkKQEAgLTYwLDkgKzc3LDkgQEAgdm9pZCBFdmVudFF1ZXVlOjplbnF1ZXVlU2Nyb2xsRXZlbnQo
UGFzc1JlZlB0cjxOb2RlPiB0YXJnZXQsIFNjcm9sbEV2ZW50VGFyZ2V0VHkKICAgICBlbnF1ZXVl
RXZlbnQoc2Nyb2xsRXZlbnQucmVsZWFzZSgpKTsKIH0KIAotdm9pZCBFdmVudFF1ZXVlOjpwZW5k
aW5nRXZlbnRUaW1lckZpcmVkKFRpbWVyPEV2ZW50UXVldWU+KikKK3ZvaWQgRXZlbnRRdWV1ZTo6
cGVuZGluZ0V2ZW50VGltZXJGaXJlZCgpCiB7Ci0gICAgQVNTRVJUKCFtX3BlbmRpbmdFdmVudFRp
bWVyLmlzQWN0aXZlKCkpOworICAgIEFTU0VSVCghbV9wZW5kaW5nRXZlbnRUaW1lci0+aXNBY3Rp
dmUoKSk7CiAKICAgICBWZWN0b3I8UmVmUHRyPEV2ZW50PiA+IHF1ZXVlZEV2ZW50czsKICAgICBx
dWV1ZWRFdmVudHMuc3dhcChtX3F1ZXVlZEV2ZW50cyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vRXZlbnRRdWV1ZS5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50UXVldWUuaApp
bmRleCA3ZjhkNWZiMjU0NjExNDZhZDQ3OTU0MmJhZjQ1YTc4MGNiOWQ2YWQ0Li5mMGJjYWMwMjgy
YTkxYTdkMmY2MjRmNzdkNTlmODZjNzU0Y2RkMTIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vRXZlbnRRdWV1ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFF1ZXVlLmgK
QEAgLTI3LDE2ICsyNywxOCBAQAogI2lmbmRlZiBFdmVudFF1ZXVlX2gKICNkZWZpbmUgRXZlbnRR
dWV1ZV9oCiAKLSNpbmNsdWRlICJUaW1lci5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CiAj
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CisjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2lu
Y2x1ZGUgPHd0Zi9SZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogY2xhc3MgRXZlbnQ7CitjbGFzcyBFdmVudFF1ZXVlVGltZXI7CiBjbGFz
cyBOb2RlOworY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKIAogY2xhc3MgRXZlbnRRdWV1
ZSB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRXZlbnRRdWV1ZSk7CkBAIC00NywxOCArNDks
MjEgQEAgcHVibGljOgogICAgICAgICBTY3JvbGxFdmVudEVsZW1lbnRUYXJnZXQKICAgICB9Owog
Ci0gICAgRXZlbnRRdWV1ZSgpOworICAgIGV4cGxpY2l0IEV2ZW50UXVldWUoU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCopOworICAgIHZpcnR1YWwgfkV2ZW50UXVldWUoKTsKIAogICAgIHZvaWQgZW5x
dWV1ZUV2ZW50KFBhc3NSZWZQdHI8RXZlbnQ+KTsKICAgICB2b2lkIGVucXVldWVTY3JvbGxFdmVu
dChQYXNzUmVmUHRyPE5vZGU+LCBTY3JvbGxFdmVudFRhcmdldFR5cGUpOwotCisgICAgCiBwcml2
YXRlOgotICAgIHZvaWQgcGVuZGluZ0V2ZW50VGltZXJGaXJlZChUaW1lcjxFdmVudFF1ZXVlPiop
OworICAgIHZvaWQgcGVuZGluZ0V2ZW50VGltZXJGaXJlZCgpOwogICAgIHZvaWQgZGlzcGF0Y2hF
dmVudChQYXNzUmVmUHRyPEV2ZW50Pik7CiAKLSAgICBUaW1lcjxFdmVudFF1ZXVlPiBtX3BlbmRp
bmdFdmVudFRpbWVyOworICAgIE93blB0cjxFdmVudFF1ZXVlVGltZXI+IG1fcGVuZGluZ0V2ZW50
VGltZXI7CiAgICAgVmVjdG9yPFJlZlB0cjxFdmVudD4gPiBtX3F1ZXVlZEV2ZW50czsKICAgICBI
YXNoU2V0PE5vZGUqPiBtX25vZGVzV2l0aFF1ZXVlZFNjcm9sbEV2ZW50czsKKyAgICAKKyAgICBm
cmllbmQgY2xhc3MgRXZlbnRRdWV1ZVRpbWVyOyAgICAKIH07CiAKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>80504</attachid>
            <date>2011-01-28 15:13:24 -0800</date>
            <delta_ts>2011-01-31 15:05:14 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-53202-20110128151323.patch</filename>
            <type>text/plain</type>
            <size>8221</size>
            <attacher name="Mihai Parparita">mihaip</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBjN2UzNGQ1ZWQyMjkyNWEyNjFhNjMzZmNmZDU3ZDljYmU4M2RlN2ExLi5jMDYxYzQ0
NjZiY2M4MGY3MTY4MWM5YmE3NWE1NDdhMzg0ZTlhNDQxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAK
KzIwMTEtMDEtMjggIE1paGFpIFBhcnBhcml0YSAgPG1paGFpcEBjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQXN5bmMgZXZlbnQg
aGFuZGxlcnMgc2hvdWxkIG5vdCBmaXJlIHdpdGhpbiBhIG1vZGFsIGRpYWxvZworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTMyMDIKKyAgICAgICAgCisg
ICAgICAgIEFkZCB0ZXN0cyBmb3IgYSBzY3JvbGwgZXZlbnQgdHJpZ2dlcmVkIHJpZ2h0IGJlZm9y
ZSBhIG1vZGFsIGRpYWxvZyBpcworICAgICAgICBzaG93bi4KKworICAgICAgICAqIGZhc3QvZXZl
bnRzL3Njcm9sbC1ldmVudC1kdXJpbmctbW9kYWwtZGlhbG9nLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZmFzdC9ldmVudHMvc2Nyb2xsLWV2ZW50LWR1cmluZy1tb2RhbC1kaWFsb2cu
aHRtbDogQWRkZWQuCisKIDIwMTEtMDEtMjggIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5v
cmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCBDaHJvbWl1bSByZWJhc2VsaW5lcy4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3Njcm9sbC1ldmVudC1kdXJpbmctbW9kYWwtZGlh
bG9nLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3Njcm9sbC1ldmVudC1k
dXJpbmctbW9kYWwtZGlhbG9nLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iNTUxNGI4OGNmYWE1
YTUzNGM4ZWQzYzJlYmMxOWQ3ZjgxOTBlNmRhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9ldmVudHMvc2Nyb2xsLWV2ZW50LWR1cmluZy1tb2RhbC1kaWFsb2ctZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Rlc3RzIHRoYXQgc2Nyb2xsIGV2ZW50cyBhcmUgbm90IGZp
cmVkIHdoaWxlIG1vZGFsIGRpYWxvZ3MgYXJlIGRpc3BsYXllZC4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCisKK1Njcm9sbGluZyB3aW5kb3cKK1Nob3dpbmcgbW9kYWwgZGlhbG9nCitS
ZXR1cm5lZCBmcm9tIG1vZGFsIGRpYWxvZworU2Nyb2xsIGhhbmRsZXIgZmlyZWQKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9zY3JvbGwtZXZlbnQtZHVyaW5nLW1vZGFsLWRpYWxvZy5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvc2Nyb2xsLWV2ZW50LWR1cmluZy1tb2RhbC1k
aWFsb2cuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MmI4ZGE4ZWVmZjVjYzNiODgxMDI3ZTg5MDI4YmVlYTNh
NjYyMTEzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvc2Nyb2xs
LWV2ZW50LWR1cmluZy1tb2RhbC1kaWFsb2cuaHRtbApAQCAtMCwwICsxLDM0IEBACis8aHRtbD4K
KzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5
bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPGJvZHkgc3R5bGU9Im1pbi1oZWlnaHQ6IDIwMDBweCI+IAorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKworPHNjcmlwdCB0eXBlPSJ0
ZXh0L2phdmFzY3JpcHQiPgorZGVzY3JpcHRpb24oJ1Rlc3RzIHRoYXQgc2Nyb2xsIGV2ZW50cyBh
cmUgbm90IGZpcmVkIHdoaWxlIG1vZGFsIGRpYWxvZ3MgYXJlIGRpc3BsYXllZC4nKTsKKwordmFy
IHRyaWdnZXJlZENhcHR1cmVMaXN0ZW5lciA9IGZhbHNlOwordmFyIHRyaWdnZXJlZEJ1YmJsZUxp
c3RlbmVyID0gZmFsc2U7CisKK29uc2Nyb2xsID0gZnVuY3Rpb24oKQoreworICAgIGRlYnVnKCdT
Y3JvbGwgaGFuZGxlciBmaXJlZCcpOworICAgIGZpbmlzaEpTVGVzdCgpOworfQorCitvbmxvYWQg
PSBmdW5jdGlvbigpCit7CisgICAgZGVidWcoJ1Njcm9sbGluZyB3aW5kb3cnKTsKKyAgICB3aW5k
b3cuc2Nyb2xsVG8oMjAwLCAyMDApOworICAgIGRlYnVnKCdTaG93aW5nIG1vZGFsIGRpYWxvZycp
OworICAgIHNob3dNb2RhbERpYWxvZygnZGF0YTp0ZXh0L2h0bWwsPHNjcmlwdD5jbG9zZSgpPC8n
ICsgJ3NjcmlwdD4nKTsKKyAgICBkZWJ1ZygnUmV0dXJuZWQgZnJvbSBtb2RhbCBkaWFsb2cnKTsK
K30KKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cit2YXIganNUZXN0SXNBc3luYyA9
IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA2YTYwMTUw
NTI2ZDFmZDViYjgzMjg1NzI1MjZkNzdiNTYwODdhN2Q1Li4xNTZiYWZlMWIwNWQwMTU4MzE0YWNj
NjMyODg5MmRhZjY3ZTJhNWRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjggQEAKKzIwMTEtMDEt
MjYgIE1paGFpIFBhcnBhcml0YSAgPG1paGFpcEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQXN5bmMgZXZlbnQgaGFuZGxlcnMg
c2hvdWxkIG5vdCBmaXJlIHdpdGhpbiBhIG1vZGFsIGRpYWxvZworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTMyMDIKKworICAgICAgICBBc3ljaHJvbm91
cyBldmVudHMgdGhhdCB1c2UgRXZlbnRRdWV1ZSB3b3VsZCBjdXJyZW50bHkgZmlyZSB3aGlsZSBh
CisgICAgICAgIG1vZGFsIGRpYWxvZyAoZS5nLiB3aW5kb3cuYWxlcnQoKSkgd2FzIHVwLiBDaGFu
Z2UgRXZlbnRRdWV1ZSB0byB1c2UgYQorICAgICAgICBTdXNwZW5kYWJsZVRpbWVyICh3aGljaCBh
dXRvbWF0aWNhbGx5IGdldHMgc3VzcGVuZGVkIHdoaWxlIGRpYWxvZ3MgYXJlCisgICAgICAgIHVw
IGFuZCBpbiBvdGhlciBjYXNlcyB3aGVyZSBKUyBleGVjdXRpb24gaXMgbm90IGFsbG93ZWQpLgor
ICAgICAgICAKKyAgICAgICAgVGVzdDogZmFzdC9ldmVudHMvc2Nyb2xsLWV2ZW50LWR1cmluZy1t
b2RhbC1kaWFsb2cuaHRtbAorCisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkRvY3VtZW50OjpEb2N1bWVudCk6CisgICAgICAgICogZG9tL0V2ZW50UXVldWUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRRdWV1ZVRpbWVyOjpFdmVudFF1ZXVlVGltZXIp
OgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRRdWV1ZVRpbWVyOjpmaXJlZCk6CisgICAgICAgIChX
ZWJDb3JlOjpFdmVudFF1ZXVlOjpFdmVudFF1ZXVlKToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50
UXVldWU6OmVucXVldWVFdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudFF1ZXVlOjpwZW5k
aW5nRXZlbnRUaW1lckZpcmVkKToKKyAgICAgICAgKiBkb20vRXZlbnRRdWV1ZS5oOgorICAgICAg
ICAoV2ViQ29yZTo6RXZlbnRRdWV1ZTo6Y3JlYXRlKToKKwogMjAxMS0wMS0yOCAgTWljaGFlbCBT
YWJvZmYgIDxtc2Fib2ZmQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBHZW9mZnJl
eSBHYXJlbi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IDZhZGVmMjY5MzBjZmU4Nzk3YmE0
YmNmYTgxMjk0ODRhNjlhMjg0ZGUuLjZlZjA0YmVjYjBjM2YwYjAwYTdiYTk0NDkzN2JiNDU2Yjg3
YjY2YjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtNDEzLDcgKzQxMyw3IEBAIERvY3Vt
ZW50OjpEb2N1bWVudChGcmFtZSogZnJhbWUsIGNvbnN0IEtVUkwmIHVybCwgYm9vbCBpc1hIVE1M
LCBib29sIGlzSFRNTCwgY29uCiAgICAgLCBtX25vcm1hbFdvcmxkV3JhcHBlckNhY2hlKDApCiAj
ZW5kaWYKICAgICAsIG1fdXNpbmdHZW9sb2NhdGlvbihmYWxzZSkKLSAgICAsIG1fZXZlbnRRdWV1
ZShhZG9wdFB0cihuZXcgRXZlbnRRdWV1ZSkpCisgICAgLCBtX2V2ZW50UXVldWUoRXZlbnRRdWV1
ZTo6Y3JlYXRlKHRoaXMpKQogI2lmIEVOQUJMRShXTUwpCiAgICAgLCBtX2NvbnRhaW5zV01MQ29u
dGVudChmYWxzZSkKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50
UXVldWUuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50UXVldWUuY3BwCmluZGV4IGE0Mzky
OWU3NWU5MzQxMTc5OTE0YTY1YThkNjQ4MGQ3Yjc0ZjMzZjEuLmEzZGFhZTY0YzkzMDdmYzQ3OTEz
MTAzMmQwY2ZmZTM5NWY0ODUzMGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVu
dFF1ZXVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRRdWV1ZS5jcHAKQEAgLTI4
LDE0ICsyOCwzMSBAQAogI2luY2x1ZGUgIkV2ZW50UXVldWUuaCIKIAogI2luY2x1ZGUgIkRPTVdp
bmRvdy5oIgotI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRXZlbnQuaCIKICNpbmNs
dWRlICJFdmVudE5hbWVzLmgiCisjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgor
I2luY2x1ZGUgIlN1c3BlbmRhYmxlVGltZXIuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1F
dmVudFF1ZXVlOjpFdmVudFF1ZXVlKCkKLSAgICA6IG1fcGVuZGluZ0V2ZW50VGltZXIodGhpcywg
JkV2ZW50UXVldWU6OnBlbmRpbmdFdmVudFRpbWVyRmlyZWQpCitjbGFzcyBFdmVudFF1ZXVlVGlt
ZXIgOiBwdWJsaWMgU3VzcGVuZGFibGVUaW1lciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
RXZlbnRRdWV1ZVRpbWVyKTsKK3B1YmxpYzoKKyAgICBFdmVudFF1ZXVlVGltZXIoRXZlbnRRdWV1
ZSogZXZlbnRRdWV1ZSwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkKKyAgICAgICAg
OiBTdXNwZW5kYWJsZVRpbWVyKGNvbnRleHQpCisgICAgICAgICwgbV9ldmVudFF1ZXVlKGV2ZW50
UXVldWUpIHsgfQorCitwcml2YXRlOgorICAgIHZpcnR1YWwgdm9pZCBmaXJlZCgpIHsgbV9ldmVu
dFF1ZXVlLT5wZW5kaW5nRXZlbnRUaW1lckZpcmVkKCk7IH0KKyAgICBFdmVudFF1ZXVlKiBtX2V2
ZW50UXVldWU7ICAgIAorfTsKKworRXZlbnRRdWV1ZTo6RXZlbnRRdWV1ZShTY3JpcHRFeGVjdXRp
b25Db250ZXh0KiBjb250ZXh0KQorICAgIDogbV9wZW5kaW5nRXZlbnRUaW1lcihhZG9wdFB0cihu
ZXcgRXZlbnRRdWV1ZVRpbWVyKHRoaXMsIGNvbnRleHQpKSkKK3sKK30KKworRXZlbnRRdWV1ZTo6
fkV2ZW50UXVldWUoKQogewogfQogCkBAIC00NCw4ICs2MSw4IEBAIHZvaWQgRXZlbnRRdWV1ZTo6
ZW5xdWV1ZUV2ZW50KFBhc3NSZWZQdHI8RXZlbnQ+IGV2ZW50KQogICAgIEFTU0VSVChldmVudC0+
dGFyZ2V0KCktPnRvTm9kZSgpIHx8IGV2ZW50LT50YXJnZXQoKS0+dG9ET01XaW5kb3coKSk7CiAg
ICAgbV9xdWV1ZWRFdmVudHMuYXBwZW5kKGV2ZW50KTsKICAgICAKLSAgICBpZiAoIW1fcGVuZGlu
Z0V2ZW50VGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9wZW5kaW5nRXZlbnRUaW1lci5zdGFy
dE9uZVNob3QoMCk7CisgICAgaWYgKCFtX3BlbmRpbmdFdmVudFRpbWVyLT5pc0FjdGl2ZSgpKQor
ICAgICAgICBtX3BlbmRpbmdFdmVudFRpbWVyLT5zdGFydE9uZVNob3QoMCk7CiB9CiAKIHZvaWQg
RXZlbnRRdWV1ZTo6ZW5xdWV1ZVNjcm9sbEV2ZW50KFBhc3NSZWZQdHI8Tm9kZT4gdGFyZ2V0LCBT
Y3JvbGxFdmVudFRhcmdldFR5cGUgdGFyZ2V0VHlwZSkKQEAgLTYwLDkgKzc3LDkgQEAgdm9pZCBF
dmVudFF1ZXVlOjplbnF1ZXVlU2Nyb2xsRXZlbnQoUGFzc1JlZlB0cjxOb2RlPiB0YXJnZXQsIFNj
cm9sbEV2ZW50VGFyZ2V0VHkKICAgICBlbnF1ZXVlRXZlbnQoc2Nyb2xsRXZlbnQucmVsZWFzZSgp
KTsKIH0KIAotdm9pZCBFdmVudFF1ZXVlOjpwZW5kaW5nRXZlbnRUaW1lckZpcmVkKFRpbWVyPEV2
ZW50UXVldWU+KikKK3ZvaWQgRXZlbnRRdWV1ZTo6cGVuZGluZ0V2ZW50VGltZXJGaXJlZCgpCiB7
Ci0gICAgQVNTRVJUKCFtX3BlbmRpbmdFdmVudFRpbWVyLmlzQWN0aXZlKCkpOworICAgIEFTU0VS
VCghbV9wZW5kaW5nRXZlbnRUaW1lci0+aXNBY3RpdmUoKSk7CiAKICAgICBWZWN0b3I8UmVmUHRy
PEV2ZW50PiA+IHF1ZXVlZEV2ZW50czsKICAgICBxdWV1ZWRFdmVudHMuc3dhcChtX3F1ZXVlZEV2
ZW50cyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRRdWV1ZS5oIGIvU291
cmNlL1dlYkNvcmUvZG9tL0V2ZW50UXVldWUuaAppbmRleCA3ZjhkNWZiMjU0NjExNDZhZDQ3OTU0
MmJhZjQ1YTc4MGNiOWQ2YWQ0Li42NTkwZTgzNjIxYWM4N2M4YTRjYTUyNjNhODY5NGQ1NDIzZTdl
ZDk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRRdWV1ZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FdmVudFF1ZXVlLmgKQEAgLTI3LDM4ICsyNyw1MSBAQAogI2lmbmRl
ZiBFdmVudFF1ZXVlX2gKICNkZWZpbmUgRXZlbnRRdWV1ZV9oCiAKLSNpbmNsdWRlICJUaW1lci5o
IgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CisjaW5jbHVkZSA8d3RmL093blB0ci5oPgorI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAj
aW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCiBjbGFzcyBFdmVudDsKK2NsYXNzIEV2ZW50UXVldWVUaW1lcjsKIGNs
YXNzIE5vZGU7CitjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogCiBjbGFzcyBFdmVudFF1
ZXVlIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShFdmVudFF1ZXVlKTsKIAorICAgIAogcHVi
bGljOgogICAgIGVudW0gU2Nyb2xsRXZlbnRUYXJnZXRUeXBlIHsKICAgICAgICAgU2Nyb2xsRXZl
bnREb2N1bWVudFRhcmdldCwKICAgICAgICAgU2Nyb2xsRXZlbnRFbGVtZW50VGFyZ2V0CiAgICAg
fTsKIAotICAgIEV2ZW50UXVldWUoKTsKKyAgICBzdGF0aWMgUGFzc093blB0cjxFdmVudFF1ZXVl
PiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkKKyAgICB7CisgICAgICAg
IHJldHVybiBhZG9wdFB0cihuZXcgRXZlbnRRdWV1ZShjb250ZXh0KSk7CisgICAgfQorCisgICAg
dmlydHVhbCB+RXZlbnRRdWV1ZSgpOwogCiAgICAgdm9pZCBlbnF1ZXVlRXZlbnQoUGFzc1JlZlB0
cjxFdmVudD4pOwogICAgIHZvaWQgZW5xdWV1ZVNjcm9sbEV2ZW50KFBhc3NSZWZQdHI8Tm9kZT4s
IFNjcm9sbEV2ZW50VGFyZ2V0VHlwZSk7CiAKIHByaXZhdGU6Ci0gICAgdm9pZCBwZW5kaW5nRXZl
bnRUaW1lckZpcmVkKFRpbWVyPEV2ZW50UXVldWU+Kik7CisgICAgZXhwbGljaXQgRXZlbnRRdWV1
ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0Kik7CisKKyAgICB2b2lkIHBlbmRpbmdFdmVudFRpbWVy
RmlyZWQoKTsKICAgICB2b2lkIGRpc3BhdGNoRXZlbnQoUGFzc1JlZlB0cjxFdmVudD4pOwogCi0g
ICAgVGltZXI8RXZlbnRRdWV1ZT4gbV9wZW5kaW5nRXZlbnRUaW1lcjsKKyAgICBPd25QdHI8RXZl
bnRRdWV1ZVRpbWVyPiBtX3BlbmRpbmdFdmVudFRpbWVyOwogICAgIFZlY3RvcjxSZWZQdHI8RXZl
bnQ+ID4gbV9xdWV1ZWRFdmVudHM7CiAgICAgSGFzaFNldDxOb2RlKj4gbV9ub2Rlc1dpdGhRdWV1
ZWRTY3JvbGxFdmVudHM7CisgICAgCisgICAgZnJpZW5kIGNsYXNzIEV2ZW50UXVldWVUaW1lcjsg
ICAgCiB9OwogCiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>80684</attachid>
            <date>2011-01-31 15:05:17 -0800</date>
            <delta_ts>2011-02-01 16:04:18 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-53202-20110131150516.patch</filename>
            <type>text/plain</type>
            <size>8209</size>
            <attacher name="Mihai Parparita">mihaip</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBjN2UzNGQ1ZWQyMjkyNWEyNjFhNjMzZmNmZDU3ZDljYmU4M2RlN2ExLi42M2NhMWNk
MTI2ZjdkNDE1Yzc3OTIxMDE2ZmNlZWM1OWQ4YjIxZTlhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAK
KzIwMTEtMDEtMjggIE1paGFpIFBhcnBhcml0YSAgPG1paGFpcEBjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgSmFtZXMgUm9iaW5zb24uCisKKyAgICAgICAgQXN5bmMgZXZlbnQg
aGFuZGxlcnMgc2hvdWxkIG5vdCBmaXJlIHdpdGhpbiBhIG1vZGFsIGRpYWxvZworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTMyMDIKKyAgICAgICAgCisg
ICAgICAgIEFkZCB0ZXN0cyBmb3IgYSBzY3JvbGwgZXZlbnQgdHJpZ2dlcmVkIHJpZ2h0IGJlZm9y
ZSBhIG1vZGFsIGRpYWxvZyBpcworICAgICAgICBzaG93bi4KKworICAgICAgICAqIGZhc3QvZXZl
bnRzL3Njcm9sbC1ldmVudC1kdXJpbmctbW9kYWwtZGlhbG9nLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZmFzdC9ldmVudHMvc2Nyb2xsLWV2ZW50LWR1cmluZy1tb2RhbC1kaWFsb2cu
aHRtbDogQWRkZWQuCisKIDIwMTEtMDEtMjggIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5v
cmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCBDaHJvbWl1bSByZWJhc2VsaW5lcy4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3Njcm9sbC1ldmVudC1kdXJpbmctbW9kYWwtZGlh
bG9nLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3Njcm9sbC1ldmVudC1k
dXJpbmctbW9kYWwtZGlhbG9nLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iNTUxNGI4OGNmYWE1
YTUzNGM4ZWQzYzJlYmMxOWQ3ZjgxOTBlNmRhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9ldmVudHMvc2Nyb2xsLWV2ZW50LWR1cmluZy1tb2RhbC1kaWFsb2ctZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Rlc3RzIHRoYXQgc2Nyb2xsIGV2ZW50cyBhcmUgbm90IGZp
cmVkIHdoaWxlIG1vZGFsIGRpYWxvZ3MgYXJlIGRpc3BsYXllZC4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCisKK1Njcm9sbGluZyB3aW5kb3cKK1Nob3dpbmcgbW9kYWwgZGlhbG9nCitS
ZXR1cm5lZCBmcm9tIG1vZGFsIGRpYWxvZworU2Nyb2xsIGhhbmRsZXIgZmlyZWQKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9zY3JvbGwtZXZlbnQtZHVyaW5nLW1vZGFsLWRpYWxvZy5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvc2Nyb2xsLWV2ZW50LWR1cmluZy1tb2RhbC1k
aWFsb2cuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNDZkZmI2NDA3MjhjNTlkMmViZTg4OGZlZTg1NGE2YTc5
YmRhYWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvc2Nyb2xs
LWV2ZW50LWR1cmluZy1tb2RhbC1kaWFsb2cuaHRtbApAQCAtMCwwICsxLDM0IEBACis8aHRtbD4K
KzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5
bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPGJvZHkgc3R5bGU9Im1pbi1oZWlnaHQ6IDIwMDBweCI+IAorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKworPHNjcmlwdCB0eXBlPSJ0
ZXh0L2phdmFzY3JpcHQiPgorZGVzY3JpcHRpb24oJ1Rlc3RzIHRoYXQgc2Nyb2xsIGV2ZW50cyBh
cmUgbm90IGZpcmVkIHdoaWxlIG1vZGFsIGRpYWxvZ3MgYXJlIGRpc3BsYXllZC4nKTsKKwordmFy
IHRyaWdnZXJlZENhcHR1cmVMaXN0ZW5lciA9IGZhbHNlOwordmFyIHRyaWdnZXJlZEJ1YmJsZUxp
c3RlbmVyID0gZmFsc2U7CisKK29uc2Nyb2xsID0gZnVuY3Rpb24oKQoreworICAgIGRlYnVnKCdT
Y3JvbGwgaGFuZGxlciBmaXJlZCcpOworICAgIGZpbmlzaEpTVGVzdCgpOworfQorCitvbmxvYWQg
PSBmdW5jdGlvbigpCit7CisgICAgZGVidWcoJ1Njcm9sbGluZyB3aW5kb3cnKTsKKyAgICB3aW5k
b3cuc2Nyb2xsVG8oMjAwLCAyMDApOworICAgIGRlYnVnKCdTaG93aW5nIG1vZGFsIGRpYWxvZycp
OworICAgIHNob3dNb2RhbERpYWxvZygncmVzb3VyY2VzL3Njcm9sbC1ldmVudC1tb2RhbC1kaWFs
b2cuaHRtbCcpOworICAgIGRlYnVnKCdSZXR1cm5lZCBmcm9tIG1vZGFsIGRpYWxvZycpOworfQor
Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKK3ZhciBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDZhNjAxNTA1MjZk
MWZkNWJiODMyODU3MjUyNmQ3N2I1NjA4N2E3ZDUuLjZkNTViNmRjZmNhMGRiYzU1ZWUwN2FmYzgy
OGQxNTRkNmRlZGQ5N2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOCBAQAorMjAxMS0wMS0yNiAg
TWloYWkgUGFycGFyaXRhICA8bWloYWlwQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdl
ZCBieSBKYW1lcyBSb2JpbnNvbi4KKworICAgICAgICBBc3luYyBldmVudCBoYW5kbGVycyBzaG91
bGQgbm90IGZpcmUgd2l0aGluIGEgbW9kYWwgZGlhbG9nCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MzIwMgorCisgICAgICAgIEFzeWNocm9ub3VzIGV2
ZW50cyB0aGF0IHVzZSBFdmVudFF1ZXVlIHdvdWxkIGN1cnJlbnRseSBmaXJlIHdoaWxlIGEKKyAg
ICAgICAgbW9kYWwgZGlhbG9nIChlLmcuIHdpbmRvdy5hbGVydCgpKSB3YXMgdXAuIENoYW5nZSBF
dmVudFF1ZXVlIHRvIHVzZSBhCisgICAgICAgIFN1c3BlbmRhYmxlVGltZXIgKHdoaWNoIGF1dG9t
YXRpY2FsbHkgZ2V0cyBzdXNwZW5kZWQgd2hpbGUgZGlhbG9ncyBhcmUKKyAgICAgICAgdXAgYW5k
IGluIG90aGVyIGNhc2VzIHdoZXJlIEpTIGV4ZWN1dGlvbiBpcyBub3QgYWxsb3dlZCkuCisgICAg
ICAgIAorICAgICAgICBUZXN0OiBmYXN0L2V2ZW50cy9zY3JvbGwtZXZlbnQtZHVyaW5nLW1vZGFs
LWRpYWxvZy5odG1sCisKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6RG9jdW1lbnQ6OkRvY3VtZW50KToKKyAgICAgICAgKiBkb20vRXZlbnRRdWV1ZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpFdmVudFF1ZXVlVGltZXI6OkV2ZW50UXVldWVUaW1lcik6Cisg
ICAgICAgIChXZWJDb3JlOjpFdmVudFF1ZXVlVGltZXI6OmZpcmVkKToKKyAgICAgICAgKFdlYkNv
cmU6OkV2ZW50UXVldWU6OkV2ZW50UXVldWUpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRRdWV1
ZTo6ZW5xdWV1ZUV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50UXVldWU6OnBlbmRpbmdF
dmVudFRpbWVyRmlyZWQpOgorICAgICAgICAqIGRvbS9FdmVudFF1ZXVlLmg6CisgICAgICAgIChX
ZWJDb3JlOjpFdmVudFF1ZXVlOjpjcmVhdGUpOgorCiAyMDExLTAxLTI4ICBNaWNoYWVsIFNhYm9m
ZiAgPG1zYWJvZmZAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEdlb2ZmcmV5IEdh
cmVuLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggNmFkZWYyNjkzMGNmZTg3OTdiYTRiY2Zh
ODEyOTQ4NGE2OWEyODRkZS4uNmVmMDRiZWNiMGMzZjBiMDBhN2JhOTQ0OTM3YmI0NTZiODdiNjZi
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC00MTMsNyArNDEzLDcgQEAgRG9jdW1lbnQ6
OkRvY3VtZW50KEZyYW1lKiBmcmFtZSwgY29uc3QgS1VSTCYgdXJsLCBib29sIGlzWEhUTUwsIGJv
b2wgaXNIVE1MLCBjb24KICAgICAsIG1fbm9ybWFsV29ybGRXcmFwcGVyQ2FjaGUoMCkKICNlbmRp
ZgogICAgICwgbV91c2luZ0dlb2xvY2F0aW9uKGZhbHNlKQotICAgICwgbV9ldmVudFF1ZXVlKGFk
b3B0UHRyKG5ldyBFdmVudFF1ZXVlKSkKKyAgICAsIG1fZXZlbnRRdWV1ZShFdmVudFF1ZXVlOjpj
cmVhdGUodGhpcykpCiAjaWYgRU5BQkxFKFdNTCkKICAgICAsIG1fY29udGFpbnNXTUxDb250ZW50
KGZhbHNlKQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRRdWV1
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRRdWV1ZS5jcHAKaW5kZXggYTQzOTI5ZTc1
ZTkzNDExNzk5MTRhNjVhOGQ2NDgwZDdiNzRmMzNmMS4uYTNkYWFlNjRjOTMwN2ZjNDc5MTMxMDMy
ZDBjZmZlMzk1ZjQ4NTMwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50UXVl
dWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFF1ZXVlLmNwcApAQCAtMjgsMTQg
KzI4LDMxIEBACiAjaW5jbHVkZSAiRXZlbnRRdWV1ZS5oIgogCiAjaW5jbHVkZSAiRE9NV2luZG93
LmgiCi0jaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJFdmVudC5oIgogI2luY2x1ZGUg
IkV2ZW50TmFtZXMuaCIKKyNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCisjaW5j
bHVkZSAiU3VzcGVuZGFibGVUaW1lci5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLUV2ZW50
UXVldWU6OkV2ZW50UXVldWUoKQotICAgIDogbV9wZW5kaW5nRXZlbnRUaW1lcih0aGlzLCAmRXZl
bnRRdWV1ZTo6cGVuZGluZ0V2ZW50VGltZXJGaXJlZCkKK2NsYXNzIEV2ZW50UXVldWVUaW1lciA6
IHB1YmxpYyBTdXNwZW5kYWJsZVRpbWVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShFdmVu
dFF1ZXVlVGltZXIpOworcHVibGljOgorICAgIEV2ZW50UXVldWVUaW1lcihFdmVudFF1ZXVlKiBl
dmVudFF1ZXVlLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0KQorICAgICAgICA6IFN1
c3BlbmRhYmxlVGltZXIoY29udGV4dCkKKyAgICAgICAgLCBtX2V2ZW50UXVldWUoZXZlbnRRdWV1
ZSkgeyB9CisKK3ByaXZhdGU6CisgICAgdmlydHVhbCB2b2lkIGZpcmVkKCkgeyBtX2V2ZW50UXVl
dWUtPnBlbmRpbmdFdmVudFRpbWVyRmlyZWQoKTsgfQorICAgIEV2ZW50UXVldWUqIG1fZXZlbnRR
dWV1ZTsgICAgCit9OworCitFdmVudFF1ZXVlOjpFdmVudFF1ZXVlKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQqIGNvbnRleHQpCisgICAgOiBtX3BlbmRpbmdFdmVudFRpbWVyKGFkb3B0UHRyKG5ldyBF
dmVudFF1ZXVlVGltZXIodGhpcywgY29udGV4dCkpKQoreworfQorCitFdmVudFF1ZXVlOjp+RXZl
bnRRdWV1ZSgpCiB7CiB9CiAKQEAgLTQ0LDggKzYxLDggQEAgdm9pZCBFdmVudFF1ZXVlOjplbnF1
ZXVlRXZlbnQoUGFzc1JlZlB0cjxFdmVudD4gZXZlbnQpCiAgICAgQVNTRVJUKGV2ZW50LT50YXJn
ZXQoKS0+dG9Ob2RlKCkgfHwgZXZlbnQtPnRhcmdldCgpLT50b0RPTVdpbmRvdygpKTsKICAgICBt
X3F1ZXVlZEV2ZW50cy5hcHBlbmQoZXZlbnQpOwogICAgIAotICAgIGlmICghbV9wZW5kaW5nRXZl
bnRUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3BlbmRpbmdFdmVudFRpbWVyLnN0YXJ0T25l
U2hvdCgwKTsKKyAgICBpZiAoIW1fcGVuZGluZ0V2ZW50VGltZXItPmlzQWN0aXZlKCkpCisgICAg
ICAgIG1fcGVuZGluZ0V2ZW50VGltZXItPnN0YXJ0T25lU2hvdCgwKTsKIH0KIAogdm9pZCBFdmVu
dFF1ZXVlOjplbnF1ZXVlU2Nyb2xsRXZlbnQoUGFzc1JlZlB0cjxOb2RlPiB0YXJnZXQsIFNjcm9s
bEV2ZW50VGFyZ2V0VHlwZSB0YXJnZXRUeXBlKQpAQCAtNjAsOSArNzcsOSBAQCB2b2lkIEV2ZW50
UXVldWU6OmVucXVldWVTY3JvbGxFdmVudChQYXNzUmVmUHRyPE5vZGU+IHRhcmdldCwgU2Nyb2xs
RXZlbnRUYXJnZXRUeQogICAgIGVucXVldWVFdmVudChzY3JvbGxFdmVudC5yZWxlYXNlKCkpOwog
fQogCi12b2lkIEV2ZW50UXVldWU6OnBlbmRpbmdFdmVudFRpbWVyRmlyZWQoVGltZXI8RXZlbnRR
dWV1ZT4qKQordm9pZCBFdmVudFF1ZXVlOjpwZW5kaW5nRXZlbnRUaW1lckZpcmVkKCkKIHsKLSAg
ICBBU1NFUlQoIW1fcGVuZGluZ0V2ZW50VGltZXIuaXNBY3RpdmUoKSk7CisgICAgQVNTRVJUKCFt
X3BlbmRpbmdFdmVudFRpbWVyLT5pc0FjdGl2ZSgpKTsKIAogICAgIFZlY3RvcjxSZWZQdHI8RXZl
bnQ+ID4gcXVldWVkRXZlbnRzOwogICAgIHF1ZXVlZEV2ZW50cy5zd2FwKG1fcXVldWVkRXZlbnRz
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFF1ZXVlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vRXZlbnRRdWV1ZS5oCmluZGV4IDdmOGQ1ZmIyNTQ2MTE0NmFkNDc5NTQyYmFm
NDVhNzgwY2I5ZDZhZDQuLmE1ODllZDgwZjVkN2FiMTNhNWIwYTMwY2JiNzM3Y2ZjZDZjZGM0ODkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFF1ZXVlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvZG9tL0V2ZW50UXVldWUuaApAQCAtMjcsMzggKzI3LDUxIEBACiAjaWZuZGVmIEV2
ZW50UXVldWVfaAogI2RlZmluZSBFdmVudFF1ZXVlX2gKIAotI2luY2x1ZGUgIlRpbWVyLmgiCiAj
aW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KKyNp
bmNsdWRlIDx3dGYvT3duUHRyLmg+CisjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNs
dWRlIDx3dGYvUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIGNsYXNzIEV2ZW50OworY2xhc3MgRXZlbnRRdWV1ZVRpbWVyOwogY2xhc3Mg
Tm9kZTsKK2NsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiAKIGNsYXNzIEV2ZW50UXVldWUg
ewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEV2ZW50UXVldWUpOwogCisgICAgCiBwdWJsaWM6
CiAgICAgZW51bSBTY3JvbGxFdmVudFRhcmdldFR5cGUgewogICAgICAgICBTY3JvbGxFdmVudERv
Y3VtZW50VGFyZ2V0LAogICAgICAgICBTY3JvbGxFdmVudEVsZW1lbnRUYXJnZXQKICAgICB9Owog
Ci0gICAgRXZlbnRRdWV1ZSgpOworICAgIHN0YXRpYyBQYXNzT3duUHRyPEV2ZW50UXVldWU+IGNy
ZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0KQorICAgIHsKKyAgICAgICAgcmV0
dXJuIGFkb3B0UHRyKG5ldyBFdmVudFF1ZXVlKGNvbnRleHQpKTsKKyAgICB9CisKKyAgICB+RXZl
bnRRdWV1ZSgpOwogCiAgICAgdm9pZCBlbnF1ZXVlRXZlbnQoUGFzc1JlZlB0cjxFdmVudD4pOwog
ICAgIHZvaWQgZW5xdWV1ZVNjcm9sbEV2ZW50KFBhc3NSZWZQdHI8Tm9kZT4sIFNjcm9sbEV2ZW50
VGFyZ2V0VHlwZSk7CiAKIHByaXZhdGU6Ci0gICAgdm9pZCBwZW5kaW5nRXZlbnRUaW1lckZpcmVk
KFRpbWVyPEV2ZW50UXVldWU+Kik7CisgICAgZXhwbGljaXQgRXZlbnRRdWV1ZShTY3JpcHRFeGVj
dXRpb25Db250ZXh0Kik7CisKKyAgICB2b2lkIHBlbmRpbmdFdmVudFRpbWVyRmlyZWQoKTsKICAg
ICB2b2lkIGRpc3BhdGNoRXZlbnQoUGFzc1JlZlB0cjxFdmVudD4pOwogCi0gICAgVGltZXI8RXZl
bnRRdWV1ZT4gbV9wZW5kaW5nRXZlbnRUaW1lcjsKKyAgICBPd25QdHI8RXZlbnRRdWV1ZVRpbWVy
PiBtX3BlbmRpbmdFdmVudFRpbWVyOwogICAgIFZlY3RvcjxSZWZQdHI8RXZlbnQ+ID4gbV9xdWV1
ZWRFdmVudHM7CiAgICAgSGFzaFNldDxOb2RlKj4gbV9ub2Rlc1dpdGhRdWV1ZWRTY3JvbGxFdmVu
dHM7CisgICAgCisgICAgZnJpZW5kIGNsYXNzIEV2ZW50UXVldWVUaW1lcjsgICAgCiB9OwogCiB9
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>80846</attachid>
            <date>2011-02-01 16:04:21 -0800</date>
            <delta_ts>2011-02-01 16:13:19 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-53202-20110201160420.patch</filename>
            <type>text/plain</type>
            <size>10129</size>
            <attacher name="Mihai Parparita">mihaip</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBjM2FjZTAwYzQ4OThjNWRmNmUxMDhkZDg2NDVjMzFmNzA2YmY1MTQ1Li43ZGM3NGIw
Yjc2ZGI2NjdhOTM0NjllYTZkNDZmZjFhZTlmZjMyNGEyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAK
KzIwMTEtMDItMDEgIE1paGFpIFBhcnBhcml0YSAgPG1paGFpcEBjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQXN5bmMgZXZlbnQg
aGFuZGxlcnMgc2hvdWxkIG5vdCBmaXJlIHdpdGhpbiBhIG1vZGFsIGRpYWxvZworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTMyMDIKKyAgICAgICAgCisg
ICAgICAgIEFkZCB0ZXN0cyBmb3IgYSBzY3JvbGwgZXZlbnQgdHJpZ2dlcmVkIHJpZ2h0IGJlZm9y
ZSBhIG1vZGFsIGRpYWxvZyBpcworICAgICAgICBzaG93bi4KKworICAgICAgICAqIGZhc3QvZXZl
bnRzL3Njcm9sbC1ldmVudC1kdXJpbmctbW9kYWwtZGlhbG9nLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZmFzdC9ldmVudHMvc2Nyb2xsLWV2ZW50LWR1cmluZy1tb2RhbC1kaWFsb2cu
aHRtbDogQWRkZWQuCisKIDIwMTEtMDItMDEgIFhpYW9tZWkgSmkgIDx4amlAY2hyb21pdW0ub3Jn
PgogCiAgICAgICAgIFVucmV2aWV3ZWQuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2
ZW50cy9zY3JvbGwtZXZlbnQtZHVyaW5nLW1vZGFsLWRpYWxvZy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9mYXN0L2V2ZW50cy9zY3JvbGwtZXZlbnQtZHVyaW5nLW1vZGFsLWRpYWxvZy1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYjU1MTRiODhjZmFhNWE1MzRjOGVkM2MyZWJjMTlkN2Y4MTkw
ZTZkYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3Njcm9sbC1l
dmVudC1kdXJpbmctbW9kYWwtZGlhbG9nLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
ZXN0cyB0aGF0IHNjcm9sbCBldmVudHMgYXJlIG5vdCBmaXJlZCB3aGlsZSBtb2RhbCBkaWFsb2dz
IGFyZSBkaXNwbGF5ZWQuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitTY3JvbGxp
bmcgd2luZG93CitTaG93aW5nIG1vZGFsIGRpYWxvZworUmV0dXJuZWQgZnJvbSBtb2RhbCBkaWFs
b2cKK1Njcm9sbCBoYW5kbGVyIGZpcmVkCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMv
c2Nyb2xsLWV2ZW50LWR1cmluZy1tb2RhbC1kaWFsb2cuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
ZXZlbnRzL3Njcm9sbC1ldmVudC1kdXJpbmctbW9kYWwtZGlhbG9nLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MzQ2ZGZiNjQwNzI4YzU5ZDJlYmU4ODhmZWU4NTRhNmE3OWJkYWFlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3Njcm9sbC1ldmVudC1kdXJpbmctbW9kYWwtZGlh
bG9nLmh0bWwKQEAgLTAsMCArMSwzNCBAQAorPGh0bWw+Cis8bGluayByZWw9InN0eWxlc2hlZXQi
IGhyZWY9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0i
Li4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxib2R5IHN0eWxlPSJt
aW4taGVpZ2h0OiAyMDAwcHgiPiAKKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+CisKKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KK2Rlc2Ny
aXB0aW9uKCdUZXN0cyB0aGF0IHNjcm9sbCBldmVudHMgYXJlIG5vdCBmaXJlZCB3aGlsZSBtb2Rh
bCBkaWFsb2dzIGFyZSBkaXNwbGF5ZWQuJyk7CisKK3ZhciB0cmlnZ2VyZWRDYXB0dXJlTGlzdGVu
ZXIgPSBmYWxzZTsKK3ZhciB0cmlnZ2VyZWRCdWJibGVMaXN0ZW5lciA9IGZhbHNlOworCitvbnNj
cm9sbCA9IGZ1bmN0aW9uKCkKK3sKKyAgICBkZWJ1ZygnU2Nyb2xsIGhhbmRsZXIgZmlyZWQnKTsK
KyAgICBmaW5pc2hKU1Rlc3QoKTsKK30KKworb25sb2FkID0gZnVuY3Rpb24oKQoreworICAgIGRl
YnVnKCdTY3JvbGxpbmcgd2luZG93Jyk7CisgICAgd2luZG93LnNjcm9sbFRvKDIwMCwgMjAwKTsK
KyAgICBkZWJ1ZygnU2hvd2luZyBtb2RhbCBkaWFsb2cnKTsKKyAgICBzaG93TW9kYWxEaWFsb2co
J3Jlc291cmNlcy9zY3JvbGwtZXZlbnQtbW9kYWwtZGlhbG9nLmh0bWwnKTsKKyAgICBkZWJ1Zygn
UmV0dXJuZWQgZnJvbSBtb2RhbCBkaWFsb2cnKTsKK30KKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNl
ZCA9IHRydWU7Cit2YXIganNUZXN0SXNBc3luYyA9IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwppbmRleCA4NGMwZGM2NzE2YWQ0N2NlMzEzZTFmYzg5YWMzNzNlMzM5
NjI0NTQ3Li5jZDRkM2I4NTJiYzZlNmM2MTBlYTMzZjhiZjg5YWZmZmExMTZmMzA0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMzMgQEAKKzIwMTEtMDItMDEgIE1paGFpIFBhcnBhcml0YSAgPG1paGFp
cEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQXN5bmMgZXZlbnQgaGFuZGxlcnMgc2hvdWxkIG5vdCBmaXJlIHdpdGhpbiBhIG1v
ZGFsIGRpYWxvZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NTMyMDIKKworICAgICAgICBBc3ljaHJvbm91cyBldmVudHMgdGhhdCB1c2UgRXZlbnRRdWV1
ZSB3b3VsZCBjdXJyZW50bHkgZmlyZSB3aGlsZSBhCisgICAgICAgIG1vZGFsIGRpYWxvZyAoZS5n
LiB3aW5kb3cuYWxlcnQoKSkgd2FzIHVwLiBDaGFuZ2UgRXZlbnRRdWV1ZSB0byB1c2UgYQorICAg
ICAgICBTdXNwZW5kYWJsZVRpbWVyICh3aGljaCBhdXRvbWF0aWNhbGx5IGdldHMgc3VzcGVuZGVk
IHdoaWxlIGRpYWxvZ3MgYXJlCisgICAgICAgIHVwIGFuZCBpbiBvdGhlciBjYXNlcyB3aGVyZSBK
UyBleGVjdXRpb24gaXMgbm90IGFsbG93ZWQpLgorICAgICAgICAKKyAgICAgICAgVGVzdDogZmFz
dC9ldmVudHMvc2Nyb2xsLWV2ZW50LWR1cmluZy1tb2RhbC1kaWFsb2cuaHRtbAorCisgICAgICAg
ICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpEb2N1bWVu
dCk6CisgICAgICAgICogZG9tL0V2ZW50UXVldWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZl
bnRRdWV1ZVRpbWVyOjpFdmVudFF1ZXVlVGltZXIpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRR
dWV1ZVRpbWVyOjpmaXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudFF1ZXVlOjpFdmVudFF1
ZXVlKToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50UXVldWU6OmVucXVldWVFdmVudCk6CisgICAg
ICAgIChXZWJDb3JlOjpFdmVudFF1ZXVlOjpwZW5kaW5nRXZlbnRUaW1lckZpcmVkKToKKyAgICAg
ICAgKiBkb20vRXZlbnRRdWV1ZS5oOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRRdWV1ZTo6Y3Jl
YXRlKToKKyAgICAgICAgKiBwYWdlL1N1c3BlbmRhYmxlVGltZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6U3VzcGVuZGFibGVUaW1lcjo6U3VzcGVuZGFibGVUaW1lcik6CisgICAgICAgIChXZWJD
b3JlOjpTdXNwZW5kYWJsZVRpbWVyOjpzdXNwZW5kKToKKyAgICAgICAgKFdlYkNvcmU6OlN1c3Bl
bmRhYmxlVGltZXI6OnJlc3VtZSk6CisgICAgICAgICogcGFnZS9TdXNwZW5kYWJsZVRpbWVyLmg6
CisKIDIwMTEtMDItMDEgIEJldGggRGFraW4gIDxiZGFraW5AYXBwbGUuY29tPgogCiAgICAgICAg
IFJldmlld2VkIGJ5IFNhbSBXZWluaWcuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
RG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCAwZjRm
NGM1ZWUwOWU4MDRmMGZjNTlhZDU5NGM4Y2JkOTllN2FkOTRiLi4yMGNlMzhlYWNmM2NmM2JhZDg1
MDEyZDYzNjQ1ZmQ2ZjczODM4NzAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9j
dW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTQwOCw3
ICs0MDgsNyBAQCBEb2N1bWVudDo6RG9jdW1lbnQoRnJhbWUqIGZyYW1lLCBjb25zdCBLVVJMJiB1
cmwsIGJvb2wgaXNYSFRNTCwgYm9vbCBpc0hUTUwsIGNvbgogICAgICwgbV9ub3JtYWxXb3JsZFdy
YXBwZXJDYWNoZSgwKQogI2VuZGlmCiAgICAgLCBtX3VzaW5nR2VvbG9jYXRpb24oZmFsc2UpCi0g
ICAgLCBtX2V2ZW50UXVldWUoYWRvcHRQdHIobmV3IEV2ZW50UXVldWUpKQorICAgICwgbV9ldmVu
dFF1ZXVlKEV2ZW50UXVldWU6OmNyZWF0ZSh0aGlzKSkKICNpZiBFTkFCTEUoV01MKQogICAgICwg
bV9jb250YWluc1dNTENvbnRlbnQoZmFsc2UpCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FdmVudFF1ZXVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFF1ZXVl
LmNwcAppbmRleCBhNDM5MjllNzVlOTM0MTE3OTkxNGE2NWE4ZDY0ODBkN2I3NGYzM2YxLi5hM2Rh
YWU2NGM5MzA3ZmM0NzkxMzEwMzJkMGNmZmUzOTVmNDg1MzBiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRXZlbnRRdWV1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50
UXVldWUuY3BwCkBAIC0yOCwxNCArMjgsMzEgQEAKICNpbmNsdWRlICJFdmVudFF1ZXVlLmgiCiAK
ICNpbmNsdWRlICJET01XaW5kb3cuaCIKLSNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUg
IkV2ZW50LmgiCiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgorI2luY2x1ZGUgIlNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQuaCIKKyNpbmNsdWRlICJTdXNwZW5kYWJsZVRpbWVyLmgiCiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAotRXZlbnRRdWV1ZTo6RXZlbnRRdWV1ZSgpCi0gICAgOiBtX3BlbmRpbmdF
dmVudFRpbWVyKHRoaXMsICZFdmVudFF1ZXVlOjpwZW5kaW5nRXZlbnRUaW1lckZpcmVkKQorY2xh
c3MgRXZlbnRRdWV1ZVRpbWVyIDogcHVibGljIFN1c3BlbmRhYmxlVGltZXIgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEV2ZW50UXVldWVUaW1lcik7CitwdWJsaWM6CisgICAgRXZlbnRRdWV1
ZVRpbWVyKEV2ZW50UXVldWUqIGV2ZW50UXVldWUsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNv
bnRleHQpCisgICAgICAgIDogU3VzcGVuZGFibGVUaW1lcihjb250ZXh0KQorICAgICAgICAsIG1f
ZXZlbnRRdWV1ZShldmVudFF1ZXVlKSB7IH0KKworcHJpdmF0ZToKKyAgICB2aXJ0dWFsIHZvaWQg
ZmlyZWQoKSB7IG1fZXZlbnRRdWV1ZS0+cGVuZGluZ0V2ZW50VGltZXJGaXJlZCgpOyB9CisgICAg
RXZlbnRRdWV1ZSogbV9ldmVudFF1ZXVlOyAgICAKK307CisKK0V2ZW50UXVldWU6OkV2ZW50UXVl
dWUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkKKyAgICA6IG1fcGVuZGluZ0V2ZW50
VGltZXIoYWRvcHRQdHIobmV3IEV2ZW50UXVldWVUaW1lcih0aGlzLCBjb250ZXh0KSkpCit7Cit9
CisKK0V2ZW50UXVldWU6On5FdmVudFF1ZXVlKCkKIHsKIH0KIApAQCAtNDQsOCArNjEsOCBAQCB2
b2lkIEV2ZW50UXVldWU6OmVucXVldWVFdmVudChQYXNzUmVmUHRyPEV2ZW50PiBldmVudCkKICAg
ICBBU1NFUlQoZXZlbnQtPnRhcmdldCgpLT50b05vZGUoKSB8fCBldmVudC0+dGFyZ2V0KCktPnRv
RE9NV2luZG93KCkpOwogICAgIG1fcXVldWVkRXZlbnRzLmFwcGVuZChldmVudCk7CiAgICAgCi0g
ICAgaWYgKCFtX3BlbmRpbmdFdmVudFRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fcGVuZGlu
Z0V2ZW50VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIGlmICghbV9wZW5kaW5nRXZlbnRUaW1l
ci0+aXNBY3RpdmUoKSkKKyAgICAgICAgbV9wZW5kaW5nRXZlbnRUaW1lci0+c3RhcnRPbmVTaG90
KDApOwogfQogCiB2b2lkIEV2ZW50UXVldWU6OmVucXVldWVTY3JvbGxFdmVudChQYXNzUmVmUHRy
PE5vZGU+IHRhcmdldCwgU2Nyb2xsRXZlbnRUYXJnZXRUeXBlIHRhcmdldFR5cGUpCkBAIC02MCw5
ICs3Nyw5IEBAIHZvaWQgRXZlbnRRdWV1ZTo6ZW5xdWV1ZVNjcm9sbEV2ZW50KFBhc3NSZWZQdHI8
Tm9kZT4gdGFyZ2V0LCBTY3JvbGxFdmVudFRhcmdldFR5CiAgICAgZW5xdWV1ZUV2ZW50KHNjcm9s
bEV2ZW50LnJlbGVhc2UoKSk7CiB9CiAKLXZvaWQgRXZlbnRRdWV1ZTo6cGVuZGluZ0V2ZW50VGlt
ZXJGaXJlZChUaW1lcjxFdmVudFF1ZXVlPiopCit2b2lkIEV2ZW50UXVldWU6OnBlbmRpbmdFdmVu
dFRpbWVyRmlyZWQoKQogewotICAgIEFTU0VSVCghbV9wZW5kaW5nRXZlbnRUaW1lci5pc0FjdGl2
ZSgpKTsKKyAgICBBU1NFUlQoIW1fcGVuZGluZ0V2ZW50VGltZXItPmlzQWN0aXZlKCkpOwogCiAg
ICAgVmVjdG9yPFJlZlB0cjxFdmVudD4gPiBxdWV1ZWRFdmVudHM7CiAgICAgcXVldWVkRXZlbnRz
LnN3YXAobV9xdWV1ZWRFdmVudHMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2
ZW50UXVldWUuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFF1ZXVlLmgKaW5kZXggN2Y4ZDVm
YjI1NDYxMTQ2YWQ0Nzk1NDJiYWY0NWE3ODBjYjlkNmFkNC4uYTU4OWVkODBmNWQ3YWIxM2E1YjBh
MzBjYmI3MzdjZmNkNmNkYzQ4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50
UXVldWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRRdWV1ZS5oCkBAIC0yNywzOCAr
MjcsNTEgQEAKICNpZm5kZWYgRXZlbnRRdWV1ZV9oCiAjZGVmaW5lIEV2ZW50UXVldWVfaAogCi0j
aW5jbHVkZSAiVGltZXIuaCIKICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgogI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgorI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KKyNpbmNsdWRlIDx3dGYv
UGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvVmVj
dG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRXZlbnQ7CitjbGFzcyBFdmVu
dFF1ZXVlVGltZXI7CiBjbGFzcyBOb2RlOworY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsK
IAogY2xhc3MgRXZlbnRRdWV1ZSB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRXZlbnRRdWV1
ZSk7CiAKKyAgICAKIHB1YmxpYzoKICAgICBlbnVtIFNjcm9sbEV2ZW50VGFyZ2V0VHlwZSB7CiAg
ICAgICAgIFNjcm9sbEV2ZW50RG9jdW1lbnRUYXJnZXQsCiAgICAgICAgIFNjcm9sbEV2ZW50RWxl
bWVudFRhcmdldAogICAgIH07CiAKLSAgICBFdmVudFF1ZXVlKCk7CisgICAgc3RhdGljIFBhc3NP
d25QdHI8RXZlbnRRdWV1ZT4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQp
CisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRQdHIobmV3IEV2ZW50UXVldWUoY29udGV4dCkp
OworICAgIH0KKworICAgIH5FdmVudFF1ZXVlKCk7CiAKICAgICB2b2lkIGVucXVldWVFdmVudChQ
YXNzUmVmUHRyPEV2ZW50Pik7CiAgICAgdm9pZCBlbnF1ZXVlU2Nyb2xsRXZlbnQoUGFzc1JlZlB0
cjxOb2RlPiwgU2Nyb2xsRXZlbnRUYXJnZXRUeXBlKTsKIAogcHJpdmF0ZToKLSAgICB2b2lkIHBl
bmRpbmdFdmVudFRpbWVyRmlyZWQoVGltZXI8RXZlbnRRdWV1ZT4qKTsKKyAgICBleHBsaWNpdCBF
dmVudFF1ZXVlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKTsKKworICAgIHZvaWQgcGVuZGluZ0V2
ZW50VGltZXJGaXJlZCgpOwogICAgIHZvaWQgZGlzcGF0Y2hFdmVudChQYXNzUmVmUHRyPEV2ZW50
Pik7CiAKLSAgICBUaW1lcjxFdmVudFF1ZXVlPiBtX3BlbmRpbmdFdmVudFRpbWVyOworICAgIE93
blB0cjxFdmVudFF1ZXVlVGltZXI+IG1fcGVuZGluZ0V2ZW50VGltZXI7CiAgICAgVmVjdG9yPFJl
ZlB0cjxFdmVudD4gPiBtX3F1ZXVlZEV2ZW50czsKICAgICBIYXNoU2V0PE5vZGUqPiBtX25vZGVz
V2l0aFF1ZXVlZFNjcm9sbEV2ZW50czsKKyAgICAKKyAgICBmcmllbmQgY2xhc3MgRXZlbnRRdWV1
ZVRpbWVyOyAgICAKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3Vz
cGVuZGFibGVUaW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1N1c3BlbmRhYmxlVGltZXIu
Y3BwCmluZGV4IDIzZjAwYjA1MDRkN2NmZjljOGYxNGQ0ODQzYWVmMmMwNGJiYTQxM2EuLjJiOTky
YWYzMDMyZWViYzc0MzZkMjUyYjVkMTNmZTliMzMxYjM3MzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvU3VzcGVuZGFibGVUaW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9TdXNwZW5kYWJsZVRpbWVyLmNwcApAQCAtMzMsNiArMzMsNyBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKIFN1c3BlbmRhYmxlVGltZXI6OlN1c3BlbmRhYmxlVGltZXIoU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCogY29udGV4dCkKICAgICA6IEFjdGl2ZURPTU9iamVjdChjb250ZXh0LCB0aGlzKQor
ICAgICwgbV9hY3RpdmUoZmFsc2UpCiAgICAgLCBtX25leHRGaXJlSW50ZXJ2YWwoMCkKICAgICAs
IG1fcmVwZWF0SW50ZXJ2YWwoMCkKICNpZiAhQVNTRVJUX0RJU0FCTEVECkBAIC02MSw5ICs2Miwx
MiBAQCB2b2lkIFN1c3BlbmRhYmxlVGltZXI6OnN1c3BlbmQoUmVhc29uRm9yU3VzcGVuc2lvbikK
ICAgICBBU1NFUlQoIW1fc3VzcGVuZGVkKTsKICAgICBtX3N1c3BlbmRlZCA9IHRydWU7CiAjZW5k
aWYKLSAgICBtX25leHRGaXJlSW50ZXJ2YWwgPSBuZXh0RmlyZUludGVydmFsKCk7Ci0gICAgbV9y
ZXBlYXRJbnRlcnZhbCA9IHJlcGVhdEludGVydmFsKCk7Ci0gICAgVGltZXJCYXNlOjpzdG9wKCk7
CisgICAgbV9hY3RpdmUgPSBpc0FjdGl2ZSgpOworICAgIGlmIChtX2FjdGl2ZSkgeworICAgICAg
ICBtX25leHRGaXJlSW50ZXJ2YWwgPSBuZXh0RmlyZUludGVydmFsKCk7CisgICAgICAgIG1fcmVw
ZWF0SW50ZXJ2YWwgPSByZXBlYXRJbnRlcnZhbCgpOworICAgICAgICBUaW1lckJhc2U6OnN0b3Ao
KTsKKyAgICB9CiB9CiAKIHZvaWQgU3VzcGVuZGFibGVUaW1lcjo6cmVzdW1lKCkKQEAgLTcyLDcg
Kzc2LDggQEAgdm9pZCBTdXNwZW5kYWJsZVRpbWVyOjpyZXN1bWUoKQogICAgIEFTU0VSVChtX3N1
c3BlbmRlZCk7CiAgICAgbV9zdXNwZW5kZWQgPSBmYWxzZTsKICNlbmRpZgotICAgIHN0YXJ0KG1f
bmV4dEZpcmVJbnRlcnZhbCwgbV9yZXBlYXRJbnRlcnZhbCk7CisgICAgaWYgKG1fYWN0aXZlKQor
ICAgICAgICBzdGFydChtX25leHRGaXJlSW50ZXJ2YWwsIG1fcmVwZWF0SW50ZXJ2YWwpOwogfQog
CiBib29sIFN1c3BlbmRhYmxlVGltZXI6OmNhblN1c3BlbmQoKSBjb25zdApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9TdXNwZW5kYWJsZVRpbWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1N1c3BlbmRhYmxlVGltZXIuaAppbmRleCBjYzkwYjYyNmNjOTRlZjBmM2JhNzIyYWRlMGU5
MDNlZTM4MjNiNTMyLi5kMjc2Y2UyZjgwMWMwYjIwNGQ2ZjMwNGUzZWFjZDgzOGYzYjMxNjA2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1N1c3BlbmRhYmxlVGltZXIuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL1N1c3BlbmRhYmxlVGltZXIuaApAQCAtNDcsNiArNDcsNyBAQCBw
dWJsaWM6CiBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBmaXJlZCgpID0gMDsKIAorICAgIGJv
b2wgbV9hY3RpdmU7CiAgICAgZG91YmxlIG1fbmV4dEZpcmVJbnRlcnZhbDsKICAgICBkb3VibGUg
bV9yZXBlYXRJbnRlcnZhbDsKICNpZiAhQVNTRVJUX0RJU0FCTEVECg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>80848</attachid>
            <date>2011-02-01 16:13:23 -0800</date>
            <delta_ts>2011-02-01 18:39:43 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-53202-20110201161322.patch</filename>
            <type>text/plain</type>
            <size>10379</size>
            <attacher name="Mihai Parparita">mihaip</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBjM2FjZTAwYzQ4OThjNWRmNmUxMDhkZDg2NDVjMzFmNzA2YmY1MTQ1Li45NjgzNDMx
OWI2NTc2NTEwOGFhNTdjYzg2ODM2OTE0MGEyMjI0NWVlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAK
KzIwMTEtMDItMDEgIE1paGFpIFBhcnBhcml0YSAgPG1paGFpcEBjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgSmFtZXMgUm9iaW5zb24uCisKKyAgICAgICAgQXN5bmMgZXZlbnQg
aGFuZGxlcnMgc2hvdWxkIG5vdCBmaXJlIHdpdGhpbiBhIG1vZGFsIGRpYWxvZworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTMyMDIKKyAgICAgICAgCisg
ICAgICAgIEFkZCB0ZXN0cyBmb3IgYSBzY3JvbGwgZXZlbnQgdHJpZ2dlcmVkIHJpZ2h0IGJlZm9y
ZSBhIG1vZGFsIGRpYWxvZyBpcworICAgICAgICBzaG93bi4KKworICAgICAgICAqIGZhc3QvZXZl
bnRzL3Njcm9sbC1ldmVudC1kdXJpbmctbW9kYWwtZGlhbG9nLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZmFzdC9ldmVudHMvc2Nyb2xsLWV2ZW50LWR1cmluZy1tb2RhbC1kaWFsb2cu
aHRtbDogQWRkZWQuCisKIDIwMTEtMDItMDEgIFhpYW9tZWkgSmkgIDx4amlAY2hyb21pdW0ub3Jn
PgogCiAgICAgICAgIFVucmV2aWV3ZWQuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2
ZW50cy9zY3JvbGwtZXZlbnQtZHVyaW5nLW1vZGFsLWRpYWxvZy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9mYXN0L2V2ZW50cy9zY3JvbGwtZXZlbnQtZHVyaW5nLW1vZGFsLWRpYWxvZy1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYjU1MTRiODhjZmFhNWE1MzRjOGVkM2MyZWJjMTlkN2Y4MTkw
ZTZkYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3Njcm9sbC1l
dmVudC1kdXJpbmctbW9kYWwtZGlhbG9nLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
ZXN0cyB0aGF0IHNjcm9sbCBldmVudHMgYXJlIG5vdCBmaXJlZCB3aGlsZSBtb2RhbCBkaWFsb2dz
IGFyZSBkaXNwbGF5ZWQuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitTY3JvbGxp
bmcgd2luZG93CitTaG93aW5nIG1vZGFsIGRpYWxvZworUmV0dXJuZWQgZnJvbSBtb2RhbCBkaWFs
b2cKK1Njcm9sbCBoYW5kbGVyIGZpcmVkCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMv
c2Nyb2xsLWV2ZW50LWR1cmluZy1tb2RhbC1kaWFsb2cuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
ZXZlbnRzL3Njcm9sbC1ldmVudC1kdXJpbmctbW9kYWwtZGlhbG9nLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MzQ2ZGZiNjQwNzI4YzU5ZDJlYmU4ODhmZWU4NTRhNmE3OWJkYWFlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3Njcm9sbC1ldmVudC1kdXJpbmctbW9kYWwtZGlh
bG9nLmh0bWwKQEAgLTAsMCArMSwzNCBAQAorPGh0bWw+Cis8bGluayByZWw9InN0eWxlc2hlZXQi
IGhyZWY9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0i
Li4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxib2R5IHN0eWxlPSJt
aW4taGVpZ2h0OiAyMDAwcHgiPiAKKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+CisKKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KK2Rlc2Ny
aXB0aW9uKCdUZXN0cyB0aGF0IHNjcm9sbCBldmVudHMgYXJlIG5vdCBmaXJlZCB3aGlsZSBtb2Rh
bCBkaWFsb2dzIGFyZSBkaXNwbGF5ZWQuJyk7CisKK3ZhciB0cmlnZ2VyZWRDYXB0dXJlTGlzdGVu
ZXIgPSBmYWxzZTsKK3ZhciB0cmlnZ2VyZWRCdWJibGVMaXN0ZW5lciA9IGZhbHNlOworCitvbnNj
cm9sbCA9IGZ1bmN0aW9uKCkKK3sKKyAgICBkZWJ1ZygnU2Nyb2xsIGhhbmRsZXIgZmlyZWQnKTsK
KyAgICBmaW5pc2hKU1Rlc3QoKTsKK30KKworb25sb2FkID0gZnVuY3Rpb24oKQoreworICAgIGRl
YnVnKCdTY3JvbGxpbmcgd2luZG93Jyk7CisgICAgd2luZG93LnNjcm9sbFRvKDIwMCwgMjAwKTsK
KyAgICBkZWJ1ZygnU2hvd2luZyBtb2RhbCBkaWFsb2cnKTsKKyAgICBzaG93TW9kYWxEaWFsb2co
J3Jlc291cmNlcy9zY3JvbGwtZXZlbnQtbW9kYWwtZGlhbG9nLmh0bWwnKTsKKyAgICBkZWJ1Zygn
UmV0dXJuZWQgZnJvbSBtb2RhbCBkaWFsb2cnKTsKK30KKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNl
ZCA9IHRydWU7Cit2YXIganNUZXN0SXNBc3luYyA9IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwppbmRleCA4NGMwZGM2NzE2YWQ0N2NlMzEzZTFmYzg5YWMzNzNlMzM5
NjI0NTQ3Li40NzlmYmY3MzBlZTg3MDg3YTU2MWY3OTAwMGEzMDJjMWE1ODI2YjBlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMzMgQEAKKzIwMTEtMDItMDEgIE1paGFpIFBhcnBhcml0YSAgPG1paGFp
cEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgSmFtZXMgUm9iaW5zb24uCisK
KyAgICAgICAgQXN5bmMgZXZlbnQgaGFuZGxlcnMgc2hvdWxkIG5vdCBmaXJlIHdpdGhpbiBhIG1v
ZGFsIGRpYWxvZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NTMyMDIKKworICAgICAgICBBc3ljaHJvbm91cyBldmVudHMgdGhhdCB1c2UgRXZlbnRRdWV1
ZSB3b3VsZCBjdXJyZW50bHkgZmlyZSB3aGlsZSBhCisgICAgICAgIG1vZGFsIGRpYWxvZyAoZS5n
LiB3aW5kb3cuYWxlcnQoKSkgd2FzIHVwLiBDaGFuZ2UgRXZlbnRRdWV1ZSB0byB1c2UgYQorICAg
ICAgICBTdXNwZW5kYWJsZVRpbWVyICh3aGljaCBhdXRvbWF0aWNhbGx5IGdldHMgc3VzcGVuZGVk
IHdoaWxlIGRpYWxvZ3MgYXJlCisgICAgICAgIHVwIGFuZCBpbiBvdGhlciBjYXNlcyB3aGVyZSBK
UyBleGVjdXRpb24gaXMgbm90IGFsbG93ZWQpLgorICAgICAgICAKKyAgICAgICAgVGVzdDogZmFz
dC9ldmVudHMvc2Nyb2xsLWV2ZW50LWR1cmluZy1tb2RhbC1kaWFsb2cuaHRtbAorCisgICAgICAg
ICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpEb2N1bWVu
dCk6CisgICAgICAgICogZG9tL0V2ZW50UXVldWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZl
bnRRdWV1ZVRpbWVyOjpFdmVudFF1ZXVlVGltZXIpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRR
dWV1ZVRpbWVyOjpmaXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudFF1ZXVlOjpFdmVudFF1
ZXVlKToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50UXVldWU6OmVucXVldWVFdmVudCk6CisgICAg
ICAgIChXZWJDb3JlOjpFdmVudFF1ZXVlOjpwZW5kaW5nRXZlbnRUaW1lckZpcmVkKToKKyAgICAg
ICAgKiBkb20vRXZlbnRRdWV1ZS5oOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRRdWV1ZTo6Y3Jl
YXRlKToKKyAgICAgICAgKiBwYWdlL1N1c3BlbmRhYmxlVGltZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6U3VzcGVuZGFibGVUaW1lcjo6U3VzcGVuZGFibGVUaW1lcik6CisgICAgICAgIChXZWJD
b3JlOjpTdXNwZW5kYWJsZVRpbWVyOjpzdXNwZW5kKToKKyAgICAgICAgKFdlYkNvcmU6OlN1c3Bl
bmRhYmxlVGltZXI6OnJlc3VtZSk6CisgICAgICAgICogcGFnZS9TdXNwZW5kYWJsZVRpbWVyLmg6
CisKIDIwMTEtMDItMDEgIEJldGggRGFraW4gIDxiZGFraW5AYXBwbGUuY29tPgogCiAgICAgICAg
IFJldmlld2VkIGJ5IFNhbSBXZWluaWcuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
RG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCAwZjRm
NGM1ZWUwOWU4MDRmMGZjNTlhZDU5NGM4Y2JkOTllN2FkOTRiLi4yMGNlMzhlYWNmM2NmM2JhZDg1
MDEyZDYzNjQ1ZmQ2ZjczODM4NzAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9j
dW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTQwOCw3
ICs0MDgsNyBAQCBEb2N1bWVudDo6RG9jdW1lbnQoRnJhbWUqIGZyYW1lLCBjb25zdCBLVVJMJiB1
cmwsIGJvb2wgaXNYSFRNTCwgYm9vbCBpc0hUTUwsIGNvbgogICAgICwgbV9ub3JtYWxXb3JsZFdy
YXBwZXJDYWNoZSgwKQogI2VuZGlmCiAgICAgLCBtX3VzaW5nR2VvbG9jYXRpb24oZmFsc2UpCi0g
ICAgLCBtX2V2ZW50UXVldWUoYWRvcHRQdHIobmV3IEV2ZW50UXVldWUpKQorICAgICwgbV9ldmVu
dFF1ZXVlKEV2ZW50UXVldWU6OmNyZWF0ZSh0aGlzKSkKICNpZiBFTkFCTEUoV01MKQogICAgICwg
bV9jb250YWluc1dNTENvbnRlbnQoZmFsc2UpCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FdmVudFF1ZXVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFF1ZXVl
LmNwcAppbmRleCBhNDM5MjllNzVlOTM0MTE3OTkxNGE2NWE4ZDY0ODBkN2I3NGYzM2YxLi5hM2Rh
YWU2NGM5MzA3ZmM0NzkxMzEwMzJkMGNmZmUzOTVmNDg1MzBiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRXZlbnRRdWV1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50
UXVldWUuY3BwCkBAIC0yOCwxNCArMjgsMzEgQEAKICNpbmNsdWRlICJFdmVudFF1ZXVlLmgiCiAK
ICNpbmNsdWRlICJET01XaW5kb3cuaCIKLSNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUg
IkV2ZW50LmgiCiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgorI2luY2x1ZGUgIlNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQuaCIKKyNpbmNsdWRlICJTdXNwZW5kYWJsZVRpbWVyLmgiCiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAotRXZlbnRRdWV1ZTo6RXZlbnRRdWV1ZSgpCi0gICAgOiBtX3BlbmRpbmdF
dmVudFRpbWVyKHRoaXMsICZFdmVudFF1ZXVlOjpwZW5kaW5nRXZlbnRUaW1lckZpcmVkKQorY2xh
c3MgRXZlbnRRdWV1ZVRpbWVyIDogcHVibGljIFN1c3BlbmRhYmxlVGltZXIgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEV2ZW50UXVldWVUaW1lcik7CitwdWJsaWM6CisgICAgRXZlbnRRdWV1
ZVRpbWVyKEV2ZW50UXVldWUqIGV2ZW50UXVldWUsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNv
bnRleHQpCisgICAgICAgIDogU3VzcGVuZGFibGVUaW1lcihjb250ZXh0KQorICAgICAgICAsIG1f
ZXZlbnRRdWV1ZShldmVudFF1ZXVlKSB7IH0KKworcHJpdmF0ZToKKyAgICB2aXJ0dWFsIHZvaWQg
ZmlyZWQoKSB7IG1fZXZlbnRRdWV1ZS0+cGVuZGluZ0V2ZW50VGltZXJGaXJlZCgpOyB9CisgICAg
RXZlbnRRdWV1ZSogbV9ldmVudFF1ZXVlOyAgICAKK307CisKK0V2ZW50UXVldWU6OkV2ZW50UXVl
dWUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkKKyAgICA6IG1fcGVuZGluZ0V2ZW50
VGltZXIoYWRvcHRQdHIobmV3IEV2ZW50UXVldWVUaW1lcih0aGlzLCBjb250ZXh0KSkpCit7Cit9
CisKK0V2ZW50UXVldWU6On5FdmVudFF1ZXVlKCkKIHsKIH0KIApAQCAtNDQsOCArNjEsOCBAQCB2
b2lkIEV2ZW50UXVldWU6OmVucXVldWVFdmVudChQYXNzUmVmUHRyPEV2ZW50PiBldmVudCkKICAg
ICBBU1NFUlQoZXZlbnQtPnRhcmdldCgpLT50b05vZGUoKSB8fCBldmVudC0+dGFyZ2V0KCktPnRv
RE9NV2luZG93KCkpOwogICAgIG1fcXVldWVkRXZlbnRzLmFwcGVuZChldmVudCk7CiAgICAgCi0g
ICAgaWYgKCFtX3BlbmRpbmdFdmVudFRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fcGVuZGlu
Z0V2ZW50VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIGlmICghbV9wZW5kaW5nRXZlbnRUaW1l
ci0+aXNBY3RpdmUoKSkKKyAgICAgICAgbV9wZW5kaW5nRXZlbnRUaW1lci0+c3RhcnRPbmVTaG90
KDApOwogfQogCiB2b2lkIEV2ZW50UXVldWU6OmVucXVldWVTY3JvbGxFdmVudChQYXNzUmVmUHRy
PE5vZGU+IHRhcmdldCwgU2Nyb2xsRXZlbnRUYXJnZXRUeXBlIHRhcmdldFR5cGUpCkBAIC02MCw5
ICs3Nyw5IEBAIHZvaWQgRXZlbnRRdWV1ZTo6ZW5xdWV1ZVNjcm9sbEV2ZW50KFBhc3NSZWZQdHI8
Tm9kZT4gdGFyZ2V0LCBTY3JvbGxFdmVudFRhcmdldFR5CiAgICAgZW5xdWV1ZUV2ZW50KHNjcm9s
bEV2ZW50LnJlbGVhc2UoKSk7CiB9CiAKLXZvaWQgRXZlbnRRdWV1ZTo6cGVuZGluZ0V2ZW50VGlt
ZXJGaXJlZChUaW1lcjxFdmVudFF1ZXVlPiopCit2b2lkIEV2ZW50UXVldWU6OnBlbmRpbmdFdmVu
dFRpbWVyRmlyZWQoKQogewotICAgIEFTU0VSVCghbV9wZW5kaW5nRXZlbnRUaW1lci5pc0FjdGl2
ZSgpKTsKKyAgICBBU1NFUlQoIW1fcGVuZGluZ0V2ZW50VGltZXItPmlzQWN0aXZlKCkpOwogCiAg
ICAgVmVjdG9yPFJlZlB0cjxFdmVudD4gPiBxdWV1ZWRFdmVudHM7CiAgICAgcXVldWVkRXZlbnRz
LnN3YXAobV9xdWV1ZWRFdmVudHMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2
ZW50UXVldWUuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFF1ZXVlLmgKaW5kZXggN2Y4ZDVm
YjI1NDYxMTQ2YWQ0Nzk1NDJiYWY0NWE3ODBjYjlkNmFkNC4uYTU4OWVkODBmNWQ3YWIxM2E1YjBh
MzBjYmI3MzdjZmNkNmNkYzQ4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50
UXVldWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRRdWV1ZS5oCkBAIC0yNywzOCAr
MjcsNTEgQEAKICNpZm5kZWYgRXZlbnRRdWV1ZV9oCiAjZGVmaW5lIEV2ZW50UXVldWVfaAogCi0j
aW5jbHVkZSAiVGltZXIuaCIKICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgogI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgorI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KKyNpbmNsdWRlIDx3dGYv
UGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvVmVj
dG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRXZlbnQ7CitjbGFzcyBFdmVu
dFF1ZXVlVGltZXI7CiBjbGFzcyBOb2RlOworY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsK
IAogY2xhc3MgRXZlbnRRdWV1ZSB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRXZlbnRRdWV1
ZSk7CiAKKyAgICAKIHB1YmxpYzoKICAgICBlbnVtIFNjcm9sbEV2ZW50VGFyZ2V0VHlwZSB7CiAg
ICAgICAgIFNjcm9sbEV2ZW50RG9jdW1lbnRUYXJnZXQsCiAgICAgICAgIFNjcm9sbEV2ZW50RWxl
bWVudFRhcmdldAogICAgIH07CiAKLSAgICBFdmVudFF1ZXVlKCk7CisgICAgc3RhdGljIFBhc3NP
d25QdHI8RXZlbnRRdWV1ZT4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQp
CisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRQdHIobmV3IEV2ZW50UXVldWUoY29udGV4dCkp
OworICAgIH0KKworICAgIH5FdmVudFF1ZXVlKCk7CiAKICAgICB2b2lkIGVucXVldWVFdmVudChQ
YXNzUmVmUHRyPEV2ZW50Pik7CiAgICAgdm9pZCBlbnF1ZXVlU2Nyb2xsRXZlbnQoUGFzc1JlZlB0
cjxOb2RlPiwgU2Nyb2xsRXZlbnRUYXJnZXRUeXBlKTsKIAogcHJpdmF0ZToKLSAgICB2b2lkIHBl
bmRpbmdFdmVudFRpbWVyRmlyZWQoVGltZXI8RXZlbnRRdWV1ZT4qKTsKKyAgICBleHBsaWNpdCBF
dmVudFF1ZXVlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKTsKKworICAgIHZvaWQgcGVuZGluZ0V2
ZW50VGltZXJGaXJlZCgpOwogICAgIHZvaWQgZGlzcGF0Y2hFdmVudChQYXNzUmVmUHRyPEV2ZW50
Pik7CiAKLSAgICBUaW1lcjxFdmVudFF1ZXVlPiBtX3BlbmRpbmdFdmVudFRpbWVyOworICAgIE93
blB0cjxFdmVudFF1ZXVlVGltZXI+IG1fcGVuZGluZ0V2ZW50VGltZXI7CiAgICAgVmVjdG9yPFJl
ZlB0cjxFdmVudD4gPiBtX3F1ZXVlZEV2ZW50czsKICAgICBIYXNoU2V0PE5vZGUqPiBtX25vZGVz
V2l0aFF1ZXVlZFNjcm9sbEV2ZW50czsKKyAgICAKKyAgICBmcmllbmQgY2xhc3MgRXZlbnRRdWV1
ZVRpbWVyOyAgICAKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3Vz
cGVuZGFibGVUaW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1N1c3BlbmRhYmxlVGltZXIu
Y3BwCmluZGV4IDIzZjAwYjA1MDRkN2NmZjljOGYxNGQ0ODQzYWVmMmMwNGJiYTQxM2EuLjJhNGQy
ZTUyMWNhOGM1OTA3YzE2MDRiNzRkYTY4OGU1MzA1MjExMTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvU3VzcGVuZGFibGVUaW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9TdXNwZW5kYWJsZVRpbWVyLmNwcApAQCAtMzYsNiArMzYsNyBAQCBTdXNwZW5kYWJsZVRpbWVy
OjpTdXNwZW5kYWJsZVRpbWVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpCiAgICAg
LCBtX25leHRGaXJlSW50ZXJ2YWwoMCkKICAgICAsIG1fcmVwZWF0SW50ZXJ2YWwoMCkKICNpZiAh
QVNTRVJUX0RJU0FCTEVECisgICAgLCBtX2FjdGl2ZShmYWxzZSkKICAgICAsIG1fc3VzcGVuZGVk
KGZhbHNlKQogI2VuZGlmCiB7CkBAIC02MSw5ICs2MiwxMiBAQCB2b2lkIFN1c3BlbmRhYmxlVGlt
ZXI6OnN1c3BlbmQoUmVhc29uRm9yU3VzcGVuc2lvbikKICAgICBBU1NFUlQoIW1fc3VzcGVuZGVk
KTsKICAgICBtX3N1c3BlbmRlZCA9IHRydWU7CiAjZW5kaWYKLSAgICBtX25leHRGaXJlSW50ZXJ2
YWwgPSBuZXh0RmlyZUludGVydmFsKCk7Ci0gICAgbV9yZXBlYXRJbnRlcnZhbCA9IHJlcGVhdElu
dGVydmFsKCk7Ci0gICAgVGltZXJCYXNlOjpzdG9wKCk7CisgICAgbV9hY3RpdmUgPSBpc0FjdGl2
ZSgpOworICAgIGlmIChtX2FjdGl2ZSkgeworICAgICAgICBtX25leHRGaXJlSW50ZXJ2YWwgPSBu
ZXh0RmlyZUludGVydmFsKCk7CisgICAgICAgIG1fcmVwZWF0SW50ZXJ2YWwgPSByZXBlYXRJbnRl
cnZhbCgpOworICAgICAgICBUaW1lckJhc2U6OnN0b3AoKTsKKyAgICB9CiB9CiAKIHZvaWQgU3Vz
cGVuZGFibGVUaW1lcjo6cmVzdW1lKCkKQEAgLTcyLDcgKzc2LDggQEAgdm9pZCBTdXNwZW5kYWJs
ZVRpbWVyOjpyZXN1bWUoKQogICAgIEFTU0VSVChtX3N1c3BlbmRlZCk7CiAgICAgbV9zdXNwZW5k
ZWQgPSBmYWxzZTsKICNlbmRpZgotICAgIHN0YXJ0KG1fbmV4dEZpcmVJbnRlcnZhbCwgbV9yZXBl
YXRJbnRlcnZhbCk7CisgICAgaWYgKG1fYWN0aXZlKQorICAgICAgICBzdGFydChtX25leHRGaXJl
SW50ZXJ2YWwsIG1fcmVwZWF0SW50ZXJ2YWwpOwogfQogCiBib29sIFN1c3BlbmRhYmxlVGltZXI6
OmNhblN1c3BlbmQoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TdXNw
ZW5kYWJsZVRpbWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1N1c3BlbmRhYmxlVGltZXIuaApp
bmRleCBjYzkwYjYyNmNjOTRlZjBmM2JhNzIyYWRlMGU5MDNlZTM4MjNiNTMyLi5mYTAzZDZlY2Qz
NDZiZjA0ZjEzYTJlY2MxMDFkZDRhYzUwYzY5YmVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1N1c3BlbmRhYmxlVGltZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1N1c3Bl
bmRhYmxlVGltZXIuaApAQCAtMzQsNyArMzQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNs
YXNzIFN1c3BlbmRhYmxlVGltZXIgOiBwdWJsaWMgVGltZXJCYXNlLCBwdWJsaWMgQWN0aXZlRE9N
T2JqZWN0IHsKIHB1YmxpYzoKLSAgICBTdXNwZW5kYWJsZVRpbWVyKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQqKTsKKyAgICBleHBsaWNpdCBTdXNwZW5kYWJsZVRpbWVyKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQqKTsKICAgICB2aXJ0dWFsIH5TdXNwZW5kYWJsZVRpbWVyKCk7CiAKICAgICAvLyBBY3Rp
dmVET01PYmplY3QKQEAgLTQ5LDYgKzQ5LDcgQEAgcHJpdmF0ZToKIAogICAgIGRvdWJsZSBtX25l
eHRGaXJlSW50ZXJ2YWw7CiAgICAgZG91YmxlIG1fcmVwZWF0SW50ZXJ2YWw7CisgICAgYm9vbCBt
X2FjdGl2ZTsKICNpZiAhQVNTRVJUX0RJU0FCTEVECiAgICAgYm9vbCBtX3N1c3BlbmRlZDsKICNl
bmRpZgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>