<?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>47817</bug_id>
          
          <creation_ts>2010-10-18 06:31:05 -0700</creation_ts>
          <short_desc>FrameLoader::IsProcessingUserGesture is true for JavaScript initiated downloads after click navigation to webpage</short_desc>
          <delta_ts>2010-12-02 12:25:32 -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>Page Loading</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Pierre-Antoine LaFayette">pierre.lafayette</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>ap</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric</cc>
    
    <cc>inferno</cc>
    
    <cc>jnd</cc>
    
    <cc>pierre.lafayette</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>295478</commentid>
    <comment_count>0</comment_count>
      <attachid>71028</attachid>
    <who name="Pierre-Antoine LaFayette">pierre.lafayette</who>
    <bug_when>2010-10-18 06:31:05 -0700</bug_when>
    <thetext>Created attachment 71028
links.html, links to wait.html

If I click on a link that navigates to a page which uses setTimeout to initiate a download (e.g. setTimeout(&quot;window.location = &apos;file.exe&apos;&quot;, 5000)), FrameLoader::IsProcessingUserGesture is still true when loading of file.exe begins.

It seems that the UserGestureState is set to PossiblyProcessingUserGesture and the !activeFrame conditional gets hit.

bool ScriptController::processingUserGesture()
{
    Frame* activeFrame = V8Proxy::retrieveFrameForEnteredContext();
    // No script is running, so it is user-initiated unless the gesture stack
    // explicitly says it is not.
    if (!activeFrame)
        return UserGestureIndicator::getUserGestureState() != DefinitelyNotProcessingUserGesture;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>295479</commentid>
    <comment_count>1</comment_count>
      <attachid>71029</attachid>
    <who name="Pierre-Antoine LaFayette">pierre.lafayette</who>
    <bug_when>2010-10-18 06:32:30 -0700</bug_when>
    <thetext>Created attachment 71029
wait.html, when loaded it will download setup.exe after 5 secs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>295482</commentid>
    <comment_count>2</comment_count>
    <who name="Pierre-Antoine LaFayette">pierre.lafayette</who>
    <bug_when>2010-10-18 06:57:31 -0700</bug_when>
    <thetext>This was observed in Chromium. RenderView::didStartProvisionalLoad sets its |navigation_gesture_| based on the results of FrameLoader::IsProcessingUserGesture.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>295565</commentid>
    <comment_count>3</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-10-18 09:47:56 -0700</bug_when>
    <thetext>RenderView::didStartProvisionalLoad doesn&apos;t exist in svn.webkit.org.  Is there an issue that&apos;s possible to observe using code from svn.webkit.org?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>295661</commentid>
    <comment_count>4</comment_count>
    <who name="Johnny(Jianning) Ding">jnd</who>
    <bug_when>2010-10-18 11:43:48 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; RenderView::didStartProvisionalLoad doesn&apos;t exist in svn.webkit.org.  Is there an issue that&apos;s possible to observe using code from svn.webkit.org?

Hi Adam,  Pierre-Antoine was right, the WebFrameImpl::isProcessingUserGesture() did return true (met PossiblyProcessingUserGesture and !activeFrame conditions) when the page was redirected (triggered by setTimeout) to file.exe.

It was because we didn&apos;t explicit set the GestureIndicator to DefinitelyProcessingUserGesture/DefinitelyNotProcessingUserGesture acording to the m_wasUserGesture in ScheduledURLNavigation::fire. (We only passed the m_wasUserGesture to FrameLoader::changeLocation).

I will file a patch to fix this bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>295664</commentid>
    <comment_count>5</comment_count>
    <who name="Pierre-Antoine LaFayette">pierre.lafayette</who>
    <bug_when>2010-10-18 11:50:42 -0700</bug_when>
    <thetext>I believe this issue is only reproducible because we are checking the state of the user gesture in the FrameLoader during the load. But as Johnny pointed out, the issue seems to still be within the WebKit code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>295687</commentid>
    <comment_count>6</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-10-18 12:26:55 -0700</bug_when>
    <thetext>&gt; I will file a patch to fix this bug.

Great.  We&apos;ll need to find a way to write a test for the fix...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>295693</commentid>
    <comment_count>7</comment_count>
    <who name="Johnny(Jianning) Ding">jnd</who>
    <bug_when>2010-10-18 12:31:33 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; &gt; I will file a patch to fix this bug.
&gt; 
&gt; Great.  We&apos;ll need to find a way to write a test for the fix...
That&apos;s pain because we can not write script o test the gesture status (since using script breaks the !activeFrame condition). 
For chrome side, a ui test may be a way, so far no idea about webkit test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>295695</commentid>
    <comment_count>8</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-10-18 12:34:02 -0700</bug_when>
    <thetext>&gt; That&apos;s pain because we can not write script o test the gesture status (since using script breaks the !activeFrame condition). 
&gt; For chrome side, a ui test may be a way, so far no idea about webkit test.

Yeah, I think a UI test is ok in this case...  I&apos;m not sure how we could test it in DumpRenderTree...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>295701</commentid>
    <comment_count>9</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-10-18 12:39:43 -0700</bug_when>
    <thetext>Is the problem that we cannot simulate a click without JS on the stack?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>295715</commentid>
    <comment_count>10</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-10-18 13:10:16 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; Is the problem that we cannot simulate a click without JS on the stack?

My understanding is the problem is that we can&apos;t read the state in question without JavaScript on the stack.  It&apos;s visible in the browser not as a web compat issue but as wrong behavior by the download manager.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>295727</commentid>
    <comment_count>11</comment_count>
    <who name="Johnny(Jianning) Ding">jnd</who>
    <bug_when>2010-10-18 14:00:10 -0700</bug_when>
    <thetext>(In reply to comment #8) 
&gt; Yeah, I think a UI test is ok in this case...  I&apos;m not sure how we could test it in DumpRenderTree...

I figured out a way to test it in DumpRenderTree on all ports.

We call LayoutController::dumpFrameLoadCallbacks() to dump the frame info when calling didStartProvisionalLoad logic. Please refer to (only lists mac/chromium ports)
1. https://svn.webkit.org/browser/trunk/WebKitTools/DumpRenderTree/chromium/WebViewHost.cpp#L1290
2. https://svn.webkit.org/browser/trunk/WebKitTools/DumpRenderTree/mac/FrameLoadDelegate.mm#L143

In the dump implementation, we output the gesture status of main frame.  Please refer to (only lists mac/chromium ports)
1. https://svn.webkit.org/browser/trunk/WebKitTools/DumpRenderTree/chromium/WebViewHost.cpp#L841
2. https://svn.webkit.org/browser/trunk/WebKitTools/DumpRenderTree/mac/FrameLoadDelegate.mm#L76

Since the way needs to change a few DumpRenderTree files, I&apos;d like file another bug to address the test issue and only provide the code patch in here.
Adam, does it make sense to you?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>295737</commentid>
    <comment_count>12</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-10-18 14:10:46 -0700</bug_when>
    <thetext>That&apos;s a good idea.  We&apos;ll want to land the test infrastructure before the code change, of course.  :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>295749</commentid>
    <comment_count>13</comment_count>
    <who name="Johnny(Jianning) Ding">jnd</who>
    <bug_when>2010-10-18 14:23:42 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; That&apos;s a good idea.  We&apos;ll want to land the test infrastructure before the code change, of course.  :)

Thanks. Bug 47849 is filed to track the test infrastructure.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>296149</commentid>
    <comment_count>14</comment_count>
    <who name="Johnny(Jianning) Ding">jnd</who>
    <bug_when>2010-10-19 06:43:06 -0700</bug_when>
    <thetext>Just found Adam&apos;s r69924 (https://svn.webkit.org/changeset/69924) already fixed this issue, now all fire implementations set the right UserGestureIndicator based on m_wasUserGesture.

Adam, please close this bug. I will update the test infrastructure progress in bug 47849.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>296158</commentid>
    <comment_count>15</comment_count>
    <who name="Pierre-Antoine LaFayette">pierre.lafayette</who>
    <bug_when>2010-10-19 06:51:11 -0700</bug_when>
    <thetext>Nice.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>296779</commentid>
    <comment_count>16</comment_count>
      <attachid>71290</attachid>
    <who name="Pierre-Antoine LaFayette">pierre.lafayette</who>
    <bug_when>2010-10-20 07:07:48 -0700</bug_when>
    <thetext>Created attachment 71290
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>296782</commentid>
    <comment_count>17</comment_count>
    <who name="Pierre-Antoine LaFayette">pierre.lafayette</who>
    <bug_when>2010-10-20 07:13:33 -0700</bug_when>
    <thetext>Hi I&apos;m reopening this bug because Adam&apos;s patch does not fix the case where a user initiated navigation does a meta refresh and triggers a download; which, as discussed, should not be considered a user initiated navigation. 

To me it would seem that we should have IsProcessingUserGesture only return true if we know for certain that the navigation was user initiated. 

Adam, can you please review my patch to assure that I&apos;m not overlooking anything by this change.

Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>296812</commentid>
    <comment_count>18</comment_count>
    <who name="Johnny(Jianning) Ding">jnd</who>
    <bug_when>2010-10-20 08:33:50 -0700</bug_when>
    <thetext>(In reply to comment #17)
&gt; Hi I&apos;m reopening this bug because Adam&apos;s patch does not fix the case where a user initiated navigation does a meta refresh and triggers a download; which, as discussed, should not be considered a user initiated navigation. 
&gt; 
&gt; To me it would seem that we should have IsProcessingUserGesture only return true if we know for certain that the navigation was user initiated. 
&gt; 
&gt; Adam, can you please review my patch to assure that I&apos;m not overlooking anything by this change.
&gt; 
&gt; Thanks.

@Pierre-Antoine LaFayette, your patch is not the right way.

The default status of GestureIndicator is PossiblyProcessingUserGesture, some user-initiated actions don&apos;t explicitly pass the key/mouse events to WebKit (like typing URL in address bar and press enter), so in this case, we need to use the combination of GestureIndicator!=PossiblyProcessingUserGesture and no-js-on-stack to ensure this kind of user-gesture actions.


Yes, in current WebKit trunk, the meta refresh redirection caused  that FrameLoader::IsProcessingUserGesture returned true when calling it in WebViewClient::didStartProvisionalLoad, but the root cause is not what your patch pointed.

The bug was introduced by Adam&apos;s r47786(https://bugs.webkit.org/show_bug.cgi?id=47786).
In old WebKit code, the scheduleRefresh explicitly set false as user gesture status (meta refresh never can be considered as user initiated). However Adam might forget to keep this logic in NavigationScheduler::scheduleRedirect  (https://bugs.webkit.org/attachment.cgi?id=70988&amp;action=diff#WebCore/loader/NavigationScheduler.cpp_sec6)

I will handle the patch once I finish https://bugs.webkit.org/show_bug.cgi?id=47849. Should be done today</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>296814</commentid>
    <comment_count>19</comment_count>
    <who name="Johnny(Jianning) Ding">jnd</who>
    <bug_when>2010-10-20 08:37:44 -0700</bug_when>
    <thetext>&gt; The bug was introduced by Adam&apos;s r47786(https://bugs.webkit.org/show_bug.cgi?id=47786).
&gt; In old WebKit code, the scheduleRefresh explicitly set false as user gesture status (meta refresh never can be considered as user initiated). However Adam might forget to keep this logic in NavigationScheduler::scheduleRedirect  (https://bugs.webkit.org/attachment.cgi?id=70988&amp;action=diff#WebCore/loader/NavigationScheduler.cpp_sec6)
&gt; 
r47786 -&gt; bug 47786, r69938(http://trac.webkit.org/changeset/69938)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>296926</commentid>
    <comment_count>20</comment_count>
      <attachid>71290</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-10-20 12:20:38 -0700</bug_when>
    <thetext>Comment on attachment 71290
Patch

What happened to the testing infrastructure?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>296957</commentid>
    <comment_count>21</comment_count>
    <who name="Johnny(Jianning) Ding">jnd</who>
    <bug_when>2010-10-20 13:11:47 -0700</bug_when>
    <thetext>(In reply to comment #20)
&gt; (From update of attachment 71290 [details])
&gt; What happened to the testing infrastructure?

Sent a patch, with using it we can track the gesture status in the frame load callbacks.
For example, the following test case can show that the user gesture is false in didStartProvisionalLoad callback. after fixing the meta-refresh bug.

&lt;head&gt;
&lt;meta http-equiv=&quot;refresh&quot; content=&quot;2&quot;&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;div id=&quot;loadCount&quot;&gt;&lt;/div&gt;
&lt;div id=&quot;console&quot;&gt;&lt;/div&gt;
&lt;script&gt;      

    if (1 || window.layoutTestController) {
        if (!sessionStorage.loadCount)
            sessionStorage.loadCount = 1;
        else
            sessionStorage.loadCount = parseInt(sessionStorage.loadCount, 10) + 1;
        document.getElementById(&quot;loadCount&quot;).innerText = &quot;load count : &quot; + sessionStorage.loadCount;
        if (2 == sessionStorage.loadCount) {
            layoutTestController.notifyDone();
        } else {
            layoutTestController.dumpAsText();
            layoutTestController.dumpUserGestureInFrameLoadCallbacks();
            layoutTestController.waitUntilDone();
        }
    }
&lt;/script&gt;

The result is
Frame with user gesture &quot;true&quot; - in didFinishDocumentLoadForFrame
Frame with user gesture &quot;true&quot; - in didHandleOnloadEventsForFrame
Frame with user gesture &quot;true&quot; - in willPerformClientRedirect
Frame with user gesture &quot;true&quot; - in didFinishLoadForFrame
Frame with user gesture &quot;false&quot; - in didStartProvisionalLoadForFrame
Frame with user gesture &quot;true&quot; - in didCancelClientRedirectForFrame
Frame with user gesture &quot;true&quot; - in didCommitLoadForFrame
Frame with user gesture &quot;true&quot; - in didFinishDocumentLoadForFrame
Frame with user gesture &quot;true&quot; - in didHandleOnloadEventsForFrame
Frame with user gesture &quot;true&quot; - in willPerformClientRedirect
Frame with user gesture &quot;true&quot; - in didFinishLoadForFrame
load count : 2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>297176</commentid>
    <comment_count>22</comment_count>
      <attachid>71374</attachid>
    <who name="Johnny(Jianning) Ding">jnd</who>
    <bug_when>2010-10-20 17:46:39 -0700</bug_when>
    <thetext>Created attachment 71374
patch v1

This patch depends on patch in https://bugs.webkit.org/show_bug.cgi?id=47849</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>297178</commentid>
    <comment_count>23</comment_count>
    <who name="Johnny(Jianning) Ding">jnd</who>
    <bug_when>2010-10-20 17:48:45 -0700</bug_when>
    <thetext>(In reply to comment #22)
&gt; This patch depends on patch in https://bugs.webkit.org/show_bug.cgi?id=47849

Miss test exceptions in skip list for GTK/win ports. Will add it later</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>297184</commentid>
    <comment_count>24</comment_count>
    <who name="Johnny(Jianning) Ding">jnd</who>
    <bug_when>2010-10-20 17:59:49 -0700</bug_when>
    <thetext>(In reply to comment #23)
&gt; Miss test exceptions in skip list for GTK/win ports. Will add it later.
I will move those two tests to another folder and send another patch for review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>297236</commentid>
    <comment_count>25</comment_count>
      <attachid>71391</attachid>
    <who name="Johnny(Jianning) Ding">jnd</who>
    <bug_when>2010-10-20 22:45:43 -0700</bug_when>
    <thetext>Created attachment 71391
patch v1 (with layout tests)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>297239</commentid>
    <comment_count>26</comment_count>
      <attachid>71391</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-10-20 22:51:47 -0700</bug_when>
    <thetext>Comment on attachment 71391
patch v1 (with layout tests)

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

&gt; WebCore/loader/NavigationScheduler.cpp:82
&gt; +    // The derived class can call this method to override the m_wasUserGesture.
&gt; +    void overrideWasUserGesture(bool wasUserGesture) { m_wasUserGesture = wasUserGesture; }

I&apos;d remove this comment and call the function clearUserGesture().  Currently we don&apos;t have a use case for passing &quot;true&quot; here, and I&apos;m not sure we will.

&gt; WebCore/loader/NavigationScheduler.cpp:139
&gt; +        // All ScheduledRedirects are not user-initiated, we need to override the m_wasUserGesture to false.
&gt; +        overrideWasUserGesture(false);

I&apos;d remove this comment too.  The test is a better explanation for why this line of code exists.

&gt; LayoutTests/fast/frames/location-redirect-user-gesture.html:11
&gt; +        setTimeout(&quot;location.href=&apos;data:text/html\,&lt;script&gt;layoutTestController.notifyDone()&lt;/&quot; + &quot;script&gt;&apos;&quot;, 1000);

The \ isn&apos;t needed.

&gt; LayoutTests/fast/frames/meta-refresh-user-gesture.html:11
&gt; +    if (1 || window.layoutTestController) {

1 || window.layoutTestController will always be true.

&gt; LayoutTests/fast/frames/meta-refresh-user-gesture.html:17
&gt; +        if (2 == sessionStorage.loadCount) {

Please clear session storage after this test so we can reload the test and have it work.

&gt; LayoutTests/fast/frames/meta-refresh-user-gesture.html:18
&gt; +            layoutTestController.notifyDone();

Doesn&apos;t this race with the refresh?

I feel like we&apos;re being cheap.  Why not just add another file and refresh to that file?  Then there isn&apos;t a worry about an infinite loop.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>297249</commentid>
    <comment_count>27</comment_count>
      <attachid>71396</attachid>
    <who name="Johnny(Jianning) Ding">jnd</who>
    <bug_when>2010-10-21 00:17:22 -0700</bug_when>
    <thetext>Created attachment 71396
patch v2

(In reply to comment #26)
All done.
&gt; (From update of attachment 71391 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=71391&amp;action=review
&gt; ...
&gt; 1 || window.layoutTestController will always be true.
forgot to remove the test code:-(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>297253</commentid>
    <comment_count>28</comment_count>
      <attachid>71396</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-10-21 00:21:28 -0700</bug_when>
    <thetext>Comment on attachment 71396
patch v2

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>302354</commentid>
    <comment_count>29</comment_count>
    <who name="Pierre-Antoine LaFayette">pierre.lafayette</who>
    <bug_when>2010-10-30 18:05:25 -0700</bug_when>
    <thetext>Hi Johnny, I&apos;ve tested the meta refresh case with today&apos;s build of Chromium and I&apos;m still seeing IsProcessingUserGesture as true for the second provisional load when clicking on the link.

These are the test files I&apos;m using:

9044.html:
&lt;html&gt;
&lt;head&gt;
&lt;title&gt;Issue 9044&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;ul&gt;
    &lt;li&gt;
    &lt;a href=&quot;9044_meta_redirect.html&quot;&gt;Meta redirect to file&lt;/a&gt;
    &lt;li&gt;
&lt;/ul&gt;
&lt;/body&gt;
&lt;/html&gt;

9044_meta_redirect.html:
&lt;html&gt;
&lt;head&gt;
&lt;meta HTTP-EQUIV=&quot;REFRESH&quot; content=&quot;0; url=http://cygwin.com/setup.exe&quot;&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;/body&gt;
&lt;/html&gt;

Can you reproduce this? I&apos;m assuming that your changes are in the current Chromium build but I&apos;m not sure.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>302356</commentid>
    <comment_count>30</comment_count>
    <who name="Johnny(Jianning) Ding">jnd</who>
    <bug_when>2010-10-30 19:22:28 -0700</bug_when>
    <thetext>(In reply to comment #29)
&gt; Can you reproduce this? I&apos;m assuming that your changes are in the current Chromium build but I&apos;m not sure.

Unfortunately, the code still is not landed. Now I am not a committer, so I need someone who has committer privilege to land it. 
@Adam, would you please help me land it when you are free? Thanks!

@Pierre-Antoine, to test whether the issue can still be reproduced after landing this patch, I suggest that you download the latest patch and patch it under your own build/third_party/WebKit, then try again. Hope it helps:-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>302357</commentid>
    <comment_count>31</comment_count>
    <who name="Pierre-Antoine LaFayette">pierre.lafayette</who>
    <bug_when>2010-10-30 19:52:59 -0700</bug_when>
    <thetext>Oh right! False alarm :) I&apos;ve tested the patch and it works as advertised. I didn&apos;t notice it hadn&apos;t even hit the commit queue.

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>302358</commentid>
    <comment_count>32</comment_count>
      <attachid>71396</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-10-30 20:06:40 -0700</bug_when>
    <thetext>Comment on attachment 71396
patch v2

Rejecting patch 71396 from commit-queue.

Failed to run &quot;[&apos;./WebKitTools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;apply-attachment&apos;, &apos;--force-clean&apos;, &apos;--non-interactive&apos;, 71396]&quot; exit_code: 2
Last 500 characters of output:
tTests/fast/frames/meta-refresh-user-gesture.html
patching file LayoutTests/fast/frames/resources/meta-refresh-target.html
patching file LayoutTests/platform/gtk/Skipped
Hunk #1 FAILED at 5911.
1 out of 1 hunk FAILED -- saving rejects to file LayoutTests/platform/gtk/Skipped.rej
patching file LayoutTests/platform/win/Skipped
Hunk #1 succeeded at 1047 (offset 5 lines).

Failed to run &quot;[u&apos;/Projects/CommitQueue/WebKitTools/Scripts/svn-apply&apos;, u&apos;--reviewer&apos;, u&apos;Adam Barth&apos;, u&apos;--force&apos;]&quot; exit_code: 1

Full output: http://queues.webkit.org/results/4847096</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>305864</commentid>
    <comment_count>33</comment_count>
    <who name="Pierre-Antoine LaFayette">pierre.lafayette</who>
    <bug_when>2010-11-07 01:26:55 -0800</bug_when>
    <thetext>(In reply to comment #32)
&gt; (From update of attachment 71396 [details])
&gt; Rejecting patch 71396 from commit-queue.
&gt; 
&gt; Failed to run &quot;[&apos;./WebKitTools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;apply-attachment&apos;, &apos;--force-clean&apos;, &apos;--non-interactive&apos;, 71396]&quot; exit_code: 2
&gt; Last 500 characters of output:
&gt; tTests/fast/frames/meta-refresh-user-gesture.html
&gt; patching file LayoutTests/fast/frames/resources/meta-refresh-target.html
&gt; patching file LayoutTests/platform/gtk/Skipped
&gt; Hunk #1 FAILED at 5911.
&gt; 1 out of 1 hunk FAILED -- saving rejects to file LayoutTests/platform/gtk/Skipped.rej
&gt; patching file LayoutTests/platform/win/Skipped
&gt; Hunk #1 succeeded at 1047 (offset 5 lines).
&gt; 
&gt; Failed to run &quot;[u&apos;/Projects/CommitQueue/WebKitTools/Scripts/svn-apply&apos;, u&apos;--reviewer&apos;, u&apos;Adam Barth&apos;, u&apos;--force&apos;]&quot; exit_code: 1
&gt; 
&gt; Full output: http://queues.webkit.org/results/4847096

Looks like the patch needs rebasing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>305977</commentid>
    <comment_count>34</comment_count>
      <attachid>71396</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-11-07 20:59:13 -0800</bug_when>
    <thetext>Comment on attachment 71396
patch v2

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

&gt; LayoutTests/fast/frames/meta-refresh-user-gesture.html:13
&gt; +In mete refresh redirection, the user gesture status in didStartProvisionalLoad callback should be false. For more details, please refer to https://bugs.webkit.org/show_bug.cgi?id=47817.

The bug doesn&apos;t really have more detail. It sort of kind of makes sense, but there is no concrete explanation or problem example in the bug.

 I don&apos;t know what&apos;s the use of checking for user gesture when downloading, so I can&apos;t tell what the benefit of making the indication more precise is.

&gt; LayoutTests/platform/gtk/Skipped:5915
&gt; +# https://bugs.webkit.org/show_bug.cgi?id=47849 and https://bugs.webkit.org/show_bug.cgi?id=47817

These are not correct bug numbers. Bug in Skipped list comment should be tracking a failure or missing DumpRenderTree feature. If there is no tracking bug, a comment should explain the failure.

&gt; LayoutTests/platform/win/Skipped:1046
&gt; +# https://bugs.webkit.org/show_bug.cgi?id=47849 and https://bugs.webkit.org/show_bug.cgi?id=47817

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>306181</commentid>
    <comment_count>35</comment_count>
    <who name="Johnny(Jianning) Ding">jnd</who>
    <bug_when>2010-11-08 10:10:57 -0800</bug_when>
    <thetext>(In reply to comment #34)
Thanks, Alexey!
&gt; The bug doesn&apos;t really have more detail. It sort of kind of makes sense, but there is no concrete explanation or problem example in the bug.
&gt; 
&gt;  I don&apos;t know what&apos;s the use of checking for user gesture when downloading, so I can&apos;t tell what the benefit of making the indication more precise is.

I thought Pierre-Antoine LaFayette&apos;s #1 comment might explain this issue. Anyway, I gonna change the explanation in test case to the following contents. @Pierre-Antoine LaFayette, can you also review it to see whether it explains this bug? Thanks!

Some WebKit ports send the user gesture to the embedders in didStartProvisionalLoad callback. The embedders use it to judge the navigation is user-initiated or not. In mete refresh redirection, the user gesture status in didStartProvisionalLoad callback should be false. 
For more details, please refer to https://bugs.webkit.org/show_bug.cgi?id=47817.

&gt; These are not correct bug numbers. Bug in Skipped list comment should be tracking a failure or missing DumpRenderTree feature. If there is no tracking bug, a comment should explain the failure.

I change the comment to the following explanation.

# The following tests requires the DRT&apos;s dumpUserGestureInFrameLoadCallbacks
# method. But that method is not implemented in gtk port since gtk port can&apos;t
# get user gesture in frameload callbacks.
# The related bugs are https://bugs.webkit.org/show_bug.cgi?id=47849/47817.

Rebasing the patch, upload soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>306767</commentid>
    <comment_count>36</comment_count>
      <attachid>73373</attachid>
    <who name="Johnny(Jianning) Ding">jnd</who>
    <bug_when>2010-11-09 07:06:05 -0800</bug_when>
    <thetext>Created attachment 73373
re-baselined landing patch,</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>307535</commentid>
    <comment_count>37</comment_count>
      <attachid>71396</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-11-10 14:00:55 -0800</bug_when>
    <thetext>Comment on attachment 71396
patch v2

Cleared Adam Barth&apos;s review+ from obsolete attachment 71396 so that this bug does not appear in http://webkit.org/pending-commit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>307574</commentid>
    <comment_count>38</comment_count>
    <who name="Pierre-Antoine LaFayette">pierre.lafayette</who>
    <bug_when>2010-11-10 14:42:30 -0800</bug_when>
    <thetext>There&apos;s a typo in LayoutTests/fast/frames/meta-refresh-user-gesture.html: 
In mete refresh redirection =&gt; In meta refresh redirection.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>307833</commentid>
    <comment_count>39</comment_count>
    <who name="Johnny(Jianning) Ding">jnd</who>
    <bug_when>2010-11-11 04:36:18 -0800</bug_when>
    <thetext>(In reply to comment #38)
&gt; There&apos;s a typo in LayoutTests/fast/frames/meta-refresh-user-gesture.html: 
&gt; In mete refresh redirection =&gt; In meta refresh redirection.

Thanks, after the patch (only re-baselined compared with last review+ patch) gets green light, I will ask for committer&apos;s help to fix the typo.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>309433</commentid>
    <comment_count>40</comment_count>
    <who name="Pierre-Antoine LaFayette">pierre.lafayette</who>
    <bug_when>2010-11-15 13:50:26 -0800</bug_when>
    <thetext>(In reply to comment #39)
&gt; (In reply to comment #38)
&gt; &gt; There&apos;s a typo in LayoutTests/fast/frames/meta-refresh-user-gesture.html: 
&gt; &gt; In mete refresh redirection =&gt; In meta refresh redirection.
&gt; 
&gt; Thanks, after the patch (only re-baselined compared with last review+ patch) gets green light, I will ask for committer&apos;s help to fix the typo.

The patch needs a new review since Eric cleared the review flag.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>309461</commentid>
    <comment_count>41</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-11-15 15:00:04 -0800</bug_when>
    <thetext>if abarth already reviewed, you can just fill him in as the reviewer in teh ChangeLog.  The clearning of flags on an obsolete patch is orthogonal to the review process.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>310745</commentid>
    <comment_count>42</comment_count>
    <who name="Johnny(Jianning) Ding">jnd</who>
    <bug_when>2010-11-18 01:30:24 -0800</bug_when>
    <thetext>(In reply to comment #41)
&gt; if abarth already reviewed, you can just fill him in as the reviewer in teh ChangeLog.  The clearning of flags on an obsolete patch is orthogonal to the review process.

Thanks Eric! I re-generated the patch to resolve the latest conflict and filled Adam as reviewer in the ChangeLog. 
I guess we can land it patch now without a review again, am I right? If yes,  I want to ask for Abhishek&apos;s help to land it since Adam is kind of busy recently.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>310746</commentid>
    <comment_count>43</comment_count>
      <attachid>74215</attachid>
    <who name="Johnny(Jianning) Ding">jnd</who>
    <bug_when>2010-11-18 01:31:37 -0800</bug_when>
    <thetext>Created attachment 74215
re-baselined landing patch v2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>315411</commentid>
    <comment_count>44</comment_count>
      <attachid>75227</attachid>
    <who name="Johnny(Jianning) Ding">jnd</who>
    <bug_when>2010-11-30 16:51:02 -0800</bug_when>
    <thetext>Created attachment 75227
patch to resolve the latest conflict

Sorry for delay. After checking with Adam, I am gonna manually land it now</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>315416</commentid>
    <comment_count>45</comment_count>
      <attachid>75230</attachid>
    <who name="Johnny(Jianning) Ding">jnd</who>
    <bug_when>2010-11-30 16:58:10 -0800</bug_when>
    <thetext>Created attachment 75230
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>316136</commentid>
    <comment_count>46</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-12-02 07:29:49 -0800</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 75230:

inspector/styles-new-API.html

Please file bugs against the tests.  These tests were authored by apavlov@chromium.org and pfeldman@chromium.org.  The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>316138</commentid>
    <comment_count>47</comment_count>
      <attachid>75230</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-12-02 07:31:41 -0800</bug_when>
    <thetext>Comment on attachment 75230
Patch for landing

Rejecting patch 75230 from commit-queue.

Failed to run &quot;[&apos;./WebKitTools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;--bot-id=abarth-cq-sl&apos;, &apos;land-attachment&apos;, &apos;--force-clean&apos;, &apos;--ignore-builders&apos;, &apos;--non-interactive&apos;, &apos;--parent-command=commit-queue&apos;, 75230]&quot; exit_code: 2
Last 500 characters of output:
t-queue/WebCore/ChangeLog
Failed to run &quot;[u&apos;git&apos;, u&apos;svn&apos;, u&apos;dcommit&apos;]&quot; exit_code: 1
Cannot dcommit with a dirty index.  Commit your changes first, or stash them with `git stash&apos;.
 at /usr/local/git/libexec/git-core/git-svn line 485


Failed to run &quot;[u&apos;git&apos;, u&apos;svn&apos;, u&apos;dcommit&apos;]&quot; exit_code: 1
Cannot dcommit with a dirty index.  Commit your changes first, or stash them with `git stash&apos;.
 at /usr/local/git/libexec/git-core/git-svn line 485


Failed to run &quot;[u&apos;git&apos;, u&apos;svn&apos;, u&apos;dcommit&apos;]&quot; exit_code: 1

Full output: http://queues.webkit.org/results/6837008</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>316203</commentid>
    <comment_count>48</comment_count>
      <attachid>75230</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-12-02 09:28:53 -0800</bug_when>
    <thetext>Comment on attachment 75230
Patch for landing

The second failure seems like a cq bug.  It may have hit an exception while trying to clean up things.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>316329</commentid>
    <comment_count>49</comment_count>
      <attachid>75230</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-12-02 12:17:30 -0800</bug_when>
    <thetext>Comment on attachment 75230
Patch for landing

Clearing flags on attachment: 75230

Committed r73181: &lt;http://trac.webkit.org/changeset/73181&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>316330</commentid>
    <comment_count>50</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-12-02 12:17:38 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>316335</commentid>
    <comment_count>51</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-12-02 12:25:32 -0800</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 75230:

fast/media/mq-js-media-except-01.html
fast/preloader/script.html

Please file bugs against the tests.  These tests were authored by abarth@webkit.org and kimmo.t.kinnunen@nokia.com.  The commit-queue is continuing to process your patch.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>71028</attachid>
            <date>2010-10-18 06:31:05 -0700</date>
            <delta_ts>2010-10-18 06:32:55 -0700</delta_ts>
            <desc>links.html, links to wait.html</desc>
            <filename>links.html</filename>
            <type>text/html</type>
            <size>215</size>
            <attacher name="Pierre-Antoine LaFayette">pierre.lafayette</attacher>
            
              <data encoding="base64">PGh0bWw+DQo8aGVhZD4NCjx0aXRsZT5KUyBpbml0aWF0ZWQgZG93bmxvYWQgc2hvdWxkIG5vdCBi
ZSBhIHVzZXIgZ2VzdHVyZTwvdGl0bGU+DQo8L2hlYWQ+DQo8Ym9keT4NCjx1bD4NCiAgICA8bGk+
DQogICAgPGEgaHJlZj0id2FpdC5odG1sIj5KUyByZWRpcmVjdCB0byBmaWxlIGFmdGVyIDUgc2Vj
czwvYT4NCiAgICA8L2xpPg0KPC91bD4NCjwvYm9keT4NCjwvaHRtbD4gDQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>71029</attachid>
            <date>2010-10-18 06:32:30 -0700</date>
            <delta_ts>2010-10-18 06:32:30 -0700</delta_ts>
            <desc>wait.html, when loaded it will download setup.exe after 5 secs.</desc>
            <filename>wait.html</filename>
            <type>text/html</type>
            <size>216</size>
            <attacher name="Pierre-Antoine LaFayette">pierre.lafayette</attacher>
            
              <data encoding="base64">PGh0bWw+DQo8Ym9keT4NCldhaXQgNSBzZWNvbmRzIGFuZCBzZXR1cC5leGUgd2lsbCBkb3dubG9h
ZC4uLg0KPHNjcmlwdD4NCmZ1bmN0aW9uIGRvd25sb2FkKCkgew0KICAgIHdpbmRvdy5sb2NhdGlv
biA9ICdodHRwOi8vY3lnd2luLmNvbS9zZXR1cC5leGUnOw0KfQ0Kc2V0VGltZW91dCgiZG93bmxv
YWQoKSIsIDUwMDApOw0KPC9zY3JpcHQ+DQo8L2JvZHk+DQo8L2h0bWw+IA0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>71290</attachid>
            <date>2010-10-20 07:07:48 -0700</date>
            <delta_ts>2010-11-30 16:51:02 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-47817-20101020100728.patch</filename>
            <type>text/plain</type>
            <size>1890</size>
            <attacher name="Pierre-Antoine LaFayette">pierre.lafayette</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZWNiYjFlOTczNjkxOGYzMDdiNTIxNWM1ZjU4MjA2YmI4MDJmNWQyNy4uNmRjZDNhY2MzY2I5ZjI1
OGJmMGU1ZGY2NmYxODY2MTM0M2ZhMGY1YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAxMC0xMC0yMCAgUGll
cnJlLUFudG9pbmUgTGFGYXlldHRlICA8cGllcnJlLmxhZmF5ZXR0ZUBnbWFpbC5jb20+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRnJhbWVMb2FkZXI6
OklzUHJvY2Vzc2luZ1VzZXJHZXN0dXJlIGlzIHRydWUgZm9yIEphdmFTY3JpcHQgaW5pdGlhdGVk
IGRvd25sb2FkcworICAgICAgICBhZnRlciBjbGljayBuYXZpZ2F0aW9uIHRvIHdlYnBhZ2UKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ3ODE3CisKKyAg
ICAgICAgQSBtZXRhIHJlZnJlc2ggd2lsbCBoYXZlIGEgZ2VzdHVyZSBzdGF0ZSBvZiBQb3NzaWJs
eVByb2Nlc3NpbmdVc2VyR2VzdHVyZS4gV2UKKyAgICAgICAgc2hvdWxkIG9ubHkgc2V0IHRoZSB1
c2VyIGdlc3R1cmUgc3RhdGUgdG8gdHJ1ZSB3aGVuIHdlIGtub3cgZm9yIGNlcnRhaW4gdGhhdCBp
dCBpcworICAgICAgICBhIHVzZXIgaW5pdGlhdGVkIG5hdmlnYXRpb24uCisKKyAgICAgICAgTm8g
bmV3IHRlc3RzLiAoT09QUyEpCisKKyAgICAgICAgKiBiaW5kaW5ncy92OC9TY3JpcHRDb250cm9s
bGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdENvbnRyb2xsZXI6OnByb2Nlc3NpbmdV
c2VyR2VzdHVyZSk6CisKIDIwMTAtMTAtMjAgIERpcmsgU2NodWx6ZSAgPGtyaXRAd2Via2l0Lm9y
Zz4KIAogICAgICAgICBSZXZpZXdlZCBieSBOaWtvbGFzIFppbW1lcm1hbm4uCmRpZmYgLS1naXQg
YS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdENvbnRyb2xsZXIuY3BwIGIvV2ViQ29yZS9iaW5k
aW5ncy92OC9TY3JpcHRDb250cm9sbGVyLmNwcAppbmRleCA0OTA0YTRlNjVmZGU5Y2IzYmY0M2Ji
YTU0YTViMThkMmFmNzgyZDEwLi5jZWMwZDM0ZmVjMjk1ZTcyZTRlZmVhNjI1OWUwZDRiYjIzY2U2
YzM3IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdENvbnRyb2xsZXIuY3Bw
CisrKyBiL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0Q29udHJvbGxlci5jcHAKQEAgLTE2OCwx
MCArMTY4LDkgQEAgdm9pZCBTY3JpcHRDb250cm9sbGVyOjp1cGRhdGVQbGF0Zm9ybVNjcmlwdE9i
amVjdHMoKQogYm9vbCBTY3JpcHRDb250cm9sbGVyOjpwcm9jZXNzaW5nVXNlckdlc3R1cmUoKQog
ewogICAgIEZyYW1lKiBhY3RpdmVGcmFtZSA9IFY4UHJveHk6OnJldHJpZXZlRnJhbWVGb3JFbnRl
cmVkQ29udGV4dCgpOwotICAgIC8vIE5vIHNjcmlwdCBpcyBydW5uaW5nLCBzbyBpdCBpcyB1c2Vy
LWluaXRpYXRlZCB1bmxlc3MgdGhlIGdlc3R1cmUgc3RhY2sKLSAgICAvLyBleHBsaWNpdGx5IHNh
eXMgaXQgaXMgbm90LgorICAgIC8vIE5vIHNjcmlwdCBpcyBydW5uaW5nLCBjaGVjayB0aGUgZ2Vz
dHVyZSBzdGF0ZS4KICAgICBpZiAoIWFjdGl2ZUZyYW1lKQotICAgICAgICByZXR1cm4gVXNlckdl
c3R1cmVJbmRpY2F0b3I6OmdldFVzZXJHZXN0dXJlU3RhdGUoKSAhPSBEZWZpbml0ZWx5Tm90UHJv
Y2Vzc2luZ1VzZXJHZXN0dXJlOworICAgICAgICByZXR1cm4gVXNlckdlc3R1cmVJbmRpY2F0b3I6
OmdldFVzZXJHZXN0dXJlU3RhdGUoKSA9PSBEZWZpbml0ZWx5UHJvY2Vzc2luZ1VzZXJHZXN0dXJl
OwogCiAgICAgVjhQcm94eSogYWN0aXZlUHJveHkgPSBhY3RpdmVGcmFtZS0+c2NyaXB0KCktPnBy
b3h5KCk7CiAK
</data>
<flag name="review"
          id="61318"
          type_id="1"
          status="-"
          setter="abarth"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>71374</attachid>
            <date>2010-10-20 17:46:39 -0700</date>
            <delta_ts>2010-10-20 18:00:16 -0700</delta_ts>
            <desc>patch v1</desc>
            <filename>patch006.txt</filename>
            <type>text/plain</type>
            <size>5960</size>
            <attacher name="Johnny(Jianning) Ding">jnd</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3MDE5NikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTcgQEAKKzIwMTAtMTAtMjAgIEpvaG5ueSBEaW5nICA8am5kQGNocm9taXVtLm9y
Zz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTZXQg
dGhlIHJpZ2h0IGdlc3R1cmUgc3RhdHVzIGZvciBtZXRhIHJlZnJlc2ggcmVkaXJlY3Rpb24uCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NzgxNworCisg
ICAgICAgIFRlc3RzOiBmYXN0L2xvYWRpbmcvbG9jYXRpb24tcmVkaXJlY3QtdXNlci1nZXN0dXJl
Lmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvbG9hZGluZy9tZXRhLXJlZnJlc2gtdXNlci1nZXN0
dXJlLmh0bWwKKworICAgICAgICAqIGxvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlNjaGVkdWxlZE5hdmlnYXRpb246Om92ZXJyaWRlV2FzVXNlckdlc3R1
cmUpOgorICAgICAgICAoV2ViQ29yZTo6U2NoZWR1bGVkUmVkaXJlY3Q6OlNjaGVkdWxlZFJlZGly
ZWN0KToKKwogMjAxMC0xMC0yMCAgRHVtaXRydSBEYW5pbGl1YyAgPGR1bWlAY2hyb21pdW0ub3Jn
PgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhdmlkIExldmluLgpJbmRleDogV2ViQ29yZS9sb2Fk
ZXIvTmF2aWdhdGlvblNjaGVkdWxlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9sb2FkZXIv
TmF2aWdhdGlvblNjaGVkdWxlci5jcHAJKHJldmlzaW9uIDcwMDI2KQorKysgV2ViQ29yZS9sb2Fk
ZXIvTmF2aWdhdGlvblNjaGVkdWxlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc3LDYgKzc3LDEw
IEBAIHB1YmxpYzoKICAgICBib29sIGlzTG9jYXRpb25DaGFuZ2UoKSBjb25zdCB7IHJldHVybiBt
X2lzTG9jYXRpb25DaGFuZ2U7IH0KICAgICBib29sIHdhc1VzZXJHZXN0dXJlKCkgY29uc3QgeyBy
ZXR1cm4gbV93YXNVc2VyR2VzdHVyZTsgfQogCitwcm90ZWN0ZWQ6CisgICAgLy8gVGhlIGRlcml2
ZWQgY2xhc3MgY2FuIGNhbGwgdGhpcyBtZXRob2QgdG8gb3ZlcnJpZGUgdGhlIG1fd2FzVXNlckdl
c3R1cmUuCisgICAgdm9pZCBvdmVycmlkZVdhc1VzZXJHZXN0dXJlKGJvb2wgd2FzVXNlckdlc3R1
cmUpIHsgbV93YXNVc2VyR2VzdHVyZSA9IHdhc1VzZXJHZXN0dXJlOyB9CisKIHByaXZhdGU6CiAg
ICAgZG91YmxlIG1fZGVsYXk7CiAgICAgYm9vbCBtX2xvY2tIaXN0b3J5OwpAQCAtMTMxLDYgKzEz
NSw4IEBAIHB1YmxpYzoKICAgICBTY2hlZHVsZWRSZWRpcmVjdChkb3VibGUgZGVsYXksIGNvbnN0
IFN0cmluZyYgdXJsLCBib29sIGxvY2tIaXN0b3J5LCBib29sIGxvY2tCYWNrRm9yd2FyZExpc3Qp
CiAgICAgICAgIDogU2NoZWR1bGVkVVJMTmF2aWdhdGlvbihkZWxheSwgdXJsLCBTdHJpbmcoKSwg
bG9ja0hpc3RvcnksIGxvY2tCYWNrRm9yd2FyZExpc3QsIGZhbHNlLCBmYWxzZSkKICAgICB7Cisg
ICAgICAgIC8vIEFsbCBTY2hlZHVsZWRSZWRpcmVjdHMgYXJlIG5vdCB1c2VyLWluaXRpYXRlZCwg
d2UgbmVlZCB0byBvdmVycmlkZSB0aGUgbV93YXNVc2VyR2VzdHVyZSB0byBmYWxzZS4KKyAgICAg
ICAgb3ZlcnJpZGVXYXNVc2VyR2VzdHVyZShmYWxzZSk7CiAgICAgfQogCiAgICAgdmlydHVhbCBi
b29sIHNob3VsZFN0YXJ0VGltZXIoRnJhbWUqIGZyYW1lKSB7IHJldHVybiBmcmFtZS0+bG9hZGVy
KCktPmFsbEFuY2VzdG9yc0FyZUNvbXBsZXRlKCk7IH0KSW5kZXg6IExheW91dFRlc3RzL0NoYW5n
ZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDcwMTk2
KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUg
QEAKKzIwMTAtMTAtMjAgIEpvaG5ueSBEaW5nICA8am5kQGNocm9taXVtLm9yZz4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTZXQgdGhlIHJpZ2h0IGdl
c3R1cmUgc3RhdHVzIGZvciBtZXRhIHJlZnJlc2ggcmVkaXJlY3Rpb24uCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NzgxNworCisgICAgICAgICogZmFz
dC9sb2FkaW5nL2xvY2F0aW9uLXJlZGlyZWN0LXVzZXItZ2VzdHVyZS1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGZhc3QvbG9hZGluZy9sb2NhdGlvbi1yZWRpcmVjdC11c2VyLWdlc3R1
cmUuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9sb2FkaW5nL21ldGEtcmVmcmVzaC11c2Vy
LWdlc3R1cmUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2xvYWRpbmcvbWV0
YS1yZWZyZXNoLXVzZXItZ2VzdHVyZS5odG1sOiBBZGRlZC4KKwogMjAxMC0xMC0yMCAgQmV0aCBE
YWtpbiAgPGJkYWtpbkBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gRnJh
c2VyLgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9sb2FkaW5nL2xvY2F0aW9uLXJlZGlyZWN0LXVz
ZXItZ2VzdHVyZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9s
b2FkaW5nL2xvY2F0aW9uLXJlZGlyZWN0LXVzZXItZ2VzdHVyZS1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2xvYWRpbmcvbG9jYXRpb24tcmVkaXJlY3QtdXNl
ci1nZXN0dXJlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyIEBACitGcmFt
ZSB3aXRoIHVzZXIgZ2VzdHVyZSAiZmFsc2UiIC0gaW4gZGlkU3RhcnRQcm92aXNpb25hbExvYWRG
b3JGcmFtZQorCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2xvYWRpbmcvbG9jYXRpb24tcmVkaXJl
Y3QtdXNlci1nZXN0dXJlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9sb2Fk
aW5nL2xvY2F0aW9uLXJlZGlyZWN0LXVzZXItZ2VzdHVyZS5odG1sCShyZXZpc2lvbiAwKQorKysg
TGF5b3V0VGVzdHMvZmFzdC9sb2FkaW5nL2xvY2F0aW9uLXJlZGlyZWN0LXVzZXItZ2VzdHVyZS5o
dG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE5IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dD4gICAgICAKKyAgICBmdW5jdGlvbiBydW5UZXN0cygpIHsKKyAgICAgICAgaWYgKHdpbmRvdy5s
YXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
ZHVtcEFzVGV4dCgpOworICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcFVzZXJH
ZXN0dXJlSW5GcmFtZUxvYWRDYWxsYmFja3MoKTsKKyAgICAgICAgICAgIGxheW91dFRlc3RDb250
cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAgICAgICAgfQorCisgICAgICAgIHNldFRpbWVvdXQo
ImxvY2F0aW9uLmhyZWY9J2RhdGE6dGV4dC9odG1sXCw8c2NyaXB0PmxheW91dFRlc3RDb250cm9s
bGVyLm5vdGlmeURvbmUoKTwvIiArICJzY3JpcHQ+JyIsIDEwMDApOworICAgIH0KKyAgICA8L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVuVGVzdHMoKTsiPgorSW4gbG9jYXRpb24g
Y2hhbmdlIHJlZGlyZWN0aW9uLCB0aGUgdXNlciBnZXN0dXJlIHN0YXR1cyBpbiBkaWRTdGFydFBy
b3Zpc2lvbmFsTG9hZCBjYWxsYmFjayBzaG91bGQgYmUgZmFsc2UuIEZvciBtb3JlIGRldGFpbHMs
IHBsZWFzZSByZWZlciB0byBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NDc4MTcuCis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qv
bG9hZGluZy9tZXRhLXJlZnJlc2gtdXNlci1nZXN0dXJlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2xvYWRpbmcvbWV0YS1yZWZyZXNoLXVzZXItZ2VzdHVyZS1l
eHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2xvYWRpbmcvbWV0
YS1yZWZyZXNoLXVzZXItZ2VzdHVyZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAg
KzEsNCBAQAorRnJhbWUgd2l0aCB1c2VyIGdlc3R1cmUgImZhbHNlIiAtIGluIGRpZFN0YXJ0UHJv
dmlzaW9uYWxMb2FkRm9yRnJhbWUKK0luIG1ldGUgcmVmcmVzaCByZWRpcmVjdGlvbiwgdGhlIHVz
ZXIgZ2VzdHVyZSBzdGF0dXMgaW4gZGlkU3RhcnRQcm92aXNpb25hbExvYWQgY2FsbGJhY2sgc2hv
dWxkIGJlIGZhbHNlLiBGb3IgbW9yZSBkZXRhaWxzLCBwbGVhc2UgcmVmZXIgdG8gaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ3ODE3LgorbG9hZCBjb3VudCA6IDIKKwpJ
bmRleDogTGF5b3V0VGVzdHMvZmFzdC9sb2FkaW5nL21ldGEtcmVmcmVzaC11c2VyLWdlc3R1cmUu
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2xvYWRpbmcvbWV0YS1yZWZyZXNo
LXVzZXItZ2VzdHVyZS5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9sb2Fk
aW5nL21ldGEtcmVmcmVzaC11c2VyLWdlc3R1cmUuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCAr
MSwyNyBAQAorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGh0dHAtZXF1aXY9InJlZnJlc2giIGNvbnRl
bnQ9IjIiPgorPC9oZWFkPgorPGJvZHk+CitJbiBtZXRlIHJlZnJlc2ggcmVkaXJlY3Rpb24sIHRo
ZSB1c2VyIGdlc3R1cmUgc3RhdHVzIGluIGRpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkIGNhbGxiYWNr
IHNob3VsZCBiZSBmYWxzZS4gRm9yIG1vcmUgZGV0YWlscywgcGxlYXNlIHJlZmVyIHRvIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NzgxNy4KKzxkaXYgaWQ9ImxvYWRD
b3VudCI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+ICAgICAgCisK
KyAgICBpZiAoMSB8fCB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgaWYg
KCFzZXNzaW9uU3RvcmFnZS5sb2FkQ291bnQpCisgICAgICAgICAgICBzZXNzaW9uU3RvcmFnZS5s
b2FkQ291bnQgPSAxOworICAgICAgICBlbHNlCisgICAgICAgICAgICBzZXNzaW9uU3RvcmFnZS5s
b2FkQ291bnQgPSBwYXJzZUludChzZXNzaW9uU3RvcmFnZS5sb2FkQ291bnQsIDEwKSArIDE7Cisg
ICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsb2FkQ291bnQiKS5pbm5lclRleHQgPSAi
bG9hZCBjb3VudCA6ICIgKyBzZXNzaW9uU3RvcmFnZS5sb2FkQ291bnQ7CisgICAgICAgIGlmICgy
ID09IHNlc3Npb25TdG9yYWdlLmxvYWRDb3VudCkgeworICAgICAgICAgICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIubm90aWZ5RG9uZSgpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgbGF5
b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAgICAgICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIuZHVtcFVzZXJHZXN0dXJlSW5GcmFtZUxvYWRDYWxsYmFja3MoKTsKKyAgICAgICAg
ICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAgICAgICAgfQorICAg
IH0KKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>71391</attachid>
            <date>2010-10-20 22:45:43 -0700</date>
            <delta_ts>2010-10-21 00:17:48 -0700</delta_ts>
            <desc>patch v1 (with layout tests)</desc>
            <filename>patch006.txt</filename>
            <type>text/plain</type>
            <size>7141</size>
            <attacher name="Johnny(Jianning) Ding">jnd</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3MDIwOCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTcgQEAKKzIwMTAtMTAtMjAgIEpvaG5ueSBEaW5nICA8am5kQGNocm9taXVtLm9y
Zz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTZXQg
dGhlIHJpZ2h0IGdlc3R1cmUgc3RhdHVzIGZvciBtZXRhIHJlZnJlc2ggcmVkaXJlY3Rpb24uCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NzgxNworCisg
ICAgICAgIFRlc3RzOiBmYXN0L2ZyYW1lcy9sb2NhdGlvbi1yZWRpcmVjdC11c2VyLWdlc3R1cmUu
aHRtbAorICAgICAgICAgICAgICAgZmFzdC9mcmFtZXMvbWV0YS1yZWZyZXNoLXVzZXItZ2VzdHVy
ZS5odG1sCisKKyAgICAgICAgKiBsb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTY2hlZHVsZWROYXZpZ2F0aW9uOjpvdmVycmlkZVdhc1VzZXJHZXN0dXJl
KToKKyAgICAgICAgKFdlYkNvcmU6OlNjaGVkdWxlZFJlZGlyZWN0OjpTY2hlZHVsZWRSZWRpcmVj
dCk6CisKIDIwMTAtMTAtMTkgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+
CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgR2F2aW4gQmFycmFjbG91Z2guCkluZGV4OiBXZWJDb3Jl
L2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2xv
YWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcAkocmV2aXNpb24gNzAwMjYpCisrKyBXZWJDb3Jl
L2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzcsNiAr
NzcsMTAgQEAgcHVibGljOgogICAgIGJvb2wgaXNMb2NhdGlvbkNoYW5nZSgpIGNvbnN0IHsgcmV0
dXJuIG1faXNMb2NhdGlvbkNoYW5nZTsgfQogICAgIGJvb2wgd2FzVXNlckdlc3R1cmUoKSBjb25z
dCB7IHJldHVybiBtX3dhc1VzZXJHZXN0dXJlOyB9CiAKK3Byb3RlY3RlZDoKKyAgICAvLyBUaGUg
ZGVyaXZlZCBjbGFzcyBjYW4gY2FsbCB0aGlzIG1ldGhvZCB0byBvdmVycmlkZSB0aGUgbV93YXNV
c2VyR2VzdHVyZS4KKyAgICB2b2lkIG92ZXJyaWRlV2FzVXNlckdlc3R1cmUoYm9vbCB3YXNVc2Vy
R2VzdHVyZSkgeyBtX3dhc1VzZXJHZXN0dXJlID0gd2FzVXNlckdlc3R1cmU7IH0KKwogcHJpdmF0
ZToKICAgICBkb3VibGUgbV9kZWxheTsKICAgICBib29sIG1fbG9ja0hpc3Rvcnk7CkBAIC0xMzEs
NiArMTM1LDggQEAgcHVibGljOgogICAgIFNjaGVkdWxlZFJlZGlyZWN0KGRvdWJsZSBkZWxheSwg
Y29uc3QgU3RyaW5nJiB1cmwsIGJvb2wgbG9ja0hpc3RvcnksIGJvb2wgbG9ja0JhY2tGb3J3YXJk
TGlzdCkKICAgICAgICAgOiBTY2hlZHVsZWRVUkxOYXZpZ2F0aW9uKGRlbGF5LCB1cmwsIFN0cmlu
ZygpLCBsb2NrSGlzdG9yeSwgbG9ja0JhY2tGb3J3YXJkTGlzdCwgZmFsc2UsIGZhbHNlKQogICAg
IHsKKyAgICAgICAgLy8gQWxsIFNjaGVkdWxlZFJlZGlyZWN0cyBhcmUgbm90IHVzZXItaW5pdGlh
dGVkLCB3ZSBuZWVkIHRvIG92ZXJyaWRlIHRoZSBtX3dhc1VzZXJHZXN0dXJlIHRvIGZhbHNlLgor
ICAgICAgICBvdmVycmlkZVdhc1VzZXJHZXN0dXJlKGZhbHNlKTsKICAgICB9CiAKICAgICB2aXJ0
dWFsIGJvb2wgc2hvdWxkU3RhcnRUaW1lcihGcmFtZSogZnJhbWUpIHsgcmV0dXJuIGZyYW1lLT5s
b2FkZXIoKS0+YWxsQW5jZXN0b3JzQXJlQ29tcGxldGUoKTsgfQpJbmRleDogTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24g
NzAyMDgpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyAr
MSwxNyBAQAorMjAxMC0xMC0yMCAgSm9obm55IERpbmcgIDxqbmRAY2hyb21pdW0ub3JnPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNldCB0aGUgcmln
aHQgZ2VzdHVyZSBzdGF0dXMgZm9yIG1ldGEgcmVmcmVzaCByZWRpcmVjdGlvbi4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ3ODE3CisKKyAgICAgICAg
KiBmYXN0L2ZyYW1lcy9sb2NhdGlvbi1yZWRpcmVjdC11c2VyLWdlc3R1cmUtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2ZyYW1lcy9sb2NhdGlvbi1yZWRpcmVjdC11c2VyLWdl
c3R1cmUuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9mcmFtZXMvbWV0YS1yZWZyZXNoLXVz
ZXItZ2VzdHVyZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZnJhbWVzL21l
dGEtcmVmcmVzaC11c2VyLWdlc3R1cmUuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0v
Z3RrL1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vd2luL1NraXBwZWQ6CisKIDIwMTAtMTAt
MjAgIEFkYW0gUm9iZW4gIDxhcm9iZW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSBzb21l
IG5vLWxvbmdlci1uZWVkZWQgV2luZG93cy1zcGVjaWZpYyByZXN1bHRzCkluZGV4OiBMYXlvdXRU
ZXN0cy9mYXN0L2ZyYW1lcy9sb2NhdGlvbi1yZWRpcmVjdC11c2VyLWdlc3R1cmUtZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2xvY2F0aW9uLXJlZGly
ZWN0LXVzZXItZ2VzdHVyZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0
cy9mYXN0L2ZyYW1lcy9sb2NhdGlvbi1yZWRpcmVjdC11c2VyLWdlc3R1cmUtZXhwZWN0ZWQudHh0
CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDIgQEAKK0ZyYW1lIHdpdGggdXNlciBnZXN0dXJlICJm
YWxzZSIgLSBpbiBkaWRTdGFydFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lCisKSW5kZXg6IExheW91
dFRlc3RzL2Zhc3QvZnJhbWVzL2xvY2F0aW9uLXJlZGlyZWN0LXVzZXItZ2VzdHVyZS5odG1sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2xvY2F0aW9uLXJlZGlyZWN0LXVz
ZXItZ2VzdHVyZS5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMv
bG9jYXRpb24tcmVkaXJlY3QtdXNlci1nZXN0dXJlLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAg
KzEsMTkgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PiAgICAgIAorICAgIGZ1bmN0aW9uIHJ1
blRlc3RzKCkgeworICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Cisg
ICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgICAgICAg
ICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wVXNlckdlc3R1cmVJbkZyYW1lTG9hZENhbGxiYWNr
cygpOworICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOwor
ICAgICAgICB9CisKKyAgICAgICAgc2V0VGltZW91dCgibG9jYXRpb24uaHJlZj0nZGF0YTp0ZXh0
L2h0bWxcLDxzY3JpcHQ+bGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpPC8iICsgInNj
cmlwdD4nIiwgMTAwMCk7CisgICAgfQorICAgIDwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25s
b2FkPSJydW5UZXN0cygpOyI+CitJbiBsb2NhdGlvbiBjaGFuZ2UgcmVkaXJlY3Rpb24sIHRoZSB1
c2VyIGdlc3R1cmUgc3RhdHVzIGluIGRpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkIGNhbGxiYWNrIHNo
b3VsZCBiZSBmYWxzZS4gRm9yIG1vcmUgZGV0YWlscywgcGxlYXNlIHJlZmVyIHRvIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NzgxNy4KKzwvZGl2PgorPC9ib2R5Pgor
PC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvbWV0YS1yZWZyZXNoLXVzZXIt
Z2VzdHVyZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mcmFt
ZXMvbWV0YS1yZWZyZXNoLXVzZXItZ2VzdHVyZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisr
KyBMYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9tZXRhLXJlZnJlc2gtdXNlci1nZXN0dXJlLWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0IEBACitGcmFtZSB3aXRoIHVzZXIgZ2Vz
dHVyZSAiZmFsc2UiIC0gaW4gZGlkU3RhcnRQcm92aXNpb25hbExvYWRGb3JGcmFtZQorSW4gbWV0
ZSByZWZyZXNoIHJlZGlyZWN0aW9uLCB0aGUgdXNlciBnZXN0dXJlIHN0YXR1cyBpbiBkaWRTdGFy
dFByb3Zpc2lvbmFsTG9hZCBjYWxsYmFjayBzaG91bGQgYmUgZmFsc2UuIEZvciBtb3JlIGRldGFp
bHMsIHBsZWFzZSByZWZlciB0byBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NDc4MTcuCitsb2FkIGNvdW50IDogMgorCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2ZyYW1l
cy9tZXRhLXJlZnJlc2gtdXNlci1nZXN0dXJlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvZmFzdC9mcmFtZXMvbWV0YS1yZWZyZXNoLXVzZXItZ2VzdHVyZS5odG1sCShyZXZpc2lvbiAw
KQorKysgTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvbWV0YS1yZWZyZXNoLXVzZXItZ2VzdHVyZS5o
dG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDI3IEBACis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
aHR0cC1lcXVpdj0icmVmcmVzaCIgY29udGVudD0iMiI+Cis8L2hlYWQ+Cis8Ym9keT4KK0luIG1l
dGUgcmVmcmVzaCByZWRpcmVjdGlvbiwgdGhlIHVzZXIgZ2VzdHVyZSBzdGF0dXMgaW4gZGlkU3Rh
cnRQcm92aXNpb25hbExvYWQgY2FsbGJhY2sgc2hvdWxkIGJlIGZhbHNlLiBGb3IgbW9yZSBkZXRh
aWxzLCBwbGVhc2UgcmVmZXIgdG8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTQ3ODE3LgorPGRpdiBpZD0ibG9hZENvdW50Ij48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4gICAgICAKKworICAgIGlmICgxIHx8IHdpbmRvdy5sYXlvdXRUZXN0
Q29udHJvbGxlcikgeworICAgICAgICBpZiAoIXNlc3Npb25TdG9yYWdlLmxvYWRDb3VudCkKKyAg
ICAgICAgICAgIHNlc3Npb25TdG9yYWdlLmxvYWRDb3VudCA9IDE7CisgICAgICAgIGVsc2UKKyAg
ICAgICAgICAgIHNlc3Npb25TdG9yYWdlLmxvYWRDb3VudCA9IHBhcnNlSW50KHNlc3Npb25TdG9y
YWdlLmxvYWRDb3VudCwgMTApICsgMTsKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImxvYWRDb3VudCIpLmlubmVyVGV4dCA9ICJsb2FkIGNvdW50IDogIiArIHNlc3Npb25TdG9yYWdl
LmxvYWRDb3VudDsKKyAgICAgICAgaWYgKDIgPT0gc2Vzc2lvblN0b3JhZ2UubG9hZENvdW50KSB7
CisgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7CisgICAgICAg
IH0gZWxzZSB7CisgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7
CisgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wVXNlckdlc3R1cmVJbkZyYW1l
TG9hZENhbGxiYWNrcygpOworICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVu
dGlsRG9uZSgpOworICAgICAgICB9CisgICAgfQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZAkocmV2aXNpb24gNzAwMjYpCisrKyBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZAkod29ya2luZyBjb3B5KQpAQCAtNTkxMSwzICs1
OTExLDcgQEAgZmFzdC9pbWFnZXMvd2VicC1pbWFnZS1kZWNvZGluZy5odG1sCiAKICMgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ3ODMyCiBodHRwL3Rlc3RzL2luc3Bl
Y3Rvci9jb25zb2xlLXhoci1sb2dnaW5nLmh0bWwKKworIyBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NDc4NDkgYW5kIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD00NzgxNworZmFzdC9mcmFtZXMvbG9jYXRpb24tcmVkaXJlY3QtdXNlci1nZXN0
dXJlLmh0bWwKK2Zhc3QvZnJhbWVzL21ldGEtcmVmcmVzaC11c2VyLWdlc3R1cmUuaHRtbApJbmRl
eDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQJKHJldmlzaW9uIDcwMDI2KQorKysgTGF5b3V0VGVz
dHMvcGxhdGZvcm0vd2luL1NraXBwZWQJKHdvcmtpbmcgY29weSkKQEAgLTEwNDIsMyArMTA0Miw3
IEBAIGZhc3QvZXZlbnRzL2NsaWNrLWZvY3VzLWNvbnRyb2wuaHRtbAogCiAjIFJlcXVpcmVzIFdl
YlAgc3VwcG9ydC4KIGZhc3QvaW1hZ2VzL3dlYnAtaW1hZ2UtZGVjb2RpbmcuaHRtbAorCisjIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00Nzg0OSBhbmQgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ3ODE3CitmYXN0L2ZyYW1lcy9sb2NhdGlv
bi1yZWRpcmVjdC11c2VyLWdlc3R1cmUuaHRtbAorZmFzdC9mcmFtZXMvbWV0YS1yZWZyZXNoLXVz
ZXItZ2VzdHVyZS5odG1sCg==
</data>
<flag name="review"
          id="61429"
          type_id="1"
          status="-"
          setter="abarth"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>71396</attachid>
            <date>2010-10-21 00:17:22 -0700</date>
            <delta_ts>2010-11-10 14:00:55 -0800</delta_ts>
            <desc>patch v2</desc>
            <filename>patch006.txt</filename>
            <type>text/plain</type>
            <size>6716</size>
            <attacher name="Johnny(Jianning) Ding">jnd</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3MDIwOSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTcgQEAKKzIwMTAtMTAtMjAgIEpvaG5ueSBEaW5nICA8am5kQGNocm9taXVtLm9y
Zz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTZXQg
dGhlIHJpZ2h0IGdlc3R1cmUgc3RhdHVzIGZvciBtZXRhIHJlZnJlc2ggcmVkaXJlY3Rpb24uCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NzgxNworCisg
ICAgICAgIFRlc3RzOiBmYXN0L2ZyYW1lcy9sb2NhdGlvbi1yZWRpcmVjdC11c2VyLWdlc3R1cmUu
aHRtbAorICAgICAgICAgICAgICAgZmFzdC9mcmFtZXMvbWV0YS1yZWZyZXNoLXVzZXItZ2VzdHVy
ZS5odG1sCisKKyAgICAgICAgKiBsb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTY2hlZHVsZWROYXZpZ2F0aW9uOjpjbGVhclVzZXJHZXN0dXJlKToKKyAg
ICAgICAgKFdlYkNvcmU6OlNjaGVkdWxlZFJlZGlyZWN0OjpTY2hlZHVsZWRSZWRpcmVjdCk6CisK
IDIwMTAtMTAtMjAgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgog
CiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHI3MDA0MC4KSW5kZXg6IFdlYkNvcmUv
bG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvbG9h
ZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuY3BwCShyZXZpc2lvbiA3MDAyNikKKysrIFdlYkNvcmUv
bG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03Nyw2ICs3
Nyw5IEBAIHB1YmxpYzoKICAgICBib29sIGlzTG9jYXRpb25DaGFuZ2UoKSBjb25zdCB7IHJldHVy
biBtX2lzTG9jYXRpb25DaGFuZ2U7IH0KICAgICBib29sIHdhc1VzZXJHZXN0dXJlKCkgY29uc3Qg
eyByZXR1cm4gbV93YXNVc2VyR2VzdHVyZTsgfQogCitwcm90ZWN0ZWQ6CisgICAgdm9pZCBjbGVh
clVzZXJHZXN0dXJlKCkgeyBtX3dhc1VzZXJHZXN0dXJlID0gZmFsc2U7IH0KKwogcHJpdmF0ZToK
ICAgICBkb3VibGUgbV9kZWxheTsKICAgICBib29sIG1fbG9ja0hpc3Rvcnk7CkBAIC0xMzEsNiAr
MTM0LDcgQEAgcHVibGljOgogICAgIFNjaGVkdWxlZFJlZGlyZWN0KGRvdWJsZSBkZWxheSwgY29u
c3QgU3RyaW5nJiB1cmwsIGJvb2wgbG9ja0hpc3RvcnksIGJvb2wgbG9ja0JhY2tGb3J3YXJkTGlz
dCkKICAgICAgICAgOiBTY2hlZHVsZWRVUkxOYXZpZ2F0aW9uKGRlbGF5LCB1cmwsIFN0cmluZygp
LCBsb2NrSGlzdG9yeSwgbG9ja0JhY2tGb3J3YXJkTGlzdCwgZmFsc2UsIGZhbHNlKQogICAgIHsK
KyAgICAgICAgY2xlYXJVc2VyR2VzdHVyZSgpOwogICAgIH0KIAogICAgIHZpcnR1YWwgYm9vbCBz
aG91bGRTdGFydFRpbWVyKEZyYW1lKiBmcmFtZSkgeyByZXR1cm4gZnJhbWUtPmxvYWRlcigpLT5h
bGxBbmNlc3RvcnNBcmVDb21wbGV0ZSgpOyB9CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA3MDIwOSkKKysr
IExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBACisy
MDEwLTEwLTIwICBKb2hubnkgRGluZyAgPGpuZEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU2V0IHRoZSByaWdodCBnZXN0dXJl
IHN0YXR1cyBmb3IgbWV0YSByZWZyZXNoIHJlZGlyZWN0aW9uLgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDc4MTcKKworICAgICAgICAqIGZhc3QvZnJh
bWVzL2xvY2F0aW9uLXJlZGlyZWN0LXVzZXItZ2VzdHVyZS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGZhc3QvZnJhbWVzL2xvY2F0aW9uLXJlZGlyZWN0LXVzZXItZ2VzdHVyZS5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2ZyYW1lcy9tZXRhLXJlZnJlc2gtdXNlci1nZXN0dXJl
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9mcmFtZXMvbWV0YS1yZWZyZXNo
LXVzZXItZ2VzdHVyZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2ZyYW1lcy9yZXNvdXJj
ZXMvbWV0YS1yZWZyZXNoLXRhcmdldC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9n
dGsvU2tpcHBlZDoKKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vU2tpcHBlZDoKKwogMjAxMC0xMC0y
MCAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CiAKICAgICAgICAg
VW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjcwMDQwLgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9m
cmFtZXMvbG9jYXRpb24tcmVkaXJlY3QtdXNlci1nZXN0dXJlLWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9sb2NhdGlvbi1yZWRpcmVjdC11c2VyLWdl
c3R1cmUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9mcmFt
ZXMvbG9jYXRpb24tcmVkaXJlY3QtdXNlci1nZXN0dXJlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24g
MCkKQEAgLTAsMCArMSwyIEBACitGcmFtZSB3aXRoIHVzZXIgZ2VzdHVyZSAiZmFsc2UiIC0gaW4g
ZGlkU3RhcnRQcm92aXNpb25hbExvYWRGb3JGcmFtZQorCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0
L2ZyYW1lcy9sb2NhdGlvbi1yZWRpcmVjdC11c2VyLWdlc3R1cmUuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9sb2NhdGlvbi1yZWRpcmVjdC11c2VyLWdlc3R1cmUu
aHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2xvY2F0aW9uLXJl
ZGlyZWN0LXVzZXItZ2VzdHVyZS5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE5IEBACis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4gICAgICAKKyAgICBmdW5jdGlvbiBydW5UZXN0cygpIHsK
KyAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgICAgICAgICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAgICAgICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIuZHVtcFVzZXJHZXN0dXJlSW5GcmFtZUxvYWRDYWxsYmFja3MoKTsKKyAgICAg
ICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAgICAgICAgfQor
CisgICAgICAgIHNldFRpbWVvdXQoImxvY2F0aW9uLmhyZWY9J2RhdGE6dGV4dC9odG1sLDxzY3Jp
cHQ+bGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpPC8iICsgInNjcmlwdD4nIiwgMTAw
MCk7CisgICAgfQorICAgIDwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJydW5UZXN0
cygpOyI+CitJbiBsb2NhdGlvbiBjaGFuZ2UgcmVkaXJlY3Rpb24sIHRoZSB1c2VyIGdlc3R1cmUg
c3RhdHVzIGluIGRpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkIGNhbGxiYWNrIHNob3VsZCBiZSBmYWxz
ZS4gRm9yIG1vcmUgZGV0YWlscywgcGxlYXNlIHJlZmVyIHRvIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD00NzgxNy4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpJbmRl
eDogTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvbWV0YS1yZWZyZXNoLXVzZXItZ2VzdHVyZS1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvbWV0YS1yZWZy
ZXNoLXVzZXItZ2VzdHVyZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0
cy9mYXN0L2ZyYW1lcy9tZXRhLXJlZnJlc2gtdXNlci1nZXN0dXJlLWV4cGVjdGVkLnR4dAkocmV2
aXNpb24gMCkKQEAgLTAsMCArMSwyIEBACitGcmFtZSB3aXRoIHVzZXIgZ2VzdHVyZSAiZmFsc2Ui
IC0gaW4gZGlkU3RhcnRQcm92aXNpb25hbExvYWRGb3JGcmFtZQorCkluZGV4OiBMYXlvdXRUZXN0
cy9mYXN0L2ZyYW1lcy9tZXRhLXJlZnJlc2gtdXNlci1nZXN0dXJlLmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvbWV0YS1yZWZyZXNoLXVzZXItZ2VzdHVyZS5odG1s
CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvbWV0YS1yZWZyZXNoLXVz
ZXItZ2VzdHVyZS5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE1IEBACis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgaHR0cC1lcXVpdj0icmVmcmVzaCIgY29udGVudD0iMjsuL3Jlc291cmNlcy9t
ZXRhLXJlZnJlc2gtdGFyZ2V0Lmh0bWwiPgorPHNjcmlwdD4gICAgICAKK2lmICh3aW5kb3cubGF5
b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0
KCk7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcFVzZXJHZXN0dXJlSW5GcmFtZUxvYWRD
YWxsYmFja3MoKTsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7Cit9
Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorSW4gbWV0ZSByZWZyZXNoIHJlZGlyZWN0aW9u
LCB0aGUgdXNlciBnZXN0dXJlIHN0YXR1cyBpbiBkaWRTdGFydFByb3Zpc2lvbmFsTG9hZCBjYWxs
YmFjayBzaG91bGQgYmUgZmFsc2UuIEZvciBtb3JlIGRldGFpbHMsIHBsZWFzZSByZWZlciB0byBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDc4MTcuCis8L2JvZHk+Cis8
L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9yZXNvdXJjZXMvbWV0YS1yZWZy
ZXNoLXRhcmdldC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZnJhbWVzL3Jl
c291cmNlcy9tZXRhLXJlZnJlc2gtdGFyZ2V0Lmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRU
ZXN0cy9mYXN0L2ZyYW1lcy9yZXNvdXJjZXMvbWV0YS1yZWZyZXNoLXRhcmdldC5odG1sCShyZXZp
c2lvbiAwKQpAQCAtMCwwICsxLDggQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgoraWYgKGxh
eW91dFRlc3RDb250cm9sbGVyKQorICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUo
KTsKKzwvc2NyaXB0PgorPC9oZWFkPgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZv
cm0vZ3RrL1NraXBwZWQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Nr
aXBwZWQJKHJldmlzaW9uIDcwMDI2KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBw
ZWQJKHdvcmtpbmcgY29weSkKQEAgLTU5MTEsMyArNTkxMSw3IEBAIGZhc3QvaW1hZ2VzL3dlYnAt
aW1hZ2UtZGVjb2RpbmcuaHRtbAogCiAjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD00NzgzMgogaHR0cC90ZXN0cy9pbnNwZWN0b3IvY29uc29sZS14aHItbG9nZ2luZy5o
dG1sCisKKyMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ3ODQ5IGFu
ZCBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDc4MTcKK2Zhc3QvZnJh
bWVzL2xvY2F0aW9uLXJlZGlyZWN0LXVzZXItZ2VzdHVyZS5odG1sCitmYXN0L2ZyYW1lcy9tZXRh
LXJlZnJlc2gtdXNlci1nZXN0dXJlLmh0bWwKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL3dp
bi9Ta2lwcGVkCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVk
CShyZXZpc2lvbiA3MDAyNikKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCSh3
b3JraW5nIGNvcHkpCkBAIC0xMDQyLDMgKzEwNDIsNyBAQCBmYXN0L2V2ZW50cy9jbGljay1mb2N1
cy1jb250cm9sLmh0bWwKIAogIyBSZXF1aXJlcyBXZWJQIHN1cHBvcnQuCiBmYXN0L2ltYWdlcy93
ZWJwLWltYWdlLWRlY29kaW5nLmh0bWwKKworIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NDc4NDkgYW5kIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD00NzgxNworZmFzdC9mcmFtZXMvbG9jYXRpb24tcmVkaXJlY3QtdXNlci1nZXN0dXJlLmh0
bWwKK2Zhc3QvZnJhbWVzL21ldGEtcmVmcmVzaC11c2VyLWdlc3R1cmUuaHRtbAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>73373</attachid>
            <date>2010-11-09 07:06:05 -0800</date>
            <delta_ts>2010-11-18 01:31:37 -0800</delta_ts>
            <desc>re-baselined landing patch, </desc>
            <filename>patch006.txt</filename>
            <type>text/plain</type>
            <size>7563</size>
            <attacher name="Johnny(Jianning) Ding">jnd</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3MTYyNSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTcgQEAKKzIwMTAtMTEtMDkgIEpvaG5ueSBEaW5nICA8am5kQGNocm9taXVtLm9y
Zz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTZXQg
dGhlIHJpZ2h0IGdlc3R1cmUgc3RhdHVzIGZvciBtZXRhIHJlZnJlc2ggcmVkaXJlY3Rpb24uCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NzgxNworCisg
ICAgICAgIFRlc3RzOiBmYXN0L2ZyYW1lcy9sb2NhdGlvbi1yZWRpcmVjdC11c2VyLWdlc3R1cmUu
aHRtbAorICAgICAgICAgICAgICAgZmFzdC9mcmFtZXMvbWV0YS1yZWZyZXNoLXVzZXItZ2VzdHVy
ZS5odG1sCisKKyAgICAgICAgKiBsb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTY2hlZHVsZWROYXZpZ2F0aW9uOjpjbGVhclVzZXJHZXN0dXJlKToKKyAg
ICAgICAgKFdlYkNvcmU6OlNjaGVkdWxlZFJlZGlyZWN0OjpTY2hlZHVsZWRSZWRpcmVjdCk6CisK
IDIwMTAtMTEtMDkgIEplbm4gQnJhaXRod2FpdGUgIDxqZW5uYkBjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgUmV2aWV3ZWQgYnkgRG1pdHJ5IFRpdG92LgpJbmRleDogV2ViQ29yZS9sb2FkZXIvTmF2
aWdhdGlvblNjaGVkdWxlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9sb2FkZXIvTmF2aWdh
dGlvblNjaGVkdWxlci5jcHAJKHJldmlzaW9uIDcxNjI1KQorKysgV2ViQ29yZS9sb2FkZXIvTmF2
aWdhdGlvblNjaGVkdWxlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc3LDYgKzc3LDkgQEAgcHVi
bGljOgogICAgIGJvb2wgaXNMb2NhdGlvbkNoYW5nZSgpIGNvbnN0IHsgcmV0dXJuIG1faXNMb2Nh
dGlvbkNoYW5nZTsgfQogICAgIGJvb2wgd2FzVXNlckdlc3R1cmUoKSBjb25zdCB7IHJldHVybiBt
X3dhc1VzZXJHZXN0dXJlOyB9CiAKK3Byb3RlY3RlZDoKKyAgICB2b2lkIGNsZWFyVXNlckdlc3R1
cmUoKSB7IG1fd2FzVXNlckdlc3R1cmUgPSBmYWxzZTsgfQorCiBwcml2YXRlOgogICAgIGRvdWJs
ZSBtX2RlbGF5OwogICAgIGJvb2wgbV9sb2NrSGlzdG9yeTsKQEAgLTEzMSw2ICsxMzQsNyBAQCBw
dWJsaWM6CiAgICAgU2NoZWR1bGVkUmVkaXJlY3QoZG91YmxlIGRlbGF5LCBjb25zdCBTdHJpbmcm
IHVybCwgYm9vbCBsb2NrSGlzdG9yeSwgYm9vbCBsb2NrQmFja0ZvcndhcmRMaXN0KQogICAgICAg
ICA6IFNjaGVkdWxlZFVSTE5hdmlnYXRpb24oZGVsYXksIHVybCwgU3RyaW5nKCksIGxvY2tIaXN0
b3J5LCBsb2NrQmFja0ZvcndhcmRMaXN0LCBmYWxzZSwgZmFsc2UpCiAgICAgeworICAgICAgICBj
bGVhclVzZXJHZXN0dXJlKCk7CiAgICAgfQogCiAgICAgdmlydHVhbCBib29sIHNob3VsZFN0YXJ0
VGltZXIoRnJhbWUqIGZyYW1lKSB7IHJldHVybiBmcmFtZS0+bG9hZGVyKCktPmFsbEFuY2VzdG9y
c0FyZUNvbXBsZXRlKCk7IH0KSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDcxNjI1KQorKysgTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTggQEAKKzIwMTAtMTEtMDkg
IEpvaG5ueSBEaW5nICA8am5kQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTZXQgdGhlIHJpZ2h0IGdlc3R1cmUgc3RhdHVzIGZv
ciBtZXRhIHJlZnJlc2ggcmVkaXJlY3Rpb24uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD00NzgxNworCisgICAgICAgICogZmFzdC9mcmFtZXMvbG9jYXRp
b24tcmVkaXJlY3QtdXNlci1nZXN0dXJlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZmFzdC9mcmFtZXMvbG9jYXRpb24tcmVkaXJlY3QtdXNlci1nZXN0dXJlLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGZhc3QvZnJhbWVzL21ldGEtcmVmcmVzaC11c2VyLWdlc3R1cmUtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2ZyYW1lcy9tZXRhLXJlZnJlc2gtdXNlci1nZXN0
dXJlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZnJhbWVzL3Jlc291cmNlcy9tZXRhLXJl
ZnJlc2gtdGFyZ2V0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9Ta2lwcGVk
OgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9Ta2lwcGVkOgorCiAyMDEwLTExLTA5ICBZdXJ5IFNl
bWlraGF0c2t5ICA8eXVyeXNAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFBh
dmVsIEZlbGRtYW4uCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9sb2NhdGlvbi1yZWRp
cmVjdC11c2VyLWdlc3R1cmUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2Zhc3QvZnJhbWVzL2xvY2F0aW9uLXJlZGlyZWN0LXVzZXItZ2VzdHVyZS1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9sb2NhdGlvbi1yZWRpcmVj
dC11c2VyLWdlc3R1cmUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDIgQEAK
K0ZyYW1lIHdpdGggdXNlciBnZXN0dXJlICJmYWxzZSIgLSBpbiBkaWRTdGFydFByb3Zpc2lvbmFs
TG9hZEZvckZyYW1lCisKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2xvY2F0aW9uLXJl
ZGlyZWN0LXVzZXItZ2VzdHVyZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qv
ZnJhbWVzL2xvY2F0aW9uLXJlZGlyZWN0LXVzZXItZ2VzdHVyZS5odG1sCShyZXZpc2lvbiAwKQor
KysgTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvbG9jYXRpb24tcmVkaXJlY3QtdXNlci1nZXN0dXJl
Lmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTkgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0PiAgICAgIAorICAgIGZ1bmN0aW9uIHJ1blRlc3RzKCkgeworICAgICAgICBpZiAod2luZG93
LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxl
ci5kdW1wQXNUZXh0KCk7CisgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wVXNl
ckdlc3R1cmVJbkZyYW1lTG9hZENhbGxiYWNrcygpOworICAgICAgICAgICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworICAgICAgICB9CisKKyAgICAgICAgc2V0VGltZW91
dCgibG9jYXRpb24uaHJlZj0nZGF0YTp0ZXh0L2h0bWwsPHNjcmlwdD5sYXlvdXRUZXN0Q29udHJv
bGxlci5ub3RpZnlEb25lKCk8LyIgKyAic2NyaXB0PiciLCAxMDAwKTsKKyAgICB9CisgICAgPC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3RzKCk7Ij4KK1NvbWUgV2ViS2l0
IHBvcnRzIHNlbmQgdGhlIHVzZXIgZ2VzdHVyZSB0byB0aGUgZW1iZWRkZXJzIGluIGRpZFN0YXJ0
UHJvdmlzaW9uYWxMb2FkIGNhbGxiYWNrLiBUaGUgZW1iZWRkZXJzIHVzZSBpdCB0byBqdWRnZSB3
aGV0aGVyIHRoZSBuYXZpZ2F0aW9uIGlzIHVzZXItaW5pdGlhdGVkIG9yIG5vdC4gSW4gbG9jYXRp
b24gY2hhbmdlIHJlZGlyZWN0aW9uLCB0aGUgdXNlciBnZXN0dXJlIHN0YXR1cyBpbiBkaWRTdGFy
dFByb3Zpc2lvbmFsTG9hZCBjYWxsYmFjayBzaG91bGQgYmUgZmFsc2UuIEZvciBtb3JlIGRldGFp
bHMsIHBsZWFzZSByZWZlciB0byBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NDc4MTcuCis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zh
c3QvZnJhbWVzL21ldGEtcmVmcmVzaC11c2VyLWdlc3R1cmUtZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZnJhbWVzL21ldGEtcmVmcmVzaC11c2VyLWdlc3R1cmUt
ZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvbWV0
YS1yZWZyZXNoLXVzZXItZ2VzdHVyZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAg
KzEsMiBAQAorRnJhbWUgd2l0aCB1c2VyIGdlc3R1cmUgImZhbHNlIiAtIGluIGRpZFN0YXJ0UHJv
dmlzaW9uYWxMb2FkRm9yRnJhbWUKKwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvbWV0
YS1yZWZyZXNoLXVzZXItZ2VzdHVyZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zh
c3QvZnJhbWVzL21ldGEtcmVmcmVzaC11c2VyLWdlc3R1cmUuaHRtbAkocmV2aXNpb24gMCkKKysr
IExheW91dFRlc3RzL2Zhc3QvZnJhbWVzL21ldGEtcmVmcmVzaC11c2VyLWdlc3R1cmUuaHRtbAko
cmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNSBAQAorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGh0dHAt
ZXF1aXY9InJlZnJlc2giIGNvbnRlbnQ9IjI7Li9yZXNvdXJjZXMvbWV0YS1yZWZyZXNoLXRhcmdl
dC5odG1sIj4KKzxzY3JpcHQ+ICAgICAgCitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVy
KSB7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgIGxheW91dFRl
c3RDb250cm9sbGVyLmR1bXBVc2VyR2VzdHVyZUluRnJhbWVMb2FkQ2FsbGJhY2tzKCk7CisgICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworfQorPC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KK1NvbWUgV2ViS2l0IHBvcnRzIHNlbmQgdGhlIHVzZXIgZ2VzdHVyZSB0byB0
aGUgZW1iZWRkZXJzIGluIGRpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkIGNhbGxiYWNrLiBUaGUgZW1i
ZWRkZXJzIHVzZSBpdCB0byBqdWRnZSB3aGV0aGVyIHRoZSBuYXZpZ2F0aW9uIGlzIHVzZXItaW5p
dGlhdGVkIG9yIG5vdC4gSW4gbWV0ZSByZWZyZXNoIHJlZGlyZWN0aW9uLCB0aGUgdXNlciBnZXN0
dXJlIHN0YXR1cyBpbiBkaWRTdGFydFByb3Zpc2lvbmFsTG9hZCBjYWxsYmFjayBzaG91bGQgYmUg
ZmFsc2UuIEZvciBtb3JlIGRldGFpbHMsIHBsZWFzZSByZWZlciB0byBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDc4MTcuCis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBM
YXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9yZXNvdXJjZXMvbWV0YS1yZWZyZXNoLXRhcmdldC5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZnJhbWVzL3Jlc291cmNlcy9tZXRhLXJl
ZnJlc2gtdGFyZ2V0Lmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2ZyYW1l
cy9yZXNvdXJjZXMvbWV0YS1yZWZyZXNoLXRhcmdldC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCww
ICsxLDggQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgoraWYgKGxheW91dFRlc3RDb250cm9s
bGVyKQorICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKKzwvc2NyaXB0Pgor
PC9oZWFkPgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQJKHJldmlzaW9u
IDcxNjI1KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQJKHdvcmtpbmcgY29w
eSkKQEAgLTU2NzMsNiArNTY3MywxMyBAQCBodHRwL3Rlc3RzL2luc3BlY3Rvci9jb25zb2xlLXho
ci1sb2dnaW5nCiAjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00Nzcy
NwogbWF0aG1sL3ByZXNlbnRhdGlvbgogCisjIFRoZSBmb2xsb3dpbmcgdGVzdHMgcmVxdWlyZXMg
dGhlIERSVCdzIGR1bXBVc2VyR2VzdHVyZUluRnJhbWVMb2FkQ2FsbGJhY2tzCisjIG1ldGhvZC4g
QnV0IHRoYXQgbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiBndGsgcG9ydCBzaW5jZSBndGsg
cG9ydCBjYW4ndAorIyBub3QgZ2V0IHVzZXIgZ2VzdHVyZSBpbiBmcmFtZWxvYWQgY2FsbGJhY2tz
LgorIyBUaGUgcmVsYXRlZCBidWdzIGFyZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NDc4NDkvNDc4MTcuCitmYXN0L2ZyYW1lcy9sb2NhdGlvbi1yZWRpcmVjdC11c2Vy
LWdlc3R1cmUuaHRtbAorZmFzdC9mcmFtZXMvbWV0YS1yZWZyZXNoLXVzZXItZ2VzdHVyZS5odG1s
CisKICMgVGhpcyB0ZXN0IHBhc3NlcyBsb2NhbGx5LCBidXQgZG9lcyBub3QgcGFzcyBvbiB0aGUg
Ym90cy4gUGVyaGFwcwogIyBpdCBpcyBhbiBpc3N1ZSB3aXRoIHRoZSB2ZXJzaW9uIG9mIENhaXJv
IG9uIHRoZSBib3RzLgogIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NDkwNTIKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCShyZXZpc2lvbiA3MTYyNSkKKysr
IExheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCSh3b3JraW5nIGNvcHkpCkBAIC0xMDc2
LDMgKzEwNzYsMTAgQEAgZmFzdC9ldmVudHMvY2xpY2stZm9jdXMtY29udHJvbC5odG1sCiAKICMg
UmVxdWlyZXMgV2ViUCBzdXBwb3J0LgogZmFzdC9pbWFnZXMvd2VicC1pbWFnZS1kZWNvZGluZy5o
dG1sCisKKyMgVGhlIGZvbGxvd2luZyB0ZXN0cyByZXF1aXJlcyB0aGUgRFJUJ3MgZHVtcFVzZXJH
ZXN0dXJlSW5GcmFtZUxvYWRDYWxsYmFja3MKKyMgbWV0aG9kLiBCdXQgdGhhdCBtZXRob2QgaXMg
bm90IGltcGxlbWVudGVkIGluIHdpbiBwb3J0IHNpbmNlIHdpbiBwb3J0IGNhbid0CisjIG5vdCBn
ZXQgdXNlciBnZXN0dXJlIGluIGZyYW1lbG9hZCBjYWxsYmFja3MuCisjIFRoZSByZWxhdGVkIGJ1
Z3MgYXJlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00Nzg0OS80Nzgx
Ny4KK2Zhc3QvZnJhbWVzL2xvY2F0aW9uLXJlZGlyZWN0LXVzZXItZ2VzdHVyZS5odG1sCitmYXN0
L2ZyYW1lcy9tZXRhLXJlZnJlc2gtdXNlci1nZXN0dXJlLmh0bWwK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>74215</attachid>
            <date>2010-11-18 01:31:37 -0800</date>
            <delta_ts>2010-11-30 16:51:02 -0800</delta_ts>
            <desc>re-baselined landing patch v2</desc>
            <filename>patch006.txt</filename>
            <type>text/plain</type>
            <size>7555</size>
            <attacher name="Johnny(Jianning) Ding">jnd</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3MjE5MikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTcgQEAKKzIwMTAtMTEtMDkgIEpvaG5ueSBEaW5nICA8am5kQGNocm9taXVtLm9y
Zz4KKworICAgICAgICBSZXZpZXdlZCBieSBBZGFtIEJhcnRoLgorCisgICAgICAgIFNldCB0aGUg
cmlnaHQgZ2VzdHVyZSBzdGF0dXMgZm9yIG1ldGEgcmVmcmVzaCByZWRpcmVjdGlvbi4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ3ODE3CisKKyAgICAg
ICAgVGVzdHM6IGZhc3QvZnJhbWVzL2xvY2F0aW9uLXJlZGlyZWN0LXVzZXItZ2VzdHVyZS5odG1s
CisgICAgICAgICAgICAgICBmYXN0L2ZyYW1lcy9tZXRhLXJlZnJlc2gtdXNlci1nZXN0dXJlLmh0
bWwKKworICAgICAgICAqIGxvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlNjaGVkdWxlZE5hdmlnYXRpb246OmNsZWFyVXNlckdlc3R1cmUpOgorICAgICAg
ICAoV2ViQ29yZTo6U2NoZWR1bGVkUmVkaXJlY3Q6OlNjaGVkdWxlZFJlZGlyZWN0KToKKwogMjAx
MC0xMS0xNyAgQWxlamFuZHJvIEcuIENhc3RybyAgPGFsZXhAaWdhbGlhLmNvbT4KIAogICAgICAg
ICBSZXZpZXdlZCBieSBNYXJ0aW4gUm9iaW5zb24uCkluZGV4OiBXZWJDb3JlL2xvYWRlci9OYXZp
Z2F0aW9uU2NoZWR1bGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2xvYWRlci9OYXZpZ2F0
aW9uU2NoZWR1bGVyLmNwcAkocmV2aXNpb24gNzIyNzYpCisrKyBXZWJDb3JlL2xvYWRlci9OYXZp
Z2F0aW9uU2NoZWR1bGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzcsNiArNzcsOSBAQCBwdWJs
aWM6CiAgICAgYm9vbCBpc0xvY2F0aW9uQ2hhbmdlKCkgY29uc3QgeyByZXR1cm4gbV9pc0xvY2F0
aW9uQ2hhbmdlOyB9CiAgICAgYm9vbCB3YXNVc2VyR2VzdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1f
d2FzVXNlckdlc3R1cmU7IH0KIAorcHJvdGVjdGVkOgorICAgIHZvaWQgY2xlYXJVc2VyR2VzdHVy
ZSgpIHsgbV93YXNVc2VyR2VzdHVyZSA9IGZhbHNlOyB9CisKIHByaXZhdGU6CiAgICAgZG91Ymxl
IG1fZGVsYXk7CiAgICAgYm9vbCBtX2xvY2tIaXN0b3J5OwpAQCAtMTMxLDYgKzEzNCw3IEBAIHB1
YmxpYzoKICAgICBTY2hlZHVsZWRSZWRpcmVjdChkb3VibGUgZGVsYXksIGNvbnN0IFN0cmluZyYg
dXJsLCBib29sIGxvY2tIaXN0b3J5LCBib29sIGxvY2tCYWNrRm9yd2FyZExpc3QpCiAgICAgICAg
IDogU2NoZWR1bGVkVVJMTmF2aWdhdGlvbihkZWxheSwgdXJsLCBTdHJpbmcoKSwgbG9ja0hpc3Rv
cnksIGxvY2tCYWNrRm9yd2FyZExpc3QsIGZhbHNlLCBmYWxzZSkKICAgICB7CisgICAgICAgIGNs
ZWFyVXNlckdlc3R1cmUoKTsKICAgICB9CiAKICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkU3RhcnRU
aW1lcihGcmFtZSogZnJhbWUpIHsgcmV0dXJuIGZyYW1lLT5sb2FkZXIoKS0+YWxsQW5jZXN0b3Jz
QXJlQ29tcGxldGUoKTsgfQpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gNzIyNzYpCisrKyBMYXlvdXRUZXN0
cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxOCBAQAorMjAxMC0xMS0wOSAg
Sm9obm55IERpbmcgIDxqbmRAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IEFk
YW0gQmFydGguCisKKyAgICAgICAgU2V0IHRoZSByaWdodCBnZXN0dXJlIHN0YXR1cyBmb3IgbWV0
YSByZWZyZXNoIHJlZGlyZWN0aW9uLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NDc4MTcKKworICAgICAgICAqIGZhc3QvZnJhbWVzL2xvY2F0aW9uLXJl
ZGlyZWN0LXVzZXItZ2VzdHVyZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3Qv
ZnJhbWVzL2xvY2F0aW9uLXJlZGlyZWN0LXVzZXItZ2VzdHVyZS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBmYXN0L2ZyYW1lcy9tZXRhLXJlZnJlc2gtdXNlci1nZXN0dXJlLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZmFzdC9mcmFtZXMvbWV0YS1yZWZyZXNoLXVzZXItZ2VzdHVyZS5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2ZyYW1lcy9yZXNvdXJjZXMvbWV0YS1yZWZyZXNo
LXRhcmdldC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvU2tpcHBlZDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS93aW4vU2tpcHBlZDoKKwogMjAxMC0xMS0xNyAgTWFydGluIFJvYmlu
c29uICA8bXJvYmluc29uQGlnYWxpYS5jb20+CiAKICAgICAgICAgRml4IHR3byBpbmNvcnJlY3Qg
R1RLKyBiYXNlbGluZXMuCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9sb2NhdGlvbi1y
ZWRpcmVjdC11c2VyLWdlc3R1cmUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2Zhc3QvZnJhbWVzL2xvY2F0aW9uLXJlZGlyZWN0LXVzZXItZ2VzdHVyZS1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9sb2NhdGlvbi1yZWRp
cmVjdC11c2VyLWdlc3R1cmUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDIg
QEAKK0ZyYW1lIHdpdGggdXNlciBnZXN0dXJlICJmYWxzZSIgLSBpbiBkaWRTdGFydFByb3Zpc2lv
bmFsTG9hZEZvckZyYW1lCisKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2xvY2F0aW9u
LXJlZGlyZWN0LXVzZXItZ2VzdHVyZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zh
c3QvZnJhbWVzL2xvY2F0aW9uLXJlZGlyZWN0LXVzZXItZ2VzdHVyZS5odG1sCShyZXZpc2lvbiAw
KQorKysgTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvbG9jYXRpb24tcmVkaXJlY3QtdXNlci1nZXN0
dXJlLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTkgQEAKKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0PiAgICAgIAorICAgIGZ1bmN0aW9uIHJ1blRlc3RzKCkgeworICAgICAgICBpZiAod2lu
ZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJv
bGxlci5kdW1wQXNUZXh0KCk7CisgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1w
VXNlckdlc3R1cmVJbkZyYW1lTG9hZENhbGxiYWNrcygpOworICAgICAgICAgICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworICAgICAgICB9CisKKyAgICAgICAgc2V0VGlt
ZW91dCgibG9jYXRpb24uaHJlZj0nZGF0YTp0ZXh0L2h0bWwsPHNjcmlwdD5sYXlvdXRUZXN0Q29u
dHJvbGxlci5ub3RpZnlEb25lKCk8LyIgKyAic2NyaXB0PiciLCAxMDAwKTsKKyAgICB9CisgICAg
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3RzKCk7Ij4KK1NvbWUgV2Vi
S2l0IHBvcnRzIHNlbmQgdGhlIHVzZXIgZ2VzdHVyZSB0byB0aGUgZW1iZWRkZXJzIGluIGRpZFN0
YXJ0UHJvdmlzaW9uYWxMb2FkIGNhbGxiYWNrLiBUaGUgZW1iZWRkZXJzIHVzZSBpdCB0byBqdWRn
ZSB3aGV0aGVyIHRoZSBuYXZpZ2F0aW9uIGlzIHVzZXItaW5pdGlhdGVkIG9yIG5vdC4gSW4gbG9j
YXRpb24gY2hhbmdlIHJlZGlyZWN0aW9uLCB0aGUgdXNlciBnZXN0dXJlIHN0YXR1cyBpbiBkaWRT
dGFydFByb3Zpc2lvbmFsTG9hZCBjYWxsYmFjayBzaG91bGQgYmUgZmFsc2UuIEZvciBtb3JlIGRl
dGFpbHMsIHBsZWFzZSByZWZlciB0byBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NDc4MTcuCis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3Rz
L2Zhc3QvZnJhbWVzL21ldGEtcmVmcmVzaC11c2VyLWdlc3R1cmUtZXhwZWN0ZWQudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZnJhbWVzL21ldGEtcmVmcmVzaC11c2VyLWdlc3R1
cmUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMv
bWV0YS1yZWZyZXNoLXVzZXItZ2VzdHVyZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0w
LDAgKzEsMiBAQAorRnJhbWUgd2l0aCB1c2VyIGdlc3R1cmUgImZhbHNlIiAtIGluIGRpZFN0YXJ0
UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUKKwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMv
bWV0YS1yZWZyZXNoLXVzZXItZ2VzdHVyZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2Zhc3QvZnJhbWVzL21ldGEtcmVmcmVzaC11c2VyLWdlc3R1cmUuaHRtbAkocmV2aXNpb24gMCkK
KysrIExheW91dFRlc3RzL2Zhc3QvZnJhbWVzL21ldGEtcmVmcmVzaC11c2VyLWdlc3R1cmUuaHRt
bAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNSBAQAorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGh0
dHAtZXF1aXY9InJlZnJlc2giIGNvbnRlbnQ9IjI7Li9yZXNvdXJjZXMvbWV0YS1yZWZyZXNoLXRh
cmdldC5odG1sIj4KKzxzY3JpcHQ+ICAgICAgCitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9s
bGVyKSB7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgIGxheW91
dFRlc3RDb250cm9sbGVyLmR1bXBVc2VyR2VzdHVyZUluRnJhbWVMb2FkQ2FsbGJhY2tzKCk7Cisg
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworfQorPC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KK1NvbWUgV2ViS2l0IHBvcnRzIHNlbmQgdGhlIHVzZXIgZ2VzdHVyZSB0
byB0aGUgZW1iZWRkZXJzIGluIGRpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkIGNhbGxiYWNrLiBUaGUg
ZW1iZWRkZXJzIHVzZSBpdCB0byBqdWRnZSB3aGV0aGVyIHRoZSBuYXZpZ2F0aW9uIGlzIHVzZXIt
aW5pdGlhdGVkIG9yIG5vdC4gSW4gbWV0YSByZWZyZXNoIHJlZGlyZWN0aW9uLCB0aGUgdXNlciBn
ZXN0dXJlIHN0YXR1cyBpbiBkaWRTdGFydFByb3Zpc2lvbmFsTG9hZCBjYWxsYmFjayBzaG91bGQg
YmUgZmFsc2UuIEZvciBtb3JlIGRldGFpbHMsIHBsZWFzZSByZWZlciB0byBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDc4MTcuCis8L2JvZHk+Cis8L2h0bWw+CkluZGV4
OiBMYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9yZXNvdXJjZXMvbWV0YS1yZWZyZXNoLXRhcmdldC5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZnJhbWVzL3Jlc291cmNlcy9tZXRh
LXJlZnJlc2gtdGFyZ2V0Lmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Zy
YW1lcy9yZXNvdXJjZXMvbWV0YS1yZWZyZXNoLXRhcmdldC5odG1sCShyZXZpc2lvbiAwKQpAQCAt
MCwwICsxLDggQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgoraWYgKGxheW91dFRlc3RDb250
cm9sbGVyKQorICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKKzwvc2NyaXB0
PgorPC9oZWFkPgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBw
ZWQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQJKHJldmlz
aW9uIDcyMjc2KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQJKHdvcmtpbmcg
Y29weSkKQEAgLTU2MjcsNiArNTYyNywxMyBAQCBodHRwL3Rlc3RzL2luc3BlY3Rvci9jb25zb2xl
LXhoci1sb2dnaW5nCiAjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00
NzcyNwogbWF0aG1sL3ByZXNlbnRhdGlvbgogCisjIFRoZSBmb2xsb3dpbmcgdGVzdHMgcmVxdWly
ZXMgdGhlIERSVCdzIGR1bXBVc2VyR2VzdHVyZUluRnJhbWVMb2FkQ2FsbGJhY2tzCisjIG1ldGhv
ZC4gQnV0IHRoYXQgbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiBndGsgcG9ydCBzaW5jZSBn
dGsgcG9ydCBjYW4ndAorIyBub3QgZ2V0IHVzZXIgZ2VzdHVyZSBpbiBmcmFtZWxvYWQgY2FsbGJh
Y2tzLgorIyBUaGUgcmVsYXRlZCBidWdzIGFyZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NDc4NDkvNDc4MTcuCitmYXN0L2ZyYW1lcy9sb2NhdGlvbi1yZWRpcmVjdC11
c2VyLWdlc3R1cmUuaHRtbAorZmFzdC9mcmFtZXMvbWV0YS1yZWZyZXNoLXVzZXItZ2VzdHVyZS5o
dG1sCisKICMgVGhpcyB0ZXN0IHBhc3NlcyBsb2NhbGx5LCBidXQgZG9lcyBub3QgcGFzcyBvbiB0
aGUgYm90cy4gUGVyaGFwcwogIyBpdCBpcyBhbiBpc3N1ZSB3aXRoIHRoZSB2ZXJzaW9uIG9mIENh
aXJvIG9uIHRoZSBib3RzLgogIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NDkwNTIKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCShyZXZpc2lvbiA3MjI3NikK
KysrIExheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCSh3b3JraW5nIGNvcHkpCkBAIC0x
MDc1LDMgKzEwNzUsMTAgQEAgcGx1Z2lucy9pZnJhbWUtc2hpbXMuaHRtbAogCiAjIFJlcXVpcmVz
IFdlYlAgc3VwcG9ydC4KIGZhc3QvaW1hZ2VzL3dlYnAtaW1hZ2UtZGVjb2RpbmcuaHRtbAorCisj
IFRoZSBmb2xsb3dpbmcgdGVzdHMgcmVxdWlyZXMgdGhlIERSVCdzIGR1bXBVc2VyR2VzdHVyZUlu
RnJhbWVMb2FkQ2FsbGJhY2tzCisjIG1ldGhvZC4gQnV0IHRoYXQgbWV0aG9kIGlzIG5vdCBpbXBs
ZW1lbnRlZCBpbiB3aW4gcG9ydCBzaW5jZSB3aW4gcG9ydCBjYW4ndAorIyBub3QgZ2V0IHVzZXIg
Z2VzdHVyZSBpbiBmcmFtZWxvYWQgY2FsbGJhY2tzLgorIyBUaGUgcmVsYXRlZCBidWdzIGFyZSBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDc4NDkvNDc4MTcuCitmYXN0
L2ZyYW1lcy9sb2NhdGlvbi1yZWRpcmVjdC11c2VyLWdlc3R1cmUuaHRtbAorZmFzdC9mcmFtZXMv
bWV0YS1yZWZyZXNoLXVzZXItZ2VzdHVyZS5odG1sCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>75227</attachid>
            <date>2010-11-30 16:51:02 -0800</date>
            <delta_ts>2010-11-30 16:58:01 -0800</delta_ts>
            <desc>patch to resolve the latest conflict</desc>
            <filename>patch004.txt</filename>
            <type>text/plain</type>
            <size>7606</size>
            <attacher name="Johnny(Jianning) Ding">jnd</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3Mjk3NikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTcgQEAKKzIwMTAtMTEtMzAgIEpvaG5ueSBEaW5nICA8am5kQGNocm9taXVtLm9y
Zz4KKworICAgICAgICBSZXZpZXdlZCBieSBBZGFtIEJhcnRoLgorCisgICAgICAgIFNldCB0aGUg
cmlnaHQgZ2VzdHVyZSBzdGF0dXMgZm9yIFVSTCByZWRpcmVjdGlvbnMuCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NzgxNworCisgICAgICAgIFRlc3Rz
OiBmYXN0L2ZyYW1lcy9sb2NhdGlvbi1yZWRpcmVjdC11c2VyLWdlc3R1cmUuaHRtbAorICAgICAg
ICAgICAgICAgZmFzdC9mcmFtZXMvbWV0YS1yZWZyZXNoLXVzZXItZ2VzdHVyZS5odG1sCisKKyAg
ICAgICAgKiBsb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpTY2hlZHVsZWROYXZpZ2F0aW9uOjpjbGVhclVzZXJHZXN0dXJlKToKKyAgICAgICAgKFdlYkNv
cmU6OlNjaGVkdWxlZFJlZGlyZWN0OjpTY2hlZHVsZWRSZWRpcmVjdCk6CisKIDIwMTAtMTEtMzAg
IFlhZWwgQWhhcm9uICA8eWFlbC5haGFyb25Abm9raWEuY29tPgogCiAgICAgICAgIFJldmlld2Vk
IGJ5IERhcmluIEFkbGVyLgpJbmRleDogV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxl
ci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5j
cHAJKHJldmlzaW9uIDcyOTM1KQorKysgV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxl
ci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc3LDYgKzc3LDkgQEAgcHVibGljOgogICAgIGJvb2wg
aXNMb2NhdGlvbkNoYW5nZSgpIGNvbnN0IHsgcmV0dXJuIG1faXNMb2NhdGlvbkNoYW5nZTsgfQog
ICAgIGJvb2wgd2FzVXNlckdlc3R1cmUoKSBjb25zdCB7IHJldHVybiBtX3dhc1VzZXJHZXN0dXJl
OyB9CiAKK3Byb3RlY3RlZDoKKyAgICB2b2lkIGNsZWFyVXNlckdlc3R1cmUoKSB7IG1fd2FzVXNl
ckdlc3R1cmUgPSBmYWxzZTsgfQorCiBwcml2YXRlOgogICAgIGRvdWJsZSBtX2RlbGF5OwogICAg
IGJvb2wgbV9sb2NrSGlzdG9yeTsKQEAgLTEzMSw2ICsxMzQsNyBAQCBwdWJsaWM6CiAgICAgU2No
ZWR1bGVkUmVkaXJlY3QoZG91YmxlIGRlbGF5LCBjb25zdCBTdHJpbmcmIHVybCwgYm9vbCBsb2Nr
SGlzdG9yeSwgYm9vbCBsb2NrQmFja0ZvcndhcmRMaXN0KQogICAgICAgICA6IFNjaGVkdWxlZFVS
TE5hdmlnYXRpb24oZGVsYXksIHVybCwgU3RyaW5nKCksIGxvY2tIaXN0b3J5LCBsb2NrQmFja0Zv
cndhcmRMaXN0LCBmYWxzZSwgZmFsc2UpCiAgICAgeworICAgICAgICBjbGVhclVzZXJHZXN0dXJl
KCk7CiAgICAgfQogCiAgICAgdmlydHVhbCBib29sIHNob3VsZFN0YXJ0VGltZXIoRnJhbWUqIGZy
YW1lKSB7IHJldHVybiBmcmFtZS0+bG9hZGVyKCktPmFsbEFuY2VzdG9yc0FyZUNvbXBsZXRlKCk7
IH0KSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDcyOTc2KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTggQEAKKzIwMTAtMTEtMzAgIEpvaG5ueSBEaW5nICA8
am5kQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBBZGFtIEJhcnRoLgorCisg
ICAgICAgIFNldCB0aGUgcmlnaHQgZ2VzdHVyZSBzdGF0dXMgZm9yIFVSTCByZWRpcmVjdGlvbnMu
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NzgxNwor
CisgICAgICAgICogZmFzdC9mcmFtZXMvbG9jYXRpb24tcmVkaXJlY3QtdXNlci1nZXN0dXJlLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9mcmFtZXMvbG9jYXRpb24tcmVkaXJl
Y3QtdXNlci1nZXN0dXJlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZnJhbWVzL21ldGEt
cmVmcmVzaC11c2VyLWdlc3R1cmUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0
L2ZyYW1lcy9tZXRhLXJlZnJlc2gtdXNlci1nZXN0dXJlLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvZnJhbWVzL3Jlc291cmNlcy9tZXRhLXJlZnJlc2gtdGFyZ2V0Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIHBsYXRmb3JtL2d0ay9Ta2lwcGVkOgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9T
a2lwcGVkOgorCiAyMDEwLTExLTMwICBZYWVsIEFoYXJvbiAgPHlhZWwuYWhhcm9uQG5va2lhLmNv
bT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KSW5kZXg6IExheW91dFRlc3Rz
L2Zhc3QvZnJhbWVzL2xvY2F0aW9uLXJlZGlyZWN0LXVzZXItZ2VzdHVyZS1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvbG9jYXRpb24tcmVkaXJlY3Qt
dXNlci1nZXN0dXJlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zh
c3QvZnJhbWVzL2xvY2F0aW9uLXJlZGlyZWN0LXVzZXItZ2VzdHVyZS1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDApCkBAIC0wLDAgKzEsMiBAQAorRnJhbWUgd2l0aCB1c2VyIGdlc3R1cmUgImZhbHNl
IiAtIGluIGRpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUKKwpJbmRleDogTGF5b3V0VGVz
dHMvZmFzdC9mcmFtZXMvbG9jYXRpb24tcmVkaXJlY3QtdXNlci1nZXN0dXJlLmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvbG9jYXRpb24tcmVkaXJlY3QtdXNlci1n
ZXN0dXJlLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9sb2Nh
dGlvbi1yZWRpcmVjdC11c2VyLWdlc3R1cmUuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwx
OSBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+ICAgICAgCisgICAgZnVuY3Rpb24gcnVuVGVz
dHMoKSB7CisgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAg
ICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLmR1bXBVc2VyR2VzdHVyZUluRnJhbWVMb2FkQ2FsbGJhY2tzKCk7
CisgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CisgICAg
ICAgIH0KKworICAgICAgICBzZXRUaW1lb3V0KCJsb2NhdGlvbi5ocmVmPSdkYXRhOnRleHQvaHRt
bCw8c2NyaXB0PmxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTwvIiArICJzY3JpcHQ+
JyIsIDEwMDApOworICAgIH0KKyAgICA8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0i
cnVuVGVzdHMoKTsiPgorU29tZSBXZWJLaXQgcG9ydHMgc2VuZCB0aGUgdXNlciBnZXN0dXJlIHRv
IHRoZSBlbWJlZGRlcnMgaW4gZGlkU3RhcnRQcm92aXNpb25hbExvYWQgY2FsbGJhY2suIFRoZSBl
bWJlZGRlcnMgdXNlIGl0IHRvIGp1ZGdlIHdoZXRoZXIgdGhlIG5hdmlnYXRpb24gaXMgdXNlci1p
bml0aWF0ZWQgb3Igbm90LiBJbiBsb2NhdGlvbiBjaGFuZ2UgcmVkaXJlY3Rpb24sIHRoZSB1c2Vy
IGdlc3R1cmUgc3RhdHVzIGluIGRpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkIGNhbGxiYWNrIHNob3Vs
ZCBiZSBmYWxzZS4gRm9yIG1vcmUgZGV0YWlscywgcGxlYXNlIHJlZmVyIHRvIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NzgxNy4KKzwvZGl2PgorPC9ib2R5PgorPC9o
dG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvbWV0YS1yZWZyZXNoLXVzZXItZ2Vz
dHVyZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMv
bWV0YS1yZWZyZXNoLXVzZXItZ2VzdHVyZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBM
YXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9tZXRhLXJlZnJlc2gtdXNlci1nZXN0dXJlLWV4cGVjdGVk
LnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyIEBACitGcmFtZSB3aXRoIHVzZXIgZ2VzdHVy
ZSAiZmFsc2UiIC0gaW4gZGlkU3RhcnRQcm92aXNpb25hbExvYWRGb3JGcmFtZQorCkluZGV4OiBM
YXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9tZXRhLXJlZnJlc2gtdXNlci1nZXN0dXJlLmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvbWV0YS1yZWZyZXNoLXVzZXItZ2Vz
dHVyZS5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvbWV0YS1y
ZWZyZXNoLXVzZXItZ2VzdHVyZS5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE1IEBACis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgaHR0cC1lcXVpdj0icmVmcmVzaCIgY29udGVudD0iMjsuL3Jl
c291cmNlcy9tZXRhLXJlZnJlc2gtdGFyZ2V0Lmh0bWwiPgorPHNjcmlwdD4gICAgICAKK2lmICh3
aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5k
dW1wQXNUZXh0KCk7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcFVzZXJHZXN0dXJlSW5G
cmFtZUxvYWRDYWxsYmFja3MoKTsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxE
b25lKCk7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorU29tZSBXZWJLaXQgcG9ydHMg
c2VuZCB0aGUgdXNlciBnZXN0dXJlIHRvIHRoZSBlbWJlZGRlcnMgaW4gZGlkU3RhcnRQcm92aXNp
b25hbExvYWQgY2FsbGJhY2suIFRoZSBlbWJlZGRlcnMgdXNlIGl0IHRvIGp1ZGdlIHdoZXRoZXIg
dGhlIG5hdmlnYXRpb24gaXMgdXNlci1pbml0aWF0ZWQgb3Igbm90LiBJbiBtZXRhIHJlZnJlc2gg
cmVkaXJlY3Rpb24sIHRoZSB1c2VyIGdlc3R1cmUgc3RhdHVzIGluIGRpZFN0YXJ0UHJvdmlzaW9u
YWxMb2FkIGNhbGxiYWNrIHNob3VsZCBiZSBmYWxzZS4gRm9yIG1vcmUgZGV0YWlscywgcGxlYXNl
IHJlZmVyIHRvIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NzgxNy4K
KzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZnJhbWVzL3Jlc291cmNl
cy9tZXRhLXJlZnJlc2gtdGFyZ2V0Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFz
dC9mcmFtZXMvcmVzb3VyY2VzL21ldGEtcmVmcmVzaC10YXJnZXQuaHRtbAkocmV2aXNpb24gMCkK
KysrIExheW91dFRlc3RzL2Zhc3QvZnJhbWVzL3Jlc291cmNlcy9tZXRhLXJlZnJlc2gtdGFyZ2V0
Lmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsOCBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQ+CitpZiAobGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
bm90aWZ5RG9uZSgpOworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9ndGsvU2tpcHBlZAkocmV2aXNpb24gNzI5MzUpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9ndGsvU2tpcHBlZAkod29ya2luZyBjb3B5KQpAQCAtNTU0MCw2ICs1NTQwLDEzIEBAIGZhc3Qv
aW1hZ2VzL3dlYnAtaW1hZ2UtZGVjb2RpbmcuaHRtbAogIyBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NDc4MzIKIGh0dHAvdGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUteGhy
LWxvZ2dpbmcuaHRtbAogCisjIFRoZSBmb2xsb3dpbmcgdGVzdHMgcmVxdWlyZXMgdGhlIERSVCdz
IGR1bXBVc2VyR2VzdHVyZUluRnJhbWVMb2FkQ2FsbGJhY2tzCisjIG1ldGhvZC4gQnV0IHRoYXQg
bWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiBndGsgcG9ydCBzaW5jZSBndGsgcG9ydCBjYW4n
dAorIyBub3QgZ2V0IHVzZXIgZ2VzdHVyZSBpbiBmcmFtZWxvYWQgY2FsbGJhY2tzLgorIyBUaGUg
cmVsYXRlZCBidWdzIGFyZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NDc4NDkvNDc4MTcuCitmYXN0L2ZyYW1lcy9sb2NhdGlvbi1yZWRpcmVjdC11c2VyLWdlc3R1cmUu
aHRtbAorZmFzdC9mcmFtZXMvbWV0YS1yZWZyZXNoLXVzZXItZ2VzdHVyZS5odG1sCisKICMgVGhp
cyB0ZXN0IHBhc3NlcyBsb2NhbGx5LCBidXQgZG9lcyBub3QgcGFzcyBvbiB0aGUgYm90cy4gUGVy
aGFwcwogIyBpdCBpcyBhbiBpc3N1ZSB3aXRoIHRoZSB2ZXJzaW9uIG9mIENhaXJvIG9uIHRoZSBi
b3RzLgogIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDkwNTIKSW5k
ZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCShyZXZpc2lvbiA3MjkzNSkKKysrIExheW91dFRl
c3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCSh3b3JraW5nIGNvcHkpCkBAIC0xMDc2LDMgKzEwNzYs
MTAgQEAgZWRpdGluZy9zZWxlY3Rpb24vbW9kaWZ5LXVwLW9uLXJ0bC13cmFwcAogCiAjIE1pc3Np
bmcgbGF5b3V0VGVzdENvbnRyb2xsZXIuZmluZFN0cmluZygpIGh0dHA6Ly93ZWJraXQub3JnL2Iv
NTAyMzQKIGVkaXRpbmcvdGV4dC1pdGVyYXRvci9maW5kU3RyaW5nLmh0bWwKKyAKKyMgVGhlIGZv
bGxvd2luZyB0ZXN0cyByZXF1aXJlcyB0aGUgRFJUJ3MgZHVtcFVzZXJHZXN0dXJlSW5GcmFtZUxv
YWRDYWxsYmFja3MKKyMgbWV0aG9kLiBCdXQgdGhhdCBtZXRob2QgaXMgbm90IGltcGxlbWVudGVk
IGluIHdpbiBwb3J0IHNpbmNlIHdpbiBwb3J0IGNhbid0CisjIG5vdCBnZXQgdXNlciBnZXN0dXJl
IGluIGZyYW1lbG9hZCBjYWxsYmFja3MuCisjIFRoZSByZWxldmFudCBidWdzIGFyZSBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDc4NDkvNDc4MTcuCitmYXN0L2ZyYW1l
cy9sb2NhdGlvbi1yZWRpcmVjdC11c2VyLWdlc3R1cmUuaHRtbAorZmFzdC9mcmFtZXMvbWV0YS1y
ZWZyZXNoLXVzZXItZ2VzdHVyZS5odG1sCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>75230</attachid>
            <date>2010-11-30 16:58:10 -0800</date>
            <delta_ts>2010-12-02 12:17:30 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-47817-20101130165809.patch</filename>
            <type>text/plain</type>
            <size>7606</size>
            <attacher name="Johnny(Jianning) Ding">jnd</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3Mjk3NikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTcgQEAKKzIwMTAtMTEtMzAgIEpvaG5ueSBEaW5nICA8am5kQGNocm9taXVtLm9y
Zz4KKworICAgICAgICBSZXZpZXdlZCBieSBBZGFtIEJhcnRoLgorCisgICAgICAgIFNldCB0aGUg
cmlnaHQgZ2VzdHVyZSBzdGF0dXMgZm9yIFVSTCByZWRpcmVjdGlvbnMuCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NzgxNworCisgICAgICAgIFRlc3Rz
OiBmYXN0L2ZyYW1lcy9sb2NhdGlvbi1yZWRpcmVjdC11c2VyLWdlc3R1cmUuaHRtbAorICAgICAg
ICAgICAgICAgZmFzdC9mcmFtZXMvbWV0YS1yZWZyZXNoLXVzZXItZ2VzdHVyZS5odG1sCisKKyAg
ICAgICAgKiBsb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpTY2hlZHVsZWROYXZpZ2F0aW9uOjpjbGVhclVzZXJHZXN0dXJlKToKKyAgICAgICAgKFdlYkNv
cmU6OlNjaGVkdWxlZFJlZGlyZWN0OjpTY2hlZHVsZWRSZWRpcmVjdCk6CisKIDIwMTAtMTEtMzAg
IFlhZWwgQWhhcm9uICA8eWFlbC5haGFyb25Abm9raWEuY29tPgogCiAgICAgICAgIFJldmlld2Vk
IGJ5IERhcmluIEFkbGVyLgpJbmRleDogV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxl
ci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5j
cHAJKHJldmlzaW9uIDcyOTM1KQorKysgV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxl
ci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc3LDYgKzc3LDkgQEAgcHVibGljOgogICAgIGJvb2wg
aXNMb2NhdGlvbkNoYW5nZSgpIGNvbnN0IHsgcmV0dXJuIG1faXNMb2NhdGlvbkNoYW5nZTsgfQog
ICAgIGJvb2wgd2FzVXNlckdlc3R1cmUoKSBjb25zdCB7IHJldHVybiBtX3dhc1VzZXJHZXN0dXJl
OyB9CiAKK3Byb3RlY3RlZDoKKyAgICB2b2lkIGNsZWFyVXNlckdlc3R1cmUoKSB7IG1fd2FzVXNl
ckdlc3R1cmUgPSBmYWxzZTsgfQorCiBwcml2YXRlOgogICAgIGRvdWJsZSBtX2RlbGF5OwogICAg
IGJvb2wgbV9sb2NrSGlzdG9yeTsKQEAgLTEzMSw2ICsxMzQsNyBAQCBwdWJsaWM6CiAgICAgU2No
ZWR1bGVkUmVkaXJlY3QoZG91YmxlIGRlbGF5LCBjb25zdCBTdHJpbmcmIHVybCwgYm9vbCBsb2Nr
SGlzdG9yeSwgYm9vbCBsb2NrQmFja0ZvcndhcmRMaXN0KQogICAgICAgICA6IFNjaGVkdWxlZFVS
TE5hdmlnYXRpb24oZGVsYXksIHVybCwgU3RyaW5nKCksIGxvY2tIaXN0b3J5LCBsb2NrQmFja0Zv
cndhcmRMaXN0LCBmYWxzZSwgZmFsc2UpCiAgICAgeworICAgICAgICBjbGVhclVzZXJHZXN0dXJl
KCk7CiAgICAgfQogCiAgICAgdmlydHVhbCBib29sIHNob3VsZFN0YXJ0VGltZXIoRnJhbWUqIGZy
YW1lKSB7IHJldHVybiBmcmFtZS0+bG9hZGVyKCktPmFsbEFuY2VzdG9yc0FyZUNvbXBsZXRlKCk7
IH0KSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDcyOTc2KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTggQEAKKzIwMTAtMTEtMzAgIEpvaG5ueSBEaW5nICA8
am5kQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBBZGFtIEJhcnRoLgorCisg
ICAgICAgIFNldCB0aGUgcmlnaHQgZ2VzdHVyZSBzdGF0dXMgZm9yIFVSTCByZWRpcmVjdGlvbnMu
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NzgxNwor
CisgICAgICAgICogZmFzdC9mcmFtZXMvbG9jYXRpb24tcmVkaXJlY3QtdXNlci1nZXN0dXJlLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9mcmFtZXMvbG9jYXRpb24tcmVkaXJl
Y3QtdXNlci1nZXN0dXJlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZnJhbWVzL21ldGEt
cmVmcmVzaC11c2VyLWdlc3R1cmUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0
L2ZyYW1lcy9tZXRhLXJlZnJlc2gtdXNlci1nZXN0dXJlLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvZnJhbWVzL3Jlc291cmNlcy9tZXRhLXJlZnJlc2gtdGFyZ2V0Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIHBsYXRmb3JtL2d0ay9Ta2lwcGVkOgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9T
a2lwcGVkOgorCiAyMDEwLTExLTMwICBZYWVsIEFoYXJvbiAgPHlhZWwuYWhhcm9uQG5va2lhLmNv
bT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KSW5kZXg6IExheW91dFRlc3Rz
L2Zhc3QvZnJhbWVzL2xvY2F0aW9uLXJlZGlyZWN0LXVzZXItZ2VzdHVyZS1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvbG9jYXRpb24tcmVkaXJlY3Qt
dXNlci1nZXN0dXJlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zh
c3QvZnJhbWVzL2xvY2F0aW9uLXJlZGlyZWN0LXVzZXItZ2VzdHVyZS1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDApCkBAIC0wLDAgKzEsMiBAQAorRnJhbWUgd2l0aCB1c2VyIGdlc3R1cmUgImZhbHNl
IiAtIGluIGRpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUKKwpJbmRleDogTGF5b3V0VGVz
dHMvZmFzdC9mcmFtZXMvbG9jYXRpb24tcmVkaXJlY3QtdXNlci1nZXN0dXJlLmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvbG9jYXRpb24tcmVkaXJlY3QtdXNlci1n
ZXN0dXJlLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9sb2Nh
dGlvbi1yZWRpcmVjdC11c2VyLWdlc3R1cmUuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwx
OSBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+ICAgICAgCisgICAgZnVuY3Rpb24gcnVuVGVz
dHMoKSB7CisgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAg
ICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLmR1bXBVc2VyR2VzdHVyZUluRnJhbWVMb2FkQ2FsbGJhY2tzKCk7
CisgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CisgICAg
ICAgIH0KKworICAgICAgICBzZXRUaW1lb3V0KCJsb2NhdGlvbi5ocmVmPSdkYXRhOnRleHQvaHRt
bCw8c2NyaXB0PmxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTwvIiArICJzY3JpcHQ+
JyIsIDEwMDApOworICAgIH0KKyAgICA8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0i
cnVuVGVzdHMoKTsiPgorU29tZSBXZWJLaXQgcG9ydHMgc2VuZCB0aGUgdXNlciBnZXN0dXJlIHRv
IHRoZSBlbWJlZGRlcnMgaW4gZGlkU3RhcnRQcm92aXNpb25hbExvYWQgY2FsbGJhY2suIFRoZSBl
bWJlZGRlcnMgdXNlIGl0IHRvIGp1ZGdlIHdoZXRoZXIgdGhlIG5hdmlnYXRpb24gaXMgdXNlci1p
bml0aWF0ZWQgb3Igbm90LiBJbiBsb2NhdGlvbiBjaGFuZ2UgcmVkaXJlY3Rpb24sIHRoZSB1c2Vy
IGdlc3R1cmUgc3RhdHVzIGluIGRpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkIGNhbGxiYWNrIHNob3Vs
ZCBiZSBmYWxzZS4gRm9yIG1vcmUgZGV0YWlscywgcGxlYXNlIHJlZmVyIHRvIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NzgxNy4KKzwvZGl2PgorPC9ib2R5PgorPC9o
dG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvbWV0YS1yZWZyZXNoLXVzZXItZ2Vz
dHVyZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMv
bWV0YS1yZWZyZXNoLXVzZXItZ2VzdHVyZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBM
YXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9tZXRhLXJlZnJlc2gtdXNlci1nZXN0dXJlLWV4cGVjdGVk
LnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyIEBACitGcmFtZSB3aXRoIHVzZXIgZ2VzdHVy
ZSAiZmFsc2UiIC0gaW4gZGlkU3RhcnRQcm92aXNpb25hbExvYWRGb3JGcmFtZQorCkluZGV4OiBM
YXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9tZXRhLXJlZnJlc2gtdXNlci1nZXN0dXJlLmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvbWV0YS1yZWZyZXNoLXVzZXItZ2Vz
dHVyZS5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvbWV0YS1y
ZWZyZXNoLXVzZXItZ2VzdHVyZS5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE1IEBACis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgaHR0cC1lcXVpdj0icmVmcmVzaCIgY29udGVudD0iMjsuL3Jl
c291cmNlcy9tZXRhLXJlZnJlc2gtdGFyZ2V0Lmh0bWwiPgorPHNjcmlwdD4gICAgICAKK2lmICh3
aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5k
dW1wQXNUZXh0KCk7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcFVzZXJHZXN0dXJlSW5G
cmFtZUxvYWRDYWxsYmFja3MoKTsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxE
b25lKCk7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorU29tZSBXZWJLaXQgcG9ydHMg
c2VuZCB0aGUgdXNlciBnZXN0dXJlIHRvIHRoZSBlbWJlZGRlcnMgaW4gZGlkU3RhcnRQcm92aXNp
b25hbExvYWQgY2FsbGJhY2suIFRoZSBlbWJlZGRlcnMgdXNlIGl0IHRvIGp1ZGdlIHdoZXRoZXIg
dGhlIG5hdmlnYXRpb24gaXMgdXNlci1pbml0aWF0ZWQgb3Igbm90LiBJbiBtZXRhIHJlZnJlc2gg
cmVkaXJlY3Rpb24sIHRoZSB1c2VyIGdlc3R1cmUgc3RhdHVzIGluIGRpZFN0YXJ0UHJvdmlzaW9u
YWxMb2FkIGNhbGxiYWNrIHNob3VsZCBiZSBmYWxzZS4gRm9yIG1vcmUgZGV0YWlscywgcGxlYXNl
IHJlZmVyIHRvIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NzgxNy4K
KzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZnJhbWVzL3Jlc291cmNl
cy9tZXRhLXJlZnJlc2gtdGFyZ2V0Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFz
dC9mcmFtZXMvcmVzb3VyY2VzL21ldGEtcmVmcmVzaC10YXJnZXQuaHRtbAkocmV2aXNpb24gMCkK
KysrIExheW91dFRlc3RzL2Zhc3QvZnJhbWVzL3Jlc291cmNlcy9tZXRhLXJlZnJlc2gtdGFyZ2V0
Lmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsOCBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQ+CitpZiAobGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
bm90aWZ5RG9uZSgpOworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9ndGsvU2tpcHBlZAkocmV2aXNpb24gNzI5MzUpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9ndGsvU2tpcHBlZAkod29ya2luZyBjb3B5KQpAQCAtNTU0MCw2ICs1NTQwLDEzIEBAIGZhc3Qv
aW1hZ2VzL3dlYnAtaW1hZ2UtZGVjb2RpbmcuaHRtbAogIyBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NDc4MzIKIGh0dHAvdGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUteGhy
LWxvZ2dpbmcuaHRtbAogCisjIFRoZSBmb2xsb3dpbmcgdGVzdHMgcmVxdWlyZXMgdGhlIERSVCdz
IGR1bXBVc2VyR2VzdHVyZUluRnJhbWVMb2FkQ2FsbGJhY2tzCisjIG1ldGhvZC4gQnV0IHRoYXQg
bWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiBndGsgcG9ydCBzaW5jZSBndGsgcG9ydCBjYW4n
dAorIyBub3QgZ2V0IHVzZXIgZ2VzdHVyZSBpbiBmcmFtZWxvYWQgY2FsbGJhY2tzLgorIyBUaGUg
cmVsYXRlZCBidWdzIGFyZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NDc4NDkvNDc4MTcuCitmYXN0L2ZyYW1lcy9sb2NhdGlvbi1yZWRpcmVjdC11c2VyLWdlc3R1cmUu
aHRtbAorZmFzdC9mcmFtZXMvbWV0YS1yZWZyZXNoLXVzZXItZ2VzdHVyZS5odG1sCisKICMgVGhp
cyB0ZXN0IHBhc3NlcyBsb2NhbGx5LCBidXQgZG9lcyBub3QgcGFzcyBvbiB0aGUgYm90cy4gUGVy
aGFwcwogIyBpdCBpcyBhbiBpc3N1ZSB3aXRoIHRoZSB2ZXJzaW9uIG9mIENhaXJvIG9uIHRoZSBi
b3RzLgogIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDkwNTIKSW5k
ZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCShyZXZpc2lvbiA3MjkzNSkKKysrIExheW91dFRl
c3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCSh3b3JraW5nIGNvcHkpCkBAIC0xMDc2LDMgKzEwNzYs
MTAgQEAgZWRpdGluZy9zZWxlY3Rpb24vbW9kaWZ5LXVwLW9uLXJ0bC13cmFwcAogCiAjIE1pc3Np
bmcgbGF5b3V0VGVzdENvbnRyb2xsZXIuZmluZFN0cmluZygpIGh0dHA6Ly93ZWJraXQub3JnL2Iv
NTAyMzQKIGVkaXRpbmcvdGV4dC1pdGVyYXRvci9maW5kU3RyaW5nLmh0bWwKKyAKKyMgVGhlIGZv
bGxvd2luZyB0ZXN0cyByZXF1aXJlcyB0aGUgRFJUJ3MgZHVtcFVzZXJHZXN0dXJlSW5GcmFtZUxv
YWRDYWxsYmFja3MKKyMgbWV0aG9kLiBCdXQgdGhhdCBtZXRob2QgaXMgbm90IGltcGxlbWVudGVk
IGluIHdpbiBwb3J0IHNpbmNlIHdpbiBwb3J0IGNhbid0CisjIG5vdCBnZXQgdXNlciBnZXN0dXJl
IGluIGZyYW1lbG9hZCBjYWxsYmFja3MuCisjIFRoZSByZWxldmFudCBidWdzIGFyZSBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDc4NDkvNDc4MTcuCitmYXN0L2ZyYW1l
cy9sb2NhdGlvbi1yZWRpcmVjdC11c2VyLWdlc3R1cmUuaHRtbAorZmFzdC9mcmFtZXMvbWV0YS1y
ZWZyZXNoLXVzZXItZ2VzdHVyZS5odG1sCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>