<?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>42840</bug_id>
          
          <creation_ts>2010-07-22 11:59:01 -0700</creation_ts>
          <short_desc>image element with src attribute can&apos;t be replaced by content: url() style</short_desc>
          <delta_ts>2011-12-02 00:05:34 -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>Layout and Rendering</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>data:text/html,%3Cimg%20src=%22http://www.webkit.org/images/green-bullet.png%22%20style=%22content:url(http://www.webkit.org/images/pink-bullet.png)%22%3E </bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Leo Yang">leo.yang</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ap</cc>
    
    <cc>aroben</cc>
    
    <cc>bdakin</cc>
    
    <cc>charles.wei</cc>
    
    <cc>darin</cc>
    
    <cc>dbates</cc>
    
    <cc>eoconnor</cc>
    
    <cc>jkjiang</cc>
    
    <cc>ojan</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>staikos</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>254913</commentid>
    <comment_count>0</comment_count>
    <who name="Leo Yang">leo.yang</who>
    <bug_when>2010-07-22 11:59:01 -0700</bug_when>
    <thetext>Image element with src attribute and content: url() style can&apos;t be rendered correctly.

For example:
&lt;image src=&quot;http://domain-which-does-not-exist.com/not-exist.jpg&quot; style=&quot;content: url(url-for-image-exist.jpg)&quot; /&gt;

webkit renders it as blank page. Even if src points to an exist image, a blank page renders also. If you use debug build, when reload the page, there is an ASSERT failure in CachedResource::removeClient().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>254924</commentid>
    <comment_count>1</comment_count>
      <attachid>62327</attachid>
    <who name="Leo Yang">leo.yang</who>
    <bug_when>2010-07-22 12:34:01 -0700</bug_when>
    <thetext>Created attachment 62327
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>254933</commentid>
    <comment_count>2</comment_count>
      <attachid>62327</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2010-07-22 13:02:57 -0700</bug_when>
    <thetext>Comment on attachment 62327
Patch

I tried &lt;image src=&quot;http://google.com/images/logo.gif&quot; style=&quot;content: url(http://www.google.com/intl/en_ALL/images/logos/images_logo_lg.gif)&quot; /&gt;

This renders the src image in Firefox 3.6 and the generated image in Opera 10.6 and WebKit nightly. So, this patch changes WebKit to match the Firefox behavior, right? Is there a spec that covers this behavior that one of us is violating?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>254949</commentid>
    <comment_count>3</comment_count>
    <who name="Leo Yang">leo.yang</who>
    <bug_when>2010-07-22 13:26:56 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 62327 [details])
&gt; I tried &lt;image src=&quot;http://google.com/images/logo.gif&quot; style=&quot;content: url(http://www.google.com/intl/en_ALL/images/logos/images_logo_lg.gif)&quot; /&gt;
&gt; 
&gt; This renders the src image in Firefox 3.6 and the generated image in Opera 10.6 and WebKit nightly. So, this patch changes WebKit to match the Firefox behavior, right? Is there a spec that covers this behavior that one of us is violating?

I am using latest code (on the top of commit 6255afb56f275ef6bb3ebe6d5484ad65a01e2529), webkit renders nothing. This patch doesn&apos;t change behavior to match Firfox, instead, just renders generated image.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>254959</commentid>
    <comment_count>4</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2010-07-22 13:42:55 -0700</bug_when>
    <thetext>&gt; I am using latest code (on the top of commit 6255afb56f275ef6bb3ebe6d5484ad65a01e2529), webkit renders nothing. This patch doesn&apos;t change behavior to match Firfox, instead, just renders generated image.

Oh, interesting, nothing renders in Safari 5, but the generated image renders in WebKit nightly on Mac at r63854. Looks like this is fixed already or did this regress since r63854?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>256625</commentid>
    <comment_count>5</comment_count>
      <attachid>62327</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-07-27 08:38:46 -0700</bug_when>
    <thetext>Comment on attachment 62327
Patch

Why is this a manual test?  Can&apos;t we see this with a render tree dump or a pixel test?

WebCore/loader/ImageLoader.cpp:5
 +   * Copyright (C) Research In Motion Limited 2010. All rights reserved.
Please don&apos;t add your copyright when changing &lt; 10 lines.

WebCore/rendering/RenderImage.h:7
 +   * Copyright (C) Research In Motion Limited 2010. All rights reserved.
ditto</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>256913</commentid>
    <comment_count>6</comment_count>
      <attachid>62762</attachid>
    <who name="Leo Yang">leo.yang</who>
    <bug_when>2010-07-27 15:54:41 -0700</bug_when>
    <thetext>Created attachment 62762
Revised patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>261440</commentid>
    <comment_count>7</comment_count>
      <attachid>62762</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-08-06 13:53:48 -0700</bug_when>
    <thetext>Comment on attachment 62762
Revised patch

What if the generated context is invalid?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>262132</commentid>
    <comment_count>8</comment_count>
    <who name="Leo Yang">leo.yang</who>
    <bug_when>2010-08-09 07:16:06 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (From update of attachment 62762 [details])
&gt; What if the generated context is invalid?

I think it should behave as if this is an invalid image. Google Chrome 5.0 on Windows and Safari 5.0.1 on Windows behave as there is a broken image. Just as above discussion, this feature is broken in recently webkit trunk.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>271205</commentid>
    <comment_count>9</comment_count>
      <attachid>62762</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-08-29 13:20:16 -0700</bug_when>
    <thetext>Comment on attachment 62762
Revised patch

This is a good catch. That code in ImageLoader is indeed wrong.

But this patch will no longer apply, due to changes to ImageLoader.cpp that happened since it was posted.

&gt; +        // If RenderImage is generated content we don&apos;t update the renderer either.

The above is not a helpful comment. It says what the code does, but not why.

As I understand the issue here, we want to change the image if this is a renderer we created, but not if it&apos;s a renderer that was created by other code.

The fix should probably go in ImageLoader::renderImageResource, which can return 0 if the renderer is not for the loaded image, but rather some other renderer.

Special casing the generated content version of RenderImage seems a little bit roundabout. Unfortunately, there is no longer a RenderImageGeneratedContent class to add a virtual function to, so we need a new approach to figuring out if this is an image renderer that the image loader should be overriding, or one it should not be. Somehow we have to distinguish the renderer created in RenderObject::createObject for generated content.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>274831</commentid>
    <comment_count>10</comment_count>
      <attachid>66680</attachid>
    <who name="Leo Yang">leo.yang</who>
    <bug_when>2010-09-06 20:31:07 -0700</bug_when>
    <thetext>Created attachment 66680
Rebased patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>274839</commentid>
    <comment_count>11</comment_count>
      <attachid>66682</attachid>
    <who name="Leo Yang">leo.yang</who>
    <bug_when>2010-09-06 21:03:05 -0700</bug_when>
    <thetext>Created attachment 66682
Removed extra space from change log</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325944</commentid>
    <comment_count>12</comment_count>
      <attachid>66682</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-12-23 00:30:20 -0800</bug_when>
    <thetext>Comment on attachment 66682
Removed extra space from change log

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

I wanted to R+ this patch, but I didn&apos;t understand it.

&gt; WebCore/rendering/RenderImageResource.h:71
&gt; -    RenderImageResource();
&gt; +    RenderImageResource(bool isGenerated);

I&apos;d use an enum instead of a bool so we can understand the call-sites better.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>326466</commentid>
    <comment_count>13</comment_count>
      <attachid>77401</attachid>
    <who name="Leo Yang">leo.yang</who>
    <bug_when>2010-12-23 21:52:21 -0800</bug_when>
    <thetext>Created attachment 77401
Change boolean to enum

It makes sense to change boolean to enumeration for RenderImageResource.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>329072</commentid>
    <comment_count>14</comment_count>
      <attachid>77401</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-01-04 10:49:24 -0800</bug_when>
    <thetext>Comment on attachment 77401
Change boolean to enum

This patch looks fine to me, but, as a rule, I don&apos;t review patches in &quot;WebCore/rendering&quot; because I don&apos;t understand rendering.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>329162</commentid>
    <comment_count>15</comment_count>
      <attachid>77401</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-01-04 13:17:19 -0800</bug_when>
    <thetext>Comment on attachment 77401
Change boolean to enum

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

I don&apos;t think it’s right to make a special RenderImageResource.

The real issue here is that RenderObject::createObject creates a RenderImage, but classes like HTMLImageElement assume that if the renderer is a RenderImage it’s the one they created. I think we should make a different renderer class, or add a flag to RenderImage, not RenderImageResource. I think the different class is probably the best way to handle it.

I looked and found functions that make the incorrect assumption that an image is one created by the element and these are the ones I found:

    ImageLoader::renderImageResource
    HTMLImageElement::parseMappedAttribute
    HTMLImageElement::attach
    HitTestResult::absoluteImageURL
    absoluteURL functions generated by CodeGeneratorObjC.pm

Those should probably use a function that returns false for the images that were created based on style, rather than the isImage function, which returns true for those.

&gt; WebCore/rendering/RenderImageResource.h:47
&gt; +    static PassOwnPtr&lt;RenderImageResource&gt; create(Type type = Normal)

In the context of RenderImageResource, I don’t think “generated” is a clear enough term to be used. In this patch it means generated content, in other words, the CSS content attribute.

But we also have a class named GeneratedImage in WebCore/platform/graphics, and this refers to images that are created by an algorithm, such as gradient, rather than with image data.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>329163</commentid>
    <comment_count>16</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-01-04 13:17:52 -0800</bug_when>
    <thetext>Thanks for tackling this. I’m sorry I didn’t spot this bigger issue earlier.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>472006</commentid>
    <comment_count>17</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2011-09-22 18:41:48 -0700</bug_when>
    <thetext>*** Bug 67721 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>472034</commentid>
    <comment_count>18</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-09-22 20:03:05 -0700</bug_when>
    <thetext>As noted in bug 67721, sometimes things work just fine in Release builds.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>472302</commentid>
    <comment_count>19</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2011-09-23 10:15:45 -0700</bug_when>
    <thetext>&lt;rdar://problem/10175703&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>473020</commentid>
    <comment_count>20</comment_count>
      <attachid>108642</attachid>
    <who name="Leo Yang">leo.yang</who>
    <bug_when>2011-09-26 01:11:51 -0700</bug_when>
    <thetext>Created attachment 108642
Patch v5</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>512944</commentid>
    <comment_count>21</comment_count>
      <attachid>108642</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-12-01 11:38:30 -0800</bug_when>
    <thetext>Comment on attachment 108642
Patch v5

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

Patch is OK, but not great. I’d like to look at cleaner ways to do this in the future, but it seems fine to land this now.

&gt; Source/WebCore/loader/ImageLoader.cpp:257
&gt; -    if (renderer-&gt;isImage())
&gt; +    if (renderer-&gt;isImage() &amp;&amp; !static_cast&lt;RenderImage*&gt;(renderer)-&gt;isGeneratedContent())

This is a non-obvious check, and it needs a comment to make clear why this is correct.

We might even want to later rename renderImageResource longer term to make it clearer what the function returns.

It seems that given we already use a different class for the generated content image, the bit could be on RenderImageResource instead of on RenderImage. We could even use a virtual function instead of a bit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>513444</commentid>
    <comment_count>22</comment_count>
      <attachid>117555</attachid>
    <who name="Leo Yang">leo.yang</who>
    <bug_when>2011-12-01 20:37:10 -0800</bug_when>
    <thetext>Created attachment 117555
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>513577</commentid>
    <comment_count>23</comment_count>
      <attachid>117555</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-02 00:05:27 -0800</bug_when>
    <thetext>Comment on attachment 117555
Patch for landing

Clearing flags on attachment: 117555

Committed r101753: &lt;http://trac.webkit.org/changeset/101753&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>513578</commentid>
    <comment_count>24</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-02 00:05:34 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>62327</attachid>
            <date>2010-07-22 12:34:01 -0700</date>
            <delta_ts>2010-07-27 15:54:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>0001-2010-07-22-Leo-Yang-leo.yang-torchmobile.com.cn.patch</filename>
            <type>text/plain</type>
            <size>5825</size>
            <attacher name="Leo Yang">leo.yang</attacher>
            
              <data encoding="base64">RnJvbSAzOTA0YTAyODhiYWExMzg4OTI0NThiMzNiM2UyZjFmZWE3MmU1M2ZlIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBMZW8gWWFuZyA8bGVvLnlhbmdAdG9yY2htb2JpbGUuY29tLmNu
PgpEYXRlOiBUaHUsIDIyIEp1bCAyMDEwIDE1OjIzOjEzIC0wNDAwClN1YmplY3Q6IFtQQVRDSF0g
MjAxMC0wNy0yMiAgTGVvIFlhbmcgIDxsZW8ueWFuZ0B0b3JjaG1vYmlsZS5jb20uY24+CgogICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKICAgICAgICBEb24ndCB1cGRhdGUgcmVu
ZGVyZXIgd2hlbiB3ZSByZXBsYWNlIGltYWdlIGVsZW1lbnQgd2l0aCBjb250ZW50IGRhdGEgc3R5
bGUuCiAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQyODQw
CgogICAgICAgIFRlc3RzOiBtYW51YWwtdGVzdHMvaW1hZ2UtY3NzMy1jb250ZW50LWRhdGEuaHRt
bAoKICAgICAgICAqIGxvYWRlci9JbWFnZUxvYWRlci5jcHA6CiAgICAgICAgKFdlYkNvcmU6Oklt
YWdlTG9hZGVyOjp1cGRhdGVSZW5kZXJlcik6CiAgICAgICAgKiBtYW51YWwtdGVzdHMvaW1hZ2Ut
Y3NzMy1jb250ZW50LWRhdGEuaHRtbDogQWRkZWQuCiAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
SW1hZ2UuaDoKICAgICAgICAoV2ViQ29yZTo6UmVuZGVySW1hZ2U6OmlzR2VuZXJhdGVkQ29udGVu
dCk6CiAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVySW1hZ2VHZW5lcmF0ZWRDb250ZW50Lmg6CiAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckltYWdlR2VuZXJhdGVkQ29udGVudDo6aXNHZW5lcmF0ZWRD
b250ZW50KToKLS0tCiBXZWJDb3JlL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHwgICAxNyArKysrKysrKysrKysrKysrKwogV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2Fk
ZXIuY3BwICAgICAgICAgICAgICAgICAgICB8ICAgIDQgKysrLQogV2ViQ29yZS9tYW51YWwtdGVz
dHMvaW1hZ2UtY3NzMy1jb250ZW50LWRhdGEuaHRtbCB8ICAgIDYgKysrKysrCiBXZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJJbWFnZS5oICAgICAgICAgICAgICAgICAgIHwgICAgMyArKysKIFdlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckltYWdlR2VuZXJhdGVkQ29udGVudC5oICAgfCAgICAzICsrKwog
NSBmaWxlcyBjaGFuZ2VkLCAzMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9ucygtKQogY3JlYXRl
IG1vZGUgMTAwNjQ0IFdlYkNvcmUvbWFudWFsLXRlc3RzL2ltYWdlLWNzczMtY29udGVudC1kYXRh
Lmh0bWwKCmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9n
CmluZGV4IDg4ODc0ZWEuLjZiZTlkOTIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisr
KyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTAtMDctMjIgIExlbyBZ
YW5nICA8bGVvLnlhbmdAdG9yY2htb2JpbGUuY29tLmNuPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERvbid0IHVwZGF0ZSByZW5kZXJlciB3aGVuIHdl
IHJlcGxhY2UgaW1hZ2UgZWxlbWVudCB3aXRoIGNvbnRlbnQgZGF0YSBzdHlsZS4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQyODQwCisKKyAgICAgICAg
VGVzdHM6IG1hbnVhbC10ZXN0cy9pbWFnZS1jc3MzLWNvbnRlbnQtZGF0YS5odG1sCisKKyAgICAg
ICAgKiBsb2FkZXIvSW1hZ2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VMb2Fk
ZXI6OnVwZGF0ZVJlbmRlcmVyKToKKyAgICAgICAgKiBtYW51YWwtdGVzdHMvaW1hZ2UtY3NzMy1j
b250ZW50LWRhdGEuaHRtbDogQWRkZWQuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckltYWdl
Lmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJJbWFnZTo6aXNHZW5lcmF0ZWRDb250ZW50KToK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVySW1hZ2VHZW5lcmF0ZWRDb250ZW50Lmg6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJJbWFnZUdlbmVyYXRlZENvbnRlbnQ6OmlzR2VuZXJhdGVkQ29u
dGVudCk6CisKIDIwMTAtMDctMjEgIFlhZWwgQWhhcm9uICA8eWFlbC5haGFyb25Abm9raWEuY29t
PgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3BwIGIvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3Bw
CmluZGV4IGQxNjlkM2UuLjcwNDY4YmYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL0ltYWdl
TG9hZGVyLmNwcAorKysgYi9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAKQEAgLTIsNiAr
Miw3IEBACiAgKiBDb3B5cmlnaHQgKEMpIDE5OTkgTGFycyBLbm9sbCAoa25vbGxAa2RlLm9yZykK
ICAqICAgICAgICAgICAoQykgMTk5OSBBbnR0aSBLb2l2aXN0byAoa29pdmlzdG9Aa2RlLm9yZykK
ICAqIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiwgMjAwNywgMjAwOSwgMjAxMCBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIFJlc2VhcmNoIElu
IE1vdGlvbiBMaW1pdGVkIDIwMTAuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogVGhpcyBs
aWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgog
ICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQ
dWJsaWMKQEAgLTIzMyw4ICsyMzQsOSBAQCB2b2lkIEltYWdlTG9hZGVyOjp1cGRhdGVSZW5kZXJl
cigpCiAgICAgICAgIC8vIE9ubHkgdXBkYXRlIHRoZSByZW5kZXJlciBpZiBpdCBkb2Vzbid0IGhh
dmUgYW4gaW1hZ2Ugb3IgaWYgd2hhdCB3ZSBoYXZlCiAgICAgICAgIC8vIGlzIGEgY29tcGxldGUg
aW1hZ2UuICBUaGlzIHByZXZlbnRzIGZsaWNrZXJpbmcgaW4gdGhlIGNhc2Ugd2hlcmUgYSBkeW5h
bWljCiAgICAgICAgIC8vIGNoYW5nZSBpcyBoYXBwZW5pbmcgYmV0d2VlbiB0d28gaW1hZ2VzLgor
ICAgICAgICAvLyBJZiBSZW5kZXJJbWFnZSBpcyBnZW5lcmF0ZWQgY29udGVudCB3ZSBkb24ndCB1
cGRhdGUgdGhlIHJlbmRlcmVyIGVpdGhlci4KICAgICAgICAgQ2FjaGVkSW1hZ2UqIGNhY2hlZElt
YWdlID0gaW1hZ2VSZW5kZXJlci0+Y2FjaGVkSW1hZ2UoKTsKLSAgICAgICAgaWYgKG1faW1hZ2Ug
IT0gY2FjaGVkSW1hZ2UgJiYgKG1faW1hZ2VDb21wbGV0ZSB8fCAhY2FjaGVkSW1hZ2UpKQorICAg
ICAgICBpZiAoIWltYWdlUmVuZGVyZXItPmlzR2VuZXJhdGVkQ29udGVudCgpICYmIG1faW1hZ2Ug
IT0gY2FjaGVkSW1hZ2UgJiYgKG1faW1hZ2VDb21wbGV0ZSB8fCAhY2FjaGVkSW1hZ2UpKQogICAg
ICAgICAgICAgaW1hZ2VSZW5kZXJlci0+c2V0Q2FjaGVkSW1hZ2UobV9pbWFnZS5nZXQoKSk7CiAg
ICAgfQogfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9tYW51YWwtdGVzdHMvaW1hZ2UtY3NzMy1jb250
ZW50LWRhdGEuaHRtbCBiL1dlYkNvcmUvbWFudWFsLXRlc3RzL2ltYWdlLWNzczMtY29udGVudC1k
YXRhLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmI2N2YxOAotLS0g
L2Rldi9udWxsCisrKyBiL1dlYkNvcmUvbWFudWFsLXRlc3RzL2ltYWdlLWNzczMtY29udGVudC1k
YXRhLmh0bWwKQEAgLTAsMCArMSw2IEBACis8aHRtbD4KKzxib2R5PgorPHA+VGhpcyBpcyB0byB2
ZXJpZnkgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQyODQwLiBJZiB5
b3Ugc2VlIGEgMjAwWDIwMCByZWQgcmV0YW5nbGUsIHRoaXMgdGVzdCBwYXNzZXMuPC9wPgorPGlt
YWdlIGlkID0iaW1hZ2UiIHNyYz0icmVzb3VyY2VzLzIwMHgxMDAucG5nIiBzdHlsZT0iY29udGVu
dDogdXJsKHJlc291cmNlcy8yMDB4MjAwLnBuZykiPjwvaW1hZ2U+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5oIGIvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVySW1hZ2UuaAppbmRleCBiODlhNjUyLi40ZjhlMDkwIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckltYWdlLmgKQEAgLTQsNiArNCw3IEBACiAgKiAgICAgICAgICAgKEMpIDIwMDYgQWxs
YW4gU2FuZGZlbGQgSmVuc2VuIChrZGVAY2FyZXdvbGYuY29tKSAKICAqICAgICAgICAgICAoQykg
MjAwNiBTYW11ZWwgV2VpbmlnIChzYW0ud2VpbmlnQGdtYWlsLmNvbSkKICAqIENvcHlyaWdodCAo
QykgMjAwNCwgMjAwNSwgMjAwNiwgMjAwNywgMjAwOSwgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVk
IDIwMTAuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUg
c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICogbW9kaWZ5IGl0IHVu
ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTUxLDYg
KzUyLDggQEAgcHVibGljOgogCiAgICAgdm9pZCBoaWdoUXVhbGl0eVJlcGFpbnRUaW1lckZpcmVk
KFRpbWVyPFJlbmRlckltYWdlPiopOwogCisgICAgdmlydHVhbCBib29sIGlzR2VuZXJhdGVkQ29u
dGVudCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CisKIHByb3RlY3RlZDoKICAgICB2aXJ0dWFs
IEltYWdlKiBpbWFnZShpbnQgLyogd2lkdGggKi8gPSAwLCBpbnQgLyogaGVpZ2h0ICovID0gMCkg
eyByZXR1cm4gbV9jYWNoZWRJbWFnZSA/IG1fY2FjaGVkSW1hZ2UtPmltYWdlKCkgOiBudWxsSW1h
Z2UoKTsgfQogICAgIHZpcnR1YWwgYm9vbCBlcnJvck9jY3VycmVkKCkgY29uc3QgeyByZXR1cm4g
bV9jYWNoZWRJbWFnZSAmJiBtX2NhY2hlZEltYWdlLT5lcnJvck9jY3VycmVkKCk7IH0KZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlR2VuZXJhdGVkQ29udGVudC5oIGIv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2VHZW5lcmF0ZWRDb250ZW50LmgKaW5kZXggOWY4
MzMwZC4uYWI1ZWE1YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2VH
ZW5lcmF0ZWRDb250ZW50LmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2VHZW5l
cmF0ZWRDb250ZW50LmgKQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDA4
IEFwcGxlIENvbXB1dGVyLCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0
IChDKSBSZXNlYXJjaCBJbiBNb3Rpb24gTGltaXRlZCAyMDEwLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC00Miw2ICs0Myw4IEBAIHB1Ymxp
YzoKICAgICB2b2lkIHNldFN0eWxlSW1hZ2UoU3R5bGVJbWFnZSopOwogICAgIAogICAgIHZpcnR1
YWwgYm9vbCBoYXNJbWFnZSgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KKworICAgIHZpcnR1YWwg
Ym9vbCBpc0dlbmVyYXRlZENvbnRlbnQoKSBjb25zdCB7IHJldHVybiB0cnVlIDsgfQogICAgIAog
cHJvdGVjdGVkOgogICAgIHZpcnR1YWwgSW1hZ2UqIGltYWdlKGludCB3ID0gMCwgaW50IGggPSAw
KSB7IHJldHVybiBtX3N0eWxlSW1hZ2UtPmltYWdlKHRoaXMsIEludFNpemUodywgaCkpOyB9Ci0t
IAoxLjYuNC4yCgo=
</data>
<flag name="review"
          id="50505"
          type_id="1"
          status="-"
          setter="abarth"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>62762</attachid>
            <date>2010-07-27 15:54:41 -0700</date>
            <delta_ts>2010-09-06 20:31:07 -0700</delta_ts>
            <desc>Revised patch</desc>
            <filename>0001-2010-07-27-Leo-Yang-leo.yang-torchmobile.com.cn.patch</filename>
            <type>text/plain</type>
            <size>6918</size>
            <attacher name="Leo Yang">leo.yang</attacher>
            
              <data encoding="base64">RnJvbSBiM2NkMmZmMTVkYWYwNjI3MGViMDgyZWFjNTM4ZjAwY2ViNjcyYzhhIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBMZW8gWWFuZyA8bGVvLnlhbmdAdG9yY2htb2JpbGUuY29tLmNu
PgpEYXRlOiBUdWUsIDI3IEp1bCAyMDEwIDE4OjM2OjQwIC0wNDAwClN1YmplY3Q6IFtQQVRDSF0g
MjAxMC0wNy0yNyBMZW8gWWFuZyA8bGVvLnlhbmdAdG9yY2htb2JpbGUuY29tLmNuPgoKUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCgogICAgICAgICBEb24ndCB1cGRhdGUgcmVuZGVyZXIgd2hl
biB3ZSByZXBsYWNlIGltYWdlIGVsZW1lbnQgd2l0aCBjb250ZW50IGRhdGEgc3R5bGUuCiAgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00Mjg0MAoKICAgICAg
ICAgVGVzdDogZmFzdC9pbWFnZXMvaW1hZ2UtY3NzMy1jb250ZW50LWRhdGEuaHRtbAoKICAgICAg
ICAgKiBsb2FkZXIvSW1hZ2VMb2FkZXIuY3BwOgogICAgICAgICAoV2ViQ29yZTo6SW1hZ2VMb2Fk
ZXI6OnVwZGF0ZVJlbmRlcmVyKToKICAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVySW1hZ2UuaDoK
ICAgICAgICAgKFdlYkNvcmU6OlJlbmRlckltYWdlOjppc0dlbmVyYXRlZENvbnRlbnQpOgogICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJJbWFnZUdlbmVyYXRlZENvbnRlbnQuaDoKICAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckltYWdlR2VuZXJhdGVkQ29udGVudDo6aXNHZW5lcmF0ZWRDb250ZW50
KToKLS0tCiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB8ICAgMTEgKysrKysrKysrKysKIC4uLi9pbWFnZXMvaW1hZ2UtY3NzMy1jb250ZW50LWRhdGEt
ZXhwZWN0ZWQudHh0ICAgIHwgICAgNyArKysrKysrCiAuLi4vZmFzdC9pbWFnZXMvaW1hZ2UtY3Nz
My1jb250ZW50LWRhdGEuaHRtbCAgICAgICB8ICAgIDUgKysrKysKIExheW91dFRlc3RzL2Zhc3Qv
aW1hZ2VzL3Jlc291cmNlcy9ncmVlbi0yNHgyNC5qcGcgIHwgIEJpbiAwIC0+IDY0NSBieXRlcwog
V2ViQ29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDE2
ICsrKysrKysrKysrKysrKysKIFdlYkNvcmUvbG9hZGVyL0ltYWdlTG9hZGVyLmNwcCAgICAgICAg
ICAgICAgICAgICAgIHwgICAgMyArKy0KIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmgg
ICAgICAgICAgICAgICAgICAgIHwgICAgMiArKwogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1h
Z2VHZW5lcmF0ZWRDb250ZW50LmggICAgfCAgICAyICsrCiA4IGZpbGVzIGNoYW5nZWQsIDQ1IGlu
c2VydGlvbnMoKyksIDEgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVz
dHMvZmFzdC9pbWFnZXMvaW1hZ2UtY3NzMy1jb250ZW50LWRhdGEtZXhwZWN0ZWQudHh0CiBjcmVh
dGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvaW1hZ2UtY3NzMy1jb250ZW50
LWRhdGEuaHRtbAogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL3Jl
c291cmNlcy9ncmVlbi0yNHgyNC5qcGcKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZTc5NDJkNy4uYzVjNzY2YSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE0IEBACisyMDEwLTA3LTI3ICBMZW8gWWFuZyAgPGxlby55YW5nQHRvcmNobW9i
aWxlLmNvbS5jbj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBUZXN0IGNhc2UgY29udGFpbnMgaW1hZ2UgZWxlbWVudCB3aXRoIHNyYyBhdHRyaWJ1dGUg
YW5kICdjb250ZW50OiB1cmwoLi4uKScgc3R5bGUgYXR0cmlidXRlLgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDI4NDAKKworICAgICAgICAqIGZhc3Qv
aW1hZ2VzL2dyZWVuLTI0eDI0LmpwZzogQWRkZWQuCisgICAgICAgICogZmFzdC9pbWFnZXMvaW1h
Z2UtY3NzMy1jb250ZW50LWRhdGEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0
L2ltYWdlcy9pbWFnZS1jc3MzLWNvbnRlbnQtZGF0YS5odG1sOiBBZGRlZC4KKwogMjAxMC0wNy0y
MSAgVG9ueSBDaGFuZyAgPHRvbnlAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIE5vdCByZXZpZXdl
ZCwgdXBkYXRpbmcgY2hyb21pdW0gdGVzdCBleHBlY3RhdGlvbnMuCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2ltYWdlcy9pbWFnZS1jc3MzLWNvbnRlbnQtZGF0YS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9pbWFnZS1jc3MzLWNvbnRlbnQtZGF0YS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjY4MmE5MAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL2ltYWdlLWNzczMtY29udGVudC1k
YXRhLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDcgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAw
eDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkg
c2l6ZSA4MDB4NjAwCisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAK
KyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1ODQKKyAgICAgIFJlbmRl
ckltYWdlIHtJTUd9IGF0ICgwLDApIHNpemUgMjR4MjQKKyAgICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoMCwwKSBzaXplIDB4MApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMv
aW1hZ2UtY3NzMy1jb250ZW50LWRhdGEuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL2lt
YWdlLWNzczMtY29udGVudC1kYXRhLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMC4uYWEwOGU1YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvaW1hZ2Vz
L2ltYWdlLWNzczMtY29udGVudC1kYXRhLmh0bWwKQEAgLTAsMCArMSw1IEBACis8aHRtbD4KKzxi
b2R5PgorPGltYWdlIGlkID0iaW1hZ2UiIHNyYz0icmVzb3VyY2VzL2dyZWVuLmpwZyIgc3R5bGU9
ImNvbnRlbnQ6IHVybChyZXNvdXJjZXMvZ3JlZW4tMjR4MjQuanBnKSIvPgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvcmVzb3VyY2VzL2dyZWVu
LTI0eDI0LmpwZyBiL0xheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL3Jlc291cmNlcy9ncmVlbi0yNHgy
NC5qcGcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNjZhNmQ1ZWNjMWMxYmZkNDJjYWQxMWExOTViMjM3ZDY1YjY3NTk5
NQpHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgNjQ1CnpjbWV4PTxOcEgmMFdVWENId0gjVk11cjMr
V2NZdVohSV49QmpnNmcrbTRsc35vcypNO2kke2MpaG50JjZRYj9Gegp6THs+XihQRjZ9ck1uT2VT
VHxyNGxTdz0+flR2Tnh1KDhSPDxVZnQ1eCFwS0k/KnUpNUEycVB5YUNsNUR8MVRVfEkKemspbipF
NXl7fkgwUn0tMTFfPWZVVz0xNmpDUDdBS0xCe19fN35+bGs3K0hhPzF2d1pCN0AzJF5TbFFTKUlK
dmxpCnozYnFPYEZmbFNTR3FFdFV2YSt4TVJvNFJMOENWMmFnJWt9UCpAT2NWKl84QEtqMmI1ezxX
UDNuY3UrTHg7cytKdQp6cUBwSEhFLWBUbE5od3R8YnEhNHw2SF95RDNyajAhN2dzbFQ0Xk9ZKWtr
R0wzaHsma3FsKz84SmpMZlghbEczdkIKemlwcnx5bWUjaVJqP1MpMGxjITliSGhzcC1TJko0Z1Mt
TmNiaWp9SzJaUWluVit4OHRoY081IT48bWo+RUNyK05hCnpib3Q4Rll1OWh3eSFHKFc8MG5zX0ol
OTE/KXlHZXR6a0wxbnttMEs9QWImQTNGaGpmcl9aZ2JNMWNDbHlWcXN4cwp6VkYmcShrKk9Tcm5G
VSFgNiVFO2g5MFM9QzN4JD04OGFZSXFDTkE3fmtXPCs+PSEwbGQoTTJ2WDZfYmFtQTM8SU4KdWA7
MGhgSElkfnJ4V15Gd3kyWmY1JW18RDtXPGRzZmhISHp1dl9DdDRWcCFDcjBtSUR5WnZwXiNBazww
IwoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cg
Yi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA4ODg3NGVhLi4xMjFiMmNhIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBA
CisyMDEwLTA3LTI3ICBMZW8gWWFuZyAgPGxlby55YW5nQHRvcmNobW9iaWxlLmNvbS5jbj4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEb24ndCB1cGRh
dGUgcmVuZGVyZXIgd2hlbiB3ZSByZXBsYWNlIGltYWdlIGVsZW1lbnQgd2l0aCBjb250ZW50IGRh
dGEgc3R5bGUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD00Mjg0MAorCisgICAgICAgIFRlc3Q6IGZhc3QvaW1hZ2VzL2ltYWdlLWNzczMtY29udGVudC1k
YXRhLmh0bWwKKworICAgICAgICAqIGxvYWRlci9JbWFnZUxvYWRlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpJbWFnZUxvYWRlcjo6dXBkYXRlUmVuZGVyZXIpOgorICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJJbWFnZS5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVySW1hZ2U6OmlzR2VuZXJh
dGVkQ29udGVudCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckltYWdlR2VuZXJhdGVkQ29u
dGVudC5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVySW1hZ2VHZW5lcmF0ZWRDb250ZW50Ojpp
c0dlbmVyYXRlZENvbnRlbnQpOgorCiAyMDEwLTA3LTIxICBZYWVsIEFoYXJvbiAgPHlhZWwuYWhh
cm9uQG5va2lhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KZGlmZiAt
LWdpdCBhL1dlYkNvcmUvbG9hZGVyL0ltYWdlTG9hZGVyLmNwcCBiL1dlYkNvcmUvbG9hZGVyL0lt
YWdlTG9hZGVyLmNwcAppbmRleCBkMTY5ZDNlLi5kMTkxNDBkIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2xvYWRlci9JbWFnZUxvYWRlci5jcHAKKysrIGIvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIu
Y3BwCkBAIC0yMzMsOCArMjMzLDkgQEAgdm9pZCBJbWFnZUxvYWRlcjo6dXBkYXRlUmVuZGVyZXIo
KQogICAgICAgICAvLyBPbmx5IHVwZGF0ZSB0aGUgcmVuZGVyZXIgaWYgaXQgZG9lc24ndCBoYXZl
IGFuIGltYWdlIG9yIGlmIHdoYXQgd2UgaGF2ZQogICAgICAgICAvLyBpcyBhIGNvbXBsZXRlIGlt
YWdlLiAgVGhpcyBwcmV2ZW50cyBmbGlja2VyaW5nIGluIHRoZSBjYXNlIHdoZXJlIGEgZHluYW1p
YwogICAgICAgICAvLyBjaGFuZ2UgaXMgaGFwcGVuaW5nIGJldHdlZW4gdHdvIGltYWdlcy4KKyAg
ICAgICAgLy8gSWYgUmVuZGVySW1hZ2UgaXMgZ2VuZXJhdGVkIGNvbnRlbnQgd2UgZG9uJ3QgdXBk
YXRlIHRoZSByZW5kZXJlciBlaXRoZXIuCiAgICAgICAgIENhY2hlZEltYWdlKiBjYWNoZWRJbWFn
ZSA9IGltYWdlUmVuZGVyZXItPmNhY2hlZEltYWdlKCk7Ci0gICAgICAgIGlmIChtX2ltYWdlICE9
IGNhY2hlZEltYWdlICYmIChtX2ltYWdlQ29tcGxldGUgfHwgIWNhY2hlZEltYWdlKSkKKyAgICAg
ICAgaWYgKCFpbWFnZVJlbmRlcmVyLT5pc0dlbmVyYXRlZENvbnRlbnQoKSAmJiBtX2ltYWdlICE9
IGNhY2hlZEltYWdlICYmIChtX2ltYWdlQ29tcGxldGUgfHwgIWNhY2hlZEltYWdlKSkKICAgICAg
ICAgICAgIGltYWdlUmVuZGVyZXItPnNldENhY2hlZEltYWdlKG1faW1hZ2UuZ2V0KCkpOwogICAg
IH0KIH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmggYi9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5oCmluZGV4IGI4OWE2NTIuLmNlNzZlY2UgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmgKKysrIGIvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVySW1hZ2UuaApAQCAtNTEsNiArNTEsOCBAQCBwdWJsaWM6CiAKICAgICB2b2lk
IGhpZ2hRdWFsaXR5UmVwYWludFRpbWVyRmlyZWQoVGltZXI8UmVuZGVySW1hZ2U+Kik7CiAKKyAg
ICB2aXJ0dWFsIGJvb2wgaXNHZW5lcmF0ZWRDb250ZW50KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7
IH0KKwogcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgSW1hZ2UqIGltYWdlKGludCAvKiB3aWR0aCAq
LyA9IDAsIGludCAvKiBoZWlnaHQgKi8gPSAwKSB7IHJldHVybiBtX2NhY2hlZEltYWdlID8gbV9j
YWNoZWRJbWFnZS0+aW1hZ2UoKSA6IG51bGxJbWFnZSgpOyB9CiAgICAgdmlydHVhbCBib29sIGVy
cm9yT2NjdXJyZWQoKSBjb25zdCB7IHJldHVybiBtX2NhY2hlZEltYWdlICYmIG1fY2FjaGVkSW1h
Z2UtPmVycm9yT2NjdXJyZWQoKTsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVySW1hZ2VHZW5lcmF0ZWRDb250ZW50LmggYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFn
ZUdlbmVyYXRlZENvbnRlbnQuaAppbmRleCA5ZjgzMzBkLi45NDQyZmVjIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZUdlbmVyYXRlZENvbnRlbnQuaAorKysgYi9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZUdlbmVyYXRlZENvbnRlbnQuaApAQCAtNDIsNiArNDIs
OCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRTdHlsZUltYWdlKFN0eWxlSW1hZ2UqKTsKICAgICAK
ICAgICB2aXJ0dWFsIGJvb2wgaGFzSW1hZ2UoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CisKKyAg
ICB2aXJ0dWFsIGJvb2wgaXNHZW5lcmF0ZWRDb250ZW50KCkgY29uc3QgeyByZXR1cm4gdHJ1ZSA7
IH0KICAgICAKIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIEltYWdlKiBpbWFnZShpbnQgdyA9IDAs
IGludCBoID0gMCkgeyByZXR1cm4gbV9zdHlsZUltYWdlLT5pbWFnZSh0aGlzLCBJbnRTaXplKHcs
IGgpKTsgfQotLSAKMS42LjQuMgoK
</data>
<flag name="review"
          id="51001"
          type_id="1"
          status="-"
          setter="darin"
    />
    <flag name="commit-queue"
          id="52742"
          type_id="3"
          status="-"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>66680</attachid>
            <date>2010-09-06 20:31:07 -0700</date>
            <delta_ts>2010-09-06 21:03:05 -0700</delta_ts>
            <desc>Rebased patch</desc>
            <filename>0001-2010-09-06-Leo-Yang-leo.yang-torchmobile.com.cn.patch</filename>
            <type>text/plain</type>
            <size>11052</size>
            <attacher name="Leo Yang">leo.yang</attacher>
            
              <data encoding="base64">RnJvbSAyYzdhMzg0Y2E0YjJhNWY5NTAxZjFlNmM0M2FjYzliMTU0N2QzMDE4IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBMZW8gWWFuZyA8bGVvLnlhbmdAdG9yY2htb2JpbGUuY29tLmNu
PgpEYXRlOiBUdWUsIDcgU2VwIDIwMTAgMTE6MjU6NTggKzA4MDAKU3ViamVjdDogW1BBVENIXSAy
MDEwLTA5LTA2ICBMZW8gWWFuZyAgPGxlby55YW5nQHRvcmNobW9iaWxlLmNvbS5jbj4KCiAgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKICAgICAgICAgSW1hZ2VMb2FkZXIgd2ls
bCB1cGRhdGUgcmVuZGVyZXIgZXZlbiBpZiB0aGUgcmVuZGVyZXIncyBpbWFnZSBpcwogICAgICAg
ICBnZW5lcmF0ZWQgY29udGVudC4gVGhpcyBpcyB3cm9uZyBiZWNhdXNlIGlmIGFuIGltYWdlIGVs
ZW1lbnQKICAgICAgICAgd2l0aCBzcmMgYXR0cmlidXRlIGFuZCBzdHlsZT0iY29udGVudDogdXJs
KC4uLikiIGF0dHJpYnV0ZSB0aGUKICAgICAgICAgc3JjIGltYWdlIG1pZ2h0IG92ZXJyaWRlIGNv
bnRlbnQgaW1hZ2UuIFRoZSBjb3JyZWN0IGJlaGF2aW9yIGlzCiAgICAgICAgIHNob3dpbmcgY29u
dGVudCBpbWFnZS4gU28gZG9uJ3QgdXBkYXRlIHJlbmRlcmVyIHdoZW4gaW1hZ2UgcmVuZGVyZXIK
ICAgICAgICAgaGFzIGdlbmVyYXRlZCBjb250ZW50LgoKICAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQyODQwCgogICAgICAgICBUZXN0OiBmYXN0L2ltYWdl
cy9pbWFnZS1jc3MzLWNvbnRlbnQtZGF0YS5odG1sCgogICAgICAgICAqIGxvYWRlci9JbWFnZUxv
YWRlci5jcHA6CiAgICAgICAgIChXZWJDb3JlOjpJbWFnZUxvYWRlcjo6dXBkYXRlUmVuZGVyZXIp
OgogICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJJbWFnZVJlc291cmNlLmNwcDoKICAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckltYWdlUmVzb3VyY2U6OlJlbmRlckltYWdlUmVzb3VyY2UpOgogICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJJbWFnZVJlc291cmNlLmg6CiAgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJJbWFnZVJlc291cmNlOjpjcmVhdGUpOgogICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
SW1hZ2VSZXNvdXJjZTo6aXNHZW5lcmF0ZWQpOgogICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJJ
bWFnZVJlc291cmNlU3R5bGVJbWFnZS5jcHA6CiAgICAgICAgIChXZWJDb3JlOjpSZW5kZXJJbWFn
ZVJlc291cmNlU3R5bGVJbWFnZTo6UmVuZGVySW1hZ2VSZXNvdXJjZVN0eWxlSW1hZ2UpOgogICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJJbWFnZVJlc291cmNlU3R5bGVJbWFnZS5oOgogICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVySW1hZ2VSZXNvdXJjZVN0eWxlSW1hZ2U6OmNyZWF0ZSk6CiAgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHA6CiAgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJPYmplY3Q6OmNyZWF0ZU9iamVjdCk6Ci0tLQogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDEyICsrKysrKysrCiAuLi4vaW1hZ2VzL2ltYWdl
LWNzczMtY29udGVudC1kYXRhLWV4cGVjdGVkLnR4dCAgICB8ICAgIDcgKysrKysKIC4uLi9mYXN0
L2ltYWdlcy9pbWFnZS1jc3MzLWNvbnRlbnQtZGF0YS5odG1sICAgICAgIHwgICAgNSArKysKIExh
eW91dFRlc3RzL2Zhc3QvaW1hZ2VzL3Jlc291cmNlcy9ncmVlbi0yNHgyNC5qcGcgIHwgIEJpbiAw
IC0+IDY0NSBieXRlcwogV2ViQ29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgfCAgIDI5ICsrKysrKysrKysrKysrKysrKysrCiBXZWJDb3JlL2xvYWRlci9JbWFn
ZUxvYWRlci5jcHAgICAgICAgICAgICAgICAgICAgICB8ICAgIDIgKy0KIFdlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckltYWdlUmVzb3VyY2UuY3BwICAgICAgICAgIHwgICAgMyArLQogV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVySW1hZ2VSZXNvdXJjZS5oICAgICAgICAgICAgfCAgICA5ICsrKystLQog
Li4uL3JlbmRlcmluZy9SZW5kZXJJbWFnZVJlc291cmNlU3R5bGVJbWFnZS5jcHAgICAgfCAgICA1
ICsrLQogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2VSZXNvdXJjZVN0eWxlSW1hZ2UuaCAg
fCAgICA2ICsrLS0KIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAgICAgICAgICAg
ICAgICAgIHwgICAgNCArLQogMTEgZmlsZXMgY2hhbmdlZCwgNzAgaW5zZXJ0aW9ucygrKSwgMTIg
ZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMv
aW1hZ2UtY3NzMy1jb250ZW50LWRhdGEtZXhwZWN0ZWQudHh0CiBjcmVhdGUgbW9kZSAxMDA2NDQg
TGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvaW1hZ2UtY3NzMy1jb250ZW50LWRhdGEuaHRtbAogY3Jl
YXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL3Jlc291cmNlcy9ncmVlbi0y
NHgyNC5qcGcKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKaW5kZXggY2I5NGMwMi4uMTJjMTE5NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBA
CisyMDEwLTA5LTA2ICBMZW8gWWFuZyAgPGxlby55YW5nQHRvcmNobW9iaWxlLmNvbS5jbj4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0IGNhc2Ug
Y29udGFpbnMgaW1hZ2UgZWxlbWVudCB3aXRoIHNyYyBhdHRyaWJ1dGUgYW5kCisgICAgICAgICJj
b250ZW50OiB1cmwoLi4uKSIgc3R5bGUgYXR0cmlidXRlLgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDI4NDAgCisKKyAgICAgICAgKiBmYXN0L2ltYWdl
cy9pbWFnZS1jc3MzLWNvbnRlbnQtZGF0YS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvaW1hZ2VzL2ltYWdlLWNzczMtY29udGVudC1kYXRhLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGZhc3QvaW1hZ2VzL3Jlc291cmNlcy9ncmVlbi0yNHgyNC5qcGc6IEFkZGVkLgorCiAyMDEw
LTA5LTA1ICBLZW50IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJl
dmlld2VkLCB0ZXN0IGV4cGVjdGF0aW9uIHVwZGF0ZS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvaW1hZ2VzL2ltYWdlLWNzczMtY29udGVudC1kYXRhLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2Zhc3QvaW1hZ2VzL2ltYWdlLWNzczMtY29udGVudC1kYXRhLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNjgyYTkwCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvaW1hZ2UtY3NzMy1jb250ZW50LWRhdGEtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsNyBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisg
IFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDgw
MHg2MDAKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDYwMAorICAgIFJl
bmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU4NAorICAgICAgUmVuZGVySW1hZ2Ug
e0lNR30gYXQgKDAsMCkgc2l6ZSAyNHgyNAorICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgw
LDApIHNpemUgMHgwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9pbWFnZS1j
c3MzLWNvbnRlbnQtZGF0YS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvaW1hZ2UtY3Nz
My1jb250ZW50LWRhdGEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5h
YTA4ZTViCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvaW1hZ2Ut
Y3NzMy1jb250ZW50LWRhdGEuaHRtbApAQCAtMCwwICsxLDUgQEAKKzxodG1sPgorPGJvZHk+Cis8
aW1hZ2UgaWQgPSJpbWFnZSIgc3JjPSJyZXNvdXJjZXMvZ3JlZW4uanBnIiBzdHlsZT0iY29udGVu
dDogdXJsKHJlc291cmNlcy9ncmVlbi0yNHgyNC5qcGcpIi8+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9yZXNvdXJjZXMvZ3JlZW4tMjR4MjQu
anBnIGIvTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvcmVzb3VyY2VzL2dyZWVuLTI0eDI0LmpwZwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi42NmE2ZDVlY2MxYzFiZmQ0MmNhZDExYTE5NWIyMzdkNjViNjc1OTk1CkdJVCBi
aW5hcnkgcGF0Y2gKbGl0ZXJhbCA2NDUKemNtZXg9PE5wSCYwV1VYQ0h3SCNWTXVyMytXY1l1WiFJ
Xj1Camc2ZyttNGxzfm9zKk07aSR7YylobnQmNlFiP0Z6CnpMez5eKFBGNn1yTW5PZVNUfHI0bFN3
PT5+VHZOeHUoOFI8PFVmdDV4IXBLST8qdSk1QTJxUHlhQ2w1RHwxVFV8SQp6ayluKkU1eXt+SDBS
fS0xMV89ZlVXPTE2akNQN0FLTEJ7X183fn5sazcrSGE/MXZ3WkI3QDMkXlNsUVMpSUp2bGkKejNi
cU9gRmZsU1NHcUV0VXZhK3hNUm80Ukw4Q1YyYWcla31QKkBPY1YqXzhAS2oyYjV7PFdQM25jdStM
eDtzK0p1CnpxQHBISEUtYFRsTmh3dHxicSE0fDZIX3lEM3JqMCE3Z3NsVDReT1kpa2tHTDNoeyZr
cWwrPzhKakxmWCFsRzN2Qgp6aXByfHltZSNpUmo/UykwbGMhOWJIaHNwLVMmSjRnUy1OY2Jpan1L
MlpRaW5WK3g4dGhjTzUhPjxtaj5FQ3IrTmEKemJvdDhGWXU5aHd5IUcoVzwwbnNfSiU5MT8peUdl
dHprTDFue20wSz1BYiZBM0ZoamZyX1pnYk0xY0NseVZxc3hzCnpWRiZxKGsqT1NybkZVIWA2JUU7
aDkwUz1DM3gkPTg4YVlJcUNOQTd+a1c8Kz49ITBsZChNMnZYNl9iYW1BMzxJTgp1YDswaGBISWR+
cnhXXkZ3eTJaZjUlbXxEO1c8ZHNmaEhIenV2X0N0NFZwIUNyMG1JRHladnBeI0FrPDAjCgpsaXRl
cmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNv
cmUvQ2hhbmdlTG9nCmluZGV4IGY3M2ViY2UuLmQzNjQxODcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
Q2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzIgQEAKKzIwMTAt
MDktMDYgIExlbyBZYW5nICA8bGVvLnlhbmdAdG9yY2htb2JpbGUuY29tLmNuPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltYWdlTG9hZGVyIHdpbGwg
dXBkYXRlIHJlbmRlcmVyIGV2ZW4gaWYgdGhlIHJlbmRlcmVyJ3MgaW1hZ2UgaXMgCisgICAgICAg
IGdlbmVyYXRlZCBjb250ZW50LiBUaGlzIGlzIHdyb25nIGJlY2F1c2UgaWYgYW4gaW1hZ2UgZWxl
bWVudAorICAgICAgICB3aXRoIHNyYyBhdHRyaWJ1dGUgYW5kIHN0eWxlPSJjb250ZW50OiB1cmwo
Li4uKSIgYXR0cmlidXRlIHRoZQorICAgICAgICBzcmMgaW1hZ2UgbWlnaHQgb3ZlcnJpZGUgY29u
dGVudCBpbWFnZS4gVGhlIGNvcnJlY3QgYmVoYXZpb3IgaXMKKyAgICAgICAgc2hvd2luZyBjb250
ZW50IGltYWdlLiBTbyBkb24ndCB1cGRhdGUgcmVuZGVyZXIgd2hlbiBpbWFnZSByZW5kZXJlciAK
KyAgICAgICAgaGFzIGdlbmVyYXRlZCBjb250ZW50LgorICAgICAgICAKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQyODQwIAorCisgICAgICAgIFRlc3Q6
IGZhc3QvaW1hZ2VzL2ltYWdlLWNzczMtY29udGVudC1kYXRhLmh0bWwKKworICAgICAgICAqIGxv
YWRlci9JbWFnZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZUxvYWRlcjo6dXBk
YXRlUmVuZGVyZXIpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJJbWFnZVJlc291cmNlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckltYWdlUmVzb3VyY2U6OlJlbmRlckltYWdlUmVz
b3VyY2UpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJJbWFnZVJlc291cmNlLmg6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJJbWFnZVJlc291cmNlOjpjcmVhdGUpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVySW1hZ2VSZXNvdXJjZTo6aXNHZW5lcmF0ZWQpOgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJJbWFnZVJlc291cmNlU3R5bGVJbWFnZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJJbWFnZVJlc291cmNlU3R5bGVJbWFnZTo6UmVuZGVySW1hZ2VSZXNvdXJjZVN0eWxl
SW1hZ2UpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJJbWFnZVJlc291cmNlU3R5bGVJbWFn
ZS5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVySW1hZ2VSZXNvdXJjZVN0eWxlSW1hZ2U6OmNy
ZWF0ZSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJPYmplY3Q6OmNyZWF0ZU9iamVjdCk6CisKIDIwMTAtMDktMDUgIEplcmVt
eSBPcmxvdyAgPGpvcmxvd0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTmF0
ZSBDaGFwaW4uCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAgYi9X
ZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAKaW5kZXggMjQyYmY5NC4uNjAwNGM5ZSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3BwCisrKyBiL1dlYkNvcmUvbG9h
ZGVyL0ltYWdlTG9hZGVyLmNwcApAQCAtMjUxLDcgKzI1MSw3IEBAIHZvaWQgSW1hZ2VMb2FkZXI6
OnVwZGF0ZVJlbmRlcmVyKCkKIHsKICAgICBSZW5kZXJJbWFnZVJlc291cmNlKiBpbWFnZVJlc291
cmNlID0gcmVuZGVySW1hZ2VSZXNvdXJjZSgpOwogCi0gICAgaWYgKCFpbWFnZVJlc291cmNlKQor
ICAgIGlmICghaW1hZ2VSZXNvdXJjZSB8fCBpbWFnZVJlc291cmNlLT5pc0dlbmVyYXRlZCgpKQog
ICAgICAgICByZXR1cm47CiAKICAgICAvLyBPbmx5IHVwZGF0ZSB0aGUgcmVuZGVyZXIgaWYgaXQg
ZG9lc24ndCBoYXZlIGFuIGltYWdlIG9yIGlmIHdoYXQgd2UgaGF2ZQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2VSZXNvdXJjZS5jcHAgYi9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJJbWFnZVJlc291cmNlLmNwcAppbmRleCBlYTNlZDJmLi4zMzQ1NGQ1IDEwMDY0NAot
LS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZVJlc291cmNlLmNwcAorKysgYi9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZVJlc291cmNlLmNwcApAQCAtMzMsOSArMzMsMTAgQEAK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1SZW5kZXJJbWFnZVJlc291cmNlOjpSZW5kZXJJbWFn
ZVJlc291cmNlKCkKK1JlbmRlckltYWdlUmVzb3VyY2U6OlJlbmRlckltYWdlUmVzb3VyY2UoYm9v
bCBpc0dlbmVyYXRlZCkKICAgICA6IG1fcmVuZGVyZXIoMCkKICAgICAsIG1fY2FjaGVkSW1hZ2Uo
MCkKKyAgICAsIG1faXNHZW5lcmF0ZWQoaXNHZW5lcmF0ZWQpCiB7CiB9CiAKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlUmVzb3VyY2UuaCBiL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckltYWdlUmVzb3VyY2UuaAppbmRleCAyMzQ2NzEyLi5mNzAxNDJkIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZVJlc291cmNlLmgKKysrIGIvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2VSZXNvdXJjZS5oCkBAIC0zOSw5ICszOSw5IEBAIGNsYXNz
IFJlbmRlckltYWdlUmVzb3VyY2UgOiBwdWJsaWMgTm9uY29weWFibGUgewogcHVibGljOgogICAg
IHZpcnR1YWwgflJlbmRlckltYWdlUmVzb3VyY2UoKTsKIAotICAgIHN0YXRpYyBQYXNzT3duUHRy
PFJlbmRlckltYWdlUmVzb3VyY2U+IGNyZWF0ZSgpCisgICAgc3RhdGljIFBhc3NPd25QdHI8UmVu
ZGVySW1hZ2VSZXNvdXJjZT4gY3JlYXRlKGJvb2wgaXNHZW5lcmF0ZWQgPSBmYWxzZSkKICAgICB7
Ci0gICAgICAgIHJldHVybiBhZG9wdFB0cihuZXcgUmVuZGVySW1hZ2VSZXNvdXJjZSk7CisgICAg
ICAgIHJldHVybiBhZG9wdFB0cihuZXcgUmVuZGVySW1hZ2VSZXNvdXJjZShpc0dlbmVyYXRlZCkp
OwogICAgIH0KIAogICAgIHZpcnR1YWwgdm9pZCBpbml0aWFsaXplKFJlbmRlck9iamVjdCopOwpA
QCAtNjUsMTAgKzY1LDEzIEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgV3JhcHBlZEltYWdlUHRy
IGltYWdlUHRyKCkgY29uc3QgeyByZXR1cm4gbV9jYWNoZWRJbWFnZS5nZXQoKTsgfQogCisgICAg
Ym9vbCBpc0dlbmVyYXRlZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNHZW5lcmF0ZWQ7IH0KKwogcHJv
dGVjdGVkOgotICAgIFJlbmRlckltYWdlUmVzb3VyY2UoKTsKKyAgICBSZW5kZXJJbWFnZVJlc291
cmNlKGJvb2wgaXNHZW5lcmF0ZWQpOwogICAgIFJlbmRlck9iamVjdCogbV9yZW5kZXJlcjsKICAg
ICBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRJbWFnZT4gbV9jYWNoZWRJbWFnZTsKKyAgICBi
b29sIG1faXNHZW5lcmF0ZWQ7CiAKIHByaXZhdGU6CiAgICAgc3RhdGljIEltYWdlKiBudWxsSW1h
Z2UoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlUmVzb3VyY2VT
dHlsZUltYWdlLmNwcCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlUmVzb3VyY2VTdHls
ZUltYWdlLmNwcAppbmRleCA3ZjQxOTg0Li4yNTU4ZTMwIDEwMDY0NAotLS0gYS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJJbWFnZVJlc291cmNlU3R5bGVJbWFnZS5jcHAKKysrIGIvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVySW1hZ2VSZXNvdXJjZVN0eWxlSW1hZ2UuY3BwCkBAIC0zMyw4ICszMyw5
IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotUmVuZGVySW1hZ2VSZXNvdXJjZVN0eWxlSW1h
Z2U6OlJlbmRlckltYWdlUmVzb3VyY2VTdHlsZUltYWdlKFN0eWxlSW1hZ2UqIHN0eWxlSW1hZ2Up
Ci0gICAgOiBtX3N0eWxlSW1hZ2Uoc3R5bGVJbWFnZSkKK1JlbmRlckltYWdlUmVzb3VyY2VTdHls
ZUltYWdlOjpSZW5kZXJJbWFnZVJlc291cmNlU3R5bGVJbWFnZShTdHlsZUltYWdlKiBzdHlsZUlt
YWdlLCBib29sIGlzR2VuZXJhdGVkKQorICAgIDogUmVuZGVySW1hZ2VSZXNvdXJjZShpc0dlbmVy
YXRlZCkKKyAgICAsIG1fc3R5bGVJbWFnZShzdHlsZUltYWdlKQogewogICAgIEFTU0VSVChtX3N0
eWxlSW1hZ2UpOwogfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2VS
ZXNvdXJjZVN0eWxlSW1hZ2UuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlUmVzb3Vy
Y2VTdHlsZUltYWdlLmgKaW5kZXggZDkxYWFhOC4uZWYyNjgyNCAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2VSZXNvdXJjZVN0eWxlSW1hZ2UuaAorKysgYi9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJJbWFnZVJlc291cmNlU3R5bGVJbWFnZS5oCkBAIC0zOCw5ICszOCw5
IEBAIGNsYXNzIFJlbmRlckltYWdlUmVzb3VyY2VTdHlsZUltYWdlIDogcHVibGljIFJlbmRlcklt
YWdlUmVzb3VyY2UgewogcHVibGljOgogICAgIHZpcnR1YWwgflJlbmRlckltYWdlUmVzb3VyY2VT
dHlsZUltYWdlKCk7CiAKLSAgICBzdGF0aWMgUGFzc093blB0cjxSZW5kZXJJbWFnZVJlc291cmNl
PiBjcmVhdGUoU3R5bGVJbWFnZSogc3R5bGVJbWFnZSkKKyAgICBzdGF0aWMgUGFzc093blB0cjxS
ZW5kZXJJbWFnZVJlc291cmNlPiBjcmVhdGUoU3R5bGVJbWFnZSogc3R5bGVJbWFnZSwgYm9vbCBp
c0dlbmVyYXRlZCA9IGZhbHNlKQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBS
ZW5kZXJJbWFnZVJlc291cmNlU3R5bGVJbWFnZShzdHlsZUltYWdlKSk7CisgICAgICAgIHJldHVy
biBhZG9wdFB0cihuZXcgUmVuZGVySW1hZ2VSZXNvdXJjZVN0eWxlSW1hZ2Uoc3R5bGVJbWFnZSwg
aXNHZW5lcmF0ZWQpKTsKICAgICB9CiAgICAgdmlydHVhbCB2b2lkIGluaXRpYWxpemUoUmVuZGVy
T2JqZWN0Kik7CiAgICAgdmlydHVhbCB2b2lkIHNodXRkb3duKCk7CkBAIC01OSw3ICs1OSw3IEBA
IHB1YmxpYzoKICAgICB2aXJ0dWFsIFdyYXBwZWRJbWFnZVB0ciBpbWFnZVB0cigpIGNvbnN0IHsg
cmV0dXJuIG1fc3R5bGVJbWFnZS0+ZGF0YSgpOyB9CiAKIHByaXZhdGU6Ci0gICAgUmVuZGVySW1h
Z2VSZXNvdXJjZVN0eWxlSW1hZ2UoU3R5bGVJbWFnZSopOworICAgIFJlbmRlckltYWdlUmVzb3Vy
Y2VTdHlsZUltYWdlKFN0eWxlSW1hZ2UqLCBib29sKTsKICAgICBSZWZQdHI8U3R5bGVJbWFnZT4g
bV9zdHlsZUltYWdlOwogfTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
T2JqZWN0LmNwcCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKaW5kZXggZTIw
MGZmOS4uMTU0NzgyMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0
LmNwcAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCkBAIC0xMTEsOSAr
MTExLDkgQEAgUmVuZGVyT2JqZWN0KiBSZW5kZXJPYmplY3Q6OmNyZWF0ZU9iamVjdChOb2RlKiBu
b2RlLCBSZW5kZXJTdHlsZSogc3R5bGUpCiAgICAgICAgIFJlbmRlckltYWdlKiBpbWFnZSA9IG5l
dyAoYXJlbmEpIFJlbmRlckltYWdlKG5vZGUpOwogICAgICAgICBpbWFnZS0+c2V0U3R5bGUoc3R5
bGUpOwogICAgICAgICBpZiAoU3R5bGVJbWFnZSogc3R5bGVJbWFnZSA9IGNvbnRlbnREYXRhLT5p
bWFnZSgpKQotICAgICAgICAgICAgaW1hZ2UtPnNldEltYWdlUmVzb3VyY2UoUmVuZGVySW1hZ2VS
ZXNvdXJjZVN0eWxlSW1hZ2U6OmNyZWF0ZShzdHlsZUltYWdlKSk7CisgICAgICAgICAgICBpbWFn
ZS0+c2V0SW1hZ2VSZXNvdXJjZShSZW5kZXJJbWFnZVJlc291cmNlU3R5bGVJbWFnZTo6Y3JlYXRl
KHN0eWxlSW1hZ2UsIHRydWUpKTsKICAgICAgICAgZWxzZQotICAgICAgICAgICAgaW1hZ2UtPnNl
dEltYWdlUmVzb3VyY2UoUmVuZGVySW1hZ2VSZXNvdXJjZTo6Y3JlYXRlKCkpOworICAgICAgICAg
ICAgaW1hZ2UtPnNldEltYWdlUmVzb3VyY2UoUmVuZGVySW1hZ2VSZXNvdXJjZTo6Y3JlYXRlKHRy
dWUpKTsKICAgICAgICAgcmV0dXJuIGltYWdlOwogICAgIH0KIAotLSAKMS42LjAuNAoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>66682</attachid>
            <date>2010-09-06 21:03:05 -0700</date>
            <delta_ts>2010-12-23 21:52:21 -0800</delta_ts>
            <desc>Removed extra space from change log</desc>
            <filename>0001-2010-09-06-Leo-Yang-leo.yang-torchmobile.com.cn.patch</filename>
            <type>text/plain</type>
            <size>11040</size>
            <attacher name="Leo Yang">leo.yang</attacher>
            
              <data encoding="base64">RnJvbSA1OGJhYjc1YWQwOTFiNWE5MDA0ODkzMGUwOTY5MjUwNjdmZDcyMWVkIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBMZW8gWWFuZyA8bGVvLnlhbmdAdG9yY2htb2JpbGUuY29tLmNu
PgpEYXRlOiBUdWUsIDcgU2VwIDIwMTAgMTE6MjU6NTggKzA4MDAKU3ViamVjdDogW1BBVENIXSAy
MDEwLTA5LTA2ICBMZW8gWWFuZyAgPGxlby55YW5nQHRvcmNobW9iaWxlLmNvbS5jbj4KCiAgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKICAgICAgICAgSW1hZ2VMb2FkZXIgd2ls
bCB1cGRhdGUgcmVuZGVyZXIgZXZlbiBpZiB0aGUgcmVuZGVyZXIncyBpbWFnZSBpcwogICAgICAg
ICBnZW5lcmF0ZWQgY29udGVudC4gVGhpcyBpcyB3cm9uZyBiZWNhdXNlIGlmIGFuIGltYWdlIGVs
ZW1lbnQKICAgICAgICAgd2l0aCBzcmMgYXR0cmlidXRlIGFuZCBzdHlsZT0iY29udGVudDogdXJs
KC4uLikiIGF0dHJpYnV0ZSB0aGUKICAgICAgICAgc3JjIGltYWdlIG1pZ2h0IG92ZXJyaWRlIGNv
bnRlbnQgaW1hZ2UuIFRoZSBjb3JyZWN0IGJlaGF2aW9yIGlzCiAgICAgICAgIHNob3dpbmcgY29u
dGVudCBpbWFnZS4gU28gZG9uJ3QgdXBkYXRlIHJlbmRlcmVyIHdoZW4gaW1hZ2UgcmVuZGVyZXIK
ICAgICAgICAgaGFzIGdlbmVyYXRlZCBjb250ZW50LgoKICAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQyODQwCgogICAgICAgICBUZXN0OiBmYXN0L2ltYWdl
cy9pbWFnZS1jc3MzLWNvbnRlbnQtZGF0YS5odG1sCgogICAgICAgICAqIGxvYWRlci9JbWFnZUxv
YWRlci5jcHA6CiAgICAgICAgIChXZWJDb3JlOjpJbWFnZUxvYWRlcjo6dXBkYXRlUmVuZGVyZXIp
OgogICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJJbWFnZVJlc291cmNlLmNwcDoKICAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckltYWdlUmVzb3VyY2U6OlJlbmRlckltYWdlUmVzb3VyY2UpOgogICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJJbWFnZVJlc291cmNlLmg6CiAgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJJbWFnZVJlc291cmNlOjpjcmVhdGUpOgogICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
SW1hZ2VSZXNvdXJjZTo6aXNHZW5lcmF0ZWQpOgogICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJJ
bWFnZVJlc291cmNlU3R5bGVJbWFnZS5jcHA6CiAgICAgICAgIChXZWJDb3JlOjpSZW5kZXJJbWFn
ZVJlc291cmNlU3R5bGVJbWFnZTo6UmVuZGVySW1hZ2VSZXNvdXJjZVN0eWxlSW1hZ2UpOgogICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJJbWFnZVJlc291cmNlU3R5bGVJbWFnZS5oOgogICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVySW1hZ2VSZXNvdXJjZVN0eWxlSW1hZ2U6OmNyZWF0ZSk6CiAgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHA6CiAgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJPYmplY3Q6OmNyZWF0ZU9iamVjdCk6Ci0tLQogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDEyICsrKysrKysrCiAuLi4vaW1hZ2VzL2ltYWdl
LWNzczMtY29udGVudC1kYXRhLWV4cGVjdGVkLnR4dCAgICB8ICAgIDcgKysrKysKIC4uLi9mYXN0
L2ltYWdlcy9pbWFnZS1jc3MzLWNvbnRlbnQtZGF0YS5odG1sICAgICAgIHwgICAgNSArKysKIExh
eW91dFRlc3RzL2Zhc3QvaW1hZ2VzL3Jlc291cmNlcy9ncmVlbi0yNHgyNC5qcGcgIHwgIEJpbiAw
IC0+IDY0NSBieXRlcwogV2ViQ29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgfCAgIDI5ICsrKysrKysrKysrKysrKysrKysrCiBXZWJDb3JlL2xvYWRlci9JbWFn
ZUxvYWRlci5jcHAgICAgICAgICAgICAgICAgICAgICB8ICAgIDIgKy0KIFdlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckltYWdlUmVzb3VyY2UuY3BwICAgICAgICAgIHwgICAgMyArLQogV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVySW1hZ2VSZXNvdXJjZS5oICAgICAgICAgICAgfCAgICA5ICsrKystLQog
Li4uL3JlbmRlcmluZy9SZW5kZXJJbWFnZVJlc291cmNlU3R5bGVJbWFnZS5jcHAgICAgfCAgICA1
ICsrLQogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2VSZXNvdXJjZVN0eWxlSW1hZ2UuaCAg
fCAgICA2ICsrLS0KIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAgICAgICAgICAg
ICAgICAgIHwgICAgNCArLQogMTEgZmlsZXMgY2hhbmdlZCwgNzAgaW5zZXJ0aW9ucygrKSwgMTIg
ZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMv
aW1hZ2UtY3NzMy1jb250ZW50LWRhdGEtZXhwZWN0ZWQudHh0CiBjcmVhdGUgbW9kZSAxMDA2NDQg
TGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvaW1hZ2UtY3NzMy1jb250ZW50LWRhdGEuaHRtbAogY3Jl
YXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL3Jlc291cmNlcy9ncmVlbi0y
NHgyNC5qcGcKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKaW5kZXggY2I5NGMwMi4uMzA5YjJlNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBA
CisyMDEwLTA5LTA2ICBMZW8gWWFuZyAgPGxlby55YW5nQHRvcmNobW9iaWxlLmNvbS5jbj4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0IGNhc2Ug
Y29udGFpbnMgaW1hZ2UgZWxlbWVudCB3aXRoIHNyYyBhdHRyaWJ1dGUgYW5kCisgICAgICAgICJj
b250ZW50OiB1cmwoLi4uKSIgc3R5bGUgYXR0cmlidXRlLgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDI4NDAKKworICAgICAgICAqIGZhc3QvaW1hZ2Vz
L2ltYWdlLWNzczMtY29udGVudC1kYXRhLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZmFzdC9pbWFnZXMvaW1hZ2UtY3NzMy1jb250ZW50LWRhdGEuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZmFzdC9pbWFnZXMvcmVzb3VyY2VzL2dyZWVuLTI0eDI0LmpwZzogQWRkZWQuCisKIDIwMTAt
MDktMDUgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2
aWV3ZWQsIHRlc3QgZXhwZWN0YXRpb24gdXBkYXRlLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9pbWFnZXMvaW1hZ2UtY3NzMy1jb250ZW50LWRhdGEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZmFzdC9pbWFnZXMvaW1hZ2UtY3NzMy1jb250ZW50LWRhdGEtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY2ODJhOTAKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9pbWFnZS1jc3MzLWNvbnRlbnQtZGF0YS1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSw3IEBACitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAg
UmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgwLDApIHNpemUgODAw
eDYwMAorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgICAgUmVu
ZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTg0CisgICAgICBSZW5kZXJJbWFnZSB7
SU1HfSBhdCAoMCwwKSBzaXplIDI0eDI0CisgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAs
MCkgc2l6ZSAweDAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL2ltYWdlLWNz
czMtY29udGVudC1kYXRhLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9pbWFnZS1jc3Mz
LWNvbnRlbnQtZGF0YS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFh
MDhlNWIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9pbWFnZS1j
c3MzLWNvbnRlbnQtZGF0YS5odG1sCkBAIC0wLDAgKzEsNSBAQAorPGh0bWw+Cis8Ym9keT4KKzxp
bWFnZSBpZCA9ImltYWdlIiBzcmM9InJlc291cmNlcy9ncmVlbi5qcGciIHN0eWxlPSJjb250ZW50
OiB1cmwocmVzb3VyY2VzL2dyZWVuLTI0eDI0LmpwZykiLz4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL3Jlc291cmNlcy9ncmVlbi0yNHgyNC5q
cGcgYi9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9yZXNvdXJjZXMvZ3JlZW4tMjR4MjQuanBnCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY2YTZkNWVjYzFjMWJmZDQyY2FkMTFhMTk1YjIzN2Q2NWI2NzU5OTUKR0lUIGJp
bmFyeSBwYXRjaApsaXRlcmFsIDY0NQp6Y21leD08TnBIJjBXVVhDSHdII1ZNdXIzK1djWXVaIUle
PUJqZzZnK200bHN+b3MqTTtpJHtjKWhudCY2UWI/RnoKekx7Pl4oUEY2fXJNbk9lU1R8cjRsU3c9
Pn5Udk54dSg4Ujw8VWZ0NXghcEtJPyp1KTVBMnFQeWFDbDVEfDFUVXxJCnprKW4qRTV5e35IMFJ9
LTExXz1mVVc9MTZqQ1A3QUtMQntfXzd+fmxrNytIYT8xdndaQjdAMyReU2xRUylJSnZsaQp6M2Jx
T2BGZmxTU0dxRXRVdmEreE1SbzRSTDhDVjJhZyVrfVAqQE9jVipfOEBLajJiNXs8V1AzbmN1K0x4
O3MrSnUKenFAcEhIRS1gVGxOaHd0fGJxITR8NkhfeUQzcmowITdnc2xUNF5PWSlra0dMM2h7Jmtx
bCs/OEpqTGZYIWxHM3ZCCnppcHJ8eW1lI2lSaj9TKTBsYyE5Ykhoc3AtUyZKNGdTLU5jYmlqfUsy
WlFpblYreDh0aGNPNSE+PG1qPkVDcitOYQp6Ym90OEZZdTlod3khRyhXPDBuc19KJTkxPyl5R2V0
emtMMW57bTBLPUFiJkEzRmhqZnJfWmdiTTFjQ2x5VnFzeHMKelZGJnEoaypPU3JuRlUhYDYlRTto
OTBTPUMzeCQ9ODhhWUlxQ05BN35rVzwrPj0hMGxkKE0ydlg2X2JhbUEzPElOCnVgOzBoYEhJZH5y
eFdeRnd5MlpmNSVtfEQ7Vzxkc2ZoSEh6dXZfQ3Q0VnAhQ3IwbUlEeVp2cF4jQWs8MCMKCmxpdGVy
YWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29y
ZS9DaGFuZ2VMb2cKaW5kZXggZjczZWJjZS4uZmNmYTVhMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9D
aGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMiBAQAorMjAxMC0w
OS0wNiAgTGVvIFlhbmcgIDxsZW8ueWFuZ0B0b3JjaG1vYmlsZS5jb20uY24+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1hZ2VMb2FkZXIgd2lsbCB1
cGRhdGUgcmVuZGVyZXIgZXZlbiBpZiB0aGUgcmVuZGVyZXIncyBpbWFnZSBpcworICAgICAgICBn
ZW5lcmF0ZWQgY29udGVudC4gVGhpcyBpcyB3cm9uZyBiZWNhdXNlIGlmIGFuIGltYWdlIGVsZW1l
bnQKKyAgICAgICAgd2l0aCBzcmMgYXR0cmlidXRlIGFuZCBzdHlsZT0iY29udGVudDogdXJsKC4u
LikiIGF0dHJpYnV0ZSB0aGUKKyAgICAgICAgc3JjIGltYWdlIG1pZ2h0IG92ZXJyaWRlIGNvbnRl
bnQgaW1hZ2UuIFRoZSBjb3JyZWN0IGJlaGF2aW9yIGlzCisgICAgICAgIHNob3dpbmcgY29udGVu
dCBpbWFnZS4gU28gZG9uJ3QgdXBkYXRlIHJlbmRlcmVyIHdoZW4gaW1hZ2UgcmVuZGVyZXIKKyAg
ICAgICAgaGFzIGdlbmVyYXRlZCBjb250ZW50LgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD00Mjg0MAorCisgICAgICAgIFRlc3Q6IGZhc3QvaW1hZ2Vz
L2ltYWdlLWNzczMtY29udGVudC1kYXRhLmh0bWwKKworICAgICAgICAqIGxvYWRlci9JbWFnZUxv
YWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZUxvYWRlcjo6dXBkYXRlUmVuZGVyZXIp
OgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJJbWFnZVJlc291cmNlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckltYWdlUmVzb3VyY2U6OlJlbmRlckltYWdlUmVzb3VyY2UpOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJJbWFnZVJlc291cmNlLmg6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJJbWFnZVJlc291cmNlOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
SW1hZ2VSZXNvdXJjZTo6aXNHZW5lcmF0ZWQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJJ
bWFnZVJlc291cmNlU3R5bGVJbWFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJJbWFn
ZVJlc291cmNlU3R5bGVJbWFnZTo6UmVuZGVySW1hZ2VSZXNvdXJjZVN0eWxlSW1hZ2UpOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJJbWFnZVJlc291cmNlU3R5bGVJbWFnZS5oOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVySW1hZ2VSZXNvdXJjZVN0eWxlSW1hZ2U6OmNyZWF0ZSk6CisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJPYmplY3Q6OmNyZWF0ZU9iamVjdCk6CisKIDIwMTAtMDktMDUgIEplcmVteSBPcmxvdyAgPGpv
cmxvd0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTmF0ZSBDaGFwaW4uCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAgYi9XZWJDb3JlL2xvYWRl
ci9JbWFnZUxvYWRlci5jcHAKaW5kZXggMjQyYmY5NC4uNjAwNGM5ZSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3BwCisrKyBiL1dlYkNvcmUvbG9hZGVyL0ltYWdlTG9h
ZGVyLmNwcApAQCAtMjUxLDcgKzI1MSw3IEBAIHZvaWQgSW1hZ2VMb2FkZXI6OnVwZGF0ZVJlbmRl
cmVyKCkKIHsKICAgICBSZW5kZXJJbWFnZVJlc291cmNlKiBpbWFnZVJlc291cmNlID0gcmVuZGVy
SW1hZ2VSZXNvdXJjZSgpOwogCi0gICAgaWYgKCFpbWFnZVJlc291cmNlKQorICAgIGlmICghaW1h
Z2VSZXNvdXJjZSB8fCBpbWFnZVJlc291cmNlLT5pc0dlbmVyYXRlZCgpKQogICAgICAgICByZXR1
cm47CiAKICAgICAvLyBPbmx5IHVwZGF0ZSB0aGUgcmVuZGVyZXIgaWYgaXQgZG9lc24ndCBoYXZl
IGFuIGltYWdlIG9yIGlmIHdoYXQgd2UgaGF2ZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVySW1hZ2VSZXNvdXJjZS5jcHAgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFn
ZVJlc291cmNlLmNwcAppbmRleCBlYTNlZDJmLi4zMzQ1NGQ1IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJJbWFnZVJlc291cmNlLmNwcAorKysgYi9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJJbWFnZVJlc291cmNlLmNwcApAQCAtMzMsOSArMzMsMTAgQEAKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCi1SZW5kZXJJbWFnZVJlc291cmNlOjpSZW5kZXJJbWFnZVJlc291cmNlKCkK
K1JlbmRlckltYWdlUmVzb3VyY2U6OlJlbmRlckltYWdlUmVzb3VyY2UoYm9vbCBpc0dlbmVyYXRl
ZCkKICAgICA6IG1fcmVuZGVyZXIoMCkKICAgICAsIG1fY2FjaGVkSW1hZ2UoMCkKKyAgICAsIG1f
aXNHZW5lcmF0ZWQoaXNHZW5lcmF0ZWQpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckltYWdlUmVzb3VyY2UuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklt
YWdlUmVzb3VyY2UuaAppbmRleCAyMzQ2NzEyLi5mNzAxNDJkIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJJbWFnZVJlc291cmNlLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVySW1hZ2VSZXNvdXJjZS5oCkBAIC0zOSw5ICszOSw5IEBAIGNsYXNzIFJlbmRlckltYWdl
UmVzb3VyY2UgOiBwdWJsaWMgTm9uY29weWFibGUgewogcHVibGljOgogICAgIHZpcnR1YWwgflJl
bmRlckltYWdlUmVzb3VyY2UoKTsKIAotICAgIHN0YXRpYyBQYXNzT3duUHRyPFJlbmRlckltYWdl
UmVzb3VyY2U+IGNyZWF0ZSgpCisgICAgc3RhdGljIFBhc3NPd25QdHI8UmVuZGVySW1hZ2VSZXNv
dXJjZT4gY3JlYXRlKGJvb2wgaXNHZW5lcmF0ZWQgPSBmYWxzZSkKICAgICB7Ci0gICAgICAgIHJl
dHVybiBhZG9wdFB0cihuZXcgUmVuZGVySW1hZ2VSZXNvdXJjZSk7CisgICAgICAgIHJldHVybiBh
ZG9wdFB0cihuZXcgUmVuZGVySW1hZ2VSZXNvdXJjZShpc0dlbmVyYXRlZCkpOwogICAgIH0KIAog
ICAgIHZpcnR1YWwgdm9pZCBpbml0aWFsaXplKFJlbmRlck9iamVjdCopOwpAQCAtNjUsMTAgKzY1
LDEzIEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgV3JhcHBlZEltYWdlUHRyIGltYWdlUHRyKCkg
Y29uc3QgeyByZXR1cm4gbV9jYWNoZWRJbWFnZS5nZXQoKTsgfQogCisgICAgYm9vbCBpc0dlbmVy
YXRlZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNHZW5lcmF0ZWQ7IH0KKwogcHJvdGVjdGVkOgotICAg
IFJlbmRlckltYWdlUmVzb3VyY2UoKTsKKyAgICBSZW5kZXJJbWFnZVJlc291cmNlKGJvb2wgaXNH
ZW5lcmF0ZWQpOwogICAgIFJlbmRlck9iamVjdCogbV9yZW5kZXJlcjsKICAgICBDYWNoZWRSZXNv
dXJjZUhhbmRsZTxDYWNoZWRJbWFnZT4gbV9jYWNoZWRJbWFnZTsKKyAgICBib29sIG1faXNHZW5l
cmF0ZWQ7CiAKIHByaXZhdGU6CiAgICAgc3RhdGljIEltYWdlKiBudWxsSW1hZ2UoKTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlUmVzb3VyY2VTdHlsZUltYWdlLmNw
cCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlUmVzb3VyY2VTdHlsZUltYWdlLmNwcApp
bmRleCA3ZjQxOTg0Li4yNTU4ZTMwIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJJbWFnZVJlc291cmNlU3R5bGVJbWFnZS5jcHAKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVySW1hZ2VSZXNvdXJjZVN0eWxlSW1hZ2UuY3BwCkBAIC0zMyw4ICszMyw5IEBACiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAotUmVuZGVySW1hZ2VSZXNvdXJjZVN0eWxlSW1hZ2U6OlJlbmRlcklt
YWdlUmVzb3VyY2VTdHlsZUltYWdlKFN0eWxlSW1hZ2UqIHN0eWxlSW1hZ2UpCi0gICAgOiBtX3N0
eWxlSW1hZ2Uoc3R5bGVJbWFnZSkKK1JlbmRlckltYWdlUmVzb3VyY2VTdHlsZUltYWdlOjpSZW5k
ZXJJbWFnZVJlc291cmNlU3R5bGVJbWFnZShTdHlsZUltYWdlKiBzdHlsZUltYWdlLCBib29sIGlz
R2VuZXJhdGVkKQorICAgIDogUmVuZGVySW1hZ2VSZXNvdXJjZShpc0dlbmVyYXRlZCkKKyAgICAs
IG1fc3R5bGVJbWFnZShzdHlsZUltYWdlKQogewogICAgIEFTU0VSVChtX3N0eWxlSW1hZ2UpOwog
fQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2VSZXNvdXJjZVN0eWxl
SW1hZ2UuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlUmVzb3VyY2VTdHlsZUltYWdl
LmgKaW5kZXggZDkxYWFhOC4uZWYyNjgyNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVySW1hZ2VSZXNvdXJjZVN0eWxlSW1hZ2UuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJJbWFnZVJlc291cmNlU3R5bGVJbWFnZS5oCkBAIC0zOCw5ICszOCw5IEBAIGNsYXNzIFJl
bmRlckltYWdlUmVzb3VyY2VTdHlsZUltYWdlIDogcHVibGljIFJlbmRlckltYWdlUmVzb3VyY2Ug
ewogcHVibGljOgogICAgIHZpcnR1YWwgflJlbmRlckltYWdlUmVzb3VyY2VTdHlsZUltYWdlKCk7
CiAKLSAgICBzdGF0aWMgUGFzc093blB0cjxSZW5kZXJJbWFnZVJlc291cmNlPiBjcmVhdGUoU3R5
bGVJbWFnZSogc3R5bGVJbWFnZSkKKyAgICBzdGF0aWMgUGFzc093blB0cjxSZW5kZXJJbWFnZVJl
c291cmNlPiBjcmVhdGUoU3R5bGVJbWFnZSogc3R5bGVJbWFnZSwgYm9vbCBpc0dlbmVyYXRlZCA9
IGZhbHNlKQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBSZW5kZXJJbWFnZVJl
c291cmNlU3R5bGVJbWFnZShzdHlsZUltYWdlKSk7CisgICAgICAgIHJldHVybiBhZG9wdFB0cihu
ZXcgUmVuZGVySW1hZ2VSZXNvdXJjZVN0eWxlSW1hZ2Uoc3R5bGVJbWFnZSwgaXNHZW5lcmF0ZWQp
KTsKICAgICB9CiAgICAgdmlydHVhbCB2b2lkIGluaXRpYWxpemUoUmVuZGVyT2JqZWN0Kik7CiAg
ICAgdmlydHVhbCB2b2lkIHNodXRkb3duKCk7CkBAIC01OSw3ICs1OSw3IEBAIHB1YmxpYzoKICAg
ICB2aXJ0dWFsIFdyYXBwZWRJbWFnZVB0ciBpbWFnZVB0cigpIGNvbnN0IHsgcmV0dXJuIG1fc3R5
bGVJbWFnZS0+ZGF0YSgpOyB9CiAKIHByaXZhdGU6Ci0gICAgUmVuZGVySW1hZ2VSZXNvdXJjZVN0
eWxlSW1hZ2UoU3R5bGVJbWFnZSopOworICAgIFJlbmRlckltYWdlUmVzb3VyY2VTdHlsZUltYWdl
KFN0eWxlSW1hZ2UqLCBib29sKTsKICAgICBSZWZQdHI8U3R5bGVJbWFnZT4gbV9zdHlsZUltYWdl
OwogfTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcCBi
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKaW5kZXggZTIwMGZmOS4uMTU0Nzgy
MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAorKysgYi9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCkBAIC0xMTEsOSArMTExLDkgQEAgUmVu
ZGVyT2JqZWN0KiBSZW5kZXJPYmplY3Q6OmNyZWF0ZU9iamVjdChOb2RlKiBub2RlLCBSZW5kZXJT
dHlsZSogc3R5bGUpCiAgICAgICAgIFJlbmRlckltYWdlKiBpbWFnZSA9IG5ldyAoYXJlbmEpIFJl
bmRlckltYWdlKG5vZGUpOwogICAgICAgICBpbWFnZS0+c2V0U3R5bGUoc3R5bGUpOwogICAgICAg
ICBpZiAoU3R5bGVJbWFnZSogc3R5bGVJbWFnZSA9IGNvbnRlbnREYXRhLT5pbWFnZSgpKQotICAg
ICAgICAgICAgaW1hZ2UtPnNldEltYWdlUmVzb3VyY2UoUmVuZGVySW1hZ2VSZXNvdXJjZVN0eWxl
SW1hZ2U6OmNyZWF0ZShzdHlsZUltYWdlKSk7CisgICAgICAgICAgICBpbWFnZS0+c2V0SW1hZ2VS
ZXNvdXJjZShSZW5kZXJJbWFnZVJlc291cmNlU3R5bGVJbWFnZTo6Y3JlYXRlKHN0eWxlSW1hZ2Us
IHRydWUpKTsKICAgICAgICAgZWxzZQotICAgICAgICAgICAgaW1hZ2UtPnNldEltYWdlUmVzb3Vy
Y2UoUmVuZGVySW1hZ2VSZXNvdXJjZTo6Y3JlYXRlKCkpOworICAgICAgICAgICAgaW1hZ2UtPnNl
dEltYWdlUmVzb3VyY2UoUmVuZGVySW1hZ2VSZXNvdXJjZTo6Y3JlYXRlKHRydWUpKTsKICAgICAg
ICAgcmV0dXJuIGltYWdlOwogICAgIH0KIAotLSAKMS42LjAuNAoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>77401</attachid>
            <date>2010-12-23 21:52:21 -0800</date>
            <delta_ts>2011-09-26 01:11:51 -0700</delta_ts>
            <desc>Change boolean to enum</desc>
            <filename>0001-2010-12-23-Leo-Yang-leo.yang-torchmobile.com.cn.patch</filename>
            <type>text/plain</type>
            <size>11192</size>
            <attacher name="Leo Yang">leo.yang</attacher>
            
              <data encoding="base64">RnJvbSBjZDI5MDMwZDRjNTRjZDA2YmZjOGJkMzQ0ODkwZWVhN2YxYzk2MzBmIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBMZW8gWWFuZyA8bGVvLnlhbmdAdG9yY2htb2JpbGUuY29tLmNu
PgpEYXRlOiBUaHUsIDIzIERlYyAyMDEwIDE4OjQzOjAwICswODAwClN1YmplY3Q6IFtQQVRDSF0g
MjAxMC0xMi0yMyAgTGVvIFlhbmcgIDxsZW8ueWFuZ0B0b3JjaG1vYmlsZS5jb20uY24+CgogICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKICAgICAgICBJbWFnZUxvYWRlciB3aWxs
IHVwZGF0ZSByZW5kZXJlciBldmVuIGlmIHRoZSByZW5kZXJlcidzIGltYWdlIGlzCiAgICAgICAg
Z2VuZXJhdGVkIGNvbnRlbnQuIFRoaXMgaXMgd3JvbmcgYmVjYXVzZSBpZiBhbiBpbWFnZSBlbGVt
ZW50CiAgICAgICAgd2l0aCBzcmMgYXR0cmlidXRlIGFuZCBzdHlsZT0iY29udGVudDogdXJsKC4u
LikiIGF0dHJpYnV0ZSB0aGUKICAgICAgICBzcmMgaW1hZ2UgbWlnaHQgb3ZlcnJpZGUgY29udGVu
dCBpbWFnZS4gVGhlIGNvcnJlY3QgYmVoYXZpb3IgaXMKICAgICAgICBzaG93aW5nIGNvbnRlbnQg
aW1hZ2UuIFNvIGRvbid0IHVwZGF0ZSByZW5kZXJlciB3aGVuIGltYWdlIHJlbmRlcmVyCiAgICAg
ICAgaGFzIGdlbmVyYXRlZCBjb250ZW50LgoKICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NDI4NDAKCiAgICAgICAgVGVzdDogZmFzdC9pbWFnZXMvaW1hZ2Ut
Y3NzMy1jb250ZW50LWRhdGEuaHRtbAoKICAgICAgICAqIGxvYWRlci9JbWFnZUxvYWRlci5jcHA6
CiAgICAgICAgKFdlYkNvcmU6OkltYWdlTG9hZGVyOjp1cGRhdGVSZW5kZXJlcik6CiAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVySW1hZ2VSZXNvdXJjZS5jcHA6CiAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckltYWdlUmVzb3VyY2U6OlJlbmRlckltYWdlUmVzb3VyY2UpOgogICAgICAgICogcmVuZGVy
aW5nL1JlbmRlckltYWdlUmVzb3VyY2UuaDoKICAgICAgICAoV2ViQ29yZTo6UmVuZGVySW1hZ2VS
ZXNvdXJjZTo6Y3JlYXRlKToKICAgICAgICAoV2ViQ29yZTo6UmVuZGVySW1hZ2VSZXNvdXJjZTo6
aXNHZW5lcmF0ZWQpOgogICAgICAgICogcmVuZGVyaW5nL1JlbmRlckltYWdlUmVzb3VyY2VTdHls
ZUltYWdlLmNwcDoKICAgICAgICAoV2ViQ29yZTo6UmVuZGVySW1hZ2VSZXNvdXJjZVN0eWxlSW1h
Z2U6OlJlbmRlckltYWdlUmVzb3VyY2VTdHlsZUltYWdlKToKICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJJbWFnZVJlc291cmNlU3R5bGVJbWFnZS5oOgogICAgICAgIChXZWJDb3JlOjpSZW5kZXJJ
bWFnZVJlc291cmNlU3R5bGVJbWFnZTo6Y3JlYXRlKToKICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJPYmplY3QuY3BwOgogICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OmNyZWF0ZU9iamVj
dCk6Ci0tLQogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgfCAgIDEyICsrKysrKysrCiAuLi4vaW1hZ2VzL2ltYWdlLWNzczMtY29udGVudC1kYXRhLWV4
cGVjdGVkLnR4dCAgICB8ICAgIDcgKysrKysKIC4uLi9mYXN0L2ltYWdlcy9pbWFnZS1jc3MzLWNv
bnRlbnQtZGF0YS5odG1sICAgICAgIHwgICAgNSArKysKIExheW91dFRlc3RzL2Zhc3QvaW1hZ2Vz
L3Jlc291cmNlcy9ncmVlbi0yNHgyNC5qcGcgIHwgIEJpbiAwIC0+IDY0NSBieXRlcwogV2ViQ29y
ZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDI5ICsrKysr
KysrKysrKysrKysrKysrCiBXZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAgICAgICAgICAg
ICAgICAgICAgICB8ICAgIDIgKy0KIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlUmVzb3Vy
Y2UuY3BwICAgICAgICAgIHwgICAgMyArLQogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2VS
ZXNvdXJjZS5oICAgICAgICAgICAgfCAgIDE0ICsrKysrKystLQogLi4uL3JlbmRlcmluZy9SZW5k
ZXJJbWFnZVJlc291cmNlU3R5bGVJbWFnZS5jcHAgICAgfCAgICA1ICsrLQogV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVySW1hZ2VSZXNvdXJjZVN0eWxlSW1hZ2UuaCAgfCAgICA2ICsrLS0KIFdlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAgICAgICAgICAgICAgICAgIHwgICAgNCArLQog
MTEgZmlsZXMgY2hhbmdlZCwgNzUgaW5zZXJ0aW9ucygrKSwgMTIgZGVsZXRpb25zKC0pCiBjcmVh
dGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvaW1hZ2UtY3NzMy1jb250ZW50
LWRhdGEtZXhwZWN0ZWQudHh0CiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvZmFzdC9p
bWFnZXMvaW1hZ2UtY3NzMy1jb250ZW50LWRhdGEuaHRtbAogY3JlYXRlIG1vZGUgMTAwNjQ0IExh
eW91dFRlc3RzL2Zhc3QvaW1hZ2VzL3Jlc291cmNlcy9ncmVlbi0yNHgyNC5qcGcKCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXgg
ZTRiMTFmMS4uNDBmYTc1NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEwLTEyLTIzICBMZW8g
WWFuZyAgPGxlby55YW5nQHRvcmNobW9iaWxlLmNvbS5jbj4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0IGNhc2UgY29udGFpbnMgaW1hZ2UgZWxl
bWVudCB3aXRoIHNyYyBhdHRyaWJ1dGUgYW5kCisgICAgICAgICJjb250ZW50OiB1cmwoLi4uKSIg
c3R5bGUgYXR0cmlidXRlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NDI4NDAKKworICAgICAgICAqIGZhc3QvaW1hZ2VzL2ltYWdlLWNzczMtY29udGVu
dC1kYXRhLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9pbWFnZXMvaW1hZ2Ut
Y3NzMy1jb250ZW50LWRhdGEuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9pbWFnZXMvcmVz
b3VyY2VzL2dyZWVuLTI0eDI0LmpwZzogQWRkZWQuCisKIDIwMTAtMTItMjMgIFl1dGEgS2l0YW11
cmEgIDx5dXRha0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZC4gVXBkYXRlIENo
cm9taXVtIHRlc3QgZXhwZWN0YXRpb25zLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9p
bWFnZXMvaW1hZ2UtY3NzMy1jb250ZW50LWRhdGEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZmFzdC9pbWFnZXMvaW1hZ2UtY3NzMy1jb250ZW50LWRhdGEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY2ODJhOTAKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9pbWFnZS1jc3MzLWNvbnRlbnQtZGF0YS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSw3IEBACitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVy
VmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAor
ICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgICAgUmVuZGVyQm9k
eSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTg0CisgICAgICBSZW5kZXJJbWFnZSB7SU1HfSBh
dCAoMCwwKSBzaXplIDI0eDI0CisgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6
ZSAweDAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL2ltYWdlLWNzczMtY29u
dGVudC1kYXRhLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9pbWFnZS1jc3MzLWNvbnRl
bnQtZGF0YS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFhMDhlNWIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9pbWFnZS1jc3MzLWNv
bnRlbnQtZGF0YS5odG1sCkBAIC0wLDAgKzEsNSBAQAorPGh0bWw+Cis8Ym9keT4KKzxpbWFnZSBp
ZCA9ImltYWdlIiBzcmM9InJlc291cmNlcy9ncmVlbi5qcGciIHN0eWxlPSJjb250ZW50OiB1cmwo
cmVzb3VyY2VzL2dyZWVuLTI0eDI0LmpwZykiLz4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL3Jlc291cmNlcy9ncmVlbi0yNHgyNC5qcGcgYi9M
YXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9yZXNvdXJjZXMvZ3JlZW4tMjR4MjQuanBnCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY2YTZkNWVjYzFjMWJmZDQyY2FkMTFhMTk1YjIzN2Q2NWI2NzU5OTUKR0lUIGJpbmFyeSBw
YXRjaApsaXRlcmFsIDY0NQp6Y21leD08TnBIJjBXVVhDSHdII1ZNdXIzK1djWXVaIUlePUJqZzZn
K200bHN+b3MqTTtpJHtjKWhudCY2UWI/RnoKekx7Pl4oUEY2fXJNbk9lU1R8cjRsU3c9Pn5Udk54
dSg4Ujw8VWZ0NXghcEtJPyp1KTVBMnFQeWFDbDVEfDFUVXxJCnprKW4qRTV5e35IMFJ9LTExXz1m
VVc9MTZqQ1A3QUtMQntfXzd+fmxrNytIYT8xdndaQjdAMyReU2xRUylJSnZsaQp6M2JxT2BGZmxT
U0dxRXRVdmEreE1SbzRSTDhDVjJhZyVrfVAqQE9jVipfOEBLajJiNXs8V1AzbmN1K0x4O3MrSnUK
enFAcEhIRS1gVGxOaHd0fGJxITR8NkhfeUQzcmowITdnc2xUNF5PWSlra0dMM2h7JmtxbCs/OEpq
TGZYIWxHM3ZCCnppcHJ8eW1lI2lSaj9TKTBsYyE5Ykhoc3AtUyZKNGdTLU5jYmlqfUsyWlFpblYr
eDh0aGNPNSE+PG1qPkVDcitOYQp6Ym90OEZZdTlod3khRyhXPDBuc19KJTkxPyl5R2V0emtMMW57
bTBLPUFiJkEzRmhqZnJfWmdiTTFjQ2x5VnFzeHMKelZGJnEoaypPU3JuRlUhYDYlRTtoOTBTPUMz
eCQ9ODhhWUlxQ05BN35rVzwrPj0hMGxkKE0ydlg2X2JhbUEzPElOCnVgOzBoYEhJZH5yeFdeRnd5
MlpmNSVtfEQ7Vzxkc2ZoSEh6dXZfQ3Q0VnAhQ3IwbUlEeVp2cF4jQWs8MCMKCmxpdGVyYWwgMApI
Y21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFu
Z2VMb2cKaW5kZXggMzJmZGZmYi4uMTZiODUwYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VM
b2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMiBAQAorMjAxMC0xMi0yMyAg
TGVvIFlhbmcgIDxsZW8ueWFuZ0B0b3JjaG1vYmlsZS5jb20uY24+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1hZ2VMb2FkZXIgd2lsbCB1cGRhdGUg
cmVuZGVyZXIgZXZlbiBpZiB0aGUgcmVuZGVyZXIncyBpbWFnZSBpcworICAgICAgICBnZW5lcmF0
ZWQgY29udGVudC4gVGhpcyBpcyB3cm9uZyBiZWNhdXNlIGlmIGFuIGltYWdlIGVsZW1lbnQKKyAg
ICAgICAgd2l0aCBzcmMgYXR0cmlidXRlIGFuZCBzdHlsZT0iY29udGVudDogdXJsKC4uLikiIGF0
dHJpYnV0ZSB0aGUKKyAgICAgICAgc3JjIGltYWdlIG1pZ2h0IG92ZXJyaWRlIGNvbnRlbnQgaW1h
Z2UuIFRoZSBjb3JyZWN0IGJlaGF2aW9yIGlzCisgICAgICAgIHNob3dpbmcgY29udGVudCBpbWFn
ZS4gU28gZG9uJ3QgdXBkYXRlIHJlbmRlcmVyIHdoZW4gaW1hZ2UgcmVuZGVyZXIKKyAgICAgICAg
aGFzIGdlbmVyYXRlZCBjb250ZW50LgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD00Mjg0MAorCisgICAgICAgIFRlc3Q6IGZhc3QvaW1hZ2VzL2ltYWdl
LWNzczMtY29udGVudC1kYXRhLmh0bWwKKworICAgICAgICAqIGxvYWRlci9JbWFnZUxvYWRlci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZUxvYWRlcjo6dXBkYXRlUmVuZGVyZXIpOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJJbWFnZVJlc291cmNlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckltYWdlUmVzb3VyY2U6OlJlbmRlckltYWdlUmVzb3VyY2UpOgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJJbWFnZVJlc291cmNlLmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJJbWFnZVJlc291cmNlOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVySW1hZ2VS
ZXNvdXJjZTo6aXNHZW5lcmF0ZWQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJJbWFnZVJl
c291cmNlU3R5bGVJbWFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJJbWFnZVJlc291
cmNlU3R5bGVJbWFnZTo6UmVuZGVySW1hZ2VSZXNvdXJjZVN0eWxlSW1hZ2UpOgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJJbWFnZVJlc291cmNlU3R5bGVJbWFnZS5oOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVySW1hZ2VSZXNvdXJjZVN0eWxlSW1hZ2U6OmNyZWF0ZSk6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmpl
Y3Q6OmNyZWF0ZU9iamVjdCk6CisKIDIwMTAtMTItMjMgIEV2YW4gTWFydGluICA8ZXZhbkBjaHJv
bWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCmRpZmYgLS1naXQg
YS9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAgYi9XZWJDb3JlL2xvYWRlci9JbWFnZUxv
YWRlci5jcHAKaW5kZXggOTRhMjFhNC4uNzNkYzI1MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2Fk
ZXIvSW1hZ2VMb2FkZXIuY3BwCisrKyBiL1dlYkNvcmUvbG9hZGVyL0ltYWdlTG9hZGVyLmNwcApA
QCAtMjUwLDcgKzI1MCw3IEBAIHZvaWQgSW1hZ2VMb2FkZXI6OnVwZGF0ZVJlbmRlcmVyKCkKIHsK
ICAgICBSZW5kZXJJbWFnZVJlc291cmNlKiBpbWFnZVJlc291cmNlID0gcmVuZGVySW1hZ2VSZXNv
dXJjZSgpOwogCi0gICAgaWYgKCFpbWFnZVJlc291cmNlKQorICAgIGlmICghaW1hZ2VSZXNvdXJj
ZSB8fCBpbWFnZVJlc291cmNlLT5pc0dlbmVyYXRlZCgpKQogICAgICAgICByZXR1cm47CiAKICAg
ICAvLyBPbmx5IHVwZGF0ZSB0aGUgcmVuZGVyZXIgaWYgaXQgZG9lc24ndCBoYXZlIGFuIGltYWdl
IG9yIGlmIHdoYXQgd2UgaGF2ZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
SW1hZ2VSZXNvdXJjZS5jcHAgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZVJlc291cmNl
LmNwcAppbmRleCBlYTNlZDJmLi43MDU0OTRhIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJJbWFnZVJlc291cmNlLmNwcAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJ
bWFnZVJlc291cmNlLmNwcApAQCAtMzMsOSArMzMsMTAgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCi1SZW5kZXJJbWFnZVJlc291cmNlOjpSZW5kZXJJbWFnZVJlc291cmNlKCkKK1JlbmRlcklt
YWdlUmVzb3VyY2U6OlJlbmRlckltYWdlUmVzb3VyY2UoVHlwZSB0eXBlKQogICAgIDogbV9yZW5k
ZXJlcigwKQogICAgICwgbV9jYWNoZWRJbWFnZSgwKQorICAgICwgbV90eXBlKHR5cGUpCiB7CiB9
CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlUmVzb3VyY2UuaCBi
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlUmVzb3VyY2UuaAppbmRleCAyMzQ2NzEyLi5m
MzQ0YmEwIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZVJlc291cmNl
LmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2VSZXNvdXJjZS5oCkBAIC0zNywx
MSArMzcsMTYgQEAgY2xhc3MgUmVuZGVyT2JqZWN0OwogCiBjbGFzcyBSZW5kZXJJbWFnZVJlc291
cmNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKIHB1YmxpYzoKKyAgICBlbnVtIFR5cGUgeworICAg
ICAgICBOb3JtYWwsCisgICAgICAgIEdlbmVyYXRlZCwKKyAgICB9OworCiAgICAgdmlydHVhbCB+
UmVuZGVySW1hZ2VSZXNvdXJjZSgpOwogCi0gICAgc3RhdGljIFBhc3NPd25QdHI8UmVuZGVySW1h
Z2VSZXNvdXJjZT4gY3JlYXRlKCkKKyAgICBzdGF0aWMgUGFzc093blB0cjxSZW5kZXJJbWFnZVJl
c291cmNlPiBjcmVhdGUoVHlwZSB0eXBlID0gTm9ybWFsKQogICAgIHsKLSAgICAgICAgcmV0dXJu
IGFkb3B0UHRyKG5ldyBSZW5kZXJJbWFnZVJlc291cmNlKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0
UHRyKG5ldyBSZW5kZXJJbWFnZVJlc291cmNlKHR5cGUpKTsKICAgICB9CiAKICAgICB2aXJ0dWFs
IHZvaWQgaW5pdGlhbGl6ZShSZW5kZXJPYmplY3QqKTsKQEAgLTY1LDEwICs3MCwxMyBAQCBwdWJs
aWM6CiAKICAgICB2aXJ0dWFsIFdyYXBwZWRJbWFnZVB0ciBpbWFnZVB0cigpIGNvbnN0IHsgcmV0
dXJuIG1fY2FjaGVkSW1hZ2UuZ2V0KCk7IH0KIAorICAgIGJvb2wgaXNHZW5lcmF0ZWQoKSBjb25z
dCB7IHJldHVybiBtX3R5cGUgPT0gR2VuZXJhdGVkOyB9CisKIHByb3RlY3RlZDoKLSAgICBSZW5k
ZXJJbWFnZVJlc291cmNlKCk7CisgICAgUmVuZGVySW1hZ2VSZXNvdXJjZShUeXBlIHR5cGUpOwog
ICAgIFJlbmRlck9iamVjdCogbV9yZW5kZXJlcjsKICAgICBDYWNoZWRSZXNvdXJjZUhhbmRsZTxD
YWNoZWRJbWFnZT4gbV9jYWNoZWRJbWFnZTsKKyAgICBUeXBlIG1fdHlwZTsKIAogcHJpdmF0ZToK
ICAgICBzdGF0aWMgSW1hZ2UqIG51bGxJbWFnZSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVySW1hZ2VSZXNvdXJjZVN0eWxlSW1hZ2UuY3BwIGIvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVySW1hZ2VSZXNvdXJjZVN0eWxlSW1hZ2UuY3BwCmluZGV4IDdmNDE5ODQuLjMwZTA1
NDEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlUmVzb3VyY2VTdHls
ZUltYWdlLmNwcAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZVJlc291cmNlU3R5
bGVJbWFnZS5jcHAKQEAgLTMzLDggKzMzLDkgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1S
ZW5kZXJJbWFnZVJlc291cmNlU3R5bGVJbWFnZTo6UmVuZGVySW1hZ2VSZXNvdXJjZVN0eWxlSW1h
Z2UoU3R5bGVJbWFnZSogc3R5bGVJbWFnZSkKLSAgICA6IG1fc3R5bGVJbWFnZShzdHlsZUltYWdl
KQorUmVuZGVySW1hZ2VSZXNvdXJjZVN0eWxlSW1hZ2U6OlJlbmRlckltYWdlUmVzb3VyY2VTdHls
ZUltYWdlKFN0eWxlSW1hZ2UqIHN0eWxlSW1hZ2UsIFJlbmRlckltYWdlUmVzb3VyY2U6OlR5cGUg
dHlwZSkKKyAgICA6IFJlbmRlckltYWdlUmVzb3VyY2UodHlwZSkKKyAgICAsIG1fc3R5bGVJbWFn
ZShzdHlsZUltYWdlKQogewogICAgIEFTU0VSVChtX3N0eWxlSW1hZ2UpOwogfQpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2VSZXNvdXJjZVN0eWxlSW1hZ2UuaCBiL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlUmVzb3VyY2VTdHlsZUltYWdlLmgKaW5kZXggZDkx
YWFhOC4uOTI2YjFjMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2VS
ZXNvdXJjZVN0eWxlSW1hZ2UuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZVJl
c291cmNlU3R5bGVJbWFnZS5oCkBAIC0zOCw5ICszOCw5IEBAIGNsYXNzIFJlbmRlckltYWdlUmVz
b3VyY2VTdHlsZUltYWdlIDogcHVibGljIFJlbmRlckltYWdlUmVzb3VyY2UgewogcHVibGljOgog
ICAgIHZpcnR1YWwgflJlbmRlckltYWdlUmVzb3VyY2VTdHlsZUltYWdlKCk7CiAKLSAgICBzdGF0
aWMgUGFzc093blB0cjxSZW5kZXJJbWFnZVJlc291cmNlPiBjcmVhdGUoU3R5bGVJbWFnZSogc3R5
bGVJbWFnZSkKKyAgICBzdGF0aWMgUGFzc093blB0cjxSZW5kZXJJbWFnZVJlc291cmNlPiBjcmVh
dGUoU3R5bGVJbWFnZSogc3R5bGVJbWFnZSwgUmVuZGVySW1hZ2VSZXNvdXJjZTo6VHlwZSB0eXBl
ID0gUmVuZGVySW1hZ2VSZXNvdXJjZTo6Tm9ybWFsKQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFk
b3B0UHRyKG5ldyBSZW5kZXJJbWFnZVJlc291cmNlU3R5bGVJbWFnZShzdHlsZUltYWdlKSk7Cisg
ICAgICAgIHJldHVybiBhZG9wdFB0cihuZXcgUmVuZGVySW1hZ2VSZXNvdXJjZVN0eWxlSW1hZ2Uo
c3R5bGVJbWFnZSwgdHlwZSkpOwogICAgIH0KICAgICB2aXJ0dWFsIHZvaWQgaW5pdGlhbGl6ZShS
ZW5kZXJPYmplY3QqKTsKICAgICB2aXJ0dWFsIHZvaWQgc2h1dGRvd24oKTsKQEAgLTU5LDcgKzU5
LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgV3JhcHBlZEltYWdlUHRyIGltYWdlUHRyKCkgY29u
c3QgeyByZXR1cm4gbV9zdHlsZUltYWdlLT5kYXRhKCk7IH0KIAogcHJpdmF0ZToKLSAgICBSZW5k
ZXJJbWFnZVJlc291cmNlU3R5bGVJbWFnZShTdHlsZUltYWdlKik7CisgICAgUmVuZGVySW1hZ2VS
ZXNvdXJjZVN0eWxlSW1hZ2UoU3R5bGVJbWFnZSosIFJlbmRlckltYWdlUmVzb3VyY2U6OlR5cGUg
dHlwZSk7CiAgICAgUmVmUHRyPFN0eWxlSW1hZ2U+IG1fc3R5bGVJbWFnZTsKIH07CiAKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAgYi9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJPYmplY3QuY3BwCmluZGV4IGQyN2E3ODAuLmZkMWRiMWUgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKKysrIGIvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyT2JqZWN0LmNwcApAQCAtMTEyLDkgKzExMiw5IEBAIFJlbmRlck9iamVjdCogUmVu
ZGVyT2JqZWN0OjpjcmVhdGVPYmplY3QoTm9kZSogbm9kZSwgUmVuZGVyU3R5bGUqIHN0eWxlKQog
ICAgICAgICBSZW5kZXJJbWFnZSogaW1hZ2UgPSBuZXcgKGFyZW5hKSBSZW5kZXJJbWFnZShub2Rl
KTsKICAgICAgICAgaW1hZ2UtPnNldFN0eWxlKHN0eWxlKTsKICAgICAgICAgaWYgKFN0eWxlSW1h
Z2UqIHN0eWxlSW1hZ2UgPSBjb250ZW50RGF0YS0+aW1hZ2UoKSkKLSAgICAgICAgICAgIGltYWdl
LT5zZXRJbWFnZVJlc291cmNlKFJlbmRlckltYWdlUmVzb3VyY2VTdHlsZUltYWdlOjpjcmVhdGUo
c3R5bGVJbWFnZSkpOworICAgICAgICAgICAgaW1hZ2UtPnNldEltYWdlUmVzb3VyY2UoUmVuZGVy
SW1hZ2VSZXNvdXJjZVN0eWxlSW1hZ2U6OmNyZWF0ZShzdHlsZUltYWdlLCBSZW5kZXJJbWFnZVJl
c291cmNlOjpHZW5lcmF0ZWQpKTsKICAgICAgICAgZWxzZQotICAgICAgICAgICAgaW1hZ2UtPnNl
dEltYWdlUmVzb3VyY2UoUmVuZGVySW1hZ2VSZXNvdXJjZTo6Y3JlYXRlKCkpOworICAgICAgICAg
ICAgaW1hZ2UtPnNldEltYWdlUmVzb3VyY2UoUmVuZGVySW1hZ2VSZXNvdXJjZTo6Y3JlYXRlKFJl
bmRlckltYWdlUmVzb3VyY2U6OkdlbmVyYXRlZCkpOwogICAgICAgICByZXR1cm4gaW1hZ2U7CiAg
ICAgfQogCi0tIAoxLjcuMC40Cgo=
</data>
<flag name="review"
          id="68527"
          type_id="1"
          status="-"
          setter="darin"
    />
    <flag name="commit-queue"
          id="68528"
          type_id="3"
          status="-"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>108642</attachid>
            <date>2011-09-26 01:11:51 -0700</date>
            <delta_ts>2011-12-01 20:37:02 -0800</delta_ts>
            <desc>Patch v5</desc>
            <filename>0001-image-element-with-src-attribute-can-t-be-replaced-b.patch</filename>
            <type>text/plain</type>
            <size>9306</size>
            <attacher name="Leo Yang">leo.yang</attacher>
            
              <data encoding="base64">RnJvbSA2NzU4ZGQ3ZjAxYWY1ZmU4OTQ1ZjYzMzFmNWEyZmVkZGM1ZDY5YzhmIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBMZW8gWWFuZyA8bGVvLnlhbmdAdG9yY2htb2JpbGUuY29tLmNu
PgpEYXRlOiBNb24sIDI2IFNlcCAyMDExIDE2OjA1OjA4ICswODAwClN1YmplY3Q6IFtQQVRDSF0g
aW1hZ2UgZWxlbWVudCB3aXRoIHNyYyBhdHRyaWJ1dGUgY2FuJ3QgYmUgcmVwbGFjZWQgYnkgY29u
dGVudDogdXJsKCkgc3R5bGUKIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD00Mjg0MAoKU291cmNlL1dlYkNvcmU6CgpJbWFnZUxvYWRlciB3ZXJlIHVwZGF0aW5nIHJlbmRl
cmVyIGV2ZW4gaWYgdGhlIHJlbmRlcmVyJ3MgaW1hZ2UgaXMKc3R5bGUgZ2VuZXJhdGVkIGNvbnRl
bnQuIFRoaXMgd2FzIHdyb25nIGJlY2F1c2UgaWYgYW4gaW1hZ2UgZWxlbWVudAp3aXRoIHNyYyBh
dHRyaWJ1dGUgYW5kIHN0eWxlPSJjb250ZW50OiB1cmwoLi4uKSIgYXR0cmlidXRlIHRoZQpzcmMg
aW1hZ2UgbWlnaHQgb3ZlcnJpZGUgY29udGVudCBpbWFnZS4gVGhlIGNvcnJlY3QgYmVoYXZpb3Ig
c2hvdWxkCmJlIHNob3dpbmcgY29udGVudCBpbWFnZS4KClRoaXMgcGF0Y2ggaXMgZGlmZmVyZW50
aWF0aW5nIHN0eWxlIGdlbmVyYXRlZCBSZW5kZXJJbWFnZSBmcm9tIHRoZQpub3JtYWwgUmVuZGVy
SW1hZ2UgYW5kIGtlZXAgdGhlIFJlbmRlckltYWdlU291cmNlIHVudG91Y2hlZCBpZiB0aGUKcmVu
ZGVyZXIgaXMgZ2VuZXJhdGVkIGNvbnRlbnQuCgpSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
ClRlc3Q6IGZhc3QvaW1hZ2VzL2ltYWdlLWNzczMtY29udGVudC1kYXRhLmh0bWwKCiogbG9hZGVy
L0ltYWdlTG9hZGVyLmNwcDoKKFdlYkNvcmU6OkltYWdlTG9hZGVyOjpyZW5kZXJJbWFnZVJlc291
cmNlKToKKiByZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwOgooV2ViQ29yZTo6UmVuZGVySW1hZ2U6
OlJlbmRlckltYWdlKToKKiByZW5kZXJpbmcvUmVuZGVySW1hZ2UuaDoKKFdlYkNvcmU6OlJlbmRl
ckltYWdlOjpzZXRJc0dlbmVyYXRlZENvbnRlbnQpOgooV2ViQ29yZTo6UmVuZGVySW1hZ2U6Omlz
R2VuZXJhdGVkQ29udGVudCk6CiogcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHA6CihXZWJDb3Jl
OjpSZW5kZXJPYmplY3Q6OmNyZWF0ZU9iamVjdCk6CgpMYXlvdXRUZXN0czoKClRlc3QgY2FzZSBj
b250YWlucyBpbWFnZSBlbGVtZW50IHdpdGggc3JjIGF0dHJpYnV0ZSBhbmQgImNvbnRlbnQ6IHVy
bCguLi4pIgpzdHlsZSBhdHRyaWJ1dGUuCgpSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCiog
ZmFzdC9pbWFnZXMvaW1hZ2UtY3NzMy1jb250ZW50LWRhdGEtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KiBmYXN0L2ltYWdlcy9pbWFnZS1jc3MzLWNvbnRlbnQtZGF0YS5odG1sOiBBZGRlZC4KKiBmYXN0
L2ltYWdlcy9yZXNvdXJjZXMvZ3JlZW4tMjR4MjQuanBnOiBBZGRlZC4KLS0tCiBMYXlvdXRUZXN0
cy9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMTQgKysrKysrKysr
CiAuLi4vaW1hZ2VzL2ltYWdlLWNzczMtY29udGVudC1kYXRhLWV4cGVjdGVkLnR4dCAgICB8ICAg
IDcgKysrKysKIC4uLi9mYXN0L2ltYWdlcy9pbWFnZS1jc3MzLWNvbnRlbnQtZGF0YS5odG1sICAg
ICAgIHwgICAgNSArKysKIExheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL3Jlc291cmNlcy9ncmVlbi0y
NHgyNC5qcGcgIHwgIEJpbiAwIC0+IDY0NSBieXRlcwogU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDI5ICsrKysrKysrKysrKysrKysrKysrCiBT
b3VyY2UvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3BwICAgICAgICAgICAgICB8ICAgIDIg
Ky0KIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAgICAgICAgICAgIHwg
ICAgMSArCiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuaCAgICAgICAgICAg
ICB8ICAgIDUgKysrCiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcCAg
ICAgICAgICB8ICAgIDUgKystCiA5IGZpbGVzIGNoYW5nZWQsIDY1IGluc2VydGlvbnMoKyksIDMg
ZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMv
aW1hZ2UtY3NzMy1jb250ZW50LWRhdGEtZXhwZWN0ZWQudHh0CiBjcmVhdGUgbW9kZSAxMDA2NDQg
TGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvaW1hZ2UtY3NzMy1jb250ZW50LWRhdGEuaHRtbAogY3Jl
YXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL3Jlc291cmNlcy9ncmVlbi0y
NHgyNC5qcGcKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKaW5kZXggNmE4MGU1NC4uMjJhNWFmYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBA
CisyMDExLTA5LTI2ICBMZW8gWWFuZyAgPGxlby55YW5nQHRvcmNobW9iaWxlLmNvbS5jbj4KKwor
ICAgICAgICBpbWFnZSBlbGVtZW50IHdpdGggc3JjIGF0dHJpYnV0ZSBjYW4ndCBiZSByZXBsYWNl
ZCBieSBjb250ZW50OiB1cmwoKSBzdHlsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NDI4NDAKKworICAgICAgICBUZXN0IGNhc2UgY29udGFpbnMgaW1h
Z2UgZWxlbWVudCB3aXRoIHNyYyBhdHRyaWJ1dGUgYW5kICJjb250ZW50OiB1cmwoLi4uKSIKKyAg
ICAgICAgc3R5bGUgYXR0cmlidXRlLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogZmFzdC9pbWFnZXMvaW1hZ2UtY3NzMy1jb250ZW50LWRhdGEtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2ltYWdlcy9pbWFnZS1jc3MzLWNvbnRl
bnQtZGF0YS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2ltYWdlcy9yZXNvdXJjZXMvZ3Jl
ZW4tMjR4MjQuanBnOiBBZGRlZC4KKwogMjAxMS0wOS0yNSAgS2VudGFybyBIYXJhICA8aGFyYWtl
bkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgSW1wbGVtZW50IGEgQ2xvc2VFdmVudCBjb25zdHJ1
Y3RvciBmb3IgSlNDCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9pbWFnZS1j
c3MzLWNvbnRlbnQtZGF0YS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9p
bWFnZS1jc3MzLWNvbnRlbnQtZGF0YS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMC4uZjY4MmE5MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvaW1hZ2VzL2ltYWdlLWNzczMtY29udGVudC1kYXRhLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDcgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDAp
IHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlckJsb2Nr
IHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAo
OCw4KSBzaXplIDc4NHg1ODQKKyAgICAgIFJlbmRlckltYWdlIHtJTUd9IGF0ICgwLDApIHNpemUg
MjR4MjQKKyAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvaW1hZ2UtY3NzMy1jb250ZW50LWRhdGEuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL2ltYWdlLWNzczMtY29udGVudC1kYXRhLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWEwOGU1YgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL2ltYWdlLWNzczMtY29udGVudC1kYXRhLmh0
bWwKQEAgLTAsMCArMSw1IEBACis8aHRtbD4KKzxib2R5PgorPGltYWdlIGlkID0iaW1hZ2UiIHNy
Yz0icmVzb3VyY2VzL2dyZWVuLmpwZyIgc3R5bGU9ImNvbnRlbnQ6IHVybChyZXNvdXJjZXMvZ3Jl
ZW4tMjR4MjQuanBnKSIvPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9pbWFnZXMvcmVzb3VyY2VzL2dyZWVuLTI0eDI0LmpwZyBiL0xheW91dFRlc3RzL2Zh
c3QvaW1hZ2VzL3Jlc291cmNlcy9ncmVlbi0yNHgyNC5qcGcKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjZhNmQ1ZWNj
MWMxYmZkNDJjYWQxMWExOTViMjM3ZDY1YjY3NTk5NQpHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwg
NjQ1CnpjbWV4PTxOcEgmMFdVWENId0gjVk11cjMrV2NZdVohSV49QmpnNmcrbTRsc35vcypNO2kk
e2MpaG50JjZRYj9Gegp6THs+XihQRjZ9ck1uT2VTVHxyNGxTdz0+flR2Tnh1KDhSPDxVZnQ1eCFw
S0k/KnUpNUEycVB5YUNsNUR8MVRVfEkKemspbipFNXl7fkgwUn0tMTFfPWZVVz0xNmpDUDdBS0xC
e19fN35+bGs3K0hhPzF2d1pCN0AzJF5TbFFTKUlKdmxpCnozYnFPYEZmbFNTR3FFdFV2YSt4TVJv
NFJMOENWMmFnJWt9UCpAT2NWKl84QEtqMmI1ezxXUDNuY3UrTHg7cytKdQp6cUBwSEhFLWBUbE5o
d3R8YnEhNHw2SF95RDNyajAhN2dzbFQ0Xk9ZKWtrR0wzaHsma3FsKz84SmpMZlghbEczdkIKemlw
cnx5bWUjaVJqP1MpMGxjITliSGhzcC1TJko0Z1MtTmNiaWp9SzJaUWluVit4OHRoY081IT48bWo+
RUNyK05hCnpib3Q4Rll1OWh3eSFHKFc8MG5zX0olOTE/KXlHZXR6a0wxbnttMEs9QWImQTNGaGpm
cl9aZ2JNMWNDbHlWcXN4cwp6VkYmcShrKk9Tcm5GVSFgNiVFO2g5MFM9QzN4JD04OGFZSXFDTkE3
fmtXPCs+PSEwbGQoTTJ2WDZfYmFtQTM8SU4KdWA7MGhgSElkfnJ4V15Gd3kyWmY1JW18RDtXPGRz
ZmhISHp1dl9DdDRWcCFDcjBtSUR5WnZwXiNBazwwIwoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCmluZGV4IGE3NzM4NTIuLjg0ZTg3MTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMiBA
QAorMjAxMS0wOS0yNiAgTGVvIFlhbmcgIDxsZW8ueWFuZ0B0b3JjaG1vYmlsZS5jb20uY24+CisK
KyAgICAgICAgaW1hZ2UgZWxlbWVudCB3aXRoIHNyYyBhdHRyaWJ1dGUgY2FuJ3QgYmUgcmVwbGFj
ZWQgYnkgY29udGVudDogdXJsKCkgc3R5bGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTQyODQwCisKKyAgICAgICAgSW1hZ2VMb2FkZXIgd2VyZSB1cGRh
dGluZyByZW5kZXJlciBldmVuIGlmIHRoZSByZW5kZXJlcidzIGltYWdlIGlzCisgICAgICAgIHN0
eWxlIGdlbmVyYXRlZCBjb250ZW50LiBUaGlzIHdhcyB3cm9uZyBiZWNhdXNlIGlmIGFuIGltYWdl
IGVsZW1lbnQKKyAgICAgICAgd2l0aCBzcmMgYXR0cmlidXRlIGFuZCBzdHlsZT0iY29udGVudDog
dXJsKC4uLikiIGF0dHJpYnV0ZSB0aGUKKyAgICAgICAgc3JjIGltYWdlIG1pZ2h0IG92ZXJyaWRl
IGNvbnRlbnQgaW1hZ2UuIFRoZSBjb3JyZWN0IGJlaGF2aW9yIHNob3VsZAorICAgICAgICBiZSBz
aG93aW5nIGNvbnRlbnQgaW1hZ2UuCisKKyAgICAgICAgVGhpcyBwYXRjaCBpcyBkaWZmZXJlbnRp
YXRpbmcgc3R5bGUgZ2VuZXJhdGVkIFJlbmRlckltYWdlIGZyb20gdGhlCisgICAgICAgIG5vcm1h
bCBSZW5kZXJJbWFnZSBhbmQga2VlcCB0aGUgUmVuZGVySW1hZ2VTb3VyY2UgdW50b3VjaGVkIGlm
IHRoZQorICAgICAgICByZW5kZXJlciBpcyBnZW5lcmF0ZWQgY29udGVudC4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiBmYXN0L2ltYWdlcy9p
bWFnZS1jc3MzLWNvbnRlbnQtZGF0YS5odG1sCisKKyAgICAgICAgKiBsb2FkZXIvSW1hZ2VMb2Fk
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VMb2FkZXI6OnJlbmRlckltYWdlUmVzb3Vy
Y2UpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJJbWFnZTo6UmVuZGVySW1hZ2UpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJJbWFnZS5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVySW1hZ2U6OnNldElzR2VuZXJhdGVk
Q29udGVudCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJJbWFnZTo6aXNHZW5lcmF0ZWRDb250
ZW50KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlck9iamVjdDo6Y3JlYXRlT2JqZWN0KToKKwogMjAxMS0wOS0yNSAgQWRhbSBC
YXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgogCiAgICAgICAgIEZpbmlzaCByZW1vdmluZyBQTEFU
Rk9STShCUkVXTVApIGJ5IHJlbW92aW5nIGFzc29jaWF0ZWQgY29kZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL0ltYWdlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9JbWFnZUxvYWRlci5jcHAKaW5kZXggYzA0NmIyMy4uZTQ4NjViMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL0ltYWdlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvSW1hZ2VMb2FkZXIuY3BwCkBAIC0yNTQsNyArMjU0LDcgQEAgUmVuZGVySW1hZ2VSZXNv
dXJjZSogSW1hZ2VMb2FkZXI6OnJlbmRlckltYWdlUmVzb3VyY2UoKQogICAgIGlmICghcmVuZGVy
ZXIpCiAgICAgICAgIHJldHVybiAwOwogCi0gICAgaWYgKHJlbmRlcmVyLT5pc0ltYWdlKCkpCisg
ICAgaWYgKHJlbmRlcmVyLT5pc0ltYWdlKCkgJiYgIXN0YXRpY19jYXN0PFJlbmRlckltYWdlKj4o
cmVuZGVyZXIpLT5pc0dlbmVyYXRlZENvbnRlbnQoKSkKICAgICAgICAgcmV0dXJuIHRvUmVuZGVy
SW1hZ2UocmVuZGVyZXIpLT5pbWFnZVJlc291cmNlKCk7CiAKICNpZiBFTkFCTEUoU1ZHKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAKaW5kZXggZjYzZGQzNy4uZTZiMjY1
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwCkBAIC01Myw2ICs1
Myw3IEBAIFJlbmRlckltYWdlOjpSZW5kZXJJbWFnZShOb2RlKiBub2RlKQogICAgIDogUmVuZGVy
UmVwbGFjZWQobm9kZSwgSW50U2l6ZSgwLCAwKSkKICAgICAsIG1fbmVlZHNUb1NldFNpemVGb3JB
bHRUZXh0KGZhbHNlKQogICAgICwgbV9kaWRJbmNyZW1lbnRWaXN1YWxseU5vbkVtcHR5UGl4ZWxD
b3VudChmYWxzZSkKKyAgICAsIG1faXNHZW5lcmF0ZWRDb250ZW50KGZhbHNlKQogewogICAgIHVw
ZGF0ZUFsdFRleHQoKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJJbWFnZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmgKaW5k
ZXggZGE4OTVkMi4uMGViZTQ5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckltYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdl
LmgKQEAgLTUzLDYgKzUzLDEwIEBAIHB1YmxpYzoKIAogICAgIHZvaWQgaGlnaFF1YWxpdHlSZXBh
aW50VGltZXJGaXJlZChUaW1lcjxSZW5kZXJJbWFnZT4qKTsKIAorICAgIHZvaWQgc2V0SXNHZW5l
cmF0ZWRDb250ZW50KGJvb2wgZ2VuZXJhdGVkID0gdHJ1ZSkgeyBtX2lzR2VuZXJhdGVkQ29udGVu
dCA9IGdlbmVyYXRlZDsgfQorCisgICAgYm9vbCBpc0dlbmVyYXRlZENvbnRlbnQoKSBjb25zdCB7
IHJldHVybiBtX2lzR2VuZXJhdGVkQ29udGVudDsgfQorCiBwcm90ZWN0ZWQ6CiAgICAgdmlydHVh
bCB2b2lkIHN0eWxlRGlkQ2hhbmdlKFN0eWxlRGlmZmVyZW5jZSwgY29uc3QgUmVuZGVyU3R5bGUq
KTsKIApAQCAtMTAxLDYgKzEwNSw3IEBAIHByaXZhdGU6CiAgICAgT3duUHRyPFJlbmRlckltYWdl
UmVzb3VyY2U+IG1faW1hZ2VSZXNvdXJjZTsKICAgICBib29sIG1fbmVlZHNUb1NldFNpemVGb3JB
bHRUZXh0OwogICAgIGJvb2wgbV9kaWRJbmNyZW1lbnRWaXN1YWxseU5vbkVtcHR5UGl4ZWxDb3Vu
dDsKKyAgICBib29sIG1faXNHZW5lcmF0ZWRDb250ZW50OwogCiAgICAgZnJpZW5kIGNsYXNzIFJl
bmRlckltYWdlU2NhbGVPYnNlcnZlcjsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJPYmplY3QuY3BwCmluZGV4IGQ4OGYzYjguLjQyZjAzZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCkBAIC0xMTIsOSArMTEyLDEwIEBAIFJlbmRlck9iamVj
dCogUmVuZGVyT2JqZWN0OjpjcmVhdGVPYmplY3QoTm9kZSogbm9kZSwgUmVuZGVyU3R5bGUqIHN0
eWxlKQogICAgIGlmIChjb250ZW50RGF0YSAmJiAhY29udGVudERhdGEtPm5leHQoKSAmJiBjb250
ZW50RGF0YS0+aXNJbWFnZSgpICYmIGRvYyAhPSBub2RlKSB7CiAgICAgICAgIFJlbmRlckltYWdl
KiBpbWFnZSA9IG5ldyAoYXJlbmEpIFJlbmRlckltYWdlKG5vZGUpOwogICAgICAgICBpbWFnZS0+
c2V0U3R5bGUoc3R5bGUpOwotICAgICAgICBpZiAoY29uc3QgU3R5bGVJbWFnZSogc3R5bGVJbWFn
ZSA9IHN0YXRpY19jYXN0PGNvbnN0IEltYWdlQ29udGVudERhdGEqPihjb250ZW50RGF0YSktPmlt
YWdlKCkpCisgICAgICAgIGlmIChjb25zdCBTdHlsZUltYWdlKiBzdHlsZUltYWdlID0gc3RhdGlj
X2Nhc3Q8Y29uc3QgSW1hZ2VDb250ZW50RGF0YSo+KGNvbnRlbnREYXRhKS0+aW1hZ2UoKSkgewog
ICAgICAgICAgICAgaW1hZ2UtPnNldEltYWdlUmVzb3VyY2UoUmVuZGVySW1hZ2VSZXNvdXJjZVN0
eWxlSW1hZ2U6OmNyZWF0ZShjb25zdF9jYXN0PFN0eWxlSW1hZ2UqPihzdHlsZUltYWdlKSkpOwot
ICAgICAgICBlbHNlCisgICAgICAgICAgICBpbWFnZS0+c2V0SXNHZW5lcmF0ZWRDb250ZW50KCk7
CisgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgaW1hZ2UtPnNldEltYWdlUmVzb3VyY2UoUmVu
ZGVySW1hZ2VSZXNvdXJjZTo6Y3JlYXRlKCkpOwogICAgICAgICByZXR1cm4gaW1hZ2U7CiAgICAg
fQotLSAKMS43LjQuMQoK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>117555</attachid>
            <date>2011-12-01 20:37:10 -0800</date>
            <delta_ts>2011-12-02 00:05:27 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-42840-20111202123708.patch</filename>
            <type>text/plain</type>
            <size>7675</size>
            <attacher name="Leo Yang">leo.yang</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEwMTczOCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMyIEBACisyMDExLTEyLTAxICBMZW8gWWFu
ZyAgPGxlby55YW5nQHRvcmNobW9iaWxlLmNvbS5jbj4KKworICAgICAgICBpbWFnZSBlbGVtZW50
IHdpdGggc3JjIGF0dHJpYnV0ZSBjYW4ndCBiZSByZXBsYWNlZCBieSBjb250ZW50OiB1cmwoKSBz
dHlsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDI4
NDAKKworICAgICAgICBJbWFnZUxvYWRlciB3ZXJlIHVwZGF0aW5nIHJlbmRlcmVyIGV2ZW4gaWYg
dGhlIHJlbmRlcmVyJ3MgaW1hZ2UgaXMKKyAgICAgICAgc3R5bGUgZ2VuZXJhdGVkIGNvbnRlbnQu
IFRoaXMgd2FzIHdyb25nIGJlY2F1c2UgaWYgYW4gaW1hZ2UgZWxlbWVudAorICAgICAgICB3aXRo
IHNyYyBhdHRyaWJ1dGUgYW5kIHN0eWxlPSJjb250ZW50OiB1cmwoLi4uKSIgYXR0cmlidXRlIHRo
ZQorICAgICAgICBzcmMgaW1hZ2UgbWlnaHQgb3ZlcnJpZGUgY29udGVudCBpbWFnZS4gVGhlIGNv
cnJlY3QgYmVoYXZpb3Igc2hvdWxkCisgICAgICAgIGJlIHNob3dpbmcgY29udGVudCBpbWFnZS4K
KworICAgICAgICBUaGlzIHBhdGNoIGlzIGRpZmZlcmVudGlhdGluZyBzdHlsZSBnZW5lcmF0ZWQg
UmVuZGVySW1hZ2UgZnJvbSB0aGUKKyAgICAgICAgbm9ybWFsIFJlbmRlckltYWdlIGFuZCBrZWVw
cyB0aGUgUmVuZGVySW1hZ2VTb3VyY2UgdW50b3VjaGVkIGlmIHRoZQorICAgICAgICByZW5kZXJl
ciBpcyBnZW5lcmF0ZWQgY29udGVudC4KKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxl
ci4KKworICAgICAgICBUZXN0OiBmYXN0L2ltYWdlcy9pbWFnZS1jc3MzLWNvbnRlbnQtZGF0YS5o
dG1sCisKKyAgICAgICAgKiBsb2FkZXIvSW1hZ2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SW1hZ2VMb2FkZXI6OnJlbmRlckltYWdlUmVzb3VyY2UpOgorICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJJbWFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJJbWFnZTo6UmVuZGVy
SW1hZ2UpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJJbWFnZS5oOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVySW1hZ2U6OnNldElzR2VuZXJhdGVkQ29udGVudCk6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJJbWFnZTo6aXNHZW5lcmF0ZWRDb250ZW50KToKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck9iamVjdDo6Y3Jl
YXRlT2JqZWN0KToKKwogMjAxMS0xMi0wMSAgS2VudGFybyBIYXJhICA8aGFyYWtlbkBjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgVXNlIHRoZSBbU3VwcGxlbWVudGFsXSBJREwgZm9yIHdlYmF1ZGlv
IGF0dHJpYnV0ZXMgaW4gQ2hyb21pdW0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2xvYWRlci9JbWFn
ZUxvYWRlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvbG9hZGVyL0ltYWdlTG9h
ZGVyLmNwcAkocmV2aXNpb24gMTAxNzM4KQorKysgU291cmNlL1dlYkNvcmUvbG9hZGVyL0ltYWdl
TG9hZGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjY5LDcgKzI2OSw5IEBAIFJlbmRlckltYWdl
UmVzb3VyY2UqIEltYWdlTG9hZGVyOjpyZW5kZXIKICAgICBpZiAoIXJlbmRlcmVyKQogICAgICAg
ICByZXR1cm4gMDsKIAotICAgIGlmIChyZW5kZXJlci0+aXNJbWFnZSgpKQorICAgIC8vIFdlIGRv
bid0IHJldHVybiBzdHlsZSBnZW5lcmF0ZWQgaW1hZ2UgYmVjYXVzZSBpdCBkb2Vzbid0IGJlbG9u
ZyB0byB0aGUgSW1hZ2VMb2FkZXIuCisgICAgLy8gU2VlIDxodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NDI4NDA+CisgICAgaWYgKHJlbmRlcmVyLT5pc0ltYWdlKCkgJiYg
IXN0YXRpY19jYXN0PFJlbmRlckltYWdlKj4ocmVuZGVyZXIpLT5pc0dlbmVyYXRlZENvbnRlbnQo
KSkKICAgICAgICAgcmV0dXJuIHRvUmVuZGVySW1hZ2UocmVuZGVyZXIpLT5pbWFnZVJlc291cmNl
KCk7CiAKICNpZiBFTkFCTEUoU1ZHKQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckltYWdlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVySW1hZ2UuY3BwCShyZXZpc2lvbiAxMDE3MzgpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVySW1hZ2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NCw2ICs1NCw3IEBAIFJlbmRl
ckltYWdlOjpSZW5kZXJJbWFnZShOb2RlKiBub2RlKQogICAgIDogUmVuZGVyUmVwbGFjZWQobm9k
ZSwgSW50U2l6ZSgpKQogICAgICwgbV9uZWVkc1RvU2V0U2l6ZUZvckFsdFRleHQoZmFsc2UpCiAg
ICAgLCBtX2RpZEluY3JlbWVudFZpc3VhbGx5Tm9uRW1wdHlQaXhlbENvdW50KGZhbHNlKQorICAg
ICwgbV9pc0dlbmVyYXRlZENvbnRlbnQoZmFsc2UpCiB7CiAgICAgdXBkYXRlQWx0VGV4dCgpOwog
fQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmgJKHJldmlzaW9uIDEw
MTczOCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5oCSh3b3JraW5n
IGNvcHkpCkBAIC01Myw2ICs1MywxMCBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGhpZ2hRdWFsaXR5
UmVwYWludFRpbWVyRmlyZWQoVGltZXI8UmVuZGVySW1hZ2U+Kik7CiAKKyAgICB2b2lkIHNldElz
R2VuZXJhdGVkQ29udGVudChib29sIGdlbmVyYXRlZCA9IHRydWUpIHsgbV9pc0dlbmVyYXRlZENv
bnRlbnQgPSBnZW5lcmF0ZWQ7IH0KKworICAgIGJvb2wgaXNHZW5lcmF0ZWRDb250ZW50KCkgY29u
c3QgeyByZXR1cm4gbV9pc0dlbmVyYXRlZENvbnRlbnQ7IH0KKwogcHJvdGVjdGVkOgogICAgIHZp
cnR1YWwgYm9vbCBuZWVkc1ByZWZlcnJlZFdpZHRoc1JlY2FsY3VsYXRpb24oKSBjb25zdDsKICAg
ICB2aXJ0dWFsIFJlbmRlckJveCogZW1iZWRkZWRDb250ZW50Qm94KCkgY29uc3Q7CkBAIC05OSw2
ICsxMDMsNyBAQCBwcml2YXRlOgogICAgIE93blB0cjxSZW5kZXJJbWFnZVJlc291cmNlPiBtX2lt
YWdlUmVzb3VyY2U7CiAgICAgYm9vbCBtX25lZWRzVG9TZXRTaXplRm9yQWx0VGV4dDsKICAgICBi
b29sIG1fZGlkSW5jcmVtZW50VmlzdWFsbHlOb25FbXB0eVBpeGVsQ291bnQ7CisgICAgYm9vbCBt
X2lzR2VuZXJhdGVkQ29udGVudDsKIAogICAgIGZyaWVuZCBjbGFzcyBSZW5kZXJJbWFnZVNjYWxl
T2JzZXJ2ZXI7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVj
dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVj
dC5jcHAJKHJldmlzaW9uIDEwMTczOCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJPYmplY3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTIsOSArMTEyLDEwIEBAIFJlbmRlck9i
amVjdCogUmVuZGVyT2JqZWN0OjpjcmVhdGVPYmplY3QKICAgICBpZiAoY29udGVudERhdGEgJiYg
IWNvbnRlbnREYXRhLT5uZXh0KCkgJiYgY29udGVudERhdGEtPmlzSW1hZ2UoKSAmJiBkb2MgIT0g
bm9kZSkgewogICAgICAgICBSZW5kZXJJbWFnZSogaW1hZ2UgPSBuZXcgKGFyZW5hKSBSZW5kZXJJ
bWFnZShub2RlKTsKICAgICAgICAgaW1hZ2UtPnNldFN0eWxlKHN0eWxlKTsKLSAgICAgICAgaWYg
KGNvbnN0IFN0eWxlSW1hZ2UqIHN0eWxlSW1hZ2UgPSBzdGF0aWNfY2FzdDxjb25zdCBJbWFnZUNv
bnRlbnREYXRhKj4oY29udGVudERhdGEpLT5pbWFnZSgpKQorICAgICAgICBpZiAoY29uc3QgU3R5
bGVJbWFnZSogc3R5bGVJbWFnZSA9IHN0YXRpY19jYXN0PGNvbnN0IEltYWdlQ29udGVudERhdGEq
Pihjb250ZW50RGF0YSktPmltYWdlKCkpIHsKICAgICAgICAgICAgIGltYWdlLT5zZXRJbWFnZVJl
c291cmNlKFJlbmRlckltYWdlUmVzb3VyY2VTdHlsZUltYWdlOjpjcmVhdGUoY29uc3RfY2FzdDxT
dHlsZUltYWdlKj4oc3R5bGVJbWFnZSkpKTsKLSAgICAgICAgZWxzZQorICAgICAgICAgICAgaW1h
Z2UtPnNldElzR2VuZXJhdGVkQ29udGVudCgpOworICAgICAgICB9IGVsc2UKICAgICAgICAgICAg
IGltYWdlLT5zZXRJbWFnZVJlc291cmNlKFJlbmRlckltYWdlUmVzb3VyY2U6OmNyZWF0ZSgpKTsK
ICAgICAgICAgcmV0dXJuIGltYWdlOwogICAgIH0KSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxv
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDEwMTczOCkK
KysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBA
CisyMDExLTEyLTAxICBMZW8gWWFuZyAgPGxlby55YW5nQHRvcmNobW9iaWxlLmNvbS5jbj4KKwor
ICAgICAgICBpbWFnZSBlbGVtZW50IHdpdGggc3JjIGF0dHJpYnV0ZSBjYW4ndCBiZSByZXBsYWNl
ZCBieSBjb250ZW50OiB1cmwoKSBzdHlsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NDI4NDAKKworICAgICAgICBUZXN0IGNhc2UgY29udGFpbnMgaW1h
Z2UgZWxlbWVudCB3aXRoIHNyYyBhdHRyaWJ1dGUgYW5kICJjb250ZW50OiB1cmwoLi4uKSIKKyAg
ICAgICAgc3R5bGUgYXR0cmlidXRlLgorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVy
LgorCisgICAgICAgICogZmFzdC9pbWFnZXMvaW1hZ2UtY3NzMy1jb250ZW50LWRhdGEtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2ltYWdlcy9pbWFnZS1jc3MzLWNvbnRlbnQt
ZGF0YS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2ltYWdlcy9yZXNvdXJjZXMvZ3JlZW4t
MjR4MjQuanBnOiBBZGRlZC4KKwogMjAxMS0xMi0wMSAgSmFjb2IgR29sZHN0ZWluICA8amFjb2Jn
QGFkb2JlLmNvbT4KIAogICAgICAgICBDb252ZXJ0IHNvbWUgZmFzdC9yZWdpb25zIHBpeGVsIHRl
c3RzIHRvIHJlZnRlc3RzCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9pbWFnZS1jc3Mz
LWNvbnRlbnQtZGF0YS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFz
dC9pbWFnZXMvaW1hZ2UtY3NzMy1jb250ZW50LWRhdGEtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAw
KQorKysgTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvaW1hZ2UtY3NzMy1jb250ZW50LWRhdGEtZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDcgQEAKK2xheWVyIGF0ICgwLDApIHNp
emUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQg
KDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgw
MHg2MDAKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1ODQKKyAgICAg
IFJlbmRlckltYWdlIHtJTUd9IGF0ICgwLDApIHNpemUgMjR4MjQKKyAgICAgIFJlbmRlclRleHQg
eyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MApJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMv
aW1hZ2UtY3NzMy1jb250ZW50LWRhdGEuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9m
YXN0L2ltYWdlcy9pbWFnZS1jc3MzLWNvbnRlbnQtZGF0YS5odG1sCShyZXZpc2lvbiAwKQorKysg
TGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvaW1hZ2UtY3NzMy1jb250ZW50LWRhdGEuaHRtbAkocmV2
aXNpb24gMCkKQEAgLTAsMCArMSw1IEBACis8aHRtbD4KKzxib2R5PgorPGltYWdlIGlkID0iaW1h
Z2UiIHNyYz0icmVzb3VyY2VzL2dyZWVuLmpwZyIgc3R5bGU9ImNvbnRlbnQ6IHVybChyZXNvdXJj
ZXMvZ3JlZW4tMjR4MjQuanBnKSIvPgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVz
dHMvZmFzdC9pbWFnZXMvcmVzb3VyY2VzL2dyZWVuLTI0eDI0LmpwZwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkNhbm5v
dCBkaXNwbGF5OiBmaWxlIG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBlLgpzdm46bWltZS10eXBlID0g
aW1hZ2UvanBlZwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMv
cmVzb3VyY2VzL2dyZWVuLTI0eDI0LmpwZwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46bWltZS10eXBl
CiAgICsgaW1hZ2UvanBlZwoKCi85ai80QUFRU2taSlJnQUJBUUVBWUFCZ0FBRC8yd0JEQUFnR0Jn
Y0dCUWdIQndjSkNRZ0tEQlFOREFzTERCa1NFdzhVSFJvZkhoMGEKSEJ3Z0pDNG5JQ0lzSXh3Y0tE
Y3BMREF4TkRRMEh5YzVQVGd5UEM0ek5ETC8yd0JEQVFrSkNRd0xEQmdORFJneUlSd2hNakl5TWpJ
eQpNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJ
eU1qTC93QUFSQ0FBWUFCZ0RBU0lBCkFoRUJBeEVCLzhRQUh3QUFBUVVCQVFFQkFRRUFBQUFBQUFB
QUFBRUNBd1FGQmdjSUNRb0wvOFFBdFJBQUFnRURBd0lFQXdVRkJBUUEKQUFGOUFRSURBQVFSQlJJ
aE1VRUdFMUZoQnlKeEZES0JrYUVJSTBLeHdSVlMwZkFrTTJKeWdna0tGaGNZR1JvbEppY29LU28w
TlRZMwpPRGs2UTBSRlJrZElTVXBUVkZWV1YxaFpXbU5rWldabmFHbHFjM1IxZG5kNGVYcURoSVdH
aDRpSmlwS1RsSldXbDVpWm1xS2pwS1dtCnA2aXBxckt6dExXMnQ3aTV1c0xEeE1YR3g4akp5dExU
MU5YVzE5aloydUhpNCtUbDV1Zm82ZXJ4OHZQMDlmYjMrUG42LzhRQUh3RUEKQXdFQkFRRUJBUUVC
QVFBQUFBQUFBQUVDQXdRRkJnY0lDUW9MLzhRQXRSRUFBZ0VDQkFRREJBY0ZCQVFBQVFKM0FBRUNB
eEVFQlNFeApCaEpCVVFkaGNSTWlNb0VJRkVLUm9iSEJDU016VXZBVlluTFJDaFlrTk9FbDhSY1lH
Um9tSnlncEtqVTJOemc1T2tORVJVWkhTRWxLClUxUlZWbGRZV1ZwalpHVm1aMmhwYW5OMGRYWjNl
SGw2Z29PRWhZYUhpSW1La3BPVWxaYVhtSm1hb3FPa3BhYW5xS21xc3JPMHRiYTMKdUxtNndzUEV4
Y2JIeU1uSzB0UFUxZGJYMk5uYTR1UGs1ZWJuNk9ucTh2UDA5ZmIzK1BuNi85b0FEQU1CQUFJUkF4
RUFQd0RXb29vcgo4MFB5QUtLS0tBQ2lpaWdBb29vb0EvL1oKCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>