<?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>90264</bug_id>
          
          <creation_ts>2012-06-29 02:54:34 -0700</creation_ts>
          <short_desc>Web Inspector: added low-level instrumentation support for TimelineAgent</short_desc>
          <delta_ts>2022-03-01 03:05:00 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector (Deprecated)</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>
          
          <blocked>90277</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Sergey Rogulenko">rogulenko</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>caseq</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>levin+threading</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>660330</commentid>
    <comment_count>0</comment_count>
    <who name="Sergey Rogulenko">rogulenko</who>
    <bug_when>2012-06-29 02:54:34 -0700</bug_when>
    <thetext>Added low-level instrumentation support for TimelineAgent</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>660334</commentid>
    <comment_count>1</comment_count>
      <attachid>150125</attachid>
    <who name="Sergey Rogulenko">rogulenko</who>
    <bug_when>2012-06-29 03:00:54 -0700</bug_when>
    <thetext>Created attachment 150125
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>660337</commentid>
    <comment_count>2</comment_count>
      <attachid>150125</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2012-06-29 03:10:00 -0700</bug_when>
    <thetext>Comment on attachment 150125
Patch

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

&gt; Source/WebCore/inspector/InspectorInstrumentation.h:102
&gt; +    static void startLowlevelInspectingForFrame(Frame*);
&gt; +    static void stopLowlevelInspecting();
&gt; +

This should not be exposed in instrumentation interface -- we should rather set this implicitly during other timeline events in InspectorTimelineAgent.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>660381</commentid>
    <comment_count>3</comment_count>
      <attachid>150143</attachid>
    <who name="Sergey Rogulenko">rogulenko</who>
    <bug_when>2012-06-29 05:06:41 -0700</bug_when>
    <thetext>Created attachment 150143
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>660385</commentid>
    <comment_count>4</comment_count>
      <attachid>150145</attachid>
    <who name="Sergey Rogulenko">rogulenko</who>
    <bug_when>2012-06-29 05:11:17 -0700</bug_when>
    <thetext>Created attachment 150145
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>660387</commentid>
    <comment_count>5</comment_count>
      <attachid>150145</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2012-06-29 05:15:22 -0700</bug_when>
    <thetext>Comment on attachment 150145
Patch

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

LGTM, but please also provide the actual usage example before we land this.

&gt; Source/WebCore/inspector/InspectorInstrumentation.h:39
&gt; +#include &quot;InspectorTimelineAgent.h&quot;

We should not expose InspectorTimelineAgent to the rest of WebCore.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>660409</commentid>
    <comment_count>6</comment_count>
      <attachid>150125</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2012-06-29 05:41:17 -0700</bug_when>
    <thetext>Comment on attachment 150125
Patch

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

&gt; Source/WebCore/inspector/InspectorTimelineAgent.cpp:101
&gt; +WTF::ThreadSpecific&lt;InspectorTimelineAgent*&gt;* InspectorTimelineAgent::s_inspectorTimelineAgent = new WTF::ThreadSpecific&lt;InspectorTimelineAgent*&gt;();

Please change this to use singleton-style initialization on demand, e.g.
static WTF::ThreadSpecific&lt;InspectorTimelineAgent*&gt;* InspectorTimelineAgent::threadSpecificInstance()
{
    AtomicallyInitializedStatic(WTF::ThreadSpecific&lt;InspectorTimelineAgent*&gt;, instance = new WTF::ThreadSpecific&lt;InspectorTimelineAgent*&gt;());
    return instance;
}</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>660424</commentid>
    <comment_count>7</comment_count>
      <attachid>150145</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-06-29 06:18:46 -0700</bug_when>
    <thetext>Comment on attachment 150145
Patch

r- until Andrey&apos;s comment is addressed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>660437</commentid>
    <comment_count>8</comment_count>
      <attachid>150169</attachid>
    <who name="Sergey Rogulenko">rogulenko</who>
    <bug_when>2012-06-29 06:53:24 -0700</bug_when>
    <thetext>Created attachment 150169
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>660439</commentid>
    <comment_count>9</comment_count>
      <attachid>150169</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2012-06-29 06:56:10 -0700</bug_when>
    <thetext>Comment on attachment 150169
Patch

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

&gt; Source/WebCore/inspector/InspectorTimelineAgent.cpp:101
&gt; +WTF::ThreadSpecific&lt;InspectorTimelineAgent*&gt;* InspectorTimelineAgent::ThreadSpecificInstance()

threadSpecificInstance()

&gt; Source/WebCore/inspector/InspectorTimelineAgent.h:148
&gt; +    static InspectorTimelineAgent* instance() { return **ThreadSpecificInstance(); }
&gt; +    static void setInstance(InspectorTimelineAgent* inspectorTimelineAgent) { **ThreadSpecificInstance() = inspectorTimelineAgent; }

Why is this public?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>660451</commentid>
    <comment_count>10</comment_count>
      <attachid>150169</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-06-29 07:25:18 -0700</bug_when>
    <thetext>Comment on attachment 150169
Patch

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

&gt; Source/WebCore/ChangeLog:8
&gt; +        * inspector/InspectorInstrumentation.cpp:

Please explain what happens and why here?

&gt; Source/WebCore/inspector/InspectorInstrumentation.h:410
&gt; +

Please roll back this change.

&gt;&gt; Source/WebCore/inspector/InspectorTimelineAgent.h:148
&gt;&gt; +    static void setInstance(InspectorTimelineAgent* inspectorTimelineAgent) { **ThreadSpecificInstance() = inspectorTimelineAgent; }
&gt; 
&gt; Why is this public?

I would rather move this method to the InspectorInstrumentation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>660476</commentid>
    <comment_count>11</comment_count>
      <attachid>150178</attachid>
    <who name="Sergey Rogulenko">rogulenko</who>
    <bug_when>2012-06-29 07:48:28 -0700</bug_when>
    <thetext>Created attachment 150178
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>660478</commentid>
    <comment_count>12</comment_count>
      <attachid>150178</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-06-29 07:52:03 -0700</bug_when>
    <thetext>Comment on attachment 150178
Patch

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

&gt; Source/WebCore/inspector/InspectorTimelineAgent.cpp:103
&gt; +    AtomicallyInitializedStatic(WTF::ThreadSpecific&lt;InspectorTimelineAgent*&gt;*, instance = new WTF::ThreadSpecific&lt;InspectorTimelineAgent*&gt;());

We don&apos;t want to have several timelines running at a time and I wonder if we can make it clear on the declarative level. Deferring this to Yury as he is the one that added plumbing for the workers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>660484</commentid>
    <comment_count>13</comment_count>
      <attachid>150169</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2012-06-29 07:55:57 -0700</bug_when>
    <thetext>Comment on attachment 150169
Patch

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

&gt;&gt;&gt; Source/WebCore/inspector/InspectorTimelineAgent.h:148
&gt;&gt;&gt; +    static void setInstance(InspectorTimelineAgent* inspectorTimelineAgent) { **ThreadSpecificInstance() = inspectorTimelineAgent; }
&gt;&gt; 
&gt;&gt; Why is this public?
&gt; 
&gt; I would rather move this method to the InspectorInstrumentation.

Why would we want to introduce a cyclical dependency between InspectorTimelineAgent and InspectorInstrumentation and make a setInstance() method public on InspectorInstrumentation, when it only should be used by InspectorTimelineAgent? Incapsulating setInstance()/instance() in timeline agent reduces the public interface and minimizes dependencies.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>660488</commentid>
    <comment_count>14</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-06-29 07:59:46 -0700</bug_when>
    <thetext>&gt; Why would we want to introduce a cyclical dependency between InspectorTimelineAgent and InspectorInstrumentation and make a setInstance() method public on InspectorInstrumentation, when it only should be used by InspectorTimelineAgent? Incapsulating setInstance()/instance() in timeline agent reduces the public interface and minimizes dependencies.

There is nothing wrong about bi-directional dependency between two inspector classes if it makes things simpler and properly reflects the semantics of what is going on. The fact is that WebCore should only talk to InspectorInstrumentation and there should no way for WebCore to get a hold of the agent instance. What you are suggesting is making clients wonder if they should do InspectorInstrumentation::willPaint or InspectorTimelineAgent::willPaint. Dependency-wise, this would be a bigger problem.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>660501</commentid>
    <comment_count>15</comment_count>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2012-06-29 08:16:34 -0700</bug_when>
    <thetext>(In reply to comment #14)

&gt; There is nothing wrong about bi-directional dependency between two inspector classes if it makes things simpler and properly reflects the semantics of what is going on.

Please explain your notion of &quot;simpler&quot;. For me, &quot;simpler&quot; is less methods in public interface and less dependencies. Also, I think that having setInstance() a private method of InspectorTimelineAgent is very important to express the fact that it&apos;s InspectorTimelineAgent that manages its instances. It should not be possible for other classes to do InspectorInstrumentation::setInspectorTimelineAgentInstance().


&gt; What you are suggesting is making clients wonder if they should do InspectorInstrumentation::willPaint or InspectorTimelineAgent::willPaint. Dependency-wise, this would be a bigger problem.

This argument sounds a bit artificial to me -- none of the clients include InspectorTimelineAgent at the moment (this should also be pretty easy to enforce).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>660510</commentid>
    <comment_count>16</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-06-29 08:23:34 -0700</bug_when>
    <thetext>(In reply to comment #15)
&gt; (In reply to comment #14)
&gt; 
&gt; &gt; There is nothing wrong about bi-directional dependency between two inspector classes if it makes things simpler and properly reflects the semantics of what is going on.
&gt; 
&gt; Please explain your notion of &quot;simpler&quot;. For me, &quot;simpler&quot; is less methods in public interface and less dependencies. 

I am sorry, this starts to sound like non-constructive discussion to me, I&apos;d prefer to cut it here.

Also, I think that having setInstance() a private method of InspectorTimelineAgent is very important to express the fact that it&apos;s InspectorTimelineAgent that manages its instances. It should not be possible for other classes to do InspectorInstrumentation::setInspectorTimelineAgentInstance().

And it would not be possible for them since they can&apos;t get a hold of the actual instance.
&gt; 
&gt; &gt; What you are suggesting is making clients wonder if they should do InspectorInstrumentation::willPaint or InspectorTimelineAgent::willPaint. Dependency-wise, this would be a bigger problem.
&gt; 
&gt; This argument sounds a bit artificial to me -- none of the clients include InspectorTimelineAgent at the moment (this should also be pretty easy to enforce).

We try to use C++ terms for dependency management. Now that the team has spent lots of time separating the instrumentation and agent APIs using pure C++ terms, it is very strange to hear that it is artificial.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>662077</commentid>
    <comment_count>17</comment_count>
      <attachid>150566</attachid>
    <who name="Sergey Rogulenko">rogulenko</who>
    <bug_when>2012-07-03 02:45:14 -0700</bug_when>
    <thetext>Created attachment 150566
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>662142</commentid>
    <comment_count>18</comment_count>
      <attachid>150566</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2012-07-03 05:28:39 -0700</bug_when>
    <thetext>Comment on attachment 150566
Patch

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

&gt; Source/WebCore/inspector/InspectorInstrumentation.h:257
&gt; +    static WTF::ThreadSpecific&lt;InspectorTimelineAgent*&gt;* threadSpecificTimelineAgentInstance();

why is this public?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>662151</commentid>
    <comment_count>19</comment_count>
    <who name="Sergey Rogulenko">rogulenko</who>
    <bug_when>2012-07-03 05:49:38 -0700</bug_when>
    <thetext>(In reply to comment #18)
&gt; (From update of attachment 150566 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=150566&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/inspector/InspectorInstrumentation.h:257
&gt; &gt; +    static WTF::ThreadSpecific&lt;InspectorTimelineAgent*&gt;* threadSpecificTimelineAgentInstance();
&gt; 
&gt; why is this public?

Do we want to keep any of these 3 methods public?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>662164</commentid>
    <comment_count>20</comment_count>
      <attachid>150593</attachid>
    <who name="Sergey Rogulenko">rogulenko</who>
    <bug_when>2012-07-03 06:05:42 -0700</bug_when>
    <thetext>Created attachment 150593
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>662232</commentid>
    <comment_count>21</comment_count>
      <attachid>150614</attachid>
    <who name="Sergey Rogulenko">rogulenko</who>
    <bug_when>2012-07-03 08:24:38 -0700</bug_when>
    <thetext>Created attachment 150614
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>662258</commentid>
    <comment_count>22</comment_count>
      <attachid>150619</attachid>
    <who name="Sergey Rogulenko">rogulenko</who>
    <bug_when>2012-07-03 08:49:32 -0700</bug_when>
    <thetext>Created attachment 150619
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>662267</commentid>
    <comment_count>23</comment_count>
      <attachid>150619</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2012-07-03 08:54:53 -0700</bug_when>
    <thetext>Comment on attachment 150619
Patch

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

&gt; Source/WebCore/inspector/InspectorTimelineAgent.cpp:468
&gt; +void InspectorTimelineAgent::didCompleteCurrentRecord(const String&amp; type, bool hasLowlevelDetails)

I don&apos;t think we need to pass hasLowLevelDetails explicitly to didCompleteCurrentRecord() -- instead, use something like m_levelLowLevelEventsEnabledStackMark = m_recordStack.size(); then disable them once we popped back to this depth.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>662302</commentid>
    <comment_count>24</comment_count>
      <attachid>150628</attachid>
    <who name="Sergey Rogulenko">rogulenko</who>
    <bug_when>2012-07-03 09:39:36 -0700</bug_when>
    <thetext>Created attachment 150628
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>662311</commentid>
    <comment_count>25</comment_count>
      <attachid>150628</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2012-07-03 09:55:53 -0700</bug_when>
    <thetext>Comment on attachment 150628
Patch

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

LGTM with a nit. Pavel, please have a look!

&gt; Source/WebCore/inspector/InspectorTimelineAgent.cpp:500
&gt; +    if (m_lowlevelEventsEnabledStackMark == int(m_recordStack.size())) {

static_cast&lt;int&gt;(...)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>662320</commentid>
    <comment_count>26</comment_count>
      <attachid>150628</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-07-03 10:06:16 -0700</bug_when>
    <thetext>Comment on attachment 150628
Patch

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

&gt; Source/WebCore/inspector/InspectorInstrumentation.cpp:1140
&gt; +InspectorTimelineAgent* InspectorInstrumentation::timelineAgentInstance()

Nit: here and below: there is no need for &quot;Instance&quot; suffix.

&gt; Source/WebCore/inspector/InspectorInstrumentation.cpp:1153
&gt; +    return instance;

You should return reference here.

&gt; Source/WebCore/inspector/InspectorTimelineAgent.cpp:513
&gt; +    , m_lowlevelEventsEnabledStackMark(-1)

Can we get away with 0 as the default value?

&gt; Source/WebCore/inspector/InspectorTimelineAgent.h:165
&gt; +    void pushCurrentRecord(PassRefPtr&lt;InspectorObject&gt;, const String&amp; type, bool captureCallStack, Frame*, bool hasLowlevelDetails = false);

hasLowLevelDetails

&gt; Source/WebCore/inspector/InspectorTimelineAgent.h:167
&gt; +        

Remove new chars</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>662354</commentid>
    <comment_count>27</comment_count>
      <attachid>150641</attachid>
    <who name="Sergey Rogulenko">rogulenko</who>
    <bug_when>2012-07-03 10:40:38 -0700</bug_when>
    <thetext>Created attachment 150641
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>662881</commentid>
    <comment_count>28</comment_count>
      <attachid>150641</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-07-04 05:20:55 -0700</bug_when>
    <thetext>Comment on attachment 150641
Patch

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

&gt; Source/WebCore/inspector/InspectorTimelineAgent.cpp:488
&gt; +    if (m_lowlevelEventsEnabledStackMark &amp;&amp; m_lowlevelEventsEnabledStackMark == static_cast&lt;int&gt;(m_recordStack.size())) {

The idea behind making default = 0 was so that we could make new member unsigned and get rid of such casts.

&gt; Source/WebCore/inspector/InspectorTimelineAgent.cpp:543
&gt; +            InspectorInstrumentation::setTimelineAgent(this);

You should call setTimelineAgent from within InspectorTimelineAgent::start. Otherwise call sites get confused.

&gt; Source/WebCore/inspector/InspectorTimelineAgent.h:202
&gt; +    int m_lowlevelEventsEnabledStackMark;

As I mentioned earlier, this should be m_lowLevelEventsEnabledStackMark. Furthermore, I don&apos;t think you need it. Instead of special-casing paint instrumentation, you should check whether there is a paint record in the stack upon the resize / decompress processing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>662983</commentid>
    <comment_count>29</comment_count>
      <attachid>150804</attachid>
    <who name="Sergey Rogulenko">rogulenko</who>
    <bug_when>2012-07-04 08:34:28 -0700</bug_when>
    <thetext>Created attachment 150804
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>662990</commentid>
    <comment_count>30</comment_count>
      <attachid>150804</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-07-04 08:41:40 -0700</bug_when>
    <thetext>Comment on attachment 150804
Patch

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

&gt; Source/WebCore/inspector/InspectorTimelineAgent.cpp:513
&gt; +    , m_lowLevelEventsEnabledStackMark(0)

I would rename lowLevel to orphan for consistency. Otherwise looks good.

&gt; Source/WebCore/inspector/InspectorTimelineAgent.h:202
&gt; +    unsigned int m_lowLevelEventsEnabledStackMark;

just &quot;unsigned&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>662998</commentid>
    <comment_count>31</comment_count>
      <attachid>150809</attachid>
    <who name="Sergey Rogulenko">rogulenko</who>
    <bug_when>2012-07-04 08:59:48 -0700</bug_when>
    <thetext>Created attachment 150809
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>663588</commentid>
    <comment_count>32</comment_count>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2012-07-05 09:14:12 -0700</bug_when>
    <thetext>Committed r121908: &lt;http://trac.webkit.org/changeset/121908&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>150125</attachid>
            <date>2012-06-29 03:00:54 -0700</date>
            <delta_ts>2012-06-29 05:41:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90264-20120629140053.patch</filename>
            <type>text/plain</type>
            <size>7415</size>
            <attacher name="Sergey Rogulenko">rogulenko</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIxNDMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2ZhMjE0NDQ1YjliZjQ1
MjJjMDc1MjJjODlhZTc3OGZiODFjZjE1Ni4uM2U5ZTkxODk1ZjNjZmJlZWViYTY3OWNhMTAzMGJm
NjRiZWE0NmIxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEyLTA2LTI5ICBTZXJn
ZXkgUm9ndWxlbmtvICA8cm9ndWxlbmtvQGdvb2dsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3Bl
Y3RvcjogYWRkZWQgbG93LWxldmVsIGluc3RydW1lbnRhdGlvbiBzdXBwb3J0IGZvciBUaW1lbGlu
ZUFnZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05
MDI2NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
aW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnN0YXJ0TG93bGV2ZWxJbnNwZWN0aW5nRm9yRnJh
bWUpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rvcklu
c3RydW1lbnRhdGlvbi5oOgorICAgICAgICAoSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uKToKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6c3RvcExvd2xldmVsSW5z
cGVjdGluZyk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVj
dG9yVGltZWxpbmVBZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBpbnNw
ZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVj
dG9yVGltZWxpbmVBZ2VudDo6aW5zdGFuY2UpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9y
VGltZWxpbmVBZ2VudDo6c2V0SW5zdGFuY2UpOgorICAgICAgICAoSW5zcGVjdG9yVGltZWxpbmVB
Z2VudCk6CisKIDIwMTItMDYtMjggIEJhbGF6cyBLZWxlbWVuICA8a2JhbGF6c0B3ZWJraXQub3Jn
PgogCiAgICAgICAgIFtRdF0gcGx1Z2luIGlzIGxvYWRlZCB0byB0aGUgd2ViIHByb2Nlc3Mgdmlh
IE1haW5SZXNvdXJjZUxvYWRlcjo6c3Vic3RpdHV0ZU1JTUVUeXBlRnJvbVBsdWdpbkRhdGFiYXNl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50
YXRpb24uY3BwCmluZGV4IGE2NWZmN2UzMjM3Y2FkNThhOWMxY2Y4YzEzMjRiNDJhODg2YjRmN2Eu
LjU2MWIxZmU4ZmUwM2MwZWNmYjRlNTI1MjIyYzI1OTAwYmE0MTQ5NGQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwCkBA
IC05OCw2ICs5OCwxNCBAQCBzdGF0aWMgYm9vbCBldmVudEhhc0xpc3RlbmVycyhjb25zdCBBdG9t
aWNTdHJpbmcmIGV2ZW50VHlwZSwgRE9NV2luZG93KiB3aW5kb3csCiAgICAgcmV0dXJuIGZhbHNl
OwogfQogCit2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6c3RhcnRMb3dsZXZlbEluc3Bl
Y3RpbmdGb3JGcmFtZShGcmFtZSogZnJhbWUpCit7CisjaWYgRU5BQkxFKElOU1BFQ1RPUikKKyAg
ICBJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGlu
Z0FnZW50c0ZvckZyYW1lKGZyYW1lKTsKKyAgICBJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpzZXRJ
bnN0YW5jZShpbnN0cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JUaW1lbGluZUFnZW50KCkpOwor
I2VuZGlmCit9CisKIHN0YXRpYyBGcmFtZSogZnJhbWVGb3JTY3JpcHRFeGVjdXRpb25Db250ZXh0
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpCiB7CiAgICAgRnJhbWUqIGZyYW1lID0g
MDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50
YXRpb24uaAppbmRleCAxZDc5ZjI0MjM3OGUzZWJjOWY3NjRiMzk1ZWFmOTdiYzY2YTczMmI3Li41
MWJkNzBjZDA2ZTczMmUyZDhhMWNhNmNmOGE2NWFhMTVlNTczNzVlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCkBAIC0zNiw2
ICszNiw3IEBACiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJFbGVtZW50LmgiCiAj
aW5jbHVkZSAiRnJhbWUuaCIKKyNpbmNsdWRlICJJbnNwZWN0b3JUaW1lbGluZUFnZW50LmgiCiAj
aW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKICNp
bmNsdWRlICJTdG9yYWdlQXJlYS5oIgpAQCAtOTYsNiArOTcsOSBAQCB0eXBlZGVmIHBhaXI8SW5z
dHJ1bWVudGluZ0FnZW50cyosIGludD4gSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llOwog
CiBjbGFzcyBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24gewogcHVibGljOgorICAgIHN0YXRpYyB2
b2lkIHN0YXJ0TG93bGV2ZWxJbnNwZWN0aW5nRm9yRnJhbWUoRnJhbWUqKTsKKyAgICBzdGF0aWMg
dm9pZCBzdG9wTG93bGV2ZWxJbnNwZWN0aW5nKCk7CisKICAgICBzdGF0aWMgdm9pZCBkaWRDbGVh
cldpbmRvd09iamVjdEluV29ybGQoRnJhbWUqLCBET01XcmFwcGVyV29ybGQqKTsKICAgICBzdGF0
aWMgYm9vbCBpc0RlYnVnZ2VyUGF1c2VkKEZyYW1lKik7CiAKQEAgLTQwNyw2ICs0MTEsNyBAQCBw
cml2YXRlOgogICAgIHN0YXRpYyBJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdl
bnRzRm9yRnJhbWUoRnJhbWUqKTsKICAgICBzdGF0aWMgSW5zdHJ1bWVudGluZ0FnZW50cyogaW5z
dHJ1bWVudGluZ0FnZW50c0ZvckNvbnRleHQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopOwogICAg
IHN0YXRpYyBJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzRm9yRG9jdW1l
bnQoRG9jdW1lbnQqKTsKKwogI2lmIEVOQUJMRShXT1JLRVJTKQogICAgIHN0YXRpYyBJbnN0cnVt
ZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzRm9yV29ya2VyQ29udGV4dChXb3JrZXJD
b250ZXh0Kik7CiAgICAgc3RhdGljIEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdB
Z2VudHNGb3JOb25Eb2N1bWVudENvbnRleHQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopOwpAQCAt
NDIxLDYgKzQyNiwxMyBAQCBwcml2YXRlOgogI2VuZGlmCiB9OwogCitpbmxpbmUgdm9pZCBJbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb246OnN0b3BMb3dsZXZlbEluc3BlY3RpbmcoKQoreworI2lmIEVO
QUJMRShJTlNQRUNUT1IpCisgICAgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6c2V0SW5zdGFuY2Uo
MCk7CisjZW5kaWYKK30KKwogaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpk
aWRDbGVhcldpbmRvd09iamVjdEluV29ybGQoRnJhbWUqIGZyYW1lLCBET01XcmFwcGVyV29ybGQq
IHdvcmxkKQogewogI2lmIEVOQUJMRShJTlNQRUNUT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAKaW5kZXggNDcyODJlOTU3Mzcx
NmYzMzI5YjQwZmQ1YTM2NzFiMTZjODE4NzMwNC4uNmM0MDg4MmU5ODZjZDExZDFjYjBlYjBlYThj
MzliZTdmMzVhZWVhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvclRpbWVsaW5lQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JUaW1lbGluZUFnZW50LmNwcApAQCAtNDksNiArNDksNyBAQAogI2luY2x1ZGUgIlRpbWVs
aW5lUmVjb3JkRmFjdG9yeS5oIgogCiAjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CisjaW5j
bHVkZSA8d3RmL1RocmVhZFNwZWNpZmljLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAt
OTcsNiArOTgsOCBAQCBzdGF0aWMgY29uc3QgY2hhciBDYW5jZWxBbmltYXRpb25GcmFtZVtdID0g
IkNhbmNlbEFuaW1hdGlvbkZyYW1lIjsKIHN0YXRpYyBjb25zdCBjaGFyIEZpcmVBbmltYXRpb25G
cmFtZVtdID0gIkZpcmVBbmltYXRpb25GcmFtZSI7CiB9CiAKK1dURjo6VGhyZWFkU3BlY2lmaWM8
SW5zcGVjdG9yVGltZWxpbmVBZ2VudCo+KiBJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpzX2luc3Bl
Y3RvclRpbWVsaW5lQWdlbnQgPSBuZXcgV1RGOjpUaHJlYWRTcGVjaWZpYzxJbnNwZWN0b3JUaW1l
bGluZUFnZW50Kj4oKTsKKwogdm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpwdXNoR0NFdmVu
dFJlY29yZHMoKQogewogICAgIGlmICghbV9nY0V2ZW50cy5zaXplKCkpCkBAIC0zMTgsNyArMzIx
LDcgQEAgdm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50Ojp3aWxsRXZhbHVhdGVTY3JpcHQoY29u
c3QgU3RyaW5nJiB1cmwsIGludCBsaW5lTnVtYmUKIHsKICAgICBwdXNoQ3VycmVudFJlY29yZChU
aW1lbGluZVJlY29yZEZhY3Rvcnk6OmNyZWF0ZUV2YWx1YXRlU2NyaXB0RGF0YSh1cmwsIGxpbmVO
dW1iZXIpLCBUaW1lbGluZVJlY29yZFR5cGU6OkV2YWx1YXRlU2NyaXB0LCB0cnVlLCBmcmFtZSk7
CiB9Ci0gICAgCisKIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6ZGlkRXZhbHVhdGVTY3Jp
cHQoKQogewogICAgIGRpZENvbXBsZXRlQ3VycmVudFJlY29yZChUaW1lbGluZVJlY29yZFR5cGU6
OkV2YWx1YXRlU2NyaXB0KTsKQEAgLTM1Niw3ICszNTksNyBAQCB2b2lkIEluc3BlY3RvclRpbWVs
aW5lQWdlbnQ6OmRpZFJlY2VpdmVSZXNvdXJjZURhdGEoKQogewogICAgIGRpZENvbXBsZXRlQ3Vy
cmVudFJlY29yZChUaW1lbGluZVJlY29yZFR5cGU6OlJlc291cmNlUmVjZWl2ZWREYXRhKTsKIH0K
LSAgICAKKwogdm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50Ojp3aWxsUmVjZWl2ZVJlc291cmNl
UmVzcG9uc2UodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNl
JiByZXNwb25zZSwgRnJhbWUqIGZyYW1lKQogewogICAgIFN0cmluZyByZXF1ZXN0SWQgPSBJZGVu
dGlmaWVyc0ZhY3Rvcnk6OnJlcXVlc3RJZChpZGVudGlmaWVyKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmggYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oCmluZGV4IDk0YzdmY2FlZTM4
NmVjZDBmMjJmMjdlZWIxZDdhNWY5MWZmN2YzMTguLjFiMTUxNzM5ZTY5MzIwMzJmNzQ4MDJlZTk0
OTk4MDYzZmRhY2M3YTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JUaW1lbGluZUFnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvclRpbWVsaW5lQWdlbnQuaApAQCAtNDAsNiArNDAsNyBAQAogI2luY2x1ZGUgIlNjcmlwdEdD
RXZlbnQuaCIKICNpbmNsdWRlICJTY3JpcHRHQ0V2ZW50TGlzdGVuZXIuaCIKICNpbmNsdWRlIDx3
dGYvUGFzc093blB0ci5oPgorI2luY2x1ZGUgPHd0Zi9UaHJlYWRTcGVjaWZpYy5oPgogI2luY2x1
ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMTQzLDYgKzE0NCw5
IEBAIHB1YmxpYzoKICAgICB2b2lkIHdpbGxQcm9jZXNzVGFzaygpOwogICAgIHZvaWQgZGlkUHJv
Y2Vzc1Rhc2soKTsKIAorICAgIHN0YXRpYyBJbnNwZWN0b3JUaW1lbGluZUFnZW50KiBpbnN0YW5j
ZSgpIHsgcmV0dXJuICoqc19pbnNwZWN0b3JUaW1lbGluZUFnZW50OyB9CisgICAgc3RhdGljIHZv
aWQgc2V0SW5zdGFuY2UoSW5zcGVjdG9yVGltZWxpbmVBZ2VudCogaW5zcGVjdG9yVGltZWxpbmVB
Z2VudCkgeyAqKnNfaW5zcGVjdG9yVGltZWxpbmVBZ2VudCA9IGluc3BlY3RvclRpbWVsaW5lQWdl
bnQ7IH0KKwogcHJpdmF0ZToKICAgICBzdHJ1Y3QgVGltZWxpbmVSZWNvcmRFbnRyeSB7CiAgICAg
ICAgIFRpbWVsaW5lUmVjb3JkRW50cnkoUGFzc1JlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IHJlY29y
ZCwgUGFzc1JlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IGRhdGEsIFBhc3NSZWZQdHI8SW5zcGVjdG9y
QXJyYXk+IGNoaWxkcmVuLCBjb25zdCBTdHJpbmcmIHR5cGUsIGNvbnN0IFN0cmluZyYgZnJhbWVJ
ZCwgYm9vbCBjYW5jZWxhYmxlID0gZmFsc2UpCkBAIC0xNTYsMTIgKzE2MCwxMiBAQCBwcml2YXRl
OgogICAgICAgICBTdHJpbmcgZnJhbWVJZDsKICAgICAgICAgYm9vbCBjYW5jZWxhYmxlOwogICAg
IH07Ci0gICAgICAgIAorCiAgICAgSW5zcGVjdG9yVGltZWxpbmVBZ2VudChJbnN0cnVtZW50aW5n
QWdlbnRzKiwgSW5zcGVjdG9yUGFnZUFnZW50KiwgSW5zcGVjdG9yU3RhdGUqLCBJbnNwZWN0b3JU
eXBlLCBJbnNwZWN0b3JDbGllbnQqKTsKIAogICAgIHZvaWQgcHVzaEN1cnJlbnRSZWNvcmQoUGFz
c1JlZlB0cjxJbnNwZWN0b3JPYmplY3Q+LCBjb25zdCBTdHJpbmcmIHR5cGUsIGJvb2wgY2FwdHVy
ZUNhbGxTdGFjaywgRnJhbWUqKTsKICAgICB2b2lkIHNldEhlYXBTaXplU3RhdGlzdGljKEluc3Bl
Y3Rvck9iamVjdCogcmVjb3JkKTsKLSAgICAgICAgCisKICAgICB2b2lkIGRpZENvbXBsZXRlQ3Vy
cmVudFJlY29yZChjb25zdCBTdHJpbmcmIHR5cGUpOwogICAgIHZvaWQgYXBwZW5kUmVjb3JkKFBh
c3NSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiBkYXRhLCBjb25zdCBTdHJpbmcmIHR5cGUsIGJvb2wg
Y2FwdHVyZUNhbGxTdGFjaywgRnJhbWUqKTsKICAgICB2b2lkIHB1c2hDYW5jZWxhYmxlUmVjb3Jk
KFBhc3NSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiwgY29uc3QgU3RyaW5nJiB0eXBlLCBGcmFtZSop
OwpAQCAtMTc2LDYgKzE4MCw4IEBAIHByaXZhdGU6CiAgICAgZG91YmxlIHRpbWVzdGFtcCgpOwog
ICAgIGRvdWJsZSB0aW1lc3RhbXBGcm9tTWljcm9zZWNvbmRzKGRvdWJsZSBtaWNyb3NlY29uZHMp
OwogCisgICAgc3RhdGljIFdURjo6VGhyZWFkU3BlY2lmaWM8SW5zcGVjdG9yVGltZWxpbmVBZ2Vu
dCo+KiBzX2luc3BlY3RvclRpbWVsaW5lQWdlbnQ7CisKICAgICBJbnNwZWN0b3JQYWdlQWdlbnQq
IG1fcGFnZUFnZW50OwogCiAgICAgSW5zcGVjdG9yRnJvbnRlbmQ6OlRpbWVsaW5lKiBtX2Zyb250
ZW5kOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>150143</attachid>
            <date>2012-06-29 05:06:41 -0700</date>
            <delta_ts>2012-06-29 05:11:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90264-20120629160640.patch</filename>
            <type>text/plain</type>
            <size>7121</size>
            <attacher name="Sergey Rogulenko">rogulenko</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIxNDMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2ZhMjE0NDQ1YjliZjQ1
MjJjMDc1MjJjODlhZTc3OGZiODFjZjE1Ni4uM2U5ZTkxODk1ZjNjZmJlZWViYTY3OWNhMTAzMGJm
NjRiZWE0NmIxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEyLTA2LTI5ICBTZXJn
ZXkgUm9ndWxlbmtvICA8cm9ndWxlbmtvQGdvb2dsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3Bl
Y3RvcjogYWRkZWQgbG93LWxldmVsIGluc3RydW1lbnRhdGlvbiBzdXBwb3J0IGZvciBUaW1lbGlu
ZUFnZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05
MDI2NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
aW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnN0YXJ0TG93bGV2ZWxJbnNwZWN0aW5nRm9yRnJh
bWUpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rvcklu
c3RydW1lbnRhdGlvbi5oOgorICAgICAgICAoSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uKToKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6c3RvcExvd2xldmVsSW5z
cGVjdGluZyk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVj
dG9yVGltZWxpbmVBZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBpbnNw
ZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVj
dG9yVGltZWxpbmVBZ2VudDo6aW5zdGFuY2UpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9y
VGltZWxpbmVBZ2VudDo6c2V0SW5zdGFuY2UpOgorICAgICAgICAoSW5zcGVjdG9yVGltZWxpbmVB
Z2VudCk6CisKIDIwMTItMDYtMjggIEJhbGF6cyBLZWxlbWVuICA8a2JhbGF6c0B3ZWJraXQub3Jn
PgogCiAgICAgICAgIFtRdF0gcGx1Z2luIGlzIGxvYWRlZCB0byB0aGUgd2ViIHByb2Nlc3Mgdmlh
IE1haW5SZXNvdXJjZUxvYWRlcjo6c3Vic3RpdHV0ZU1JTUVUeXBlRnJvbVBsdWdpbkRhdGFiYXNl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uLmgKaW5kZXggMWQ3OWYyNDIzNzhlM2ViYzlmNzY0YjM5NWVhZjk3YmM2NmE3MzJiNy4uNTI0
MWI1MDMwOWUzZjg0YjM1ZjBiMGI1MmIyZGMyNjE5YTNkNTkyMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaApAQCAtMzYsNiAr
MzYsNyBAQAogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRWxlbWVudC5oIgogI2lu
Y2x1ZGUgIkZyYW1lLmgiCisjaW5jbHVkZSAiSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oIgogI2lu
Y2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCiAjaW5j
bHVkZSAiU3RvcmFnZUFyZWEuaCIKQEAgLTQwNyw2ICs0MDgsNyBAQCBwcml2YXRlOgogICAgIHN0
YXRpYyBJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzRm9yRnJhbWUoRnJh
bWUqKTsKICAgICBzdGF0aWMgSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50
c0ZvckNvbnRleHQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopOwogICAgIHN0YXRpYyBJbnN0cnVt
ZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzRm9yRG9jdW1lbnQoRG9jdW1lbnQqKTsK
KwogI2lmIEVOQUJMRShXT1JLRVJTKQogICAgIHN0YXRpYyBJbnN0cnVtZW50aW5nQWdlbnRzKiBp
bnN0cnVtZW50aW5nQWdlbnRzRm9yV29ya2VyQ29udGV4dChXb3JrZXJDb250ZXh0Kik7CiAgICAg
c3RhdGljIEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHNGb3JOb25Eb2N1
bWVudENvbnRleHQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopOwpAQCAtNDIxLDYgKzQyMywxMyBA
QCBwcml2YXRlOgogI2VuZGlmCiB9OwogCitpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb246OnN0b3BMb3dsZXZlbEluc3BlY3RpbmcoKQoreworI2lmIEVOQUJMRShJTlNQRUNUT1Ip
CisgICAgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6c2V0SW5zdGFuY2UoMCk7CisjZW5kaWYKK30K
KwogaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRDbGVhcldpbmRvd09i
amVjdEluV29ybGQoRnJhbWUqIGZyYW1lLCBET01XcmFwcGVyV29ybGQqIHdvcmxkKQogewogI2lm
IEVOQUJMRShJTlNQRUNUT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yVGltZWxpbmVBZ2VudC5jcHAKaW5kZXggNDcyODJlOTU3MzcxNmYzMzI5YjQwZmQ1YTM2
NzFiMTZjODE4NzMwNC4uN2U2MzExZjRiNTk3NjI0YWY2MjExMDRjOTZmNmMxNjZmNmI3MTc2NSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdl
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFn
ZW50LmNwcApAQCAtNDksNiArNDksNyBAQAogI2luY2x1ZGUgIlRpbWVsaW5lUmVjb3JkRmFjdG9y
eS5oIgogCiAjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CisjaW5jbHVkZSA8d3RmL1RocmVh
ZFNwZWNpZmljLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtOTcsNiArOTgsOCBAQCBz
dGF0aWMgY29uc3QgY2hhciBDYW5jZWxBbmltYXRpb25GcmFtZVtdID0gIkNhbmNlbEFuaW1hdGlv
bkZyYW1lIjsKIHN0YXRpYyBjb25zdCBjaGFyIEZpcmVBbmltYXRpb25GcmFtZVtdID0gIkZpcmVB
bmltYXRpb25GcmFtZSI7CiB9CiAKK1dURjo6VGhyZWFkU3BlY2lmaWM8SW5zcGVjdG9yVGltZWxp
bmVBZ2VudCo+KiBJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpzX2luc3BlY3RvclRpbWVsaW5lQWdl
bnQgPSBuZXcgV1RGOjpUaHJlYWRTcGVjaWZpYzxJbnNwZWN0b3JUaW1lbGluZUFnZW50Kj4oKTsK
Kwogdm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpwdXNoR0NFdmVudFJlY29yZHMoKQogewog
ICAgIGlmICghbV9nY0V2ZW50cy5zaXplKCkpCkBAIC0zMTgsNyArMzIxLDcgQEAgdm9pZCBJbnNw
ZWN0b3JUaW1lbGluZUFnZW50Ojp3aWxsRXZhbHVhdGVTY3JpcHQoY29uc3QgU3RyaW5nJiB1cmws
IGludCBsaW5lTnVtYmUKIHsKICAgICBwdXNoQ3VycmVudFJlY29yZChUaW1lbGluZVJlY29yZEZh
Y3Rvcnk6OmNyZWF0ZUV2YWx1YXRlU2NyaXB0RGF0YSh1cmwsIGxpbmVOdW1iZXIpLCBUaW1lbGlu
ZVJlY29yZFR5cGU6OkV2YWx1YXRlU2NyaXB0LCB0cnVlLCBmcmFtZSk7CiB9Ci0gICAgCisKIHZv
aWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6ZGlkRXZhbHVhdGVTY3JpcHQoKQogewogICAgIGRp
ZENvbXBsZXRlQ3VycmVudFJlY29yZChUaW1lbGluZVJlY29yZFR5cGU6OkV2YWx1YXRlU2NyaXB0
KTsKQEAgLTM1Niw3ICszNTksNyBAQCB2b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmRpZFJl
Y2VpdmVSZXNvdXJjZURhdGEoKQogewogICAgIGRpZENvbXBsZXRlQ3VycmVudFJlY29yZChUaW1l
bGluZVJlY29yZFR5cGU6OlJlc291cmNlUmVjZWl2ZWREYXRhKTsKIH0KLSAgICAKKwogdm9pZCBJ
bnNwZWN0b3JUaW1lbGluZUFnZW50Ojp3aWxsUmVjZWl2ZVJlc291cmNlUmVzcG9uc2UodW5zaWdu
ZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSwgRnJh
bWUqIGZyYW1lKQogewogICAgIFN0cmluZyByZXF1ZXN0SWQgPSBJZGVudGlmaWVyc0ZhY3Rvcnk6
OnJlcXVlc3RJZChpZGVudGlmaWVyKTsKQEAgLTQ3OCw2ICs0ODEsOCBAQCB2b2lkIEluc3BlY3Rv
clRpbWVsaW5lQWdlbnQ6OmRpZENvbXBsZXRlQ3VycmVudFJlY29yZChjb25zdCBTdHJpbmcmIHR5
cGUpCiAgICAgICAgIGVudHJ5LnJlY29yZC0+c2V0TnVtYmVyKCJlbmRUaW1lIiwgdGltZXN0YW1w
KCkpOwogICAgICAgICBhZGRSZWNvcmRUb1RpbWVsaW5lKGVudHJ5LnJlY29yZCwgdHlwZSwgZW50
cnkuZnJhbWVJZCk7CiAgICAgfQorICAgIGlmIChtX3JlY29yZFN0YWNrLmlzRW1wdHkoKSkKKyAg
ICAgICAgc2V0SW5zdGFuY2UoMCk7CiB9CiAKIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6Okluc3Bl
Y3RvclRpbWVsaW5lQWdlbnQoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50
cywgSW5zcGVjdG9yUGFnZUFnZW50KiBwYWdlQWdlbnQsIEluc3BlY3RvclN0YXRlKiBzdGF0ZSwg
SW5zcGVjdG9yVHlwZSB0eXBlLCBJbnNwZWN0b3JDbGllbnQqIGNsaWVudCkKQEAgLTUxMyw2ICs1
MTgsNyBAQCB2b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OnB1c2hDdXJyZW50UmVjb3JkKFBh
c3NSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiBkYXRhLAogICAgIGlmIChmcmFtZSAmJiBtX3BhZ2VB
Z2VudCkKICAgICAgICAgZnJhbWVJZCA9IG1fcGFnZUFnZW50LT5mcmFtZUlkKGZyYW1lKTsKICAg
ICBtX3JlY29yZFN0YWNrLmFwcGVuZChUaW1lbGluZVJlY29yZEVudHJ5KHJlY29yZC5yZWxlYXNl
KCksIGRhdGEsIEluc3BlY3RvckFycmF5OjpjcmVhdGUoKSwgdHlwZSwgZnJhbWVJZCkpOworICAg
IHNldEluc3RhbmNlKHRoaXMpOwogfQogCiB2b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OnB1
c2hDYW5jZWxhYmxlUmVjb3JkKFBhc3NSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiBkYXRhLCBjb25z
dCBTdHJpbmcmIHR5cGUsIEZyYW1lKiBmcmFtZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oCmluZGV4IDk0YzdmY2FlZTM4NmVjZDBmMjJm
MjdlZWIxZDdhNWY5MWZmN2YzMTguLjFiMTUxNzM5ZTY5MzIwMzJmNzQ4MDJlZTk0OTk4MDYzZmRh
Y2M3YTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1l
bGluZUFnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVs
aW5lQWdlbnQuaApAQCAtNDAsNiArNDAsNyBAQAogI2luY2x1ZGUgIlNjcmlwdEdDRXZlbnQuaCIK
ICNpbmNsdWRlICJTY3JpcHRHQ0V2ZW50TGlzdGVuZXIuaCIKICNpbmNsdWRlIDx3dGYvUGFzc093
blB0ci5oPgorI2luY2x1ZGUgPHd0Zi9UaHJlYWRTcGVjaWZpYy5oPgogI2luY2x1ZGUgPHd0Zi9W
ZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMTQzLDYgKzE0NCw5IEBAIHB1Ymxp
YzoKICAgICB2b2lkIHdpbGxQcm9jZXNzVGFzaygpOwogICAgIHZvaWQgZGlkUHJvY2Vzc1Rhc2so
KTsKIAorICAgIHN0YXRpYyBJbnNwZWN0b3JUaW1lbGluZUFnZW50KiBpbnN0YW5jZSgpIHsgcmV0
dXJuICoqc19pbnNwZWN0b3JUaW1lbGluZUFnZW50OyB9CisgICAgc3RhdGljIHZvaWQgc2V0SW5z
dGFuY2UoSW5zcGVjdG9yVGltZWxpbmVBZ2VudCogaW5zcGVjdG9yVGltZWxpbmVBZ2VudCkgeyAq
KnNfaW5zcGVjdG9yVGltZWxpbmVBZ2VudCA9IGluc3BlY3RvclRpbWVsaW5lQWdlbnQ7IH0KKwog
cHJpdmF0ZToKICAgICBzdHJ1Y3QgVGltZWxpbmVSZWNvcmRFbnRyeSB7CiAgICAgICAgIFRpbWVs
aW5lUmVjb3JkRW50cnkoUGFzc1JlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IHJlY29yZCwgUGFzc1Jl
ZlB0cjxJbnNwZWN0b3JPYmplY3Q+IGRhdGEsIFBhc3NSZWZQdHI8SW5zcGVjdG9yQXJyYXk+IGNo
aWxkcmVuLCBjb25zdCBTdHJpbmcmIHR5cGUsIGNvbnN0IFN0cmluZyYgZnJhbWVJZCwgYm9vbCBj
YW5jZWxhYmxlID0gZmFsc2UpCkBAIC0xNTYsMTIgKzE2MCwxMiBAQCBwcml2YXRlOgogICAgICAg
ICBTdHJpbmcgZnJhbWVJZDsKICAgICAgICAgYm9vbCBjYW5jZWxhYmxlOwogICAgIH07Ci0gICAg
ICAgIAorCiAgICAgSW5zcGVjdG9yVGltZWxpbmVBZ2VudChJbnN0cnVtZW50aW5nQWdlbnRzKiwg
SW5zcGVjdG9yUGFnZUFnZW50KiwgSW5zcGVjdG9yU3RhdGUqLCBJbnNwZWN0b3JUeXBlLCBJbnNw
ZWN0b3JDbGllbnQqKTsKIAogICAgIHZvaWQgcHVzaEN1cnJlbnRSZWNvcmQoUGFzc1JlZlB0cjxJ
bnNwZWN0b3JPYmplY3Q+LCBjb25zdCBTdHJpbmcmIHR5cGUsIGJvb2wgY2FwdHVyZUNhbGxTdGFj
aywgRnJhbWUqKTsKICAgICB2b2lkIHNldEhlYXBTaXplU3RhdGlzdGljKEluc3BlY3Rvck9iamVj
dCogcmVjb3JkKTsKLSAgICAgICAgCisKICAgICB2b2lkIGRpZENvbXBsZXRlQ3VycmVudFJlY29y
ZChjb25zdCBTdHJpbmcmIHR5cGUpOwogICAgIHZvaWQgYXBwZW5kUmVjb3JkKFBhc3NSZWZQdHI8
SW5zcGVjdG9yT2JqZWN0PiBkYXRhLCBjb25zdCBTdHJpbmcmIHR5cGUsIGJvb2wgY2FwdHVyZUNh
bGxTdGFjaywgRnJhbWUqKTsKICAgICB2b2lkIHB1c2hDYW5jZWxhYmxlUmVjb3JkKFBhc3NSZWZQ
dHI8SW5zcGVjdG9yT2JqZWN0PiwgY29uc3QgU3RyaW5nJiB0eXBlLCBGcmFtZSopOwpAQCAtMTc2
LDYgKzE4MCw4IEBAIHByaXZhdGU6CiAgICAgZG91YmxlIHRpbWVzdGFtcCgpOwogICAgIGRvdWJs
ZSB0aW1lc3RhbXBGcm9tTWljcm9zZWNvbmRzKGRvdWJsZSBtaWNyb3NlY29uZHMpOwogCisgICAg
c3RhdGljIFdURjo6VGhyZWFkU3BlY2lmaWM8SW5zcGVjdG9yVGltZWxpbmVBZ2VudCo+KiBzX2lu
c3BlY3RvclRpbWVsaW5lQWdlbnQ7CisKICAgICBJbnNwZWN0b3JQYWdlQWdlbnQqIG1fcGFnZUFn
ZW50OwogCiAgICAgSW5zcGVjdG9yRnJvbnRlbmQ6OlRpbWVsaW5lKiBtX2Zyb250ZW5kOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>150145</attachid>
            <date>2012-06-29 05:11:17 -0700</date>
            <delta_ts>2012-06-29 06:53:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90264-20120629161116.patch</filename>
            <type>text/plain</type>
            <size>6798</size>
            <attacher name="Sergey Rogulenko">rogulenko</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIxNDMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2ZhMjE0NDQ1YjliZjQ1
MjJjMDc1MjJjODlhZTc3OGZiODFjZjE1Ni4uM2U5ZTkxODk1ZjNjZmJlZWViYTY3OWNhMTAzMGJm
NjRiZWE0NmIxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEyLTA2LTI5ICBTZXJn
ZXkgUm9ndWxlbmtvICA8cm9ndWxlbmtvQGdvb2dsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3Bl
Y3RvcjogYWRkZWQgbG93LWxldmVsIGluc3RydW1lbnRhdGlvbiBzdXBwb3J0IGZvciBUaW1lbGlu
ZUFnZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05
MDI2NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
aW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnN0YXJ0TG93bGV2ZWxJbnNwZWN0aW5nRm9yRnJh
bWUpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rvcklu
c3RydW1lbnRhdGlvbi5oOgorICAgICAgICAoSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uKToKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6c3RvcExvd2xldmVsSW5z
cGVjdGluZyk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVj
dG9yVGltZWxpbmVBZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBpbnNw
ZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVj
dG9yVGltZWxpbmVBZ2VudDo6aW5zdGFuY2UpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9y
VGltZWxpbmVBZ2VudDo6c2V0SW5zdGFuY2UpOgorICAgICAgICAoSW5zcGVjdG9yVGltZWxpbmVB
Z2VudCk6CisKIDIwMTItMDYtMjggIEJhbGF6cyBLZWxlbWVuICA8a2JhbGF6c0B3ZWJraXQub3Jn
PgogCiAgICAgICAgIFtRdF0gcGx1Z2luIGlzIGxvYWRlZCB0byB0aGUgd2ViIHByb2Nlc3Mgdmlh
IE1haW5SZXNvdXJjZUxvYWRlcjo6c3Vic3RpdHV0ZU1JTUVUeXBlRnJvbVBsdWdpbkRhdGFiYXNl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uLmgKaW5kZXggMWQ3OWYyNDIzNzhlM2ViYzlmNzY0YjM5NWVhZjk3YmM2NmE3MzJiNy4uOWI5
N2ViNjA5OTFlMjdmMmM4YzU0MDhmOThlYmZhMzBlYzU5NzYxOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaApAQCAtMzYsNiAr
MzYsNyBAQAogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRWxlbWVudC5oIgogI2lu
Y2x1ZGUgIkZyYW1lLmgiCisjaW5jbHVkZSAiSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oIgogI2lu
Y2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCiAjaW5j
bHVkZSAiU3RvcmFnZUFyZWEuaCIKQEAgLTQwNyw2ICs0MDgsNyBAQCBwcml2YXRlOgogICAgIHN0
YXRpYyBJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzRm9yRnJhbWUoRnJh
bWUqKTsKICAgICBzdGF0aWMgSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50
c0ZvckNvbnRleHQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopOwogICAgIHN0YXRpYyBJbnN0cnVt
ZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzRm9yRG9jdW1lbnQoRG9jdW1lbnQqKTsK
KwogI2lmIEVOQUJMRShXT1JLRVJTKQogICAgIHN0YXRpYyBJbnN0cnVtZW50aW5nQWdlbnRzKiBp
bnN0cnVtZW50aW5nQWdlbnRzRm9yV29ya2VyQ29udGV4dChXb3JrZXJDb250ZXh0Kik7CiAgICAg
c3RhdGljIEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHNGb3JOb25Eb2N1
bWVudENvbnRleHQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwCmluZGV4IDQ3MjgyZTk1
NzM3MTZmMzMyOWI0MGZkNWEzNjcxYjE2YzgxODczMDQuLjdlNjMxMWY0YjU5NzYyNGFmNjIxMTA0
Yzk2ZjZjMTY2ZjZiNzE3NjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAKQEAgLTQ5LDYgKzQ5LDcgQEAKICNpbmNsdWRlICJU
aW1lbGluZVJlY29yZEZhY3RvcnkuaCIKIAogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgor
I2luY2x1ZGUgPHd0Zi9UaHJlYWRTcGVjaWZpYy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
QEAgLTk3LDYgKzk4LDggQEAgc3RhdGljIGNvbnN0IGNoYXIgQ2FuY2VsQW5pbWF0aW9uRnJhbWVb
XSA9ICJDYW5jZWxBbmltYXRpb25GcmFtZSI7CiBzdGF0aWMgY29uc3QgY2hhciBGaXJlQW5pbWF0
aW9uRnJhbWVbXSA9ICJGaXJlQW5pbWF0aW9uRnJhbWUiOwogfQogCitXVEY6OlRocmVhZFNwZWNp
ZmljPEluc3BlY3RvclRpbWVsaW5lQWdlbnQqPiogSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6c19p
bnNwZWN0b3JUaW1lbGluZUFnZW50ID0gbmV3IFdURjo6VGhyZWFkU3BlY2lmaWM8SW5zcGVjdG9y
VGltZWxpbmVBZ2VudCo+KCk7CisKIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6cHVzaEdD
RXZlbnRSZWNvcmRzKCkKIHsKICAgICBpZiAoIW1fZ2NFdmVudHMuc2l6ZSgpKQpAQCAtMzE4LDcg
KzMyMSw3IEBAIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6d2lsbEV2YWx1YXRlU2NyaXB0
KGNvbnN0IFN0cmluZyYgdXJsLCBpbnQgbGluZU51bWJlCiB7CiAgICAgcHVzaEN1cnJlbnRSZWNv
cmQoVGltZWxpbmVSZWNvcmRGYWN0b3J5OjpjcmVhdGVFdmFsdWF0ZVNjcmlwdERhdGEodXJsLCBs
aW5lTnVtYmVyKSwgVGltZWxpbmVSZWNvcmRUeXBlOjpFdmFsdWF0ZVNjcmlwdCwgdHJ1ZSwgZnJh
bWUpOwogfQotICAgIAorCiB2b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmRpZEV2YWx1YXRl
U2NyaXB0KCkKIHsKICAgICBkaWRDb21wbGV0ZUN1cnJlbnRSZWNvcmQoVGltZWxpbmVSZWNvcmRU
eXBlOjpFdmFsdWF0ZVNjcmlwdCk7CkBAIC0zNTYsNyArMzU5LDcgQEAgdm9pZCBJbnNwZWN0b3JU
aW1lbGluZUFnZW50OjpkaWRSZWNlaXZlUmVzb3VyY2VEYXRhKCkKIHsKICAgICBkaWRDb21wbGV0
ZUN1cnJlbnRSZWNvcmQoVGltZWxpbmVSZWNvcmRUeXBlOjpSZXNvdXJjZVJlY2VpdmVkRGF0YSk7
CiB9Ci0gICAgCisKIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6d2lsbFJlY2VpdmVSZXNv
dXJjZVJlc3BvbnNlKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgUmVzb3VyY2VSZXNw
b25zZSYgcmVzcG9uc2UsIEZyYW1lKiBmcmFtZSkKIHsKICAgICBTdHJpbmcgcmVxdWVzdElkID0g
SWRlbnRpZmllcnNGYWN0b3J5OjpyZXF1ZXN0SWQoaWRlbnRpZmllcik7CkBAIC00NzgsNiArNDgx
LDggQEAgdm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpkaWRDb21wbGV0ZUN1cnJlbnRSZWNv
cmQoY29uc3QgU3RyaW5nJiB0eXBlKQogICAgICAgICBlbnRyeS5yZWNvcmQtPnNldE51bWJlcigi
ZW5kVGltZSIsIHRpbWVzdGFtcCgpKTsKICAgICAgICAgYWRkUmVjb3JkVG9UaW1lbGluZShlbnRy
eS5yZWNvcmQsIHR5cGUsIGVudHJ5LmZyYW1lSWQpOwogICAgIH0KKyAgICBpZiAobV9yZWNvcmRT
dGFjay5pc0VtcHR5KCkpCisgICAgICAgIHNldEluc3RhbmNlKDApOwogfQogCiBJbnNwZWN0b3JU
aW1lbGluZUFnZW50OjpJbnNwZWN0b3JUaW1lbGluZUFnZW50KEluc3RydW1lbnRpbmdBZ2VudHMq
IGluc3RydW1lbnRpbmdBZ2VudHMsIEluc3BlY3RvclBhZ2VBZ2VudCogcGFnZUFnZW50LCBJbnNw
ZWN0b3JTdGF0ZSogc3RhdGUsIEluc3BlY3RvclR5cGUgdHlwZSwgSW5zcGVjdG9yQ2xpZW50KiBj
bGllbnQpCkBAIC01MTMsNiArNTE4LDcgQEAgdm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50Ojpw
dXNoQ3VycmVudFJlY29yZChQYXNzUmVmUHRyPEluc3BlY3Rvck9iamVjdD4gZGF0YSwKICAgICBp
ZiAoZnJhbWUgJiYgbV9wYWdlQWdlbnQpCiAgICAgICAgIGZyYW1lSWQgPSBtX3BhZ2VBZ2VudC0+
ZnJhbWVJZChmcmFtZSk7CiAgICAgbV9yZWNvcmRTdGFjay5hcHBlbmQoVGltZWxpbmVSZWNvcmRF
bnRyeShyZWNvcmQucmVsZWFzZSgpLCBkYXRhLCBJbnNwZWN0b3JBcnJheTo6Y3JlYXRlKCksIHR5
cGUsIGZyYW1lSWQpKTsKKyAgICBzZXRJbnN0YW5jZSh0aGlzKTsKIH0KIAogdm9pZCBJbnNwZWN0
b3JUaW1lbGluZUFnZW50OjpwdXNoQ2FuY2VsYWJsZVJlY29yZChQYXNzUmVmUHRyPEluc3BlY3Rv
ck9iamVjdD4gZGF0YSwgY29uc3QgU3RyaW5nJiB0eXBlLCBGcmFtZSogZnJhbWUpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaAppbmRleCA5
NGM3ZmNhZWUzODZlY2QwZjIyZjI3ZWViMWQ3YTVmOTFmZjdmMzE4Li4xYjE1MTczOWU2OTMyMDMy
Zjc0ODAyZWU5NDk5ODA2M2ZkYWNjN2EwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmgKQEAgLTQwLDYgKzQwLDcgQEAKICNpbmNsdWRl
ICJTY3JpcHRHQ0V2ZW50LmgiCiAjaW5jbHVkZSAiU2NyaXB0R0NFdmVudExpc3RlbmVyLmgiCiAj
aW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KKyNpbmNsdWRlIDx3dGYvVGhyZWFkU3BlY2lmaWMu
aD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTE0
Myw2ICsxNDQsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCB3aWxsUHJvY2Vzc1Rhc2soKTsKICAgICB2
b2lkIGRpZFByb2Nlc3NUYXNrKCk7CiAKKyAgICBzdGF0aWMgSW5zcGVjdG9yVGltZWxpbmVBZ2Vu
dCogaW5zdGFuY2UoKSB7IHJldHVybiAqKnNfaW5zcGVjdG9yVGltZWxpbmVBZ2VudDsgfQorICAg
IHN0YXRpYyB2b2lkIHNldEluc3RhbmNlKEluc3BlY3RvclRpbWVsaW5lQWdlbnQqIGluc3BlY3Rv
clRpbWVsaW5lQWdlbnQpIHsgKipzX2luc3BlY3RvclRpbWVsaW5lQWdlbnQgPSBpbnNwZWN0b3JU
aW1lbGluZUFnZW50OyB9CisKIHByaXZhdGU6CiAgICAgc3RydWN0IFRpbWVsaW5lUmVjb3JkRW50
cnkgewogICAgICAgICBUaW1lbGluZVJlY29yZEVudHJ5KFBhc3NSZWZQdHI8SW5zcGVjdG9yT2Jq
ZWN0PiByZWNvcmQsIFBhc3NSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiBkYXRhLCBQYXNzUmVmUHRy
PEluc3BlY3RvckFycmF5PiBjaGlsZHJlbiwgY29uc3QgU3RyaW5nJiB0eXBlLCBjb25zdCBTdHJp
bmcmIGZyYW1lSWQsIGJvb2wgY2FuY2VsYWJsZSA9IGZhbHNlKQpAQCAtMTU2LDEyICsxNjAsMTIg
QEAgcHJpdmF0ZToKICAgICAgICAgU3RyaW5nIGZyYW1lSWQ7CiAgICAgICAgIGJvb2wgY2FuY2Vs
YWJsZTsKICAgICB9OwotICAgICAgICAKKwogICAgIEluc3BlY3RvclRpbWVsaW5lQWdlbnQoSW5z
dHJ1bWVudGluZ0FnZW50cyosIEluc3BlY3RvclBhZ2VBZ2VudCosIEluc3BlY3RvclN0YXRlKiwg
SW5zcGVjdG9yVHlwZSwgSW5zcGVjdG9yQ2xpZW50Kik7CiAKICAgICB2b2lkIHB1c2hDdXJyZW50
UmVjb3JkKFBhc3NSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiwgY29uc3QgU3RyaW5nJiB0eXBlLCBi
b29sIGNhcHR1cmVDYWxsU3RhY2ssIEZyYW1lKik7CiAgICAgdm9pZCBzZXRIZWFwU2l6ZVN0YXRp
c3RpYyhJbnNwZWN0b3JPYmplY3QqIHJlY29yZCk7Ci0gICAgICAgIAorCiAgICAgdm9pZCBkaWRD
b21wbGV0ZUN1cnJlbnRSZWNvcmQoY29uc3QgU3RyaW5nJiB0eXBlKTsKICAgICB2b2lkIGFwcGVu
ZFJlY29yZChQYXNzUmVmUHRyPEluc3BlY3Rvck9iamVjdD4gZGF0YSwgY29uc3QgU3RyaW5nJiB0
eXBlLCBib29sIGNhcHR1cmVDYWxsU3RhY2ssIEZyYW1lKik7CiAgICAgdm9pZCBwdXNoQ2FuY2Vs
YWJsZVJlY29yZChQYXNzUmVmUHRyPEluc3BlY3Rvck9iamVjdD4sIGNvbnN0IFN0cmluZyYgdHlw
ZSwgRnJhbWUqKTsKQEAgLTE3Niw2ICsxODAsOCBAQCBwcml2YXRlOgogICAgIGRvdWJsZSB0aW1l
c3RhbXAoKTsKICAgICBkb3VibGUgdGltZXN0YW1wRnJvbU1pY3Jvc2Vjb25kcyhkb3VibGUgbWlj
cm9zZWNvbmRzKTsKIAorICAgIHN0YXRpYyBXVEY6OlRocmVhZFNwZWNpZmljPEluc3BlY3RvclRp
bWVsaW5lQWdlbnQqPiogc19pbnNwZWN0b3JUaW1lbGluZUFnZW50OworCiAgICAgSW5zcGVjdG9y
UGFnZUFnZW50KiBtX3BhZ2VBZ2VudDsKIAogICAgIEluc3BlY3RvckZyb250ZW5kOjpUaW1lbGlu
ZSogbV9mcm9udGVuZDsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>150169</attachid>
            <date>2012-06-29 06:53:24 -0700</date>
            <delta_ts>2012-06-29 07:55:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90264-20120629175322.patch</filename>
            <type>text/plain</type>
            <size>6634</size>
            <attacher name="Sergey Rogulenko">rogulenko</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIxNDMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2ZhMjE0NDQ1YjliZjQ1
MjJjMDc1MjJjODlhZTc3OGZiODFjZjE1Ni4uM2U5ZTkxODk1ZjNjZmJlZWViYTY3OWNhMTAzMGJm
NjRiZWE0NmIxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEyLTA2LTI5ICBTZXJn
ZXkgUm9ndWxlbmtvICA8cm9ndWxlbmtvQGdvb2dsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3Bl
Y3RvcjogYWRkZWQgbG93LWxldmVsIGluc3RydW1lbnRhdGlvbiBzdXBwb3J0IGZvciBUaW1lbGlu
ZUFnZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05
MDI2NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
aW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnN0YXJ0TG93bGV2ZWxJbnNwZWN0aW5nRm9yRnJh
bWUpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rvcklu
c3RydW1lbnRhdGlvbi5oOgorICAgICAgICAoSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uKToKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6c3RvcExvd2xldmVsSW5z
cGVjdGluZyk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVj
dG9yVGltZWxpbmVBZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBpbnNw
ZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVj
dG9yVGltZWxpbmVBZ2VudDo6aW5zdGFuY2UpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9y
VGltZWxpbmVBZ2VudDo6c2V0SW5zdGFuY2UpOgorICAgICAgICAoSW5zcGVjdG9yVGltZWxpbmVB
Z2VudCk6CisKIDIwMTItMDYtMjggIEJhbGF6cyBLZWxlbWVuICA8a2JhbGF6c0B3ZWJraXQub3Jn
PgogCiAgICAgICAgIFtRdF0gcGx1Z2luIGlzIGxvYWRlZCB0byB0aGUgd2ViIHByb2Nlc3Mgdmlh
IE1haW5SZXNvdXJjZUxvYWRlcjo6c3Vic3RpdHV0ZU1JTUVUeXBlRnJvbVBsdWdpbkRhdGFiYXNl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uLmgKaW5kZXggMWQ3OWYyNDIzNzhlM2ViYzlmNzY0YjM5NWVhZjk3YmM2NmE3MzJiNy4uMjky
MjliNzRmODlkNzUzNTdhODM3MmE0YjJhZWU1OGQ2N2YzZmZlMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaApAQCAtNDA3LDYg
KzQwNyw3IEBAIHByaXZhdGU6CiAgICAgc3RhdGljIEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3Ry
dW1lbnRpbmdBZ2VudHNGb3JGcmFtZShGcmFtZSopOwogICAgIHN0YXRpYyBJbnN0cnVtZW50aW5n
QWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzRm9yQ29udGV4dChTY3JpcHRFeGVjdXRpb25Db250
ZXh0Kik7CiAgICAgc3RhdGljIEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2Vu
dHNGb3JEb2N1bWVudChEb2N1bWVudCopOworCiAjaWYgRU5BQkxFKFdPUktFUlMpCiAgICAgc3Rh
dGljIEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHNGb3JXb3JrZXJDb250
ZXh0KFdvcmtlckNvbnRleHQqKTsKICAgICBzdGF0aWMgSW5zdHJ1bWVudGluZ0FnZW50cyogaW5z
dHJ1bWVudGluZ0FnZW50c0Zvck5vbkRvY3VtZW50Q29udGV4dChTY3JpcHRFeGVjdXRpb25Db250
ZXh0Kik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGlt
ZWxpbmVBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxp
bmVBZ2VudC5jcHAKaW5kZXggNDcyODJlOTU3MzcxNmYzMzI5YjQwZmQ1YTM2NzFiMTZjODE4NzMw
NC4uZGE0ZmVhOTI5ZWJhYjRlOWE2ZmU1YjFmYWJiY2Q0Y2ExOTNiZTY0NiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcApAQCAt
NDksNiArNDksNyBAQAogI2luY2x1ZGUgIlRpbWVsaW5lUmVjb3JkRmFjdG9yeS5oIgogCiAjaW5j
bHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CisjaW5jbHVkZSA8d3RmL1RocmVhZFNwZWNpZmljLmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtOTcsNiArOTgsMTIgQEAgc3RhdGljIGNvbnN0
IGNoYXIgQ2FuY2VsQW5pbWF0aW9uRnJhbWVbXSA9ICJDYW5jZWxBbmltYXRpb25GcmFtZSI7CiBz
dGF0aWMgY29uc3QgY2hhciBGaXJlQW5pbWF0aW9uRnJhbWVbXSA9ICJGaXJlQW5pbWF0aW9uRnJh
bWUiOwogfQogCitXVEY6OlRocmVhZFNwZWNpZmljPEluc3BlY3RvclRpbWVsaW5lQWdlbnQqPiog
SW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6VGhyZWFkU3BlY2lmaWNJbnN0YW5jZSgpCit7CisgICAg
QXRvbWljYWxseUluaXRpYWxpemVkU3RhdGljKFdURjo6VGhyZWFkU3BlY2lmaWM8SW5zcGVjdG9y
VGltZWxpbmVBZ2VudCo+KiwgaW5zdGFuY2UgPSBuZXcgV1RGOjpUaHJlYWRTcGVjaWZpYzxJbnNw
ZWN0b3JUaW1lbGluZUFnZW50Kj4oKSk7CisgICAgcmV0dXJuIGluc3RhbmNlOworfQorCiB2b2lk
IEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OnB1c2hHQ0V2ZW50UmVjb3JkcygpCiB7CiAgICAgaWYg
KCFtX2djRXZlbnRzLnNpemUoKSkKQEAgLTMxOCw3ICszMjUsNyBAQCB2b2lkIEluc3BlY3RvclRp
bWVsaW5lQWdlbnQ6OndpbGxFdmFsdWF0ZVNjcmlwdChjb25zdCBTdHJpbmcmIHVybCwgaW50IGxp
bmVOdW1iZQogewogICAgIHB1c2hDdXJyZW50UmVjb3JkKFRpbWVsaW5lUmVjb3JkRmFjdG9yeTo6
Y3JlYXRlRXZhbHVhdGVTY3JpcHREYXRhKHVybCwgbGluZU51bWJlciksIFRpbWVsaW5lUmVjb3Jk
VHlwZTo6RXZhbHVhdGVTY3JpcHQsIHRydWUsIGZyYW1lKTsKIH0KLSAgICAKKwogdm9pZCBJbnNw
ZWN0b3JUaW1lbGluZUFnZW50OjpkaWRFdmFsdWF0ZVNjcmlwdCgpCiB7CiAgICAgZGlkQ29tcGxl
dGVDdXJyZW50UmVjb3JkKFRpbWVsaW5lUmVjb3JkVHlwZTo6RXZhbHVhdGVTY3JpcHQpOwpAQCAt
MzU2LDcgKzM2Myw3IEBAIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6ZGlkUmVjZWl2ZVJl
c291cmNlRGF0YSgpCiB7CiAgICAgZGlkQ29tcGxldGVDdXJyZW50UmVjb3JkKFRpbWVsaW5lUmVj
b3JkVHlwZTo6UmVzb3VyY2VSZWNlaXZlZERhdGEpOwogfQotICAgIAorCiB2b2lkIEluc3BlY3Rv
clRpbWVsaW5lQWdlbnQ6OndpbGxSZWNlaXZlUmVzb3VyY2VSZXNwb25zZSh1bnNpZ25lZCBsb25n
IGlkZW50aWZpZXIsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBGcmFtZSogZnJh
bWUpCiB7CiAgICAgU3RyaW5nIHJlcXVlc3RJZCA9IElkZW50aWZpZXJzRmFjdG9yeTo6cmVxdWVz
dElkKGlkZW50aWZpZXIpOwpAQCAtNDc4LDYgKzQ4NSw4IEBAIHZvaWQgSW5zcGVjdG9yVGltZWxp
bmVBZ2VudDo6ZGlkQ29tcGxldGVDdXJyZW50UmVjb3JkKGNvbnN0IFN0cmluZyYgdHlwZSkKICAg
ICAgICAgZW50cnkucmVjb3JkLT5zZXROdW1iZXIoImVuZFRpbWUiLCB0aW1lc3RhbXAoKSk7CiAg
ICAgICAgIGFkZFJlY29yZFRvVGltZWxpbmUoZW50cnkucmVjb3JkLCB0eXBlLCBlbnRyeS5mcmFt
ZUlkKTsKICAgICB9CisgICAgaWYgKG1fcmVjb3JkU3RhY2suaXNFbXB0eSgpKQorICAgICAgICBz
ZXRJbnN0YW5jZSgwKTsKIH0KIAogSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6SW5zcGVjdG9yVGlt
ZWxpbmVBZ2VudChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzLCBJbnNw
ZWN0b3JQYWdlQWdlbnQqIHBhZ2VBZ2VudCwgSW5zcGVjdG9yU3RhdGUqIHN0YXRlLCBJbnNwZWN0
b3JUeXBlIHR5cGUsIEluc3BlY3RvckNsaWVudCogY2xpZW50KQpAQCAtNTEzLDYgKzUyMiw3IEBA
IHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6cHVzaEN1cnJlbnRSZWNvcmQoUGFzc1JlZlB0
cjxJbnNwZWN0b3JPYmplY3Q+IGRhdGEsCiAgICAgaWYgKGZyYW1lICYmIG1fcGFnZUFnZW50KQog
ICAgICAgICBmcmFtZUlkID0gbV9wYWdlQWdlbnQtPmZyYW1lSWQoZnJhbWUpOwogICAgIG1fcmVj
b3JkU3RhY2suYXBwZW5kKFRpbWVsaW5lUmVjb3JkRW50cnkocmVjb3JkLnJlbGVhc2UoKSwgZGF0
YSwgSW5zcGVjdG9yQXJyYXk6OmNyZWF0ZSgpLCB0eXBlLCBmcmFtZUlkKSk7CisgICAgc2V0SW5z
dGFuY2UodGhpcyk7CiB9CiAKIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6cHVzaENhbmNl
bGFibGVSZWNvcmQoUGFzc1JlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IGRhdGEsIGNvbnN0IFN0cmlu
ZyYgdHlwZSwgRnJhbWUqIGZyYW1lKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JUaW1lbGluZUFnZW50LmgKaW5kZXggOTRjN2ZjYWVlMzg2ZWNkMGYyMmYyN2VlYjFk
N2E1ZjkxZmY3ZjMxOC4uNzUwZWMwNjlhZGY5NDEyMjZkYmFiZDQzZGUxNDk5OWIxNjIxNjk2MyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdl
bnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2Vu
dC5oCkBAIC00MCw2ICs0MCw3IEBACiAjaW5jbHVkZSAiU2NyaXB0R0NFdmVudC5oIgogI2luY2x1
ZGUgIlNjcmlwdEdDRXZlbnRMaXN0ZW5lci5oIgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+
CisjaW5jbHVkZSA8d3RmL1RocmVhZFNwZWNpZmljLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0xNDMsNyArMTQ0LDEyIEBAIHB1YmxpYzoKICAg
ICB2b2lkIHdpbGxQcm9jZXNzVGFzaygpOwogICAgIHZvaWQgZGlkUHJvY2Vzc1Rhc2soKTsKIAor
ICAgIHN0YXRpYyBJbnNwZWN0b3JUaW1lbGluZUFnZW50KiBpbnN0YW5jZSgpIHsgcmV0dXJuICoq
VGhyZWFkU3BlY2lmaWNJbnN0YW5jZSgpOyB9CisgICAgc3RhdGljIHZvaWQgc2V0SW5zdGFuY2Uo
SW5zcGVjdG9yVGltZWxpbmVBZ2VudCogaW5zcGVjdG9yVGltZWxpbmVBZ2VudCkgeyAqKlRocmVh
ZFNwZWNpZmljSW5zdGFuY2UoKSA9IGluc3BlY3RvclRpbWVsaW5lQWdlbnQ7IH0KKwogcHJpdmF0
ZToKKyAgICBzdGF0aWMgV1RGOjpUaHJlYWRTcGVjaWZpYzxJbnNwZWN0b3JUaW1lbGluZUFnZW50
Kj4qIFRocmVhZFNwZWNpZmljSW5zdGFuY2UoKTsKKyAgICAKICAgICBzdHJ1Y3QgVGltZWxpbmVS
ZWNvcmRFbnRyeSB7CiAgICAgICAgIFRpbWVsaW5lUmVjb3JkRW50cnkoUGFzc1JlZlB0cjxJbnNw
ZWN0b3JPYmplY3Q+IHJlY29yZCwgUGFzc1JlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IGRhdGEsIFBh
c3NSZWZQdHI8SW5zcGVjdG9yQXJyYXk+IGNoaWxkcmVuLCBjb25zdCBTdHJpbmcmIHR5cGUsIGNv
bnN0IFN0cmluZyYgZnJhbWVJZCwgYm9vbCBjYW5jZWxhYmxlID0gZmFsc2UpCiAgICAgICAgICAg
ICA6IHJlY29yZChyZWNvcmQpLCBkYXRhKGRhdGEpLCBjaGlsZHJlbihjaGlsZHJlbiksIHR5cGUo
dHlwZSksIGZyYW1lSWQoZnJhbWVJZCksIGNhbmNlbGFibGUoY2FuY2VsYWJsZSkKQEAgLTE1Niwx
MiArMTYyLDEyIEBAIHByaXZhdGU6CiAgICAgICAgIFN0cmluZyBmcmFtZUlkOwogICAgICAgICBi
b29sIGNhbmNlbGFibGU7CiAgICAgfTsKLSAgICAgICAgCisKICAgICBJbnNwZWN0b3JUaW1lbGlu
ZUFnZW50KEluc3RydW1lbnRpbmdBZ2VudHMqLCBJbnNwZWN0b3JQYWdlQWdlbnQqLCBJbnNwZWN0
b3JTdGF0ZSosIEluc3BlY3RvclR5cGUsIEluc3BlY3RvckNsaWVudCopOwogCiAgICAgdm9pZCBw
dXNoQ3VycmVudFJlY29yZChQYXNzUmVmUHRyPEluc3BlY3Rvck9iamVjdD4sIGNvbnN0IFN0cmlu
ZyYgdHlwZSwgYm9vbCBjYXB0dXJlQ2FsbFN0YWNrLCBGcmFtZSopOwogICAgIHZvaWQgc2V0SGVh
cFNpemVTdGF0aXN0aWMoSW5zcGVjdG9yT2JqZWN0KiByZWNvcmQpOwotICAgICAgICAKKwogICAg
IHZvaWQgZGlkQ29tcGxldGVDdXJyZW50UmVjb3JkKGNvbnN0IFN0cmluZyYgdHlwZSk7CiAgICAg
dm9pZCBhcHBlbmRSZWNvcmQoUGFzc1JlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IGRhdGEsIGNvbnN0
IFN0cmluZyYgdHlwZSwgYm9vbCBjYXB0dXJlQ2FsbFN0YWNrLCBGcmFtZSopOwogICAgIHZvaWQg
cHVzaENhbmNlbGFibGVSZWNvcmQoUGFzc1JlZlB0cjxJbnNwZWN0b3JPYmplY3Q+LCBjb25zdCBT
dHJpbmcmIHR5cGUsIEZyYW1lKik7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>150178</attachid>
            <date>2012-06-29 07:48:28 -0700</date>
            <delta_ts>2012-07-03 02:45:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90264-20120629184827.patch</filename>
            <type>text/plain</type>
            <size>5674</size>
            <attacher name="Sergey Rogulenko">rogulenko</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIxNDMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2ZhMjE0NDQ1YjliZjQ1
MjJjMDc1MjJjODlhZTc3OGZiODFjZjE1Ni4uMzEwZTMxNWEzM2IwYTNiNzk0Mzg2OGU2ZjI3MmM0
MzJjYWMzYTk1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEyLTA2LTI5ICBTZXJn
ZXkgUm9ndWxlbmtvICA8cm9ndWxlbmtvQGdvb2dsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3Bl
Y3RvcjogYWRkZWQgbG93LWxldmVsIGluc3RydW1lbnRhdGlvbiBzdXBwb3J0IGZvciBUaW1lbGlu
ZUFnZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05
MDI2NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
aW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6dGhyZWFkU3BlY2lmaWNJbnN0YW5jZSk6CisgICAgICAg
IChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmRp
ZENvbXBsZXRlQ3VycmVudFJlY29yZCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JUaW1l
bGluZUFnZW50OjpwdXNoQ3VycmVudFJlY29yZCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3Bl
Y3RvclRpbWVsaW5lQWdlbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclRpbWVsaW5l
QWdlbnQ6Omluc3RhbmNlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclRpbWVsaW5lQWdl
bnQ6OnNldEluc3RhbmNlKToKKyAgICAgICAgKEluc3BlY3RvclRpbWVsaW5lQWdlbnQpOgorCiAy
MDEyLTA2LTI4ICBCYWxhenMgS2VsZW1lbiAgPGtiYWxhenNAd2Via2l0Lm9yZz4KIAogICAgICAg
ICBbUXRdIHBsdWdpbiBpcyBsb2FkZWQgdG8gdGhlIHdlYiBwcm9jZXNzIHZpYSBNYWluUmVzb3Vy
Y2VMb2FkZXI6OnN1YnN0aXR1dGVNSU1FVHlwZUZyb21QbHVnaW5EYXRhYmFzZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwCmluZGV4
IDQ3MjgyZTk1NzM3MTZmMzMyOWI0MGZkNWEzNjcxYjE2YzgxODczMDQuLjM4OTE5MWJhMGJjZDFj
YTcyODVjNzEwYTEyNjc1Nzc3NDkxNWJhNjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAKQEAgLTQ5LDYgKzQ5LDcgQEAKICNp
bmNsdWRlICJUaW1lbGluZVJlY29yZEZhY3RvcnkuaCIKIAogI2luY2x1ZGUgPHd0Zi9DdXJyZW50
VGltZS5oPgorI2luY2x1ZGUgPHd0Zi9UaHJlYWRTcGVjaWZpYy5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKQEAgLTk3LDYgKzk4LDEyIEBAIHN0YXRpYyBjb25zdCBjaGFyIENhbmNlbEFuaW1h
dGlvbkZyYW1lW10gPSAiQ2FuY2VsQW5pbWF0aW9uRnJhbWUiOwogc3RhdGljIGNvbnN0IGNoYXIg
RmlyZUFuaW1hdGlvbkZyYW1lW10gPSAiRmlyZUFuaW1hdGlvbkZyYW1lIjsKIH0KIAorV1RGOjpU
aHJlYWRTcGVjaWZpYzxJbnNwZWN0b3JUaW1lbGluZUFnZW50Kj4qIEluc3BlY3RvclRpbWVsaW5l
QWdlbnQ6OnRocmVhZFNwZWNpZmljSW5zdGFuY2UoKQoreworICAgIEF0b21pY2FsbHlJbml0aWFs
aXplZFN0YXRpYyhXVEY6OlRocmVhZFNwZWNpZmljPEluc3BlY3RvclRpbWVsaW5lQWdlbnQqPios
IGluc3RhbmNlID0gbmV3IFdURjo6VGhyZWFkU3BlY2lmaWM8SW5zcGVjdG9yVGltZWxpbmVBZ2Vu
dCo+KCkpOworICAgIHJldHVybiBpbnN0YW5jZTsKK30KKwogdm9pZCBJbnNwZWN0b3JUaW1lbGlu
ZUFnZW50OjpwdXNoR0NFdmVudFJlY29yZHMoKQogewogICAgIGlmICghbV9nY0V2ZW50cy5zaXpl
KCkpCkBAIC0zMTgsNyArMzI1LDcgQEAgdm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50Ojp3aWxs
RXZhbHVhdGVTY3JpcHQoY29uc3QgU3RyaW5nJiB1cmwsIGludCBsaW5lTnVtYmUKIHsKICAgICBw
dXNoQ3VycmVudFJlY29yZChUaW1lbGluZVJlY29yZEZhY3Rvcnk6OmNyZWF0ZUV2YWx1YXRlU2Ny
aXB0RGF0YSh1cmwsIGxpbmVOdW1iZXIpLCBUaW1lbGluZVJlY29yZFR5cGU6OkV2YWx1YXRlU2Ny
aXB0LCB0cnVlLCBmcmFtZSk7CiB9Ci0gICAgCisKIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2Vu
dDo6ZGlkRXZhbHVhdGVTY3JpcHQoKQogewogICAgIGRpZENvbXBsZXRlQ3VycmVudFJlY29yZChU
aW1lbGluZVJlY29yZFR5cGU6OkV2YWx1YXRlU2NyaXB0KTsKQEAgLTM1Niw3ICszNjMsNyBAQCB2
b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmRpZFJlY2VpdmVSZXNvdXJjZURhdGEoKQogewog
ICAgIGRpZENvbXBsZXRlQ3VycmVudFJlY29yZChUaW1lbGluZVJlY29yZFR5cGU6OlJlc291cmNl
UmVjZWl2ZWREYXRhKTsKIH0KLSAgICAKKwogdm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50Ojp3
aWxsUmVjZWl2ZVJlc291cmNlUmVzcG9uc2UodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25z
dCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSwgRnJhbWUqIGZyYW1lKQogewogICAgIFN0cmlu
ZyByZXF1ZXN0SWQgPSBJZGVudGlmaWVyc0ZhY3Rvcnk6OnJlcXVlc3RJZChpZGVudGlmaWVyKTsK
QEAgLTQ3OCw2ICs0ODUsOCBAQCB2b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmRpZENvbXBs
ZXRlQ3VycmVudFJlY29yZChjb25zdCBTdHJpbmcmIHR5cGUpCiAgICAgICAgIGVudHJ5LnJlY29y
ZC0+c2V0TnVtYmVyKCJlbmRUaW1lIiwgdGltZXN0YW1wKCkpOwogICAgICAgICBhZGRSZWNvcmRU
b1RpbWVsaW5lKGVudHJ5LnJlY29yZCwgdHlwZSwgZW50cnkuZnJhbWVJZCk7CiAgICAgfQorICAg
IGlmIChtX3JlY29yZFN0YWNrLmlzRW1wdHkoKSkKKyAgICAgICAgc2V0SW5zdGFuY2UoMCk7CiB9
CiAKIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6Okluc3BlY3RvclRpbWVsaW5lQWdlbnQoSW5zdHJ1
bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cywgSW5zcGVjdG9yUGFnZUFnZW50KiBw
YWdlQWdlbnQsIEluc3BlY3RvclN0YXRlKiBzdGF0ZSwgSW5zcGVjdG9yVHlwZSB0eXBlLCBJbnNw
ZWN0b3JDbGllbnQqIGNsaWVudCkKQEAgLTUxMyw2ICs1MjIsNyBAQCB2b2lkIEluc3BlY3RvclRp
bWVsaW5lQWdlbnQ6OnB1c2hDdXJyZW50UmVjb3JkKFBhc3NSZWZQdHI8SW5zcGVjdG9yT2JqZWN0
PiBkYXRhLAogICAgIGlmIChmcmFtZSAmJiBtX3BhZ2VBZ2VudCkKICAgICAgICAgZnJhbWVJZCA9
IG1fcGFnZUFnZW50LT5mcmFtZUlkKGZyYW1lKTsKICAgICBtX3JlY29yZFN0YWNrLmFwcGVuZChU
aW1lbGluZVJlY29yZEVudHJ5KHJlY29yZC5yZWxlYXNlKCksIGRhdGEsIEluc3BlY3RvckFycmF5
OjpjcmVhdGUoKSwgdHlwZSwgZnJhbWVJZCkpOworICAgIHNldEluc3RhbmNlKHRoaXMpOwogfQog
CiB2b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OnB1c2hDYW5jZWxhYmxlUmVjb3JkKFBhc3NS
ZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiBkYXRhLCBjb25zdCBTdHJpbmcmIHR5cGUsIEZyYW1lKiBm
cmFtZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1l
bGluZUFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVB
Z2VudC5oCmluZGV4IDk0YzdmY2FlZTM4NmVjZDBmMjJmMjdlZWIxZDdhNWY5MWZmN2YzMTguLjIx
MDFjYTM5MWY1NzAxZGNiNGFiZmVlN2ExZjMzOTRlMzNhYTFiOTggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaApAQCAtNDAsNiArNDAs
NyBAQAogI2luY2x1ZGUgIlNjcmlwdEdDRXZlbnQuaCIKICNpbmNsdWRlICJTY3JpcHRHQ0V2ZW50
TGlzdGVuZXIuaCIKICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgorI2luY2x1ZGUgPHd0Zi9U
aHJlYWRTcGVjaWZpYy5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewpAQCAtMTQ0LDYgKzE0NSwxMCBAQCBwdWJsaWM6CiAgICAgdm9pZCBkaWRQcm9jZXNz
VGFzaygpOwogCiBwcml2YXRlOgorICAgIHN0YXRpYyBJbnNwZWN0b3JUaW1lbGluZUFnZW50KiBp
bnN0YW5jZSgpIHsgcmV0dXJuICoqdGhyZWFkU3BlY2lmaWNJbnN0YW5jZSgpOyB9CisgICAgc3Rh
dGljIHZvaWQgc2V0SW5zdGFuY2UoSW5zcGVjdG9yVGltZWxpbmVBZ2VudCogaW5zcGVjdG9yVGlt
ZWxpbmVBZ2VudCkgeyAqKnRocmVhZFNwZWNpZmljSW5zdGFuY2UoKSA9IGluc3BlY3RvclRpbWVs
aW5lQWdlbnQ7IH0KKyAgICBzdGF0aWMgV1RGOjpUaHJlYWRTcGVjaWZpYzxJbnNwZWN0b3JUaW1l
bGluZUFnZW50Kj4qIHRocmVhZFNwZWNpZmljSW5zdGFuY2UoKTsKKyAgICAKICAgICBzdHJ1Y3Qg
VGltZWxpbmVSZWNvcmRFbnRyeSB7CiAgICAgICAgIFRpbWVsaW5lUmVjb3JkRW50cnkoUGFzc1Jl
ZlB0cjxJbnNwZWN0b3JPYmplY3Q+IHJlY29yZCwgUGFzc1JlZlB0cjxJbnNwZWN0b3JPYmplY3Q+
IGRhdGEsIFBhc3NSZWZQdHI8SW5zcGVjdG9yQXJyYXk+IGNoaWxkcmVuLCBjb25zdCBTdHJpbmcm
IHR5cGUsIGNvbnN0IFN0cmluZyYgZnJhbWVJZCwgYm9vbCBjYW5jZWxhYmxlID0gZmFsc2UpCiAg
ICAgICAgICAgICA6IHJlY29yZChyZWNvcmQpLCBkYXRhKGRhdGEpLCBjaGlsZHJlbihjaGlsZHJl
biksIHR5cGUodHlwZSksIGZyYW1lSWQoZnJhbWVJZCksIGNhbmNlbGFibGUoY2FuY2VsYWJsZSkK
QEAgLTE1NiwxMiArMTYxLDEyIEBAIHByaXZhdGU6CiAgICAgICAgIFN0cmluZyBmcmFtZUlkOwog
ICAgICAgICBib29sIGNhbmNlbGFibGU7CiAgICAgfTsKLSAgICAgICAgCisKICAgICBJbnNwZWN0
b3JUaW1lbGluZUFnZW50KEluc3RydW1lbnRpbmdBZ2VudHMqLCBJbnNwZWN0b3JQYWdlQWdlbnQq
LCBJbnNwZWN0b3JTdGF0ZSosIEluc3BlY3RvclR5cGUsIEluc3BlY3RvckNsaWVudCopOwogCiAg
ICAgdm9pZCBwdXNoQ3VycmVudFJlY29yZChQYXNzUmVmUHRyPEluc3BlY3Rvck9iamVjdD4sIGNv
bnN0IFN0cmluZyYgdHlwZSwgYm9vbCBjYXB0dXJlQ2FsbFN0YWNrLCBGcmFtZSopOwogICAgIHZv
aWQgc2V0SGVhcFNpemVTdGF0aXN0aWMoSW5zcGVjdG9yT2JqZWN0KiByZWNvcmQpOwotICAgICAg
ICAKKwogICAgIHZvaWQgZGlkQ29tcGxldGVDdXJyZW50UmVjb3JkKGNvbnN0IFN0cmluZyYgdHlw
ZSk7CiAgICAgdm9pZCBhcHBlbmRSZWNvcmQoUGFzc1JlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IGRh
dGEsIGNvbnN0IFN0cmluZyYgdHlwZSwgYm9vbCBjYXB0dXJlQ2FsbFN0YWNrLCBGcmFtZSopOwog
ICAgIHZvaWQgcHVzaENhbmNlbGFibGVSZWNvcmQoUGFzc1JlZlB0cjxJbnNwZWN0b3JPYmplY3Q+
LCBjb25zdCBTdHJpbmcmIHR5cGUsIEZyYW1lKik7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>150566</attachid>
            <date>2012-07-03 02:45:14 -0700</date>
            <delta_ts>2012-07-03 06:05:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90264-20120703134512.patch</filename>
            <type>text/plain</type>
            <size>5981</size>
            <attacher name="Sergey Rogulenko">rogulenko</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIxNDMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2ZhMjE0NDQ1YjliZjQ1
MjJjMDc1MjJjODlhZTc3OGZiODFjZjE1Ni4uZWFmZTI5Mzg1ZWU4NDk3NWIzYTI4ZjUwMjBmODEz
YmQyMDg3MjNiOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTA3LTAzICBTZXJn
ZXkgUm9ndWxlbmtvICA8cm9ndWxlbmtvQGdvb2dsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3Bl
Y3RvcjogYWRkZWQgbG93LWxldmVsIGluc3RydW1lbnRhdGlvbiBzdXBwb3J0IGZvciBUaW1lbGlu
ZUFnZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05
MDI2NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
aW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnRpbWVsaW5lQWdlbnRJbnN0YW5jZSk6CisgICAg
ICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlv
bjo6c2V0VGltZWxpbmVBZ2VudEluc3RhbmNlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbjo6dGhyZWFkU3BlY2lmaWNUaW1lbGluZUFnZW50SW5zdGFuY2UpOgor
ICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaDoKKyAgICAgICAg
KEluc3BlY3Rvckluc3RydW1lbnRhdGlvbik6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rv
clRpbWVsaW5lQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3Jl
OjpJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpkaWRDb21wbGV0ZUN1cnJlbnRSZWNvcmQpOgorICAg
ICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6cHVzaEN1cnJlbnRSZWNvcmQp
OgorCiAyMDEyLTA2LTI4ICBCYWxhenMgS2VsZW1lbiAgPGtiYWxhenNAd2Via2l0Lm9yZz4KIAog
ICAgICAgICBbUXRdIHBsdWdpbiBpcyBsb2FkZWQgdG8gdGhlIHdlYiBwcm9jZXNzIHZpYSBNYWlu
UmVzb3VyY2VMb2FkZXI6OnN1YnN0aXR1dGVNSU1FVHlwZUZyb21QbHVnaW5EYXRhYmFzZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlv
bi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
LmNwcAppbmRleCBhNjVmZjdlMzIzN2NhZDU4YTljMWNmOGMxMzI0YjQyYTg4NmI0ZjdhLi4wMTlj
Yjk3OWUzMWI4MWNjM2Q0YWRjOTNkM2RmYmY1NjExOTk4MWZlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcApAQCAtNjgs
NiArNjgsNyBAQAogI2luY2x1ZGUgIldvcmtlclRocmVhZC5oIgogI2luY2x1ZGUgIlhNTEh0dHBS
ZXF1ZXN0LmgiCiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgorI2luY2x1ZGUgPHd0Zi9U
aHJlYWRTcGVjaWZpYy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewpAQCAtMTA4Miw2ICsxMDgzLDIyIEBAIGJvb2wgSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uOjpoYXNGcm9udGVuZEZvclNjcmlwdENvbnRleHQoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4CiAgICAgcmV0dXJuIHBhZ2UgJiYgcGFnZS0+aW5zcGVjdG9yQ29udHJvbGxlcigpLT5oYXNG
cm9udGVuZCgpOwogfQogCitJbnNwZWN0b3JUaW1lbGluZUFnZW50KiBJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb246OnRpbWVsaW5lQWdlbnRJbnN0YW5jZSgpCit7CisgICAgcmV0dXJuICoqdGhyZWFk
U3BlY2lmaWNUaW1lbGluZUFnZW50SW5zdGFuY2UoKTsKK30KKwordm9pZCBJbnNwZWN0b3JJbnN0
cnVtZW50YXRpb246OnNldFRpbWVsaW5lQWdlbnRJbnN0YW5jZShJbnNwZWN0b3JUaW1lbGluZUFn
ZW50KiBpbnNwZWN0b3JUaW1lbGluZUFnZW50KQoreworICAgICoqdGhyZWFkU3BlY2lmaWNUaW1l
bGluZUFnZW50SW5zdGFuY2UoKSA9IGluc3BlY3RvclRpbWVsaW5lQWdlbnQ7Cit9CisKK1dURjo6
VGhyZWFkU3BlY2lmaWM8SW5zcGVjdG9yVGltZWxpbmVBZ2VudCo+KiBJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb246OnRocmVhZFNwZWNpZmljVGltZWxpbmVBZ2VudEluc3RhbmNlKCkKK3sKKyAgICBB
dG9taWNhbGx5SW5pdGlhbGl6ZWRTdGF0aWMoV1RGOjpUaHJlYWRTcGVjaWZpYzxJbnNwZWN0b3JU
aW1lbGluZUFnZW50Kj4qLCBpbnN0YW5jZSA9IG5ldyBXVEY6OlRocmVhZFNwZWNpZmljPEluc3Bl
Y3RvclRpbWVsaW5lQWdlbnQqPigpKTsKKyAgICByZXR1cm4gaW5zdGFuY2U7Cit9CisKIHZvaWQg
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpwYXVzZU9uTmF0aXZlRXZlbnRJZk5lZWRlZChJbnN0
cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzLCBib29sIGlzRE9NRXZlbnQsIGNv
bnN0IFN0cmluZyYgZXZlbnROYW1lLCBib29sIHN5bmNocm9ub3VzKQogewogI2lmIEVOQUJMRShK
QVZBU0NSSVBUX0RFQlVHR0VSKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCmluZGV4IDFkNzlmMjQyMzc4ZTNlYmM5Zjc2NGIzOTVl
YWY5N2JjNjZhNzMyYjcuLmJjNTNiYzQ4ZjQ0Mzg5M2ZmMWZmMjEyZGExOTYzNWFlZjZmNjViOGMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50
YXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uLmgKQEAgLTI1Miw2ICsyNTIsOSBAQCBwdWJsaWM6CiAgICAgc3RhdGljIGJvb2wgaGFz
RnJvbnRlbmRzKCkgeyByZXR1cm4gc19mcm9udGVuZENvdW50ZXI7IH0KICAgICBzdGF0aWMgYm9v
bCBoYXNGcm9udGVuZEZvclNjcmlwdENvbnRleHQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopOwog
ICAgIHN0YXRpYyBib29sIGNvbGxlY3RpbmdIVE1MUGFyc2VFcnJvcnMoUGFnZSopOworICAgIHN0
YXRpYyBJbnNwZWN0b3JUaW1lbGluZUFnZW50KiB0aW1lbGluZUFnZW50SW5zdGFuY2UoKTsKKyAg
ICBzdGF0aWMgdm9pZCBzZXRUaW1lbGluZUFnZW50SW5zdGFuY2UoSW5zcGVjdG9yVGltZWxpbmVB
Z2VudCopOworICAgIHN0YXRpYyBXVEY6OlRocmVhZFNwZWNpZmljPEluc3BlY3RvclRpbWVsaW5l
QWdlbnQqPiogdGhyZWFkU3BlY2lmaWNUaW1lbGluZUFnZW50SW5zdGFuY2UoKTsKICNlbHNlCiAg
ICAgc3RhdGljIGJvb2wgaGFzRnJvbnRlbmRzKCkgeyByZXR1cm4gZmFsc2U7IH0KICAgICBzdGF0
aWMgYm9vbCBoYXNGcm9udGVuZEZvclNjcmlwdENvbnRleHQoU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCopIHsgcmV0dXJuIGZhbHNlOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAKaW5kZXggNDcyODJlOTU3MzcxNmYzMzI5YjQwZmQ1
YTM2NzFiMTZjODE4NzMwNC4uNjQ0NjU1MzRmMTZkMWI3ODA5YjE1OTllZDJlNzVmN2QyYmFhNmVl
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5l
QWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGlu
ZUFnZW50LmNwcApAQCAtNDAsNiArNDAsNyBAQAogI2luY2x1ZGUgIkluc3BlY3RvckNsaWVudC5o
IgogI2luY2x1ZGUgIkluc3BlY3RvckNvdW50ZXJzLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yRnJv
bnRlbmQuaCIKKyNpbmNsdWRlICJJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCIKICNpbmNsdWRl
ICJJbnNwZWN0b3JQYWdlQWdlbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JTdGF0ZS5oIgogI2lu
Y2x1ZGUgIkluc3RydW1lbnRpbmdBZ2VudHMuaCIKQEAgLTMxOCw3ICszMTksNyBAQCB2b2lkIElu
c3BlY3RvclRpbWVsaW5lQWdlbnQ6OndpbGxFdmFsdWF0ZVNjcmlwdChjb25zdCBTdHJpbmcmIHVy
bCwgaW50IGxpbmVOdW1iZQogewogICAgIHB1c2hDdXJyZW50UmVjb3JkKFRpbWVsaW5lUmVjb3Jk
RmFjdG9yeTo6Y3JlYXRlRXZhbHVhdGVTY3JpcHREYXRhKHVybCwgbGluZU51bWJlciksIFRpbWVs
aW5lUmVjb3JkVHlwZTo6RXZhbHVhdGVTY3JpcHQsIHRydWUsIGZyYW1lKTsKIH0KLSAgICAKKwog
dm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpkaWRFdmFsdWF0ZVNjcmlwdCgpCiB7CiAgICAg
ZGlkQ29tcGxldGVDdXJyZW50UmVjb3JkKFRpbWVsaW5lUmVjb3JkVHlwZTo6RXZhbHVhdGVTY3Jp
cHQpOwpAQCAtMzU2LDcgKzM1Nyw3IEBAIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6ZGlk
UmVjZWl2ZVJlc291cmNlRGF0YSgpCiB7CiAgICAgZGlkQ29tcGxldGVDdXJyZW50UmVjb3JkKFRp
bWVsaW5lUmVjb3JkVHlwZTo6UmVzb3VyY2VSZWNlaXZlZERhdGEpOwogfQotICAgIAorCiB2b2lk
IEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OndpbGxSZWNlaXZlUmVzb3VyY2VSZXNwb25zZSh1bnNp
Z25lZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBG
cmFtZSogZnJhbWUpCiB7CiAgICAgU3RyaW5nIHJlcXVlc3RJZCA9IElkZW50aWZpZXJzRmFjdG9y
eTo6cmVxdWVzdElkKGlkZW50aWZpZXIpOwpAQCAtNDc4LDYgKzQ3OSw4IEBAIHZvaWQgSW5zcGVj
dG9yVGltZWxpbmVBZ2VudDo6ZGlkQ29tcGxldGVDdXJyZW50UmVjb3JkKGNvbnN0IFN0cmluZyYg
dHlwZSkKICAgICAgICAgZW50cnkucmVjb3JkLT5zZXROdW1iZXIoImVuZFRpbWUiLCB0aW1lc3Rh
bXAoKSk7CiAgICAgICAgIGFkZFJlY29yZFRvVGltZWxpbmUoZW50cnkucmVjb3JkLCB0eXBlLCBl
bnRyeS5mcmFtZUlkKTsKICAgICB9CisgICAgaWYgKG1fcmVjb3JkU3RhY2suaXNFbXB0eSgpKQor
ICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnNldFRpbWVsaW5lQWdlbnRJbnN0YW5j
ZSgwKTsKIH0KIAogSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6SW5zcGVjdG9yVGltZWxpbmVBZ2Vu
dChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzLCBJbnNwZWN0b3JQYWdl
QWdlbnQqIHBhZ2VBZ2VudCwgSW5zcGVjdG9yU3RhdGUqIHN0YXRlLCBJbnNwZWN0b3JUeXBlIHR5
cGUsIEluc3BlY3RvckNsaWVudCogY2xpZW50KQpAQCAtNTEzLDYgKzUxNiw3IEBAIHZvaWQgSW5z
cGVjdG9yVGltZWxpbmVBZ2VudDo6cHVzaEN1cnJlbnRSZWNvcmQoUGFzc1JlZlB0cjxJbnNwZWN0
b3JPYmplY3Q+IGRhdGEsCiAgICAgaWYgKGZyYW1lICYmIG1fcGFnZUFnZW50KQogICAgICAgICBm
cmFtZUlkID0gbV9wYWdlQWdlbnQtPmZyYW1lSWQoZnJhbWUpOwogICAgIG1fcmVjb3JkU3RhY2su
YXBwZW5kKFRpbWVsaW5lUmVjb3JkRW50cnkocmVjb3JkLnJlbGVhc2UoKSwgZGF0YSwgSW5zcGVj
dG9yQXJyYXk6OmNyZWF0ZSgpLCB0eXBlLCBmcmFtZUlkKSk7CisgICAgSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uOjpzZXRUaW1lbGluZUFnZW50SW5zdGFuY2UodGhpcyk7CiB9CiAKIHZvaWQgSW5z
cGVjdG9yVGltZWxpbmVBZ2VudDo6cHVzaENhbmNlbGFibGVSZWNvcmQoUGFzc1JlZlB0cjxJbnNw
ZWN0b3JPYmplY3Q+IGRhdGEsIGNvbnN0IFN0cmluZyYgdHlwZSwgRnJhbWUqIGZyYW1lKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>150593</attachid>
            <date>2012-07-03 06:05:42 -0700</date>
            <delta_ts>2012-07-03 08:24:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90264-20120703170540.patch</filename>
            <type>text/plain</type>
            <size>6141</size>
            <attacher name="Sergey Rogulenko">rogulenko</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIxNDMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2ZhMjE0NDQ1YjliZjQ1
MjJjMDc1MjJjODlhZTc3OGZiODFjZjE1Ni4uZWFmZTI5Mzg1ZWU4NDk3NWIzYTI4ZjUwMjBmODEz
YmQyMDg3MjNiOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTA3LTAzICBTZXJn
ZXkgUm9ndWxlbmtvICA8cm9ndWxlbmtvQGdvb2dsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3Bl
Y3RvcjogYWRkZWQgbG93LWxldmVsIGluc3RydW1lbnRhdGlvbiBzdXBwb3J0IGZvciBUaW1lbGlu
ZUFnZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05
MDI2NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
aW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnRpbWVsaW5lQWdlbnRJbnN0YW5jZSk6CisgICAg
ICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlv
bjo6c2V0VGltZWxpbmVBZ2VudEluc3RhbmNlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbjo6dGhyZWFkU3BlY2lmaWNUaW1lbGluZUFnZW50SW5zdGFuY2UpOgor
ICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaDoKKyAgICAgICAg
KEluc3BlY3Rvckluc3RydW1lbnRhdGlvbik6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rv
clRpbWVsaW5lQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3Jl
OjpJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpkaWRDb21wbGV0ZUN1cnJlbnRSZWNvcmQpOgorICAg
ICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6cHVzaEN1cnJlbnRSZWNvcmQp
OgorCiAyMDEyLTA2LTI4ICBCYWxhenMgS2VsZW1lbiAgPGtiYWxhenNAd2Via2l0Lm9yZz4KIAog
ICAgICAgICBbUXRdIHBsdWdpbiBpcyBsb2FkZWQgdG8gdGhlIHdlYiBwcm9jZXNzIHZpYSBNYWlu
UmVzb3VyY2VMb2FkZXI6OnN1YnN0aXR1dGVNSU1FVHlwZUZyb21QbHVnaW5EYXRhYmFzZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlv
bi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
LmNwcAppbmRleCBhNjVmZjdlMzIzN2NhZDU4YTljMWNmOGMxMzI0YjQyYTg4NmI0ZjdhLi5jNTIx
YTM5ZDlmOGQ3NGI5NDRiN2E5NTgzMTBhODEyZTcxNmNjZjZiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcApAQCAtNjgs
NiArNjgsNyBAQAogI2luY2x1ZGUgIldvcmtlclRocmVhZC5oIgogI2luY2x1ZGUgIlhNTEh0dHBS
ZXF1ZXN0LmgiCiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgorI2luY2x1ZGUgPHd0Zi9U
aHJlYWRTcGVjaWZpYy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewpAQCAtMTEzMiw2ICsxMTMzLDIyIEBAIHZvaWQgSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uOjpkaWRGaXJlQW5pbWF0aW9uRnJhbWVJbXBsKGNvbnN0IEluc3BlY3Rvckluc3Ry
dW1lCiAgICAgICAgIHRpbWVsaW5lQWdlbnQtPmRpZEZpcmVBbmltYXRpb25GcmFtZSgpOwogfQog
CitJbnNwZWN0b3JUaW1lbGluZUFnZW50KiBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnRpbWVs
aW5lQWdlbnRJbnN0YW5jZSgpCit7CisgICAgcmV0dXJuICoqdGhyZWFkU3BlY2lmaWNUaW1lbGlu
ZUFnZW50SW5zdGFuY2UoKTsKK30KKwordm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnNl
dFRpbWVsaW5lQWdlbnRJbnN0YW5jZShJbnNwZWN0b3JUaW1lbGluZUFnZW50KiBpbnNwZWN0b3JU
aW1lbGluZUFnZW50KQoreworICAgICoqdGhyZWFkU3BlY2lmaWNUaW1lbGluZUFnZW50SW5zdGFu
Y2UoKSA9IGluc3BlY3RvclRpbWVsaW5lQWdlbnQ7Cit9CisKK1dURjo6VGhyZWFkU3BlY2lmaWM8
SW5zcGVjdG9yVGltZWxpbmVBZ2VudCo+KiBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnRocmVh
ZFNwZWNpZmljVGltZWxpbmVBZ2VudEluc3RhbmNlKCkKK3sKKyAgICBBdG9taWNhbGx5SW5pdGlh
bGl6ZWRTdGF0aWMoV1RGOjpUaHJlYWRTcGVjaWZpYzxJbnNwZWN0b3JUaW1lbGluZUFnZW50Kj4q
LCBpbnN0YW5jZSA9IG5ldyBXVEY6OlRocmVhZFNwZWNpZmljPEluc3BlY3RvclRpbWVsaW5lQWdl
bnQqPigpKTsKKyAgICByZXR1cm4gaW5zdGFuY2U7Cit9CisKIEluc3BlY3RvclRpbWVsaW5lQWdl
bnQqIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6cmV0cmlldmVUaW1lbGluZUFnZW50KGNvbnN0
IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSYgY29va2llKQogewogICAgIGlmICghY29v
a2llLmZpcnN0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckluc3RydW1lbnRhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvcklu
c3RydW1lbnRhdGlvbi5oCmluZGV4IDFkNzlmMjQyMzc4ZTNlYmM5Zjc2NGIzOTVlYWY5N2JjNjZh
NzMyYjcuLjZkY2VkNTYzYWVjNjJiMzQ5MmUwOTAzODIxMDRhMGYyZTc2NjAwMWMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgK
QEAgLTI1Miw2ICsyNTIsOCBAQCBwdWJsaWM6CiAgICAgc3RhdGljIGJvb2wgaGFzRnJvbnRlbmRz
KCkgeyByZXR1cm4gc19mcm9udGVuZENvdW50ZXI7IH0KICAgICBzdGF0aWMgYm9vbCBoYXNGcm9u
dGVuZEZvclNjcmlwdENvbnRleHQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopOwogICAgIHN0YXRp
YyBib29sIGNvbGxlY3RpbmdIVE1MUGFyc2VFcnJvcnMoUGFnZSopOworICAgIHN0YXRpYyBJbnNw
ZWN0b3JUaW1lbGluZUFnZW50KiB0aW1lbGluZUFnZW50SW5zdGFuY2UoKTsKKyAgICBzdGF0aWMg
dm9pZCBzZXRUaW1lbGluZUFnZW50SW5zdGFuY2UoSW5zcGVjdG9yVGltZWxpbmVBZ2VudCopOwog
I2Vsc2UKICAgICBzdGF0aWMgYm9vbCBoYXNGcm9udGVuZHMoKSB7IHJldHVybiBmYWxzZTsgfQog
ICAgIHN0YXRpYyBib29sIGhhc0Zyb250ZW5kRm9yU2NyaXB0Q29udGV4dChTY3JpcHRFeGVjdXRp
b25Db250ZXh0KikgeyByZXR1cm4gZmFsc2U7IH0KQEAgLTI2MCw2ICsyNjIsOCBAQCBwdWJsaWM6
CiAKIHByaXZhdGU6CiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKKyAgICBzdGF0aWMgV1RGOjpUaHJl
YWRTcGVjaWZpYzxJbnNwZWN0b3JUaW1lbGluZUFnZW50Kj4qIHRocmVhZFNwZWNpZmljVGltZWxp
bmVBZ2VudEluc3RhbmNlKCk7CisKICAgICBzdGF0aWMgdm9pZCBkaWRDbGVhcldpbmRvd09iamVj
dEluV29ybGRJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqLCBGcmFtZSosIERPTVdyYXBwZXJXb3Js
ZCopOwogICAgIHN0YXRpYyBib29sIGlzRGVidWdnZXJQYXVzZWRJbXBsKEluc3RydW1lbnRpbmdB
Z2VudHMqKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
clRpbWVsaW5lQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRp
bWVsaW5lQWdlbnQuY3BwCmluZGV4IDQ3MjgyZTk1NzM3MTZmMzMyOWI0MGZkNWEzNjcxYjE2Yzgx
ODczMDQuLjY0NDY1NTM0ZjE2ZDFiNzgwOWIxNTk5ZWQyZTc1ZjdkMmJhYTZlZTAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAK
QEAgLTQwLDYgKzQwLDcgQEAKICNpbmNsdWRlICJJbnNwZWN0b3JDbGllbnQuaCIKICNpbmNsdWRl
ICJJbnNwZWN0b3JDb3VudGVycy5oIgogI2luY2x1ZGUgIkluc3BlY3RvckZyb250ZW5kLmgiCisj
aW5jbHVkZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9y
UGFnZUFnZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yU3RhdGUuaCIKICNpbmNsdWRlICJJbnN0
cnVtZW50aW5nQWdlbnRzLmgiCkBAIC0zMTgsNyArMzE5LDcgQEAgdm9pZCBJbnNwZWN0b3JUaW1l
bGluZUFnZW50Ojp3aWxsRXZhbHVhdGVTY3JpcHQoY29uc3QgU3RyaW5nJiB1cmwsIGludCBsaW5l
TnVtYmUKIHsKICAgICBwdXNoQ3VycmVudFJlY29yZChUaW1lbGluZVJlY29yZEZhY3Rvcnk6OmNy
ZWF0ZUV2YWx1YXRlU2NyaXB0RGF0YSh1cmwsIGxpbmVOdW1iZXIpLCBUaW1lbGluZVJlY29yZFR5
cGU6OkV2YWx1YXRlU2NyaXB0LCB0cnVlLCBmcmFtZSk7CiB9Ci0gICAgCisKIHZvaWQgSW5zcGVj
dG9yVGltZWxpbmVBZ2VudDo6ZGlkRXZhbHVhdGVTY3JpcHQoKQogewogICAgIGRpZENvbXBsZXRl
Q3VycmVudFJlY29yZChUaW1lbGluZVJlY29yZFR5cGU6OkV2YWx1YXRlU2NyaXB0KTsKQEAgLTM1
Niw3ICszNTcsNyBAQCB2b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmRpZFJlY2VpdmVSZXNv
dXJjZURhdGEoKQogewogICAgIGRpZENvbXBsZXRlQ3VycmVudFJlY29yZChUaW1lbGluZVJlY29y
ZFR5cGU6OlJlc291cmNlUmVjZWl2ZWREYXRhKTsKIH0KLSAgICAKKwogdm9pZCBJbnNwZWN0b3JU
aW1lbGluZUFnZW50Ojp3aWxsUmVjZWl2ZVJlc291cmNlUmVzcG9uc2UodW5zaWduZWQgbG9uZyBp
ZGVudGlmaWVyLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSwgRnJhbWUqIGZyYW1l
KQogewogICAgIFN0cmluZyByZXF1ZXN0SWQgPSBJZGVudGlmaWVyc0ZhY3Rvcnk6OnJlcXVlc3RJ
ZChpZGVudGlmaWVyKTsKQEAgLTQ3OCw2ICs0NzksOCBAQCB2b2lkIEluc3BlY3RvclRpbWVsaW5l
QWdlbnQ6OmRpZENvbXBsZXRlQ3VycmVudFJlY29yZChjb25zdCBTdHJpbmcmIHR5cGUpCiAgICAg
ICAgIGVudHJ5LnJlY29yZC0+c2V0TnVtYmVyKCJlbmRUaW1lIiwgdGltZXN0YW1wKCkpOwogICAg
ICAgICBhZGRSZWNvcmRUb1RpbWVsaW5lKGVudHJ5LnJlY29yZCwgdHlwZSwgZW50cnkuZnJhbWVJ
ZCk7CiAgICAgfQorICAgIGlmIChtX3JlY29yZFN0YWNrLmlzRW1wdHkoKSkKKyAgICAgICAgSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpzZXRUaW1lbGluZUFnZW50SW5zdGFuY2UoMCk7CiB9CiAK
IEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6Okluc3BlY3RvclRpbWVsaW5lQWdlbnQoSW5zdHJ1bWVu
dGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cywgSW5zcGVjdG9yUGFnZUFnZW50KiBwYWdl
QWdlbnQsIEluc3BlY3RvclN0YXRlKiBzdGF0ZSwgSW5zcGVjdG9yVHlwZSB0eXBlLCBJbnNwZWN0
b3JDbGllbnQqIGNsaWVudCkKQEAgLTUxMyw2ICs1MTYsNyBAQCB2b2lkIEluc3BlY3RvclRpbWVs
aW5lQWdlbnQ6OnB1c2hDdXJyZW50UmVjb3JkKFBhc3NSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiBk
YXRhLAogICAgIGlmIChmcmFtZSAmJiBtX3BhZ2VBZ2VudCkKICAgICAgICAgZnJhbWVJZCA9IG1f
cGFnZUFnZW50LT5mcmFtZUlkKGZyYW1lKTsKICAgICBtX3JlY29yZFN0YWNrLmFwcGVuZChUaW1l
bGluZVJlY29yZEVudHJ5KHJlY29yZC5yZWxlYXNlKCksIGRhdGEsIEluc3BlY3RvckFycmF5Ojpj
cmVhdGUoKSwgdHlwZSwgZnJhbWVJZCkpOworICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6
c2V0VGltZWxpbmVBZ2VudEluc3RhbmNlKHRoaXMpOwogfQogCiB2b2lkIEluc3BlY3RvclRpbWVs
aW5lQWdlbnQ6OnB1c2hDYW5jZWxhYmxlUmVjb3JkKFBhc3NSZWZQdHI8SW5zcGVjdG9yT2JqZWN0
PiBkYXRhLCBjb25zdCBTdHJpbmcmIHR5cGUsIEZyYW1lKiBmcmFtZSkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>150614</attachid>
            <date>2012-07-03 08:24:38 -0700</date>
            <delta_ts>2012-07-03 08:49:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90264-20120703192436.patch</filename>
            <type>text/plain</type>
            <size>7764</size>
            <attacher name="Sergey Rogulenko">rogulenko</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIxNDMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2ZhMjE0NDQ1YjliZjQ1
MjJjMDc1MjJjODlhZTc3OGZiODFjZjE1Ni4uYjgxMDY3NDI2MDZmYWYwYTlhOWQ4OGI0MjA4MTY3
Yzg2NTcxYWExYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDEyLTA3LTAzICBTZXJn
ZXkgUm9ndWxlbmtvICA8cm9ndWxlbmtvQGdvb2dsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3Bl
Y3RvcjogYWRkZWQgbG93LWxldmVsIGluc3RydW1lbnRhdGlvbiBzdXBwb3J0IGZvciBUaW1lbGlu
ZUFnZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05
MDI2NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
aW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnRpbWVsaW5lQWdlbnRJbnN0YW5jZSk6CisgICAg
ICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlv
bjo6c2V0VGltZWxpbmVBZ2VudEluc3RhbmNlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbjo6dGhyZWFkU3BlY2lmaWNUaW1lbGluZUFnZW50SW5zdGFuY2UpOgor
ICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaDoKKyAgICAgICAg
KEluc3BlY3Rvckluc3RydW1lbnRhdGlvbik6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rv
clRpbWVsaW5lQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yVGltZWxpbmVB
Z2VudDo6d2lsbFBhaW50KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclRpbWVsaW5lQWdl
bnQ6OmRpZFBhaW50KToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6SW5z
cGVjdG9yVGltZWxpbmVBZ2VudDo6ZGlkQ29tcGxldGVDdXJyZW50UmVjb3JkKToKKyAgICAgICAg
KFdlYkNvcmU6Okluc3BlY3RvclRpbWVsaW5lQWdlbnQ6Okluc3BlY3RvclRpbWVsaW5lQWdlbnQp
OgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6cHVzaEN1cnJlbnRS
ZWNvcmQpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50Lmg6Cisg
ICAgICAgIChJbnNwZWN0b3JUaW1lbGluZUFnZW50KToKKwogMjAxMi0wNi0yOCAgQmFsYXpzIEtl
bGVtZW4gIDxrYmFsYXpzQHdlYmtpdC5vcmc+CiAKICAgICAgICAgW1F0XSBwbHVnaW4gaXMgbG9h
ZGVkIHRvIHRoZSB3ZWIgcHJvY2VzcyB2aWEgTWFpblJlc291cmNlTG9hZGVyOjpzdWJzdGl0dXRl
TUlNRVR5cGVGcm9tUGx1Z2luRGF0YWJhc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAKaW5kZXggYTY1ZmY3ZTMyMzdjYWQ1
OGE5YzFjZjhjMTMyNGI0MmE4ODZiNGY3YS4uYzUyMWEzOWQ5ZjhkNzRiOTQ0YjdhOTU4MzEwYTgx
MmU3MTZjY2Y2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckluc3RydW1lbnRhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbi5jcHAKQEAgLTY4LDYgKzY4LDcgQEAKICNpbmNsdWRlICJXb3Jr
ZXJUaHJlYWQuaCIKICNpbmNsdWRlICJYTUxIdHRwUmVxdWVzdC5oIgogI2luY2x1ZGUgPHd0Zi9T
dGRMaWJFeHRyYXMuaD4KKyNpbmNsdWRlIDx3dGYvVGhyZWFkU3BlY2lmaWMuaD4KICNpbmNsdWRl
IDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTExMzIsNiAr
MTEzMywyMiBAQCB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkRmlyZUFuaW1hdGlv
bkZyYW1lSW1wbChjb25zdCBJbnNwZWN0b3JJbnN0cnVtZQogICAgICAgICB0aW1lbGluZUFnZW50
LT5kaWRGaXJlQW5pbWF0aW9uRnJhbWUoKTsKIH0KIAorSW5zcGVjdG9yVGltZWxpbmVBZ2VudCog
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp0aW1lbGluZUFnZW50SW5zdGFuY2UoKQoreworICAg
IHJldHVybiAqKnRocmVhZFNwZWNpZmljVGltZWxpbmVBZ2VudEluc3RhbmNlKCk7Cit9CisKK3Zv
aWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpzZXRUaW1lbGluZUFnZW50SW5zdGFuY2UoSW5z
cGVjdG9yVGltZWxpbmVBZ2VudCogaW5zcGVjdG9yVGltZWxpbmVBZ2VudCkKK3sKKyAgICAqKnRo
cmVhZFNwZWNpZmljVGltZWxpbmVBZ2VudEluc3RhbmNlKCkgPSBpbnNwZWN0b3JUaW1lbGluZUFn
ZW50OworfQorCitXVEY6OlRocmVhZFNwZWNpZmljPEluc3BlY3RvclRpbWVsaW5lQWdlbnQqPiog
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp0aHJlYWRTcGVjaWZpY1RpbWVsaW5lQWdlbnRJbnN0
YW5jZSgpCit7CisgICAgQXRvbWljYWxseUluaXRpYWxpemVkU3RhdGljKFdURjo6VGhyZWFkU3Bl
Y2lmaWM8SW5zcGVjdG9yVGltZWxpbmVBZ2VudCo+KiwgaW5zdGFuY2UgPSBuZXcgV1RGOjpUaHJl
YWRTcGVjaWZpYzxJbnNwZWN0b3JUaW1lbGluZUFnZW50Kj4oKSk7CisgICAgcmV0dXJuIGluc3Rh
bmNlOworfQorCiBJbnNwZWN0b3JUaW1lbGluZUFnZW50KiBJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b246OnJldHJpZXZlVGltZWxpbmVBZ2VudChjb25zdCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25D
b29raWUmIGNvb2tpZSkKIHsKICAgICBpZiAoIWNvb2tpZS5maXJzdCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaAppbmRleCAxZDc5
ZjI0MjM3OGUzZWJjOWY3NjRiMzk1ZWFmOTdiYzY2YTczMmI3Li42ZGNlZDU2M2FlYzYyYjM0OTJl
MDkwMzgyMTA0YTBmMmU3NjYwMDFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCkBAIC0yNTIsNiArMjUyLDggQEAgcHVibGlj
OgogICAgIHN0YXRpYyBib29sIGhhc0Zyb250ZW5kcygpIHsgcmV0dXJuIHNfZnJvbnRlbmRDb3Vu
dGVyOyB9CiAgICAgc3RhdGljIGJvb2wgaGFzRnJvbnRlbmRGb3JTY3JpcHRDb250ZXh0KFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQqKTsKICAgICBzdGF0aWMgYm9vbCBjb2xsZWN0aW5nSFRNTFBhcnNl
RXJyb3JzKFBhZ2UqKTsKKyAgICBzdGF0aWMgSW5zcGVjdG9yVGltZWxpbmVBZ2VudCogdGltZWxp
bmVBZ2VudEluc3RhbmNlKCk7CisgICAgc3RhdGljIHZvaWQgc2V0VGltZWxpbmVBZ2VudEluc3Rh
bmNlKEluc3BlY3RvclRpbWVsaW5lQWdlbnQqKTsKICNlbHNlCiAgICAgc3RhdGljIGJvb2wgaGFz
RnJvbnRlbmRzKCkgeyByZXR1cm4gZmFsc2U7IH0KICAgICBzdGF0aWMgYm9vbCBoYXNGcm9udGVu
ZEZvclNjcmlwdENvbnRleHQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopIHsgcmV0dXJuIGZhbHNl
OyB9CkBAIC0yNjAsNiArMjYyLDggQEAgcHVibGljOgogCiBwcml2YXRlOgogI2lmIEVOQUJMRShJ
TlNQRUNUT1IpCisgICAgc3RhdGljIFdURjo6VGhyZWFkU3BlY2lmaWM8SW5zcGVjdG9yVGltZWxp
bmVBZ2VudCo+KiB0aHJlYWRTcGVjaWZpY1RpbWVsaW5lQWdlbnRJbnN0YW5jZSgpOworCiAgICAg
c3RhdGljIHZvaWQgZGlkQ2xlYXJXaW5kb3dPYmplY3RJbldvcmxkSW1wbChJbnN0cnVtZW50aW5n
QWdlbnRzKiwgRnJhbWUqLCBET01XcmFwcGVyV29ybGQqKTsKICAgICBzdGF0aWMgYm9vbCBpc0Rl
YnVnZ2VyUGF1c2VkSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKik7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcAppbmRleCA0NzI4
MmU5NTczNzE2ZjMzMjliNDBmZDVhMzY3MWIxNmM4MTg3MzA0Li5hNjRhZGM0OGZhMTU3YzQ2ODQ2
ZDJkMjUxYzlkNDQzYjU5ZGU4Y2RlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwCkBAIC00MCw2ICs0MCw3IEBACiAjaW5jbHVk
ZSAiSW5zcGVjdG9yQ2xpZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yQ291bnRlcnMuaCIKICNp
bmNsdWRlICJJbnNwZWN0b3JGcm9udGVuZC5oIgorI2luY2x1ZGUgIkluc3BlY3Rvckluc3RydW1l
bnRhdGlvbi5oIgogI2luY2x1ZGUgIkluc3BlY3RvclBhZ2VBZ2VudC5oIgogI2luY2x1ZGUgIklu
c3BlY3RvclN0YXRlLmgiCiAjaW5jbHVkZSAiSW5zdHJ1bWVudGluZ0FnZW50cy5oIgpAQCAtMjQy
LDExICsyNDMsMTQgQEAgdm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpkaWRSZWNhbGN1bGF0
ZVN0eWxlKCkKIAogdm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50Ojp3aWxsUGFpbnQoY29uc3Qg
TGF5b3V0UmVjdCYgcmVjdCwgRnJhbWUqIGZyYW1lKQogeworICAgIG1fY3VycmVudExvd2xldmVs
U3RhY2tEZXB0aCsrOwogICAgIHB1c2hDdXJyZW50UmVjb3JkKFRpbWVsaW5lUmVjb3JkRmFjdG9y
eTo6Y3JlYXRlUGFpbnREYXRhKHJlY3QpLCBUaW1lbGluZVJlY29yZFR5cGU6OlBhaW50LCB0cnVl
LCBmcmFtZSk7CiB9CiAKIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6ZGlkUGFpbnQoKQog
eworICAgIGlmIChtX2N1cnJlbnRMb3dsZXZlbFN0YWNrRGVwdGgpCisgICAgICAgIG1fY3VycmVu
dExvd2xldmVsU3RhY2tEZXB0aC0tOwogICAgIGRpZENvbXBsZXRlQ3VycmVudFJlY29yZChUaW1l
bGluZVJlY29yZFR5cGU6OlBhaW50KTsKIH0KIApAQCAtMzE4LDcgKzMyMiw3IEBAIHZvaWQgSW5z
cGVjdG9yVGltZWxpbmVBZ2VudDo6d2lsbEV2YWx1YXRlU2NyaXB0KGNvbnN0IFN0cmluZyYgdXJs
LCBpbnQgbGluZU51bWJlCiB7CiAgICAgcHVzaEN1cnJlbnRSZWNvcmQoVGltZWxpbmVSZWNvcmRG
YWN0b3J5OjpjcmVhdGVFdmFsdWF0ZVNjcmlwdERhdGEodXJsLCBsaW5lTnVtYmVyKSwgVGltZWxp
bmVSZWNvcmRUeXBlOjpFdmFsdWF0ZVNjcmlwdCwgdHJ1ZSwgZnJhbWUpOwogfQotICAgIAorCiB2
b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmRpZEV2YWx1YXRlU2NyaXB0KCkKIHsKICAgICBk
aWRDb21wbGV0ZUN1cnJlbnRSZWNvcmQoVGltZWxpbmVSZWNvcmRUeXBlOjpFdmFsdWF0ZVNjcmlw
dCk7CkBAIC0zNTYsNyArMzYwLDcgQEAgdm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpkaWRS
ZWNlaXZlUmVzb3VyY2VEYXRhKCkKIHsKICAgICBkaWRDb21wbGV0ZUN1cnJlbnRSZWNvcmQoVGlt
ZWxpbmVSZWNvcmRUeXBlOjpSZXNvdXJjZVJlY2VpdmVkRGF0YSk7CiB9Ci0gICAgCisKIHZvaWQg
SW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6d2lsbFJlY2VpdmVSZXNvdXJjZVJlc3BvbnNlKHVuc2ln
bmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIEZy
YW1lKiBmcmFtZSkKIHsKICAgICBTdHJpbmcgcmVxdWVzdElkID0gSWRlbnRpZmllcnNGYWN0b3J5
OjpyZXF1ZXN0SWQoaWRlbnRpZmllcik7CkBAIC00NzgsNiArNDgyLDggQEAgdm9pZCBJbnNwZWN0
b3JUaW1lbGluZUFnZW50OjpkaWRDb21wbGV0ZUN1cnJlbnRSZWNvcmQoY29uc3QgU3RyaW5nJiB0
eXBlKQogICAgICAgICBlbnRyeS5yZWNvcmQtPnNldE51bWJlcigiZW5kVGltZSIsIHRpbWVzdGFt
cCgpKTsKICAgICAgICAgYWRkUmVjb3JkVG9UaW1lbGluZShlbnRyeS5yZWNvcmQsIHR5cGUsIGVu
dHJ5LmZyYW1lSWQpOwogICAgIH0KKyAgICBpZiAoIW1fY3VycmVudExvd2xldmVsU3RhY2tEZXB0
aCkKKyAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpzZXRUaW1lbGluZUFnZW50SW5z
dGFuY2UoMCk7CiB9CiAKIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6Okluc3BlY3RvclRpbWVsaW5l
QWdlbnQoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cywgSW5zcGVjdG9y
UGFnZUFnZW50KiBwYWdlQWdlbnQsIEluc3BlY3RvclN0YXRlKiBzdGF0ZSwgSW5zcGVjdG9yVHlw
ZSB0eXBlLCBJbnNwZWN0b3JDbGllbnQqIGNsaWVudCkKQEAgLTQ4Nyw2ICs0OTMsNyBAQCBJbnNw
ZWN0b3JUaW1lbGluZUFnZW50OjpJbnNwZWN0b3JUaW1lbGluZUFnZW50KEluc3RydW1lbnRpbmdB
Z2VudHMqIGluc3RydW1lbnRpbgogICAgICwgbV90aW1lc3RhbXBPZmZzZXQoMCkKICAgICAsIG1f
aWQoMSkKICAgICAsIG1fbWF4Q2FsbFN0YWNrRGVwdGgoNSkKKyAgICAsIG1fY3VycmVudExvd2xl
dmVsU3RhY2tEZXB0aCgwKQogICAgICwgbV9pbnNwZWN0b3JUeXBlKHR5cGUpCiAgICAgLCBtX2Ns
aWVudChjbGllbnQpCiB7CkBAIC01MTMsNiArNTIwLDggQEAgdm9pZCBJbnNwZWN0b3JUaW1lbGlu
ZUFnZW50OjpwdXNoQ3VycmVudFJlY29yZChQYXNzUmVmUHRyPEluc3BlY3Rvck9iamVjdD4gZGF0
YSwKICAgICBpZiAoZnJhbWUgJiYgbV9wYWdlQWdlbnQpCiAgICAgICAgIGZyYW1lSWQgPSBtX3Bh
Z2VBZ2VudC0+ZnJhbWVJZChmcmFtZSk7CiAgICAgbV9yZWNvcmRTdGFjay5hcHBlbmQoVGltZWxp
bmVSZWNvcmRFbnRyeShyZWNvcmQucmVsZWFzZSgpLCBkYXRhLCBJbnNwZWN0b3JBcnJheTo6Y3Jl
YXRlKCksIHR5cGUsIGZyYW1lSWQpKTsKKyAgICBpZiAobV9jdXJyZW50TG93bGV2ZWxTdGFja0Rl
cHRoKQorICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnNldFRpbWVsaW5lQWdlbnRJ
bnN0YW5jZSh0aGlzKTsKIH0KIAogdm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpwdXNoQ2Fu
Y2VsYWJsZVJlY29yZChQYXNzUmVmUHRyPEluc3BlY3Rvck9iamVjdD4gZGF0YSwgY29uc3QgU3Ry
aW5nJiB0eXBlLCBGcmFtZSogZnJhbWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaAppbmRleCA5NGM3ZmNhZWUzODZlY2QwZjIyZjI3ZWVi
MWQ3YTVmOTFmZjdmMzE4Li40NzQwOGIyOTViMGNiY2FlYWZhNTFiNDZlMjFmMDVmYzEyNDcwZDFj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVB
Z2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFn
ZW50LmgKQEAgLTE5Niw2ICsxOTYsNyBAQCBwcml2YXRlOgogICAgIHR5cGVkZWYgVmVjdG9yPEdD
RXZlbnQ+IEdDRXZlbnRzOwogICAgIEdDRXZlbnRzIG1fZ2NFdmVudHM7CiAgICAgaW50IG1fbWF4
Q2FsbFN0YWNrRGVwdGg7CisgICAgaW50IG1fY3VycmVudExvd2xldmVsU3RhY2tEZXB0aDsKICAg
ICBJbnNwZWN0b3JUeXBlIG1faW5zcGVjdG9yVHlwZTsKICAgICBJbnNwZWN0b3JDbGllbnQqIG1f
Y2xpZW50OwogfTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>150619</attachid>
            <date>2012-07-03 08:49:32 -0700</date>
            <delta_ts>2012-07-03 09:39:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90264-20120703194930.patch</filename>
            <type>text/plain</type>
            <size>9919</size>
            <attacher name="Sergey Rogulenko">rogulenko</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIxNDMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2ZhMjE0NDQ1YjliZjQ1
MjJjMDc1MjJjODlhZTc3OGZiODFjZjE1Ni4uYjgxMDY3NDI2MDZmYWYwYTlhOWQ4OGI0MjA4MTY3
Yzg2NTcxYWExYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDEyLTA3LTAzICBTZXJn
ZXkgUm9ndWxlbmtvICA8cm9ndWxlbmtvQGdvb2dsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3Bl
Y3RvcjogYWRkZWQgbG93LWxldmVsIGluc3RydW1lbnRhdGlvbiBzdXBwb3J0IGZvciBUaW1lbGlu
ZUFnZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05
MDI2NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
aW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnRpbWVsaW5lQWdlbnRJbnN0YW5jZSk6CisgICAg
ICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlv
bjo6c2V0VGltZWxpbmVBZ2VudEluc3RhbmNlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbjo6dGhyZWFkU3BlY2lmaWNUaW1lbGluZUFnZW50SW5zdGFuY2UpOgor
ICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaDoKKyAgICAgICAg
KEluc3BlY3Rvckluc3RydW1lbnRhdGlvbik6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rv
clRpbWVsaW5lQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yVGltZWxpbmVB
Z2VudDo6d2lsbFBhaW50KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclRpbWVsaW5lQWdl
bnQ6OmRpZFBhaW50KToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6SW5z
cGVjdG9yVGltZWxpbmVBZ2VudDo6ZGlkQ29tcGxldGVDdXJyZW50UmVjb3JkKToKKyAgICAgICAg
KFdlYkNvcmU6Okluc3BlY3RvclRpbWVsaW5lQWdlbnQ6Okluc3BlY3RvclRpbWVsaW5lQWdlbnQp
OgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6cHVzaEN1cnJlbnRS
ZWNvcmQpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50Lmg6Cisg
ICAgICAgIChJbnNwZWN0b3JUaW1lbGluZUFnZW50KToKKwogMjAxMi0wNi0yOCAgQmFsYXpzIEtl
bGVtZW4gIDxrYmFsYXpzQHdlYmtpdC5vcmc+CiAKICAgICAgICAgW1F0XSBwbHVnaW4gaXMgbG9h
ZGVkIHRvIHRoZSB3ZWIgcHJvY2VzcyB2aWEgTWFpblJlc291cmNlTG9hZGVyOjpzdWJzdGl0dXRl
TUlNRVR5cGVGcm9tUGx1Z2luRGF0YWJhc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAKaW5kZXggYTY1ZmY3ZTMyMzdjYWQ1
OGE5YzFjZjhjMTMyNGI0MmE4ODZiNGY3YS4uYzUyMWEzOWQ5ZjhkNzRiOTQ0YjdhOTU4MzEwYTgx
MmU3MTZjY2Y2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckluc3RydW1lbnRhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbi5jcHAKQEAgLTY4LDYgKzY4LDcgQEAKICNpbmNsdWRlICJXb3Jr
ZXJUaHJlYWQuaCIKICNpbmNsdWRlICJYTUxIdHRwUmVxdWVzdC5oIgogI2luY2x1ZGUgPHd0Zi9T
dGRMaWJFeHRyYXMuaD4KKyNpbmNsdWRlIDx3dGYvVGhyZWFkU3BlY2lmaWMuaD4KICNpbmNsdWRl
IDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTExMzIsNiAr
MTEzMywyMiBAQCB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkRmlyZUFuaW1hdGlv
bkZyYW1lSW1wbChjb25zdCBJbnNwZWN0b3JJbnN0cnVtZQogICAgICAgICB0aW1lbGluZUFnZW50
LT5kaWRGaXJlQW5pbWF0aW9uRnJhbWUoKTsKIH0KIAorSW5zcGVjdG9yVGltZWxpbmVBZ2VudCog
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp0aW1lbGluZUFnZW50SW5zdGFuY2UoKQoreworICAg
IHJldHVybiAqKnRocmVhZFNwZWNpZmljVGltZWxpbmVBZ2VudEluc3RhbmNlKCk7Cit9CisKK3Zv
aWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpzZXRUaW1lbGluZUFnZW50SW5zdGFuY2UoSW5z
cGVjdG9yVGltZWxpbmVBZ2VudCogaW5zcGVjdG9yVGltZWxpbmVBZ2VudCkKK3sKKyAgICAqKnRo
cmVhZFNwZWNpZmljVGltZWxpbmVBZ2VudEluc3RhbmNlKCkgPSBpbnNwZWN0b3JUaW1lbGluZUFn
ZW50OworfQorCitXVEY6OlRocmVhZFNwZWNpZmljPEluc3BlY3RvclRpbWVsaW5lQWdlbnQqPiog
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp0aHJlYWRTcGVjaWZpY1RpbWVsaW5lQWdlbnRJbnN0
YW5jZSgpCit7CisgICAgQXRvbWljYWxseUluaXRpYWxpemVkU3RhdGljKFdURjo6VGhyZWFkU3Bl
Y2lmaWM8SW5zcGVjdG9yVGltZWxpbmVBZ2VudCo+KiwgaW5zdGFuY2UgPSBuZXcgV1RGOjpUaHJl
YWRTcGVjaWZpYzxJbnNwZWN0b3JUaW1lbGluZUFnZW50Kj4oKSk7CisgICAgcmV0dXJuIGluc3Rh
bmNlOworfQorCiBJbnNwZWN0b3JUaW1lbGluZUFnZW50KiBJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b246OnJldHJpZXZlVGltZWxpbmVBZ2VudChjb25zdCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25D
b29raWUmIGNvb2tpZSkKIHsKICAgICBpZiAoIWNvb2tpZS5maXJzdCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaAppbmRleCAxZDc5
ZjI0MjM3OGUzZWJjOWY3NjRiMzk1ZWFmOTdiYzY2YTczMmI3Li42ZGNlZDU2M2FlYzYyYjM0OTJl
MDkwMzgyMTA0YTBmMmU3NjYwMDFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCkBAIC0yNTIsNiArMjUyLDggQEAgcHVibGlj
OgogICAgIHN0YXRpYyBib29sIGhhc0Zyb250ZW5kcygpIHsgcmV0dXJuIHNfZnJvbnRlbmRDb3Vu
dGVyOyB9CiAgICAgc3RhdGljIGJvb2wgaGFzRnJvbnRlbmRGb3JTY3JpcHRDb250ZXh0KFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQqKTsKICAgICBzdGF0aWMgYm9vbCBjb2xsZWN0aW5nSFRNTFBhcnNl
RXJyb3JzKFBhZ2UqKTsKKyAgICBzdGF0aWMgSW5zcGVjdG9yVGltZWxpbmVBZ2VudCogdGltZWxp
bmVBZ2VudEluc3RhbmNlKCk7CisgICAgc3RhdGljIHZvaWQgc2V0VGltZWxpbmVBZ2VudEluc3Rh
bmNlKEluc3BlY3RvclRpbWVsaW5lQWdlbnQqKTsKICNlbHNlCiAgICAgc3RhdGljIGJvb2wgaGFz
RnJvbnRlbmRzKCkgeyByZXR1cm4gZmFsc2U7IH0KICAgICBzdGF0aWMgYm9vbCBoYXNGcm9udGVu
ZEZvclNjcmlwdENvbnRleHQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopIHsgcmV0dXJuIGZhbHNl
OyB9CkBAIC0yNjAsNiArMjYyLDggQEAgcHVibGljOgogCiBwcml2YXRlOgogI2lmIEVOQUJMRShJ
TlNQRUNUT1IpCisgICAgc3RhdGljIFdURjo6VGhyZWFkU3BlY2lmaWM8SW5zcGVjdG9yVGltZWxp
bmVBZ2VudCo+KiB0aHJlYWRTcGVjaWZpY1RpbWVsaW5lQWdlbnRJbnN0YW5jZSgpOworCiAgICAg
c3RhdGljIHZvaWQgZGlkQ2xlYXJXaW5kb3dPYmplY3RJbldvcmxkSW1wbChJbnN0cnVtZW50aW5n
QWdlbnRzKiwgRnJhbWUqLCBET01XcmFwcGVyV29ybGQqKTsKICAgICBzdGF0aWMgYm9vbCBpc0Rl
YnVnZ2VyUGF1c2VkSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKik7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcAppbmRleCA0NzI4
MmU5NTczNzE2ZjMzMjliNDBmZDVhMzY3MWIxNmM4MTg3MzA0Li45Y2U3MDVjOTNkNWJlMzAwZTZi
OGM4NTJhOWI1ZTQ1ZWVlNDhmZjkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwCkBAIC00MCw2ICs0MCw3IEBACiAjaW5jbHVk
ZSAiSW5zcGVjdG9yQ2xpZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yQ291bnRlcnMuaCIKICNp
bmNsdWRlICJJbnNwZWN0b3JGcm9udGVuZC5oIgorI2luY2x1ZGUgIkluc3BlY3Rvckluc3RydW1l
bnRhdGlvbi5oIgogI2luY2x1ZGUgIkluc3BlY3RvclBhZ2VBZ2VudC5oIgogI2luY2x1ZGUgIklu
c3BlY3RvclN0YXRlLmgiCiAjaW5jbHVkZSAiSW5zdHJ1bWVudGluZ0FnZW50cy5oIgpAQCAtMjQy
LDEyICsyNDMsMTIgQEAgdm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpkaWRSZWNhbGN1bGF0
ZVN0eWxlKCkKIAogdm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50Ojp3aWxsUGFpbnQoY29uc3Qg
TGF5b3V0UmVjdCYgcmVjdCwgRnJhbWUqIGZyYW1lKQogewotICAgIHB1c2hDdXJyZW50UmVjb3Jk
KFRpbWVsaW5lUmVjb3JkRmFjdG9yeTo6Y3JlYXRlUGFpbnREYXRhKHJlY3QpLCBUaW1lbGluZVJl
Y29yZFR5cGU6OlBhaW50LCB0cnVlLCBmcmFtZSk7CisgICAgcHVzaEN1cnJlbnRSZWNvcmQoVGlt
ZWxpbmVSZWNvcmRGYWN0b3J5OjpjcmVhdGVQYWludERhdGEocmVjdCksIFRpbWVsaW5lUmVjb3Jk
VHlwZTo6UGFpbnQsIHRydWUsIGZyYW1lLCB0cnVlKTsKIH0KIAogdm9pZCBJbnNwZWN0b3JUaW1l
bGluZUFnZW50OjpkaWRQYWludCgpCiB7Ci0gICAgZGlkQ29tcGxldGVDdXJyZW50UmVjb3JkKFRp
bWVsaW5lUmVjb3JkVHlwZTo6UGFpbnQpOworICAgIGRpZENvbXBsZXRlQ3VycmVudFJlY29yZChU
aW1lbGluZVJlY29yZFR5cGU6OlBhaW50LCB0cnVlKTsKIH0KIAogdm9pZCBJbnNwZWN0b3JUaW1l
bGluZUFnZW50Ojp3aWxsQ29tcG9zaXRlKCkKQEAgLTMxOCw3ICszMTksNyBAQCB2b2lkIEluc3Bl
Y3RvclRpbWVsaW5lQWdlbnQ6OndpbGxFdmFsdWF0ZVNjcmlwdChjb25zdCBTdHJpbmcmIHVybCwg
aW50IGxpbmVOdW1iZQogewogICAgIHB1c2hDdXJyZW50UmVjb3JkKFRpbWVsaW5lUmVjb3JkRmFj
dG9yeTo6Y3JlYXRlRXZhbHVhdGVTY3JpcHREYXRhKHVybCwgbGluZU51bWJlciksIFRpbWVsaW5l
UmVjb3JkVHlwZTo6RXZhbHVhdGVTY3JpcHQsIHRydWUsIGZyYW1lKTsKIH0KLSAgICAKKwogdm9p
ZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpkaWRFdmFsdWF0ZVNjcmlwdCgpCiB7CiAgICAgZGlk
Q29tcGxldGVDdXJyZW50UmVjb3JkKFRpbWVsaW5lUmVjb3JkVHlwZTo6RXZhbHVhdGVTY3JpcHQp
OwpAQCAtMzU2LDcgKzM1Nyw3IEBAIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6ZGlkUmVj
ZWl2ZVJlc291cmNlRGF0YSgpCiB7CiAgICAgZGlkQ29tcGxldGVDdXJyZW50UmVjb3JkKFRpbWVs
aW5lUmVjb3JkVHlwZTo6UmVzb3VyY2VSZWNlaXZlZERhdGEpOwogfQotICAgIAorCiB2b2lkIElu
c3BlY3RvclRpbWVsaW5lQWdlbnQ6OndpbGxSZWNlaXZlUmVzb3VyY2VSZXNwb25zZSh1bnNpZ25l
ZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBGcmFt
ZSogZnJhbWUpCiB7CiAgICAgU3RyaW5nIHJlcXVlc3RJZCA9IElkZW50aWZpZXJzRmFjdG9yeTo6
cmVxdWVzdElkKGlkZW50aWZpZXIpOwpAQCAtNDY0LDcgKzQ2NSw3IEBAIHZvaWQgSW5zcGVjdG9y
VGltZWxpbmVBZ2VudDo6c2V0SGVhcFNpemVTdGF0aXN0aWMoSW5zcGVjdG9yT2JqZWN0KiByZWNv
cmQpCiAgICAgfQogfQogCi12b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmRpZENvbXBsZXRl
Q3VycmVudFJlY29yZChjb25zdCBTdHJpbmcmIHR5cGUpCit2b2lkIEluc3BlY3RvclRpbWVsaW5l
QWdlbnQ6OmRpZENvbXBsZXRlQ3VycmVudFJlY29yZChjb25zdCBTdHJpbmcmIHR5cGUsIGJvb2wg
aGFzTG93bGV2ZWxEZXRhaWxzKQogewogICAgIC8vIEFuIGVtcHR5IHN0YWNrIGNvdWxkIG1lcmVs
eSBtZWFuIHRoYXQgdGhlIHRpbWVsaW5lIGFnZW50IHdhcyB0dXJuZWQgb24gaW4gdGhlIG1pZGRs
ZSBvZgogICAgIC8vIGFuIGV2ZW50LiAgRG9uJ3QgdHJlYXQgYXMgYW4gZXJyb3IuCkBAIC00Nzgs
NiArNDc5LDEyIEBAIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6ZGlkQ29tcGxldGVDdXJy
ZW50UmVjb3JkKGNvbnN0IFN0cmluZyYgdHlwZSkKICAgICAgICAgZW50cnkucmVjb3JkLT5zZXRO
dW1iZXIoImVuZFRpbWUiLCB0aW1lc3RhbXAoKSk7CiAgICAgICAgIGFkZFJlY29yZFRvVGltZWxp
bmUoZW50cnkucmVjb3JkLCB0eXBlLCBlbnRyeS5mcmFtZUlkKTsKICAgICB9CisgICAgaWYgKGhh
c0xvd2xldmVsRGV0YWlscykgeworICAgICAgICBpZiAobV9jdXJyZW50TG93bGV2ZWxTdGFja0Rl
cHRoID09IDEpCisgICAgICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnNldFRpbWVs
aW5lQWdlbnRJbnN0YW5jZSgwKTsKKyAgICAgICAgaWYgKG1fY3VycmVudExvd2xldmVsU3RhY2tE
ZXB0aCkKKyAgICAgICAgICAgIG1fY3VycmVudExvd2xldmVsU3RhY2tEZXB0aC0tOworICAgIH0K
IH0KIAogSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6SW5zcGVjdG9yVGltZWxpbmVBZ2VudChJbnN0
cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzLCBJbnNwZWN0b3JQYWdlQWdlbnQq
IHBhZ2VBZ2VudCwgSW5zcGVjdG9yU3RhdGUqIHN0YXRlLCBJbnNwZWN0b3JUeXBlIHR5cGUsIElu
c3BlY3RvckNsaWVudCogY2xpZW50KQpAQCAtNDg3LDYgKzQ5NCw3IEBAIEluc3BlY3RvclRpbWVs
aW5lQWdlbnQ6Okluc3BlY3RvclRpbWVsaW5lQWdlbnQoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5z
dHJ1bWVudGluCiAgICAgLCBtX3RpbWVzdGFtcE9mZnNldCgwKQogICAgICwgbV9pZCgxKQogICAg
ICwgbV9tYXhDYWxsU3RhY2tEZXB0aCg1KQorICAgICwgbV9jdXJyZW50TG93bGV2ZWxTdGFja0Rl
cHRoKDApCiAgICAgLCBtX2luc3BlY3RvclR5cGUodHlwZSkKICAgICAsIG1fY2xpZW50KGNsaWVu
dCkKIHsKQEAgLTUwNCw3ICs1MTIsNyBAQCB2b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmFw
cGVuZFJlY29yZChQYXNzUmVmUHRyPEluc3BlY3Rvck9iamVjdD4gZGF0YSwgY29ucwogICAgIGFk
ZFJlY29yZFRvVGltZWxpbmUocmVjb3JkLnJlbGVhc2UoKSwgdHlwZSwgZnJhbWVJZCk7CiB9CiAK
LXZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6cHVzaEN1cnJlbnRSZWNvcmQoUGFzc1JlZlB0
cjxJbnNwZWN0b3JPYmplY3Q+IGRhdGEsIGNvbnN0IFN0cmluZyYgdHlwZSwgYm9vbCBjYXB0dXJl
Q2FsbFN0YWNrLCBGcmFtZSogZnJhbWUpCit2b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OnB1
c2hDdXJyZW50UmVjb3JkKFBhc3NSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiBkYXRhLCBjb25zdCBT
dHJpbmcmIHR5cGUsIGJvb2wgY2FwdHVyZUNhbGxTdGFjaywgRnJhbWUqIGZyYW1lLCBib29sIGhh
c0xvd2xldmVsRGV0YWlscykKIHsKICAgICBwdXNoR0NFdmVudFJlY29yZHMoKTsKICAgICBjb21t
aXRDYW5jZWxhYmxlUmVjb3JkcygpOwpAQCAtNTEzLDYgKzUyMSwxMSBAQCB2b2lkIEluc3BlY3Rv
clRpbWVsaW5lQWdlbnQ6OnB1c2hDdXJyZW50UmVjb3JkKFBhc3NSZWZQdHI8SW5zcGVjdG9yT2Jq
ZWN0PiBkYXRhLAogICAgIGlmIChmcmFtZSAmJiBtX3BhZ2VBZ2VudCkKICAgICAgICAgZnJhbWVJ
ZCA9IG1fcGFnZUFnZW50LT5mcmFtZUlkKGZyYW1lKTsKICAgICBtX3JlY29yZFN0YWNrLmFwcGVu
ZChUaW1lbGluZVJlY29yZEVudHJ5KHJlY29yZC5yZWxlYXNlKCksIGRhdGEsIEluc3BlY3RvckFy
cmF5OjpjcmVhdGUoKSwgdHlwZSwgZnJhbWVJZCkpOworICAgIGlmIChoYXNMb3dsZXZlbERldGFp
bHMpIHsKKyAgICAgICAgaWYgKCFtX2N1cnJlbnRMb3dsZXZlbFN0YWNrRGVwdGgpCisgICAgICAg
ICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnNldFRpbWVsaW5lQWdlbnRJbnN0YW5jZSh0
aGlzKTsKKyAgICAgICAgbV9jdXJyZW50TG93bGV2ZWxTdGFja0RlcHRoKys7CisgICAgfQogfQog
CiB2b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OnB1c2hDYW5jZWxhYmxlUmVjb3JkKFBhc3NS
ZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiBkYXRhLCBjb25zdCBTdHJpbmcmIHR5cGUsIEZyYW1lKiBm
cmFtZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1l
bGluZUFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVB
Z2VudC5oCmluZGV4IDk0YzdmY2FlZTM4NmVjZDBmMjJmMjdlZWIxZDdhNWY5MWZmN2YzMTguLmZk
YTI0MzllOTE3Zjc5YmRiOTMzYzUyY2Q1ZmVkY2EwOGE2ZDZhYWIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaApAQCAtMTU5LDEwICsx
NTksMTAgQEAgcHJpdmF0ZToKICAgICAgICAgCiAgICAgSW5zcGVjdG9yVGltZWxpbmVBZ2VudChJ
bnN0cnVtZW50aW5nQWdlbnRzKiwgSW5zcGVjdG9yUGFnZUFnZW50KiwgSW5zcGVjdG9yU3RhdGUq
LCBJbnNwZWN0b3JUeXBlLCBJbnNwZWN0b3JDbGllbnQqKTsKIAotICAgIHZvaWQgcHVzaEN1cnJl
bnRSZWNvcmQoUGFzc1JlZlB0cjxJbnNwZWN0b3JPYmplY3Q+LCBjb25zdCBTdHJpbmcmIHR5cGUs
IGJvb2wgY2FwdHVyZUNhbGxTdGFjaywgRnJhbWUqKTsKKyAgICB2b2lkIHB1c2hDdXJyZW50UmVj
b3JkKFBhc3NSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiwgY29uc3QgU3RyaW5nJiB0eXBlLCBib29s
IGNhcHR1cmVDYWxsU3RhY2ssIEZyYW1lKiwgYm9vbCBoYXNMb3dsZXZlbERldGFpbHMgPSBmYWxz
ZSk7CiAgICAgdm9pZCBzZXRIZWFwU2l6ZVN0YXRpc3RpYyhJbnNwZWN0b3JPYmplY3QqIHJlY29y
ZCk7CiAgICAgICAgIAotICAgIHZvaWQgZGlkQ29tcGxldGVDdXJyZW50UmVjb3JkKGNvbnN0IFN0
cmluZyYgdHlwZSk7CisgICAgdm9pZCBkaWRDb21wbGV0ZUN1cnJlbnRSZWNvcmQoY29uc3QgU3Ry
aW5nJiB0eXBlLCBib29sIGhhc0xvd2xldmVsRGV0YWlscyA9IGZhbHNlKTsKICAgICB2b2lkIGFw
cGVuZFJlY29yZChQYXNzUmVmUHRyPEluc3BlY3Rvck9iamVjdD4gZGF0YSwgY29uc3QgU3RyaW5n
JiB0eXBlLCBib29sIGNhcHR1cmVDYWxsU3RhY2ssIEZyYW1lKik7CiAgICAgdm9pZCBwdXNoQ2Fu
Y2VsYWJsZVJlY29yZChQYXNzUmVmUHRyPEluc3BlY3Rvck9iamVjdD4sIGNvbnN0IFN0cmluZyYg
dHlwZSwgRnJhbWUqKTsKICAgICB2b2lkIGNvbW1pdENhbmNlbGFibGVSZWNvcmRzKCk7CkBAIC0x
OTYsNiArMTk2LDcgQEAgcHJpdmF0ZToKICAgICB0eXBlZGVmIFZlY3RvcjxHQ0V2ZW50PiBHQ0V2
ZW50czsKICAgICBHQ0V2ZW50cyBtX2djRXZlbnRzOwogICAgIGludCBtX21heENhbGxTdGFja0Rl
cHRoOworICAgIGludCBtX2N1cnJlbnRMb3dsZXZlbFN0YWNrRGVwdGg7CiAgICAgSW5zcGVjdG9y
VHlwZSBtX2luc3BlY3RvclR5cGU7CiAgICAgSW5zcGVjdG9yQ2xpZW50KiBtX2NsaWVudDsKIH07
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>150628</attachid>
            <date>2012-07-03 09:39:36 -0700</date>
            <delta_ts>2012-07-03 10:40:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90264-20120703203934.patch</filename>
            <type>text/plain</type>
            <size>9372</size>
            <attacher name="Sergey Rogulenko">rogulenko</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIxNzc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTYwNmFkOTk5ZjIyNDc3
ZGI3Yjg4ZWRkOGZmYzU4ZDI1YTllODA0MC4uN2U0NzQ2ZWQzYWQwZGE5NzdiZmM3YTY3OGQ1Y2Q4
YmU3ZGZlZDkyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDEyLTA3LTAzICBTZXJn
ZXkgUm9ndWxlbmtvICA8cm9ndWxlbmtvQGdvb2dsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3Bl
Y3RvcjogYWRkZWQgbG93LWxldmVsIGluc3RydW1lbnRhdGlvbiBzdXBwb3J0IGZvciBUaW1lbGlu
ZUFnZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05
MDI2NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
aW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZEZpcmVBbmltYXRpb25GcmFtZUltcGwpOgor
ICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb246OnRpbWVsaW5lQWdlbnRJbnN0YW5jZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0
b3JJbnN0cnVtZW50YXRpb246OnNldFRpbWVsaW5lQWdlbnRJbnN0YW5jZSk6CisgICAgICAgIChX
ZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnRocmVhZFNwZWNpZmljVGltZWxpbmVB
Z2VudEluc3RhbmNlKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uLmg6CisgICAgICAgIChJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24pOgorICAgICAgICAqIGlu
c3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oklu
c3BlY3RvclRpbWVsaW5lQWdlbnQ6OmRpZFJlY2FsY3VsYXRlU3R5bGUpOgorICAgICAgICAoV2Vi
Q29yZTo6SW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6d2lsbFBhaW50KToKKyAgICAgICAgKFdlYkNv
cmU6Okluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OndpbGxFdmFsdWF0ZVNjcmlwdCk6CisgICAgICAg
IChXZWJDb3JlOjpJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpkaWRSZWNlaXZlUmVzb3VyY2VEYXRh
KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OnNldEhlYXBTaXpl
U3RhdGlzdGljcyk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3Bl
Y3RvclRpbWVsaW5lQWdlbnQ6OmRpZENvbXBsZXRlQ3VycmVudFJlY29yZCk6CisgICAgICAgIChX
ZWJDb3JlOjpJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpJbnNwZWN0b3JUaW1lbGluZUFnZW50KToK
KyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmFwcGVuZFJlY29yZCk6
CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaDoKKyAgICAgICAg
KEluc3BlY3RvclRpbWVsaW5lQWdlbnQpOgorCiAyMDEyLTA3LTAzICBWc2V2b2xvZCBWbGFzb3Yg
IDx2c2V2aWtAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IEludHJvZHVj
ZSBXb3Jrc3BhY2UgbWFrZSBpdCBVSVNvdXJjZUNvZGUgcHJvdmlkZXIgZm9yIFNjcmlwdHNQYW5l
bC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1l
bnRhdGlvbi5jcHAKaW5kZXggNzhiMDg0NzA0MmJhMTFiMjZjNjQyZDBiOTFlZDdkNTNiNjU1OGVk
MC4uNGQ1MDMzYmIwOTdhMTRmYjcwYjY5MzE4MTIyNWMyNDc5MDk4MmNhMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAK
QEAgLTY4LDYgKzY4LDcgQEAKICNpbmNsdWRlICJXb3JrZXJUaHJlYWQuaCIKICNpbmNsdWRlICJY
TUxIdHRwUmVxdWVzdC5oIgogI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KKyNpbmNsdWRl
IDx3dGYvVGhyZWFkU3BlY2lmaWMuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTExMzYsNiArMTEzNywyMiBAQCB2b2lkIEluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbjo6ZGlkRmlyZUFuaW1hdGlvbkZyYW1lSW1wbChjb25zdCBJbnNwZWN0
b3JJbnN0cnVtZQogICAgICAgICB0aW1lbGluZUFnZW50LT5kaWRGaXJlQW5pbWF0aW9uRnJhbWUo
KTsKIH0KIAorSW5zcGVjdG9yVGltZWxpbmVBZ2VudCogSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
Ojp0aW1lbGluZUFnZW50SW5zdGFuY2UoKQoreworICAgIHJldHVybiAqKnRocmVhZFNwZWNpZmlj
VGltZWxpbmVBZ2VudEluc3RhbmNlKCk7Cit9CisKK3ZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uOjpzZXRUaW1lbGluZUFnZW50SW5zdGFuY2UoSW5zcGVjdG9yVGltZWxpbmVBZ2VudCogaW5z
cGVjdG9yVGltZWxpbmVBZ2VudCkKK3sKKyAgICAqKnRocmVhZFNwZWNpZmljVGltZWxpbmVBZ2Vu
dEluc3RhbmNlKCkgPSBpbnNwZWN0b3JUaW1lbGluZUFnZW50OworfQorCitXVEY6OlRocmVhZFNw
ZWNpZmljPEluc3BlY3RvclRpbWVsaW5lQWdlbnQqPiogSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
Ojp0aHJlYWRTcGVjaWZpY1RpbWVsaW5lQWdlbnRJbnN0YW5jZSgpCit7CisgICAgQXRvbWljYWxs
eUluaXRpYWxpemVkU3RhdGljKFdURjo6VGhyZWFkU3BlY2lmaWM8SW5zcGVjdG9yVGltZWxpbmVB
Z2VudCo+KiwgaW5zdGFuY2UgPSBuZXcgV1RGOjpUaHJlYWRTcGVjaWZpYzxJbnNwZWN0b3JUaW1l
bGluZUFnZW50Kj4oKSk7CisgICAgcmV0dXJuIGluc3RhbmNlOworfQorCiBJbnNwZWN0b3JUaW1l
bGluZUFnZW50KiBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnJldHJpZXZlVGltZWxpbmVBZ2Vu
dChjb25zdCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUmIGNvb2tpZSkKIHsKICAgICBp
ZiAoIWNvb2tpZS5maXJzdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb24uaAppbmRleCA2ZDE3ZmQxYmJlOTYwYWYyNWRiMzlkZDI2MWMy
MTg4NzRlNzY2NjM2Li5jMTNiMTM3MzUyZDZjNzE4MTMyMjE0Y2YwZjdjMmI2Mjk1ZjliODY4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRh
dGlvbi5oCkBAIC0yNTIsNiArMjUyLDggQEAgcHVibGljOgogICAgIHN0YXRpYyBib29sIGhhc0Zy
b250ZW5kcygpIHsgcmV0dXJuIHNfZnJvbnRlbmRDb3VudGVyOyB9CiAgICAgc3RhdGljIGJvb2wg
aGFzRnJvbnRlbmRGb3JTY3JpcHRDb250ZXh0KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKTsKICAg
ICBzdGF0aWMgYm9vbCBjb2xsZWN0aW5nSFRNTFBhcnNlRXJyb3JzKFBhZ2UqKTsKKyAgICBzdGF0
aWMgSW5zcGVjdG9yVGltZWxpbmVBZ2VudCogdGltZWxpbmVBZ2VudEluc3RhbmNlKCk7CisgICAg
c3RhdGljIHZvaWQgc2V0VGltZWxpbmVBZ2VudEluc3RhbmNlKEluc3BlY3RvclRpbWVsaW5lQWdl
bnQqKTsKICNlbHNlCiAgICAgc3RhdGljIGJvb2wgaGFzRnJvbnRlbmRzKCkgeyByZXR1cm4gZmFs
c2U7IH0KICAgICBzdGF0aWMgYm9vbCBoYXNGcm9udGVuZEZvclNjcmlwdENvbnRleHQoU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCopIHsgcmV0dXJuIGZhbHNlOyB9CkBAIC0yNjAsNiArMjYyLDggQEAg
cHVibGljOgogCiBwcml2YXRlOgogI2lmIEVOQUJMRShJTlNQRUNUT1IpCisgICAgc3RhdGljIFdU
Rjo6VGhyZWFkU3BlY2lmaWM8SW5zcGVjdG9yVGltZWxpbmVBZ2VudCo+KiB0aHJlYWRTcGVjaWZp
Y1RpbWVsaW5lQWdlbnRJbnN0YW5jZSgpOworCiAgICAgc3RhdGljIHZvaWQgZGlkQ2xlYXJXaW5k
b3dPYmplY3RJbldvcmxkSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiwgRnJhbWUqLCBET01XcmFw
cGVyV29ybGQqKTsKICAgICBzdGF0aWMgYm9vbCBpc0RlYnVnZ2VyUGF1c2VkSW1wbChJbnN0cnVt
ZW50aW5nQWdlbnRzKik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JUaW1lbGluZUFnZW50LmNwcAppbmRleCBhOTU2YWIyNDkxNzI5OGVkN2U3OWU5Y2UzNWFl
NTVlYjI1MDE2YWQ1Li41MmY5ZTcyNmM4OGY3MDY4Njc3NTViNDEyMDk3NjExNWRkZDJlOWExIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2Vu
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdl
bnQuY3BwCkBAIC00MCw2ICs0MCw3IEBACiAjaW5jbHVkZSAiSW5zcGVjdG9yQ2xpZW50LmgiCiAj
aW5jbHVkZSAiSW5zcGVjdG9yQ291bnRlcnMuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JGcm9udGVu
ZC5oIgorI2luY2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIgogI2luY2x1ZGUgIklu
c3BlY3RvclBhZ2VBZ2VudC5oIgogI2luY2x1ZGUgIkluc3BlY3RvclN0YXRlLmgiCiAjaW5jbHVk
ZSAiSW5zdHJ1bWVudGluZ0FnZW50cy5oIgpAQCAtMjQ2LDcgKzI0Nyw3IEBAIHZvaWQgSW5zcGVj
dG9yVGltZWxpbmVBZ2VudDo6ZGlkUmVjYWxjdWxhdGVTdHlsZSgpCiAKIHZvaWQgSW5zcGVjdG9y
VGltZWxpbmVBZ2VudDo6d2lsbFBhaW50KGNvbnN0IExheW91dFJlY3QmIHJlY3QsIEZyYW1lKiBm
cmFtZSkKIHsKLSAgICBwdXNoQ3VycmVudFJlY29yZChUaW1lbGluZVJlY29yZEZhY3Rvcnk6OmNy
ZWF0ZVBhaW50RGF0YShyZWN0KSwgVGltZWxpbmVSZWNvcmRUeXBlOjpQYWludCwgdHJ1ZSwgZnJh
bWUpOworICAgIHB1c2hDdXJyZW50UmVjb3JkKFRpbWVsaW5lUmVjb3JkRmFjdG9yeTo6Y3JlYXRl
UGFpbnREYXRhKHJlY3QpLCBUaW1lbGluZVJlY29yZFR5cGU6OlBhaW50LCB0cnVlLCBmcmFtZSwg
dHJ1ZSk7CiB9CiAKIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6ZGlkUGFpbnQoKQpAQCAt
MzIyLDcgKzMyMyw3IEBAIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6d2lsbEV2YWx1YXRl
U2NyaXB0KGNvbnN0IFN0cmluZyYgdXJsLCBpbnQgbGluZU51bWJlCiB7CiAgICAgcHVzaEN1cnJl
bnRSZWNvcmQoVGltZWxpbmVSZWNvcmRGYWN0b3J5OjpjcmVhdGVFdmFsdWF0ZVNjcmlwdERhdGEo
dXJsLCBsaW5lTnVtYmVyKSwgVGltZWxpbmVSZWNvcmRUeXBlOjpFdmFsdWF0ZVNjcmlwdCwgdHJ1
ZSwgZnJhbWUpOwogfQotICAgIAorCiB2b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmRpZEV2
YWx1YXRlU2NyaXB0KCkKIHsKICAgICBkaWRDb21wbGV0ZUN1cnJlbnRSZWNvcmQoVGltZWxpbmVS
ZWNvcmRUeXBlOjpFdmFsdWF0ZVNjcmlwdCk7CkBAIC0zNjAsNyArMzYxLDcgQEAgdm9pZCBJbnNw
ZWN0b3JUaW1lbGluZUFnZW50OjpkaWRSZWNlaXZlUmVzb3VyY2VEYXRhKCkKIHsKICAgICBkaWRD
b21wbGV0ZUN1cnJlbnRSZWNvcmQoVGltZWxpbmVSZWNvcmRUeXBlOjpSZXNvdXJjZVJlY2VpdmVk
RGF0YSk7CiB9Ci0gICAgCisKIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6d2lsbFJlY2Vp
dmVSZXNvdXJjZVJlc3BvbnNlKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgUmVzb3Vy
Y2VSZXNwb25zZSYgcmVzcG9uc2UsIEZyYW1lKiBmcmFtZSkKIHsKICAgICBTdHJpbmcgcmVxdWVz
dElkID0gSWRlbnRpZmllcnNGYWN0b3J5OjpyZXF1ZXN0SWQoaWRlbnRpZmllcik7CkBAIC00OTYs
NiArNDk3LDEwIEBAIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6ZGlkQ29tcGxldGVDdXJy
ZW50UmVjb3JkKGNvbnN0IFN0cmluZyYgdHlwZSkKICAgICAgICAgZW50cnkucmVjb3JkLT5zZXRO
dW1iZXIoImVuZFRpbWUiLCB0aW1lc3RhbXAoKSk7CiAgICAgICAgIGFkZFJlY29yZFRvVGltZWxp
bmUoZW50cnkucmVjb3JkLCB0eXBlLCBlbnRyeS5mcmFtZUlkKTsKICAgICB9CisgICAgaWYgKG1f
bG93bGV2ZWxFdmVudHNFbmFibGVkU3RhY2tNYXJrID09IGludChtX3JlY29yZFN0YWNrLnNpemUo
KSkpIHsKKyAgICAgICAgbV9sb3dsZXZlbEV2ZW50c0VuYWJsZWRTdGFja01hcmsgPSAtMTsKKyAg
ICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpzZXRUaW1lbGluZUFnZW50SW5zdGFuY2Uo
MCk7CisgICAgfQogfQogCiBJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpJbnNwZWN0b3JUaW1lbGlu
ZUFnZW50KEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMsIEluc3BlY3Rv
clBhZ2VBZ2VudCogcGFnZUFnZW50LCBJbnNwZWN0b3JTdGF0ZSogc3RhdGUsIEluc3BlY3RvclR5
cGUgdHlwZSwgSW5zcGVjdG9yQ2xpZW50KiBjbGllbnQpCkBAIC01MDUsNiArNTEwLDcgQEAgSW5z
cGVjdG9yVGltZWxpbmVBZ2VudDo6SW5zcGVjdG9yVGltZWxpbmVBZ2VudChJbnN0cnVtZW50aW5n
QWdlbnRzKiBpbnN0cnVtZW50aW4KICAgICAsIG1fdGltZXN0YW1wT2Zmc2V0KDApCiAgICAgLCBt
X2lkKDEpCiAgICAgLCBtX21heENhbGxTdGFja0RlcHRoKDUpCisgICAgLCBtX2xvd2xldmVsRXZl
bnRzRW5hYmxlZFN0YWNrTWFyaygtMSkKICAgICAsIG1faW5zcGVjdG9yVHlwZSh0eXBlKQogICAg
ICwgbV9jbGllbnQoY2xpZW50KQogewpAQCAtNTIyLDcgKzUyOCw3IEBAIHZvaWQgSW5zcGVjdG9y
VGltZWxpbmVBZ2VudDo6YXBwZW5kUmVjb3JkKFBhc3NSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiBk
YXRhLCBjb25zCiAgICAgYWRkUmVjb3JkVG9UaW1lbGluZShyZWNvcmQucmVsZWFzZSgpLCB0eXBl
LCBmcmFtZUlkKTsKIH0KIAotdm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpwdXNoQ3VycmVu
dFJlY29yZChQYXNzUmVmUHRyPEluc3BlY3Rvck9iamVjdD4gZGF0YSwgY29uc3QgU3RyaW5nJiB0
eXBlLCBib29sIGNhcHR1cmVDYWxsU3RhY2ssIEZyYW1lKiBmcmFtZSkKK3ZvaWQgSW5zcGVjdG9y
VGltZWxpbmVBZ2VudDo6cHVzaEN1cnJlbnRSZWNvcmQoUGFzc1JlZlB0cjxJbnNwZWN0b3JPYmpl
Y3Q+IGRhdGEsIGNvbnN0IFN0cmluZyYgdHlwZSwgYm9vbCBjYXB0dXJlQ2FsbFN0YWNrLCBGcmFt
ZSogZnJhbWUsIGJvb2wgaGFzTG93bGV2ZWxEZXRhaWxzKQogewogICAgIHB1c2hHQ0V2ZW50UmVj
b3JkcygpOwogICAgIGNvbW1pdENhbmNlbGFibGVSZWNvcmRzKCk7CkBAIC01MzAsNiArNTM2LDEy
IEBAIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6cHVzaEN1cnJlbnRSZWNvcmQoUGFzc1Jl
ZlB0cjxJbnNwZWN0b3JPYmplY3Q+IGRhdGEsCiAgICAgU3RyaW5nIGZyYW1lSWQ7CiAgICAgaWYg
KGZyYW1lICYmIG1fcGFnZUFnZW50KQogICAgICAgICBmcmFtZUlkID0gbV9wYWdlQWdlbnQtPmZy
YW1lSWQoZnJhbWUpOworICAgIGlmIChoYXNMb3dsZXZlbERldGFpbHMpIHsKKyAgICAgICAgaWYg
KG1fbG93bGV2ZWxFdmVudHNFbmFibGVkU3RhY2tNYXJrID09IC0xKSB7CisgICAgICAgICAgICBt
X2xvd2xldmVsRXZlbnRzRW5hYmxlZFN0YWNrTWFyayA9IG1fcmVjb3JkU3RhY2suc2l6ZSgpOwor
ICAgICAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpzZXRUaW1lbGluZUFnZW50SW5z
dGFuY2UodGhpcyk7CisgICAgICAgIH0KKyAgICB9CiAgICAgbV9yZWNvcmRTdGFjay5hcHBlbmQo
VGltZWxpbmVSZWNvcmRFbnRyeShyZWNvcmQucmVsZWFzZSgpLCBkYXRhLCBJbnNwZWN0b3JBcnJh
eTo6Y3JlYXRlKCksIHR5cGUsIGZyYW1lSWQpKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmgKaW5kZXggMGQ3MjNlMzkzMGM2YjI3
MzE5YjdiZWU4NTAxZjRiYjNiMmZhOGE2OC4uMTAxZjc2NjU4MTlmMjk4ZTQyZDE3Y2VjMDEzNDVm
ZjM4NDA2MjUzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
clRpbWVsaW5lQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
VGltZWxpbmVBZ2VudC5oCkBAIC0xNjIsOSArMTYyLDkgQEAgcHJpdmF0ZToKICAgICAgICAgCiAg
ICAgSW5zcGVjdG9yVGltZWxpbmVBZ2VudChJbnN0cnVtZW50aW5nQWdlbnRzKiwgSW5zcGVjdG9y
UGFnZUFnZW50KiwgSW5zcGVjdG9yU3RhdGUqLCBJbnNwZWN0b3JUeXBlLCBJbnNwZWN0b3JDbGll
bnQqKTsKIAotICAgIHZvaWQgcHVzaEN1cnJlbnRSZWNvcmQoUGFzc1JlZlB0cjxJbnNwZWN0b3JP
YmplY3Q+LCBjb25zdCBTdHJpbmcmIHR5cGUsIGJvb2wgY2FwdHVyZUNhbGxTdGFjaywgRnJhbWUq
KTsKKyAgICB2b2lkIHB1c2hDdXJyZW50UmVjb3JkKFBhc3NSZWZQdHI8SW5zcGVjdG9yT2JqZWN0
PiwgY29uc3QgU3RyaW5nJiB0eXBlLCBib29sIGNhcHR1cmVDYWxsU3RhY2ssIEZyYW1lKiwgYm9v
bCBoYXNMb3dsZXZlbERldGFpbHMgPSBmYWxzZSk7CiAgICAgdm9pZCBzZXRIZWFwU2l6ZVN0YXRp
c3RpY3MoSW5zcGVjdG9yT2JqZWN0KiByZWNvcmQpOwotCisgICAgICAgIAogICAgIHZvaWQgZGlk
Q29tcGxldGVDdXJyZW50UmVjb3JkKGNvbnN0IFN0cmluZyYgdHlwZSk7CiAgICAgdm9pZCBhcHBl
bmRSZWNvcmQoUGFzc1JlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IGRhdGEsIGNvbnN0IFN0cmluZyYg
dHlwZSwgYm9vbCBjYXB0dXJlQ2FsbFN0YWNrLCBGcmFtZSopOwogICAgIHZvaWQgcHVzaENhbmNl
bGFibGVSZWNvcmQoUGFzc1JlZlB0cjxJbnNwZWN0b3JPYmplY3Q+LCBjb25zdCBTdHJpbmcmIHR5
cGUsIEZyYW1lKik7CkBAIC0xOTksNiArMTk5LDcgQEAgcHJpdmF0ZToKICAgICB0eXBlZGVmIFZl
Y3RvcjxHQ0V2ZW50PiBHQ0V2ZW50czsKICAgICBHQ0V2ZW50cyBtX2djRXZlbnRzOwogICAgIGlu
dCBtX21heENhbGxTdGFja0RlcHRoOworICAgIGludCBtX2xvd2xldmVsRXZlbnRzRW5hYmxlZFN0
YWNrTWFyazsKICAgICBJbnNwZWN0b3JUeXBlIG1faW5zcGVjdG9yVHlwZTsKICAgICBJbnNwZWN0
b3JDbGllbnQqIG1fY2xpZW50OwogfTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>150641</attachid>
            <date>2012-07-03 10:40:38 -0700</date>
            <delta_ts>2012-07-04 08:34:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90264-20120703214037.patch</filename>
            <type>text/plain</type>
            <size>9197</size>
            <attacher name="Sergey Rogulenko">rogulenko</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIxNzc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTYwNmFkOTk5ZjIyNDc3
ZGI3Yjg4ZWRkOGZmYzU4ZDI1YTllODA0MC4uZmM3MWY4YTdlNzAwMTUzOTc5N2EwN2RlMjMzZDcw
MDUxNjc3NjhkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDEyLTA3LTAzICBTZXJn
ZXkgUm9ndWxlbmtvICA8cm9ndWxlbmtvQGdvb2dsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3Bl
Y3RvcjogYWRkZWQgbG93LWxldmVsIGluc3RydW1lbnRhdGlvbiBzdXBwb3J0IGZvciBUaW1lbGlu
ZUFnZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05
MDI2NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
aW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZEZpcmVBbmltYXRpb25GcmFtZUltcGwpOgor
ICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb246OnRpbWVsaW5lQWdlbnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uOjpzZXRUaW1lbGluZUFnZW50KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbjo6dGhyZWFkU3BlY2lmaWNUaW1lbGluZUFnZW50KToKKyAgICAgICAg
KiBpbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmg6CisgICAgICAgIChJbnNwZWN0
b3JJbnN0cnVtZW50YXRpb24pOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGlu
ZUFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmRp
ZFJlY2FsY3VsYXRlU3R5bGUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yVGltZWxpbmVB
Z2VudDo6d2lsbFBhaW50KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclRpbWVsaW5lQWdl
bnQ6OndpbGxFdmFsdWF0ZVNjcmlwdCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JUaW1l
bGluZUFnZW50OjpkaWRSZWNlaXZlUmVzb3VyY2VEYXRhKToKKyAgICAgICAgKFdlYkNvcmU6Oklu
c3BlY3RvclRpbWVsaW5lQWdlbnQ6OnNldEhlYXBTaXplU3RhdGlzdGljcyk6CisgICAgICAgIChX
ZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmRpZENv
bXBsZXRlQ3VycmVudFJlY29yZCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JUaW1lbGlu
ZUFnZW50OjpJbnNwZWN0b3JUaW1lbGluZUFnZW50KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3Bl
Y3RvclRpbWVsaW5lQWdlbnQ6OmFwcGVuZFJlY29yZCk6CisgICAgICAgICogaW5zcGVjdG9yL0lu
c3BlY3RvclRpbWVsaW5lQWdlbnQuaDoKKyAgICAgICAgKEluc3BlY3RvclRpbWVsaW5lQWdlbnQp
OgorCiAyMDEyLTA3LTAzICBWc2V2b2xvZCBWbGFzb3YgIDx2c2V2aWtAY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IEludHJvZHVjZSBXb3Jrc3BhY2UgbWFrZSBpdCBVSVNv
dXJjZUNvZGUgcHJvdmlkZXIgZm9yIFNjcmlwdHNQYW5lbC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAKaW5kZXggNzhiMDg0
NzA0MmJhMTFiMjZjNjQyZDBiOTFlZDdkNTNiNjU1OGVkMC4uNGE5MjBmNDBjZjRkNDk2YWVhMzRk
YTUxMWYzYjNiMjcwNDI1YmYwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAKQEAgLTY4LDYgKzY4LDcgQEAKICNpbmNs
dWRlICJXb3JrZXJUaHJlYWQuaCIKICNpbmNsdWRlICJYTUxIdHRwUmVxdWVzdC5oIgogI2luY2x1
ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KKyNpbmNsdWRlIDx3dGYvVGhyZWFkU3BlY2lmaWMuaD4K
ICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAg
LTExMzYsNiArMTEzNywyMiBAQCB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkRmly
ZUFuaW1hdGlvbkZyYW1lSW1wbChjb25zdCBJbnNwZWN0b3JJbnN0cnVtZQogICAgICAgICB0aW1l
bGluZUFnZW50LT5kaWRGaXJlQW5pbWF0aW9uRnJhbWUoKTsKIH0KIAorSW5zcGVjdG9yVGltZWxp
bmVBZ2VudCogSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp0aW1lbGluZUFnZW50KCkKK3sKKyAg
ICByZXR1cm4gKnRocmVhZFNwZWNpZmljVGltZWxpbmVBZ2VudCgpOworfQorCit2b2lkIEluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbjo6c2V0VGltZWxpbmVBZ2VudChJbnNwZWN0b3JUaW1lbGluZUFn
ZW50KiBpbnNwZWN0b3JUaW1lbGluZUFnZW50KQoreworICAgICp0aHJlYWRTcGVjaWZpY1RpbWVs
aW5lQWdlbnQoKSA9IGluc3BlY3RvclRpbWVsaW5lQWdlbnQ7Cit9CisKK1dURjo6VGhyZWFkU3Bl
Y2lmaWM8SW5zcGVjdG9yVGltZWxpbmVBZ2VudCo+JiBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246
OnRocmVhZFNwZWNpZmljVGltZWxpbmVBZ2VudCgpCit7CisgICAgQXRvbWljYWxseUluaXRpYWxp
emVkU3RhdGljKFdURjo6VGhyZWFkU3BlY2lmaWM8SW5zcGVjdG9yVGltZWxpbmVBZ2VudCo+Kiwg
aW5zdGFuY2UgPSBuZXcgV1RGOjpUaHJlYWRTcGVjaWZpYzxJbnNwZWN0b3JUaW1lbGluZUFnZW50
Kj4oKSk7CisgICAgcmV0dXJuICppbnN0YW5jZTsKK30KKwogSW5zcGVjdG9yVGltZWxpbmVBZ2Vu
dCogSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpyZXRyaWV2ZVRpbWVsaW5lQWdlbnQoY29uc3Qg
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llJiBjb29raWUpCiB7CiAgICAgaWYgKCFjb29r
aWUuZmlyc3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uLmgKaW5kZXggNmQxN2ZkMWJiZTk2MGFmMjVkYjM5ZGQyNjFjMjE4ODc0ZTc2
NjYzNi4uYWU5ZTA2Y2I2MWRmNGE3YWRjZGI5ODZkMGUzOGRiMzdlNDhiY2QxNCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaApA
QCAtMjUyLDYgKzI1Miw4IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgYm9vbCBoYXNGcm9udGVuZHMo
KSB7IHJldHVybiBzX2Zyb250ZW5kQ291bnRlcjsgfQogICAgIHN0YXRpYyBib29sIGhhc0Zyb250
ZW5kRm9yU2NyaXB0Q29udGV4dChTY3JpcHRFeGVjdXRpb25Db250ZXh0Kik7CiAgICAgc3RhdGlj
IGJvb2wgY29sbGVjdGluZ0hUTUxQYXJzZUVycm9ycyhQYWdlKik7CisgICAgc3RhdGljIEluc3Bl
Y3RvclRpbWVsaW5lQWdlbnQqIHRpbWVsaW5lQWdlbnQoKTsKKyAgICBzdGF0aWMgdm9pZCBzZXRU
aW1lbGluZUFnZW50KEluc3BlY3RvclRpbWVsaW5lQWdlbnQqKTsKICNlbHNlCiAgICAgc3RhdGlj
IGJvb2wgaGFzRnJvbnRlbmRzKCkgeyByZXR1cm4gZmFsc2U7IH0KICAgICBzdGF0aWMgYm9vbCBo
YXNGcm9udGVuZEZvclNjcmlwdENvbnRleHQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopIHsgcmV0
dXJuIGZhbHNlOyB9CkBAIC0yNjAsNiArMjYyLDggQEAgcHVibGljOgogCiBwcml2YXRlOgogI2lm
IEVOQUJMRShJTlNQRUNUT1IpCisgICAgc3RhdGljIFdURjo6VGhyZWFkU3BlY2lmaWM8SW5zcGVj
dG9yVGltZWxpbmVBZ2VudCo+JiB0aHJlYWRTcGVjaWZpY1RpbWVsaW5lQWdlbnQoKTsKKwogICAg
IHN0YXRpYyB2b2lkIGRpZENsZWFyV2luZG93T2JqZWN0SW5Xb3JsZEltcGwoSW5zdHJ1bWVudGlu
Z0FnZW50cyosIEZyYW1lKiwgRE9NV3JhcHBlcldvcmxkKik7CiAgICAgc3RhdGljIGJvb2wgaXNE
ZWJ1Z2dlclBhdXNlZEltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyopOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAKaW5kZXggYTk1
NmFiMjQ5MTcyOThlZDdlNzllOWNlMzVhZTU1ZWIyNTAxNmFkNS4uYzA1ZDIxMDM2OGRlOTk0NjNh
MDA2ZjllYjkyNWM2NWQ1OWE5M2EyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcApAQCAtNDAsNiArNDAsNyBAQAogI2luY2x1
ZGUgIkluc3BlY3RvckNsaWVudC5oIgogI2luY2x1ZGUgIkluc3BlY3RvckNvdW50ZXJzLmgiCiAj
aW5jbHVkZSAiSW5zcGVjdG9yRnJvbnRlbmQuaCIKKyNpbmNsdWRlICJJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb24uaCIKICNpbmNsdWRlICJJbnNwZWN0b3JQYWdlQWdlbnQuaCIKICNpbmNsdWRlICJJ
bnNwZWN0b3JTdGF0ZS5oIgogI2luY2x1ZGUgIkluc3RydW1lbnRpbmdBZ2VudHMuaCIKQEAgLTI0
Niw3ICsyNDcsNyBAQCB2b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmRpZFJlY2FsY3VsYXRl
U3R5bGUoKQogCiB2b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OndpbGxQYWludChjb25zdCBM
YXlvdXRSZWN0JiByZWN0LCBGcmFtZSogZnJhbWUpCiB7Ci0gICAgcHVzaEN1cnJlbnRSZWNvcmQo
VGltZWxpbmVSZWNvcmRGYWN0b3J5OjpjcmVhdGVQYWludERhdGEocmVjdCksIFRpbWVsaW5lUmVj
b3JkVHlwZTo6UGFpbnQsIHRydWUsIGZyYW1lKTsKKyAgICBwdXNoQ3VycmVudFJlY29yZChUaW1l
bGluZVJlY29yZEZhY3Rvcnk6OmNyZWF0ZVBhaW50RGF0YShyZWN0KSwgVGltZWxpbmVSZWNvcmRU
eXBlOjpQYWludCwgdHJ1ZSwgZnJhbWUsIHRydWUpOwogfQogCiB2b2lkIEluc3BlY3RvclRpbWVs
aW5lQWdlbnQ6OmRpZFBhaW50KCkKQEAgLTMyMiw3ICszMjMsNyBAQCB2b2lkIEluc3BlY3RvclRp
bWVsaW5lQWdlbnQ6OndpbGxFdmFsdWF0ZVNjcmlwdChjb25zdCBTdHJpbmcmIHVybCwgaW50IGxp
bmVOdW1iZQogewogICAgIHB1c2hDdXJyZW50UmVjb3JkKFRpbWVsaW5lUmVjb3JkRmFjdG9yeTo6
Y3JlYXRlRXZhbHVhdGVTY3JpcHREYXRhKHVybCwgbGluZU51bWJlciksIFRpbWVsaW5lUmVjb3Jk
VHlwZTo6RXZhbHVhdGVTY3JpcHQsIHRydWUsIGZyYW1lKTsKIH0KLSAgICAKKwogdm9pZCBJbnNw
ZWN0b3JUaW1lbGluZUFnZW50OjpkaWRFdmFsdWF0ZVNjcmlwdCgpCiB7CiAgICAgZGlkQ29tcGxl
dGVDdXJyZW50UmVjb3JkKFRpbWVsaW5lUmVjb3JkVHlwZTo6RXZhbHVhdGVTY3JpcHQpOwpAQCAt
MzYwLDcgKzM2MSw3IEBAIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6ZGlkUmVjZWl2ZVJl
c291cmNlRGF0YSgpCiB7CiAgICAgZGlkQ29tcGxldGVDdXJyZW50UmVjb3JkKFRpbWVsaW5lUmVj
b3JkVHlwZTo6UmVzb3VyY2VSZWNlaXZlZERhdGEpOwogfQotICAgIAorCiB2b2lkIEluc3BlY3Rv
clRpbWVsaW5lQWdlbnQ6OndpbGxSZWNlaXZlUmVzb3VyY2VSZXNwb25zZSh1bnNpZ25lZCBsb25n
IGlkZW50aWZpZXIsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBGcmFtZSogZnJh
bWUpCiB7CiAgICAgU3RyaW5nIHJlcXVlc3RJZCA9IElkZW50aWZpZXJzRmFjdG9yeTo6cmVxdWVz
dElkKGlkZW50aWZpZXIpOwpAQCAtNDg0LDYgKzQ4NSwxMCBAQCB2b2lkIEluc3BlY3RvclRpbWVs
aW5lQWdlbnQ6OnNldEhlYXBTaXplU3RhdGlzdGljcyhJbnNwZWN0b3JPYmplY3QqIHJlY29yZCkK
IAogdm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpkaWRDb21wbGV0ZUN1cnJlbnRSZWNvcmQo
Y29uc3QgU3RyaW5nJiB0eXBlKQogeworICAgIGlmIChtX2xvd2xldmVsRXZlbnRzRW5hYmxlZFN0
YWNrTWFyayAmJiBtX2xvd2xldmVsRXZlbnRzRW5hYmxlZFN0YWNrTWFyayA9PSBzdGF0aWNfY2Fz
dDxpbnQ+KG1fcmVjb3JkU3RhY2suc2l6ZSgpKSkgeworICAgICAgICBtX2xvd2xldmVsRXZlbnRz
RW5hYmxlZFN0YWNrTWFyayA9IDA7CisgICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6
c2V0VGltZWxpbmVBZ2VudCgwKTsKKyAgICB9CiAgICAgLy8gQW4gZW1wdHkgc3RhY2sgY291bGQg
bWVyZWx5IG1lYW4gdGhhdCB0aGUgdGltZWxpbmUgYWdlbnQgd2FzIHR1cm5lZCBvbiBpbiB0aGUg
bWlkZGxlIG9mCiAgICAgLy8gYW4gZXZlbnQuICBEb24ndCB0cmVhdCBhcyBhbiBlcnJvci4KICAg
ICBpZiAoIW1fcmVjb3JkU3RhY2suaXNFbXB0eSgpKSB7CkBAIC01MDUsNiArNTEwLDcgQEAgSW5z
cGVjdG9yVGltZWxpbmVBZ2VudDo6SW5zcGVjdG9yVGltZWxpbmVBZ2VudChJbnN0cnVtZW50aW5n
QWdlbnRzKiBpbnN0cnVtZW50aW4KICAgICAsIG1fdGltZXN0YW1wT2Zmc2V0KDApCiAgICAgLCBt
X2lkKDEpCiAgICAgLCBtX21heENhbGxTdGFja0RlcHRoKDUpCisgICAgLCBtX2xvd2xldmVsRXZl
bnRzRW5hYmxlZFN0YWNrTWFyaygwKQogICAgICwgbV9pbnNwZWN0b3JUeXBlKHR5cGUpCiAgICAg
LCBtX2NsaWVudChjbGllbnQpCiB7CkBAIC01MjIsNyArNTI4LDcgQEAgdm9pZCBJbnNwZWN0b3JU
aW1lbGluZUFnZW50OjphcHBlbmRSZWNvcmQoUGFzc1JlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IGRh
dGEsIGNvbnMKICAgICBhZGRSZWNvcmRUb1RpbWVsaW5lKHJlY29yZC5yZWxlYXNlKCksIHR5cGUs
IGZyYW1lSWQpOwogfQogCi12b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OnB1c2hDdXJyZW50
UmVjb3JkKFBhc3NSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiBkYXRhLCBjb25zdCBTdHJpbmcmIHR5
cGUsIGJvb2wgY2FwdHVyZUNhbGxTdGFjaywgRnJhbWUqIGZyYW1lKQordm9pZCBJbnNwZWN0b3JU
aW1lbGluZUFnZW50OjpwdXNoQ3VycmVudFJlY29yZChQYXNzUmVmUHRyPEluc3BlY3Rvck9iamVj
dD4gZGF0YSwgY29uc3QgU3RyaW5nJiB0eXBlLCBib29sIGNhcHR1cmVDYWxsU3RhY2ssIEZyYW1l
KiBmcmFtZSwgYm9vbCBoYXNMb3dMZXZlbERldGFpbHMpCiB7CiAgICAgcHVzaEdDRXZlbnRSZWNv
cmRzKCk7CiAgICAgY29tbWl0Q2FuY2VsYWJsZVJlY29yZHMoKTsKQEAgLTUzMSw2ICs1MzcsMTIg
QEAgdm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpwdXNoQ3VycmVudFJlY29yZChQYXNzUmVm
UHRyPEluc3BlY3Rvck9iamVjdD4gZGF0YSwKICAgICBpZiAoZnJhbWUgJiYgbV9wYWdlQWdlbnQp
CiAgICAgICAgIGZyYW1lSWQgPSBtX3BhZ2VBZ2VudC0+ZnJhbWVJZChmcmFtZSk7CiAgICAgbV9y
ZWNvcmRTdGFjay5hcHBlbmQoVGltZWxpbmVSZWNvcmRFbnRyeShyZWNvcmQucmVsZWFzZSgpLCBk
YXRhLCBJbnNwZWN0b3JBcnJheTo6Y3JlYXRlKCksIHR5cGUsIGZyYW1lSWQpKTsKKyAgICBpZiAo
aGFzTG93TGV2ZWxEZXRhaWxzKSB7CisgICAgICAgIGlmICghbV9sb3dsZXZlbEV2ZW50c0VuYWJs
ZWRTdGFja01hcmspIHsKKyAgICAgICAgICAgIG1fbG93bGV2ZWxFdmVudHNFbmFibGVkU3RhY2tN
YXJrID0gbV9yZWNvcmRTdGFjay5zaXplKCk7CisgICAgICAgICAgICBJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb246OnNldFRpbWVsaW5lQWdlbnQodGhpcyk7CisgICAgICAgIH0KKyAgICB9CiB9CiAK
IHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6cHVzaENhbmNlbGFibGVSZWNvcmQoUGFzc1Jl
ZlB0cjxJbnNwZWN0b3JPYmplY3Q+IGRhdGEsIGNvbnN0IFN0cmluZyYgdHlwZSwgRnJhbWUqIGZy
YW1lKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVs
aW5lQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFn
ZW50LmgKaW5kZXggMGQ3MjNlMzkzMGM2YjI3MzE5YjdiZWU4NTAxZjRiYjNiMmZhOGE2OC4uNGVl
MzEwZjM0OGI2MzhkOThkODNlNzE1ZDZlZjk0Y2FmNThkODExZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oCkBAIC0xNTksMTAgKzE1
OSwxMCBAQCBwcml2YXRlOgogICAgICAgICBTdHJpbmcgZnJhbWVJZDsKICAgICAgICAgYm9vbCBj
YW5jZWxhYmxlOwogICAgIH07Ci0gICAgICAgIAorCiAgICAgSW5zcGVjdG9yVGltZWxpbmVBZ2Vu
dChJbnN0cnVtZW50aW5nQWdlbnRzKiwgSW5zcGVjdG9yUGFnZUFnZW50KiwgSW5zcGVjdG9yU3Rh
dGUqLCBJbnNwZWN0b3JUeXBlLCBJbnNwZWN0b3JDbGllbnQqKTsKIAotICAgIHZvaWQgcHVzaEN1
cnJlbnRSZWNvcmQoUGFzc1JlZlB0cjxJbnNwZWN0b3JPYmplY3Q+LCBjb25zdCBTdHJpbmcmIHR5
cGUsIGJvb2wgY2FwdHVyZUNhbGxTdGFjaywgRnJhbWUqKTsKKyAgICB2b2lkIHB1c2hDdXJyZW50
UmVjb3JkKFBhc3NSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiwgY29uc3QgU3RyaW5nJiB0eXBlLCBi
b29sIGNhcHR1cmVDYWxsU3RhY2ssIEZyYW1lKiwgYm9vbCBoYXNMb3dMZXZlbERldGFpbHMgPSBm
YWxzZSk7CiAgICAgdm9pZCBzZXRIZWFwU2l6ZVN0YXRpc3RpY3MoSW5zcGVjdG9yT2JqZWN0KiBy
ZWNvcmQpOwogCiAgICAgdm9pZCBkaWRDb21wbGV0ZUN1cnJlbnRSZWNvcmQoY29uc3QgU3RyaW5n
JiB0eXBlKTsKQEAgLTE5OSw2ICsxOTksNyBAQCBwcml2YXRlOgogICAgIHR5cGVkZWYgVmVjdG9y
PEdDRXZlbnQ+IEdDRXZlbnRzOwogICAgIEdDRXZlbnRzIG1fZ2NFdmVudHM7CiAgICAgaW50IG1f
bWF4Q2FsbFN0YWNrRGVwdGg7CisgICAgaW50IG1fbG93bGV2ZWxFdmVudHNFbmFibGVkU3RhY2tN
YXJrOwogICAgIEluc3BlY3RvclR5cGUgbV9pbnNwZWN0b3JUeXBlOwogICAgIEluc3BlY3RvckNs
aWVudCogbV9jbGllbnQ7CiB9Owo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>150804</attachid>
            <date>2012-07-04 08:34:28 -0700</date>
            <delta_ts>2012-07-04 08:59:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90264-20120704193426.patch</filename>
            <type>text/plain</type>
            <size>9017</size>
            <attacher name="Sergey Rogulenko">rogulenko</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIxNzc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTYwNmFkOTk5ZjIyNDc3
ZGI3Yjg4ZWRkOGZmYzU4ZDI1YTllODA0MC4uYjdiYjliOGFkYWYyNmU4NmNiODVkMWNjNmU1ZmIy
NDhiNDIyZDBlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEyLTA3LTA0ICBTZXJn
ZXkgUm9ndWxlbmtvICA8cm9ndWxlbmtvQGdvb2dsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3Bl
Y3RvcjogYWRkZWQgbG93LWxldmVsIGluc3RydW1lbnRhdGlvbiBzdXBwb3J0IGZvciBUaW1lbGlu
ZUFnZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05
MDI2NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
aW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnRpbWVsaW5lQWdlbnRGb3JPcnBoYW5FdmVudHMp
OgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpzZXRUaW1lbGlu
ZUFnZW50Rm9yT3JwaGFuRXZlbnRzKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbjo6dGhyZWFkU3BlY2lmaWNUaW1lbGluZUFnZW50Rm9yT3JwaGFuRXZlbnRzKToK
KyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmg6CisgICAgICAg
IChJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24pOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0
b3JUaW1lbGluZUFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclRpbWVsaW5l
QWdlbnQ6OmRpZENvbXBsZXRlQ3VycmVudFJlY29yZCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNw
ZWN0b3JUaW1lbGluZUFnZW50OjpJbnNwZWN0b3JUaW1lbGluZUFnZW50KToKKyAgICAgICAgKFdl
YkNvcmU6Okluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OnB1c2hDdXJyZW50UmVjb3JkKToKKyAgICAg
ICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oOgorICAgICAgICAoSW5zcGVj
dG9yVGltZWxpbmVBZ2VudCk6CisKIDIwMTItMDctMDMgIFZzZXZvbG9kIFZsYXNvdiAgPHZzZXZp
a0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogSW50cm9kdWNlIFdvcmtz
cGFjZSBtYWtlIGl0IFVJU291cmNlQ29kZSBwcm92aWRlciBmb3IgU2NyaXB0c1BhbmVsLgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlv
bi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
LmNwcAppbmRleCA3OGIwODQ3MDQyYmExMWIyNmM2NDJkMGI5MWVkN2Q1M2I2NTU4ZWQwLi4zMjVh
NGM0OGY4YWEyYTdjN2JmZTlkMzNlZjZiYzgxNTU3NDFhMDkxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcApAQCAtNjgs
NiArNjgsNyBAQAogI2luY2x1ZGUgIldvcmtlclRocmVhZC5oIgogI2luY2x1ZGUgIlhNTEh0dHBS
ZXF1ZXN0LmgiCiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgorI2luY2x1ZGUgPHd0Zi9U
aHJlYWRTcGVjaWZpYy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewpAQCAtMTEzNiw2ICsxMTM3LDIyIEBAIHZvaWQgSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uOjpkaWRGaXJlQW5pbWF0aW9uRnJhbWVJbXBsKGNvbnN0IEluc3BlY3Rvckluc3Ry
dW1lCiAgICAgICAgIHRpbWVsaW5lQWdlbnQtPmRpZEZpcmVBbmltYXRpb25GcmFtZSgpOwogfQog
CitJbnNwZWN0b3JUaW1lbGluZUFnZW50KiBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnRpbWVs
aW5lQWdlbnRGb3JPcnBoYW5FdmVudHMoKQoreworICAgIHJldHVybiAqdGhyZWFkU3BlY2lmaWNU
aW1lbGluZUFnZW50Rm9yT3JwaGFuRXZlbnRzKCk7Cit9CisKK3ZvaWQgSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uOjpzZXRUaW1lbGluZUFnZW50Rm9yT3JwaGFuRXZlbnRzKEluc3BlY3RvclRpbWVs
aW5lQWdlbnQqIGluc3BlY3RvclRpbWVsaW5lQWdlbnQpCit7CisgICAgKnRocmVhZFNwZWNpZmlj
VGltZWxpbmVBZ2VudEZvck9ycGhhbkV2ZW50cygpID0gaW5zcGVjdG9yVGltZWxpbmVBZ2VudDsK
K30KKworV1RGOjpUaHJlYWRTcGVjaWZpYzxJbnNwZWN0b3JUaW1lbGluZUFnZW50Kj4mIEluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbjo6dGhyZWFkU3BlY2lmaWNUaW1lbGluZUFnZW50Rm9yT3JwaGFu
RXZlbnRzKCkKK3sKKyAgICBBdG9taWNhbGx5SW5pdGlhbGl6ZWRTdGF0aWMoV1RGOjpUaHJlYWRT
cGVjaWZpYzxJbnNwZWN0b3JUaW1lbGluZUFnZW50Kj4qLCBpbnN0YW5jZSA9IG5ldyBXVEY6OlRo
cmVhZFNwZWNpZmljPEluc3BlY3RvclRpbWVsaW5lQWdlbnQqPigpKTsKKyAgICByZXR1cm4gKmlu
c3RhbmNlOworfQorCiBJbnNwZWN0b3JUaW1lbGluZUFnZW50KiBJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb246OnJldHJpZXZlVGltZWxpbmVBZ2VudChjb25zdCBJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b25Db29raWUmIGNvb2tpZSkKIHsKICAgICBpZiAoIWNvb2tpZS5maXJzdCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaAppbmRleCA2
ZDE3ZmQxYmJlOTYwYWYyNWRiMzlkZDI2MWMyMTg4NzRlNzY2NjM2Li40MzUwZTljY2Q3MmY2ZWIz
ZmRjZTAxNjBhNTNkYWE4MWViZjBiMGI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCkBAIC0yNTIsNiArMjUyLDggQEAgcHVi
bGljOgogICAgIHN0YXRpYyBib29sIGhhc0Zyb250ZW5kcygpIHsgcmV0dXJuIHNfZnJvbnRlbmRD
b3VudGVyOyB9CiAgICAgc3RhdGljIGJvb2wgaGFzRnJvbnRlbmRGb3JTY3JpcHRDb250ZXh0KFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQqKTsKICAgICBzdGF0aWMgYm9vbCBjb2xsZWN0aW5nSFRNTFBh
cnNlRXJyb3JzKFBhZ2UqKTsKKyAgICBzdGF0aWMgSW5zcGVjdG9yVGltZWxpbmVBZ2VudCogdGlt
ZWxpbmVBZ2VudEZvck9ycGhhbkV2ZW50cygpOworICAgIHN0YXRpYyB2b2lkIHNldFRpbWVsaW5l
QWdlbnRGb3JPcnBoYW5FdmVudHMoSW5zcGVjdG9yVGltZWxpbmVBZ2VudCopOwogI2Vsc2UKICAg
ICBzdGF0aWMgYm9vbCBoYXNGcm9udGVuZHMoKSB7IHJldHVybiBmYWxzZTsgfQogICAgIHN0YXRp
YyBib29sIGhhc0Zyb250ZW5kRm9yU2NyaXB0Q29udGV4dChTY3JpcHRFeGVjdXRpb25Db250ZXh0
KikgeyByZXR1cm4gZmFsc2U7IH0KQEAgLTI2MCw2ICsyNjIsOCBAQCBwdWJsaWM6CiAKIHByaXZh
dGU6CiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKKyAgICBzdGF0aWMgV1RGOjpUaHJlYWRTcGVjaWZp
YzxJbnNwZWN0b3JUaW1lbGluZUFnZW50Kj4mIHRocmVhZFNwZWNpZmljVGltZWxpbmVBZ2VudEZv
ck9ycGhhbkV2ZW50cygpOworCiAgICAgc3RhdGljIHZvaWQgZGlkQ2xlYXJXaW5kb3dPYmplY3RJ
bldvcmxkSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiwgRnJhbWUqLCBET01XcmFwcGVyV29ybGQq
KTsKICAgICBzdGF0aWMgYm9vbCBpc0RlYnVnZ2VyUGF1c2VkSW1wbChJbnN0cnVtZW50aW5nQWdl
bnRzKik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JU
aW1lbGluZUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1l
bGluZUFnZW50LmNwcAppbmRleCBhOTU2YWIyNDkxNzI5OGVkN2U3OWU5Y2UzNWFlNTVlYjI1MDE2
YWQ1Li43ZDUxMTc5MjI0MjE0MzNhMGE4NGI0YThkNTcyMTRhNjNlYTgxNGZiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwCkBA
IC00MCw2ICs0MCw3IEBACiAjaW5jbHVkZSAiSW5zcGVjdG9yQ2xpZW50LmgiCiAjaW5jbHVkZSAi
SW5zcGVjdG9yQ291bnRlcnMuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JGcm9udGVuZC5oIgorI2lu
Y2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIgogI2luY2x1ZGUgIkluc3BlY3RvclBh
Z2VBZ2VudC5oIgogI2luY2x1ZGUgIkluc3BlY3RvclN0YXRlLmgiCiAjaW5jbHVkZSAiSW5zdHJ1
bWVudGluZ0FnZW50cy5oIgpAQCAtMjQ2LDcgKzI0Nyw3IEBAIHZvaWQgSW5zcGVjdG9yVGltZWxp
bmVBZ2VudDo6ZGlkUmVjYWxjdWxhdGVTdHlsZSgpCiAKIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVB
Z2VudDo6d2lsbFBhaW50KGNvbnN0IExheW91dFJlY3QmIHJlY3QsIEZyYW1lKiBmcmFtZSkKIHsK
LSAgICBwdXNoQ3VycmVudFJlY29yZChUaW1lbGluZVJlY29yZEZhY3Rvcnk6OmNyZWF0ZVBhaW50
RGF0YShyZWN0KSwgVGltZWxpbmVSZWNvcmRUeXBlOjpQYWludCwgdHJ1ZSwgZnJhbWUpOworICAg
IHB1c2hDdXJyZW50UmVjb3JkKFRpbWVsaW5lUmVjb3JkRmFjdG9yeTo6Y3JlYXRlUGFpbnREYXRh
KHJlY3QpLCBUaW1lbGluZVJlY29yZFR5cGU6OlBhaW50LCB0cnVlLCBmcmFtZSwgdHJ1ZSk7CiB9
CiAKIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6ZGlkUGFpbnQoKQpAQCAtMzIyLDcgKzMy
Myw3IEBAIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6d2lsbEV2YWx1YXRlU2NyaXB0KGNv
bnN0IFN0cmluZyYgdXJsLCBpbnQgbGluZU51bWJlCiB7CiAgICAgcHVzaEN1cnJlbnRSZWNvcmQo
VGltZWxpbmVSZWNvcmRGYWN0b3J5OjpjcmVhdGVFdmFsdWF0ZVNjcmlwdERhdGEodXJsLCBsaW5l
TnVtYmVyKSwgVGltZWxpbmVSZWNvcmRUeXBlOjpFdmFsdWF0ZVNjcmlwdCwgdHJ1ZSwgZnJhbWUp
OwogfQotICAgIAorCiB2b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmRpZEV2YWx1YXRlU2Ny
aXB0KCkKIHsKICAgICBkaWRDb21wbGV0ZUN1cnJlbnRSZWNvcmQoVGltZWxpbmVSZWNvcmRUeXBl
OjpFdmFsdWF0ZVNjcmlwdCk7CkBAIC0zNjAsNyArMzYxLDcgQEAgdm9pZCBJbnNwZWN0b3JUaW1l
bGluZUFnZW50OjpkaWRSZWNlaXZlUmVzb3VyY2VEYXRhKCkKIHsKICAgICBkaWRDb21wbGV0ZUN1
cnJlbnRSZWNvcmQoVGltZWxpbmVSZWNvcmRUeXBlOjpSZXNvdXJjZVJlY2VpdmVkRGF0YSk7CiB9
Ci0gICAgCisKIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6d2lsbFJlY2VpdmVSZXNvdXJj
ZVJlc3BvbnNlKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgUmVzb3VyY2VSZXNwb25z
ZSYgcmVzcG9uc2UsIEZyYW1lKiBmcmFtZSkKIHsKICAgICBTdHJpbmcgcmVxdWVzdElkID0gSWRl
bnRpZmllcnNGYWN0b3J5OjpyZXF1ZXN0SWQoaWRlbnRpZmllcik7CkBAIC00ODQsNiArNDg1LDEw
IEBAIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6c2V0SGVhcFNpemVTdGF0aXN0aWNzKElu
c3BlY3Rvck9iamVjdCogcmVjb3JkKQogCiB2b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmRp
ZENvbXBsZXRlQ3VycmVudFJlY29yZChjb25zdCBTdHJpbmcmIHR5cGUpCiB7CisgICAgaWYgKG1f
bG93TGV2ZWxFdmVudHNFbmFibGVkU3RhY2tNYXJrICYmIG1fbG93TGV2ZWxFdmVudHNFbmFibGVk
U3RhY2tNYXJrID09IG1fcmVjb3JkU3RhY2suc2l6ZSgpKSB7CisgICAgICAgIG1fbG93TGV2ZWxF
dmVudHNFbmFibGVkU3RhY2tNYXJrID0gMDsKKyAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uOjpzZXRUaW1lbGluZUFnZW50Rm9yT3JwaGFuRXZlbnRzKDApOworICAgIH0KICAgICAvLyBB
biBlbXB0eSBzdGFjayBjb3VsZCBtZXJlbHkgbWVhbiB0aGF0IHRoZSB0aW1lbGluZSBhZ2VudCB3
YXMgdHVybmVkIG9uIGluIHRoZSBtaWRkbGUgb2YKICAgICAvLyBhbiBldmVudC4gIERvbid0IHRy
ZWF0IGFzIGFuIGVycm9yLgogICAgIGlmICghbV9yZWNvcmRTdGFjay5pc0VtcHR5KCkpIHsKQEAg
LTUwNSw2ICs1MTAsNyBAQCBJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpJbnNwZWN0b3JUaW1lbGlu
ZUFnZW50KEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbgogICAgICwgbV90aW1lc3Rh
bXBPZmZzZXQoMCkKICAgICAsIG1faWQoMSkKICAgICAsIG1fbWF4Q2FsbFN0YWNrRGVwdGgoNSkK
KyAgICAsIG1fbG93TGV2ZWxFdmVudHNFbmFibGVkU3RhY2tNYXJrKDApCiAgICAgLCBtX2luc3Bl
Y3RvclR5cGUodHlwZSkKICAgICAsIG1fY2xpZW50KGNsaWVudCkKIHsKQEAgLTUyMiw3ICs1Mjgs
NyBAQCB2b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmFwcGVuZFJlY29yZChQYXNzUmVmUHRy
PEluc3BlY3Rvck9iamVjdD4gZGF0YSwgY29ucwogICAgIGFkZFJlY29yZFRvVGltZWxpbmUocmVj
b3JkLnJlbGVhc2UoKSwgdHlwZSwgZnJhbWVJZCk7CiB9CiAKLXZvaWQgSW5zcGVjdG9yVGltZWxp
bmVBZ2VudDo6cHVzaEN1cnJlbnRSZWNvcmQoUGFzc1JlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IGRh
dGEsIGNvbnN0IFN0cmluZyYgdHlwZSwgYm9vbCBjYXB0dXJlQ2FsbFN0YWNrLCBGcmFtZSogZnJh
bWUpCit2b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OnB1c2hDdXJyZW50UmVjb3JkKFBhc3NS
ZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiBkYXRhLCBjb25zdCBTdHJpbmcmIHR5cGUsIGJvb2wgY2Fw
dHVyZUNhbGxTdGFjaywgRnJhbWUqIGZyYW1lLCBib29sIGhhc0xvd0xldmVsRGV0YWlscykKIHsK
ICAgICBwdXNoR0NFdmVudFJlY29yZHMoKTsKICAgICBjb21taXRDYW5jZWxhYmxlUmVjb3Jkcygp
OwpAQCAtNTMxLDYgKzUzNywxMiBAQCB2b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OnB1c2hD
dXJyZW50UmVjb3JkKFBhc3NSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiBkYXRhLAogICAgIGlmIChm
cmFtZSAmJiBtX3BhZ2VBZ2VudCkKICAgICAgICAgZnJhbWVJZCA9IG1fcGFnZUFnZW50LT5mcmFt
ZUlkKGZyYW1lKTsKICAgICBtX3JlY29yZFN0YWNrLmFwcGVuZChUaW1lbGluZVJlY29yZEVudHJ5
KHJlY29yZC5yZWxlYXNlKCksIGRhdGEsIEluc3BlY3RvckFycmF5OjpjcmVhdGUoKSwgdHlwZSwg
ZnJhbWVJZCkpOworICAgIGlmIChoYXNMb3dMZXZlbERldGFpbHMpIHsKKyAgICAgICAgaWYgKCFt
X2xvd0xldmVsRXZlbnRzRW5hYmxlZFN0YWNrTWFyayAmJiAhSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uOjp0aW1lbGluZUFnZW50Rm9yT3JwaGFuRXZlbnRzKCkpIHsKKyAgICAgICAgICAgIG1fbG93
TGV2ZWxFdmVudHNFbmFibGVkU3RhY2tNYXJrID0gbV9yZWNvcmRTdGFjay5zaXplKCk7CisgICAg
ICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnNldFRpbWVsaW5lQWdlbnRGb3JPcnBo
YW5FdmVudHModGhpcyk7CisgICAgICAgIH0KKyAgICB9CiB9CiAKIHZvaWQgSW5zcGVjdG9yVGlt
ZWxpbmVBZ2VudDo6cHVzaENhbmNlbGFibGVSZWNvcmQoUGFzc1JlZlB0cjxJbnNwZWN0b3JPYmpl
Y3Q+IGRhdGEsIGNvbnN0IFN0cmluZyYgdHlwZSwgRnJhbWUqIGZyYW1lKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaCBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmgKaW5kZXggMGQ3MjNl
MzkzMGM2YjI3MzE5YjdiZWU4NTAxZjRiYjNiMmZhOGE2OC4uY2JiODI2NjI2NDQ3ZDNjZThkNjc2
YTZhNTIwZDg2MTIxZDkwYzE3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oCkBAIC0xNTksMTAgKzE1OSwxMCBAQCBwcml2YXRlOgog
ICAgICAgICBTdHJpbmcgZnJhbWVJZDsKICAgICAgICAgYm9vbCBjYW5jZWxhYmxlOwogICAgIH07
Ci0gICAgICAgIAorCiAgICAgSW5zcGVjdG9yVGltZWxpbmVBZ2VudChJbnN0cnVtZW50aW5nQWdl
bnRzKiwgSW5zcGVjdG9yUGFnZUFnZW50KiwgSW5zcGVjdG9yU3RhdGUqLCBJbnNwZWN0b3JUeXBl
LCBJbnNwZWN0b3JDbGllbnQqKTsKIAotICAgIHZvaWQgcHVzaEN1cnJlbnRSZWNvcmQoUGFzc1Jl
ZlB0cjxJbnNwZWN0b3JPYmplY3Q+LCBjb25zdCBTdHJpbmcmIHR5cGUsIGJvb2wgY2FwdHVyZUNh
bGxTdGFjaywgRnJhbWUqKTsKKyAgICB2b2lkIHB1c2hDdXJyZW50UmVjb3JkKFBhc3NSZWZQdHI8
SW5zcGVjdG9yT2JqZWN0PiwgY29uc3QgU3RyaW5nJiB0eXBlLCBib29sIGNhcHR1cmVDYWxsU3Rh
Y2ssIEZyYW1lKiwgYm9vbCBoYXNMb3dMZXZlbERldGFpbHMgPSBmYWxzZSk7CiAgICAgdm9pZCBz
ZXRIZWFwU2l6ZVN0YXRpc3RpY3MoSW5zcGVjdG9yT2JqZWN0KiByZWNvcmQpOwogCiAgICAgdm9p
ZCBkaWRDb21wbGV0ZUN1cnJlbnRSZWNvcmQoY29uc3QgU3RyaW5nJiB0eXBlKTsKQEAgLTE5OSw2
ICsxOTksNyBAQCBwcml2YXRlOgogICAgIHR5cGVkZWYgVmVjdG9yPEdDRXZlbnQ+IEdDRXZlbnRz
OwogICAgIEdDRXZlbnRzIG1fZ2NFdmVudHM7CiAgICAgaW50IG1fbWF4Q2FsbFN0YWNrRGVwdGg7
CisgICAgdW5zaWduZWQgaW50IG1fbG93TGV2ZWxFdmVudHNFbmFibGVkU3RhY2tNYXJrOwogICAg
IEluc3BlY3RvclR5cGUgbV9pbnNwZWN0b3JUeXBlOwogICAgIEluc3BlY3RvckNsaWVudCogbV9j
bGllbnQ7CiB9Owo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>150809</attachid>
            <date>2012-07-04 08:59:48 -0700</date>
            <delta_ts>2022-03-01 03:05:00 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90264-20120704195946.patch</filename>
            <type>text/plain</type>
            <size>8993</size>
            <attacher name="Sergey Rogulenko">rogulenko</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIxNzc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTYwNmFkOTk5ZjIyNDc3
ZGI3Yjg4ZWRkOGZmYzU4ZDI1YTllODA0MC4uYjdiYjliOGFkYWYyNmU4NmNiODVkMWNjNmU1ZmIy
NDhiNDIyZDBlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEyLTA3LTA0ICBTZXJn
ZXkgUm9ndWxlbmtvICA8cm9ndWxlbmtvQGdvb2dsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3Bl
Y3RvcjogYWRkZWQgbG93LWxldmVsIGluc3RydW1lbnRhdGlvbiBzdXBwb3J0IGZvciBUaW1lbGlu
ZUFnZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05
MDI2NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
aW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnRpbWVsaW5lQWdlbnRGb3JPcnBoYW5FdmVudHMp
OgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpzZXRUaW1lbGlu
ZUFnZW50Rm9yT3JwaGFuRXZlbnRzKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbjo6dGhyZWFkU3BlY2lmaWNUaW1lbGluZUFnZW50Rm9yT3JwaGFuRXZlbnRzKToK
KyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmg6CisgICAgICAg
IChJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24pOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0
b3JUaW1lbGluZUFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclRpbWVsaW5l
QWdlbnQ6OmRpZENvbXBsZXRlQ3VycmVudFJlY29yZCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNw
ZWN0b3JUaW1lbGluZUFnZW50OjpJbnNwZWN0b3JUaW1lbGluZUFnZW50KToKKyAgICAgICAgKFdl
YkNvcmU6Okluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OnB1c2hDdXJyZW50UmVjb3JkKToKKyAgICAg
ICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oOgorICAgICAgICAoSW5zcGVj
dG9yVGltZWxpbmVBZ2VudCk6CisKIDIwMTItMDctMDMgIFZzZXZvbG9kIFZsYXNvdiAgPHZzZXZp
a0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogSW50cm9kdWNlIFdvcmtz
cGFjZSBtYWtlIGl0IFVJU291cmNlQ29kZSBwcm92aWRlciBmb3IgU2NyaXB0c1BhbmVsLgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlv
bi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
LmNwcAppbmRleCA3OGIwODQ3MDQyYmExMWIyNmM2NDJkMGI5MWVkN2Q1M2I2NTU4ZWQwLi4zMjVh
NGM0OGY4YWEyYTdjN2JmZTlkMzNlZjZiYzgxNTU3NDFhMDkxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcApAQCAtNjgs
NiArNjgsNyBAQAogI2luY2x1ZGUgIldvcmtlclRocmVhZC5oIgogI2luY2x1ZGUgIlhNTEh0dHBS
ZXF1ZXN0LmgiCiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgorI2luY2x1ZGUgPHd0Zi9U
aHJlYWRTcGVjaWZpYy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewpAQCAtMTEzNiw2ICsxMTM3LDIyIEBAIHZvaWQgSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uOjpkaWRGaXJlQW5pbWF0aW9uRnJhbWVJbXBsKGNvbnN0IEluc3BlY3Rvckluc3Ry
dW1lCiAgICAgICAgIHRpbWVsaW5lQWdlbnQtPmRpZEZpcmVBbmltYXRpb25GcmFtZSgpOwogfQog
CitJbnNwZWN0b3JUaW1lbGluZUFnZW50KiBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnRpbWVs
aW5lQWdlbnRGb3JPcnBoYW5FdmVudHMoKQoreworICAgIHJldHVybiAqdGhyZWFkU3BlY2lmaWNU
aW1lbGluZUFnZW50Rm9yT3JwaGFuRXZlbnRzKCk7Cit9CisKK3ZvaWQgSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uOjpzZXRUaW1lbGluZUFnZW50Rm9yT3JwaGFuRXZlbnRzKEluc3BlY3RvclRpbWVs
aW5lQWdlbnQqIGluc3BlY3RvclRpbWVsaW5lQWdlbnQpCit7CisgICAgKnRocmVhZFNwZWNpZmlj
VGltZWxpbmVBZ2VudEZvck9ycGhhbkV2ZW50cygpID0gaW5zcGVjdG9yVGltZWxpbmVBZ2VudDsK
K30KKworV1RGOjpUaHJlYWRTcGVjaWZpYzxJbnNwZWN0b3JUaW1lbGluZUFnZW50Kj4mIEluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbjo6dGhyZWFkU3BlY2lmaWNUaW1lbGluZUFnZW50Rm9yT3JwaGFu
RXZlbnRzKCkKK3sKKyAgICBBdG9taWNhbGx5SW5pdGlhbGl6ZWRTdGF0aWMoV1RGOjpUaHJlYWRT
cGVjaWZpYzxJbnNwZWN0b3JUaW1lbGluZUFnZW50Kj4qLCBpbnN0YW5jZSA9IG5ldyBXVEY6OlRo
cmVhZFNwZWNpZmljPEluc3BlY3RvclRpbWVsaW5lQWdlbnQqPigpKTsKKyAgICByZXR1cm4gKmlu
c3RhbmNlOworfQorCiBJbnNwZWN0b3JUaW1lbGluZUFnZW50KiBJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb246OnJldHJpZXZlVGltZWxpbmVBZ2VudChjb25zdCBJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b25Db29raWUmIGNvb2tpZSkKIHsKICAgICBpZiAoIWNvb2tpZS5maXJzdCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaAppbmRleCA2
ZDE3ZmQxYmJlOTYwYWYyNWRiMzlkZDI2MWMyMTg4NzRlNzY2NjM2Li40MzUwZTljY2Q3MmY2ZWIz
ZmRjZTAxNjBhNTNkYWE4MWViZjBiMGI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCkBAIC0yNTIsNiArMjUyLDggQEAgcHVi
bGljOgogICAgIHN0YXRpYyBib29sIGhhc0Zyb250ZW5kcygpIHsgcmV0dXJuIHNfZnJvbnRlbmRD
b3VudGVyOyB9CiAgICAgc3RhdGljIGJvb2wgaGFzRnJvbnRlbmRGb3JTY3JpcHRDb250ZXh0KFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQqKTsKICAgICBzdGF0aWMgYm9vbCBjb2xsZWN0aW5nSFRNTFBh
cnNlRXJyb3JzKFBhZ2UqKTsKKyAgICBzdGF0aWMgSW5zcGVjdG9yVGltZWxpbmVBZ2VudCogdGlt
ZWxpbmVBZ2VudEZvck9ycGhhbkV2ZW50cygpOworICAgIHN0YXRpYyB2b2lkIHNldFRpbWVsaW5l
QWdlbnRGb3JPcnBoYW5FdmVudHMoSW5zcGVjdG9yVGltZWxpbmVBZ2VudCopOwogI2Vsc2UKICAg
ICBzdGF0aWMgYm9vbCBoYXNGcm9udGVuZHMoKSB7IHJldHVybiBmYWxzZTsgfQogICAgIHN0YXRp
YyBib29sIGhhc0Zyb250ZW5kRm9yU2NyaXB0Q29udGV4dChTY3JpcHRFeGVjdXRpb25Db250ZXh0
KikgeyByZXR1cm4gZmFsc2U7IH0KQEAgLTI2MCw2ICsyNjIsOCBAQCBwdWJsaWM6CiAKIHByaXZh
dGU6CiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKKyAgICBzdGF0aWMgV1RGOjpUaHJlYWRTcGVjaWZp
YzxJbnNwZWN0b3JUaW1lbGluZUFnZW50Kj4mIHRocmVhZFNwZWNpZmljVGltZWxpbmVBZ2VudEZv
ck9ycGhhbkV2ZW50cygpOworCiAgICAgc3RhdGljIHZvaWQgZGlkQ2xlYXJXaW5kb3dPYmplY3RJ
bldvcmxkSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiwgRnJhbWUqLCBET01XcmFwcGVyV29ybGQq
KTsKICAgICBzdGF0aWMgYm9vbCBpc0RlYnVnZ2VyUGF1c2VkSW1wbChJbnN0cnVtZW50aW5nQWdl
bnRzKik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JU
aW1lbGluZUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1l
bGluZUFnZW50LmNwcAppbmRleCBhOTU2YWIyNDkxNzI5OGVkN2U3OWU5Y2UzNWFlNTVlYjI1MDE2
YWQ1Li5mYWM2YzYzNzNlYzgxMGU4NDFjNjU5NTZhODQxNWE4MDNiYzhiNGZlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwCkBA
IC00MCw2ICs0MCw3IEBACiAjaW5jbHVkZSAiSW5zcGVjdG9yQ2xpZW50LmgiCiAjaW5jbHVkZSAi
SW5zcGVjdG9yQ291bnRlcnMuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JGcm9udGVuZC5oIgorI2lu
Y2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIgogI2luY2x1ZGUgIkluc3BlY3RvclBh
Z2VBZ2VudC5oIgogI2luY2x1ZGUgIkluc3BlY3RvclN0YXRlLmgiCiAjaW5jbHVkZSAiSW5zdHJ1
bWVudGluZ0FnZW50cy5oIgpAQCAtMjQ2LDcgKzI0Nyw3IEBAIHZvaWQgSW5zcGVjdG9yVGltZWxp
bmVBZ2VudDo6ZGlkUmVjYWxjdWxhdGVTdHlsZSgpCiAKIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVB
Z2VudDo6d2lsbFBhaW50KGNvbnN0IExheW91dFJlY3QmIHJlY3QsIEZyYW1lKiBmcmFtZSkKIHsK
LSAgICBwdXNoQ3VycmVudFJlY29yZChUaW1lbGluZVJlY29yZEZhY3Rvcnk6OmNyZWF0ZVBhaW50
RGF0YShyZWN0KSwgVGltZWxpbmVSZWNvcmRUeXBlOjpQYWludCwgdHJ1ZSwgZnJhbWUpOworICAg
IHB1c2hDdXJyZW50UmVjb3JkKFRpbWVsaW5lUmVjb3JkRmFjdG9yeTo6Y3JlYXRlUGFpbnREYXRh
KHJlY3QpLCBUaW1lbGluZVJlY29yZFR5cGU6OlBhaW50LCB0cnVlLCBmcmFtZSwgdHJ1ZSk7CiB9
CiAKIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6ZGlkUGFpbnQoKQpAQCAtMzIyLDcgKzMy
Myw3IEBAIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6d2lsbEV2YWx1YXRlU2NyaXB0KGNv
bnN0IFN0cmluZyYgdXJsLCBpbnQgbGluZU51bWJlCiB7CiAgICAgcHVzaEN1cnJlbnRSZWNvcmQo
VGltZWxpbmVSZWNvcmRGYWN0b3J5OjpjcmVhdGVFdmFsdWF0ZVNjcmlwdERhdGEodXJsLCBsaW5l
TnVtYmVyKSwgVGltZWxpbmVSZWNvcmRUeXBlOjpFdmFsdWF0ZVNjcmlwdCwgdHJ1ZSwgZnJhbWUp
OwogfQotICAgIAorCiB2b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmRpZEV2YWx1YXRlU2Ny
aXB0KCkKIHsKICAgICBkaWRDb21wbGV0ZUN1cnJlbnRSZWNvcmQoVGltZWxpbmVSZWNvcmRUeXBl
OjpFdmFsdWF0ZVNjcmlwdCk7CkBAIC0zNjAsNyArMzYxLDcgQEAgdm9pZCBJbnNwZWN0b3JUaW1l
bGluZUFnZW50OjpkaWRSZWNlaXZlUmVzb3VyY2VEYXRhKCkKIHsKICAgICBkaWRDb21wbGV0ZUN1
cnJlbnRSZWNvcmQoVGltZWxpbmVSZWNvcmRUeXBlOjpSZXNvdXJjZVJlY2VpdmVkRGF0YSk7CiB9
Ci0gICAgCisKIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6d2lsbFJlY2VpdmVSZXNvdXJj
ZVJlc3BvbnNlKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgUmVzb3VyY2VSZXNwb25z
ZSYgcmVzcG9uc2UsIEZyYW1lKiBmcmFtZSkKIHsKICAgICBTdHJpbmcgcmVxdWVzdElkID0gSWRl
bnRpZmllcnNGYWN0b3J5OjpyZXF1ZXN0SWQoaWRlbnRpZmllcik7CkBAIC00ODQsNiArNDg1LDEw
IEBAIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6c2V0SGVhcFNpemVTdGF0aXN0aWNzKElu
c3BlY3Rvck9iamVjdCogcmVjb3JkKQogCiB2b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmRp
ZENvbXBsZXRlQ3VycmVudFJlY29yZChjb25zdCBTdHJpbmcmIHR5cGUpCiB7CisgICAgaWYgKG1f
b3JwaGFuRXZlbnRzRW5hYmxlZFN0YWNrTWFyayAmJiBtX29ycGhhbkV2ZW50c0VuYWJsZWRTdGFj
a01hcmsgPT0gbV9yZWNvcmRTdGFjay5zaXplKCkpIHsKKyAgICAgICAgbV9vcnBoYW5FdmVudHNF
bmFibGVkU3RhY2tNYXJrID0gMDsKKyAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpz
ZXRUaW1lbGluZUFnZW50Rm9yT3JwaGFuRXZlbnRzKDApOworICAgIH0KICAgICAvLyBBbiBlbXB0
eSBzdGFjayBjb3VsZCBtZXJlbHkgbWVhbiB0aGF0IHRoZSB0aW1lbGluZSBhZ2VudCB3YXMgdHVy
bmVkIG9uIGluIHRoZSBtaWRkbGUgb2YKICAgICAvLyBhbiBldmVudC4gIERvbid0IHRyZWF0IGFz
IGFuIGVycm9yLgogICAgIGlmICghbV9yZWNvcmRTdGFjay5pc0VtcHR5KCkpIHsKQEAgLTUwNSw2
ICs1MTAsNyBAQCBJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpJbnNwZWN0b3JUaW1lbGluZUFnZW50
KEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbgogICAgICwgbV90aW1lc3RhbXBPZmZz
ZXQoMCkKICAgICAsIG1faWQoMSkKICAgICAsIG1fbWF4Q2FsbFN0YWNrRGVwdGgoNSkKKyAgICAs
IG1fb3JwaGFuRXZlbnRzRW5hYmxlZFN0YWNrTWFyaygwKQogICAgICwgbV9pbnNwZWN0b3JUeXBl
KHR5cGUpCiAgICAgLCBtX2NsaWVudChjbGllbnQpCiB7CkBAIC01MjIsNyArNTI4LDcgQEAgdm9p
ZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50OjphcHBlbmRSZWNvcmQoUGFzc1JlZlB0cjxJbnNwZWN0
b3JPYmplY3Q+IGRhdGEsIGNvbnMKICAgICBhZGRSZWNvcmRUb1RpbWVsaW5lKHJlY29yZC5yZWxl
YXNlKCksIHR5cGUsIGZyYW1lSWQpOwogfQogCi12b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6
OnB1c2hDdXJyZW50UmVjb3JkKFBhc3NSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiBkYXRhLCBjb25z
dCBTdHJpbmcmIHR5cGUsIGJvb2wgY2FwdHVyZUNhbGxTdGFjaywgRnJhbWUqIGZyYW1lKQordm9p
ZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpwdXNoQ3VycmVudFJlY29yZChQYXNzUmVmUHRyPElu
c3BlY3Rvck9iamVjdD4gZGF0YSwgY29uc3QgU3RyaW5nJiB0eXBlLCBib29sIGNhcHR1cmVDYWxs
U3RhY2ssIEZyYW1lKiBmcmFtZSwgYm9vbCBoYXNPcnBoYW5EZXRhaWxzKQogewogICAgIHB1c2hH
Q0V2ZW50UmVjb3JkcygpOwogICAgIGNvbW1pdENhbmNlbGFibGVSZWNvcmRzKCk7CkBAIC01MzEs
NiArNTM3LDEyIEBAIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6cHVzaEN1cnJlbnRSZWNv
cmQoUGFzc1JlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IGRhdGEsCiAgICAgaWYgKGZyYW1lICYmIG1f
cGFnZUFnZW50KQogICAgICAgICBmcmFtZUlkID0gbV9wYWdlQWdlbnQtPmZyYW1lSWQoZnJhbWUp
OwogICAgIG1fcmVjb3JkU3RhY2suYXBwZW5kKFRpbWVsaW5lUmVjb3JkRW50cnkocmVjb3JkLnJl
bGVhc2UoKSwgZGF0YSwgSW5zcGVjdG9yQXJyYXk6OmNyZWF0ZSgpLCB0eXBlLCBmcmFtZUlkKSk7
CisgICAgaWYgKGhhc09ycGhhbkRldGFpbHMpIHsKKyAgICAgICAgaWYgKCFtX29ycGhhbkV2ZW50
c0VuYWJsZWRTdGFja01hcmsgJiYgIUluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6dGltZWxpbmVB
Z2VudEZvck9ycGhhbkV2ZW50cygpKSB7CisgICAgICAgICAgICBtX29ycGhhbkV2ZW50c0VuYWJs
ZWRTdGFja01hcmsgPSBtX3JlY29yZFN0YWNrLnNpemUoKTsKKyAgICAgICAgICAgIEluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbjo6c2V0VGltZWxpbmVBZ2VudEZvck9ycGhhbkV2ZW50cyh0aGlzKTsK
KyAgICAgICAgfQorICAgIH0KIH0KIAogdm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpwdXNo
Q2FuY2VsYWJsZVJlY29yZChQYXNzUmVmUHRyPEluc3BlY3Rvck9iamVjdD4gZGF0YSwgY29uc3Qg
U3RyaW5nJiB0eXBlLCBGcmFtZSogZnJhbWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaAppbmRleCAwZDcyM2UzOTMwYzZiMjczMTliN2Jl
ZTg1MDFmNGJiM2IyZmE4YTY4Li5iMDM1NGQ1NjU0NmVhNjdhNmVlYjI5ZTAxYWM1ODc5MjdiN2U4
NmM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxp
bmVBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGlu
ZUFnZW50LmgKQEAgLTE1OSwxMCArMTU5LDEwIEBAIHByaXZhdGU6CiAgICAgICAgIFN0cmluZyBm
cmFtZUlkOwogICAgICAgICBib29sIGNhbmNlbGFibGU7CiAgICAgfTsKLSAgICAgICAgCisKICAg
ICBJbnNwZWN0b3JUaW1lbGluZUFnZW50KEluc3RydW1lbnRpbmdBZ2VudHMqLCBJbnNwZWN0b3JQ
YWdlQWdlbnQqLCBJbnNwZWN0b3JTdGF0ZSosIEluc3BlY3RvclR5cGUsIEluc3BlY3RvckNsaWVu
dCopOwogCi0gICAgdm9pZCBwdXNoQ3VycmVudFJlY29yZChQYXNzUmVmUHRyPEluc3BlY3Rvck9i
amVjdD4sIGNvbnN0IFN0cmluZyYgdHlwZSwgYm9vbCBjYXB0dXJlQ2FsbFN0YWNrLCBGcmFtZSop
OworICAgIHZvaWQgcHVzaEN1cnJlbnRSZWNvcmQoUGFzc1JlZlB0cjxJbnNwZWN0b3JPYmplY3Q+
LCBjb25zdCBTdHJpbmcmIHR5cGUsIGJvb2wgY2FwdHVyZUNhbGxTdGFjaywgRnJhbWUqLCBib29s
IGhhc09ycGhhbkRldGFpbHMgPSBmYWxzZSk7CiAgICAgdm9pZCBzZXRIZWFwU2l6ZVN0YXRpc3Rp
Y3MoSW5zcGVjdG9yT2JqZWN0KiByZWNvcmQpOwogCiAgICAgdm9pZCBkaWRDb21wbGV0ZUN1cnJl
bnRSZWNvcmQoY29uc3QgU3RyaW5nJiB0eXBlKTsKQEAgLTE5OSw2ICsxOTksNyBAQCBwcml2YXRl
OgogICAgIHR5cGVkZWYgVmVjdG9yPEdDRXZlbnQ+IEdDRXZlbnRzOwogICAgIEdDRXZlbnRzIG1f
Z2NFdmVudHM7CiAgICAgaW50IG1fbWF4Q2FsbFN0YWNrRGVwdGg7CisgICAgdW5zaWduZWQgbV9v
cnBoYW5FdmVudHNFbmFibGVkU3RhY2tNYXJrOwogICAgIEluc3BlY3RvclR5cGUgbV9pbnNwZWN0
b3JUeXBlOwogICAgIEluc3BlY3RvckNsaWVudCogbV9jbGllbnQ7CiB9Owo=
</data>
<flag name="review"
          id="159114"
          type_id="1"
          status="+"
          setter="pfeldman"
    />
          </attachment>
      

    </bug>

</bugzilla>