<?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>51873</bug_id>
          
          <creation_ts>2011-01-04 07:51:36 -0800</creation_ts>
          <short_desc>[Symbian] RVCT fails to compile [U|I]nt[8|16|32]Array.h</short_desc>
          <delta_ts>2011-01-25 07:24:58 -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>Platform</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>S60 3rd edition</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Qt, QtTriaged</keywords>
          <priority>P3</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Laszlo Gombos">laszlo.gombos</reporter>
          <assigned_to name="qi">qi.2.zhang</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>cshu</cc>
    
    <cc>darin</cc>
    
    <cc>dbates</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>dino</cc>
    
    <cc>hausmann</cc>
    
    <cc>kamaji</cc>
    
    <cc>koshuin</cc>
    
    <cc>laszlo.gombos</cc>
    
    <cc>s.mathur</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>328992</commentid>
    <comment_count>0</comment_count>
    <who name="Laszlo Gombos">laszlo.gombos</who>
    <bug_when>2011-01-04 07:51:36 -0800</bug_when>
    <thetext>compile    : WebCore\bindings\js\JSDOMWindowCustom.cpp
   &quot;Y:/webkit/WebCore/html/canvas/Int16Array.h&quot;, line 41: Error:  #1001: class member designated by a using-declaration must be visible in a direct base class
         using TypedArrayBase&lt;short&gt;::set;
               ^
   &quot;Y:/webkit/WebCore/html/canvas/Int8Array.h&quot;, line 42: Error:  #1001: class member designated by a using-declaration must be visible in a direct base class
         using TypedArrayBase&lt;signed char&gt;::set;
               ^
   &quot;Y:/webkit/WebCore/html/canvas/Uint16Array.h&quot;, line 42: Error:  #1001: class member designated by a using-declaration must be visible in a direct base class
         using TypedArrayBase&lt;unsigned short&gt;::set;
               ^
   &quot;Y:/webkit/WebCore/html/canvas/Uint32Array.h&quot;, line 42: Error:  #1001: class member designated by a using-declaration must be visible in a direct base class
         using TypedArrayBase&lt;unsigned int&gt;::set;
               ^
Change introduced by bug 47187 (http://trac.webkit.org/changeset/69122) is probably not a solution and it might have to be reverted. At the moment BLOB and 3D_CANVAS are the only two features that require compilation of these files so disabling these features are a temporary workaround. However it is expected that more and more WebCore feature will rely on these files.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>331536</commentid>
    <comment_count>1</comment_count>
    <who name="Janne Koskinen">koshuin</who>
    <bug_when>2011-01-10 01:24:02 -0800</bug_when>
    <thetext>Haven&apos;t tested but from previous experience the using declaration won&apos;t compile on WINSCW either.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>332329</commentid>
    <comment_count>2</comment_count>
    <who name="Laszlo Gombos">laszlo.gombos</who>
    <bug_when>2011-01-11 07:47:04 -0800</bug_when>
    <thetext>There is a related problem introduced in http://trac.webkit.org/changeset/74775. Using declaration in WebCore/rendering/RenderInline.h seems to be ignored by RVCT, which results in the following build error:

   &quot;Y:\webkit\Source\WebCore\rendering\RenderInline.cpp&quot;, line 245: Error:  #410
-D: protected function &quot;WebCore::RenderBoxModelObject::setContinuation&quot; is not a
ccessible through a &quot;WebCore::RenderBlock&quot; pointer or object
         middleBlock-&gt;setContinuation(clone);
                      ^
   Y:\webkit\Source\WebCore\rendering\RenderInline.cpp: 0 warnings, 1 error

Temporary workaround is to make setContinuation() public in RenderBoxModelObject.h.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>335429</commentid>
    <comment_count>3</comment_count>
      <attachid>79200</attachid>
    <who name="qi">qi.2.zhang</who>
    <bug_when>2011-01-17 11:59:37 -0800</bug_when>
    <thetext>Created attachment 79200
patch

In RVCT 4, only Array(comment #1) has the compile issue, RenderInline (comment #2) is OK. In RVCT 2.2, RenderInline has the same issue as Comment #2 talked about. This fix only fixed RVCT 4 issue, since RVCT 4 will replace RVCT 2.2 soon. And I test this patch in RVCT 2.2 enviroment, it didn&apos;t generate any problem.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>335433</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-01-17 12:02:41 -0800</bug_when>
    <thetext>Attachment 79200 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1

Source/WebCore/html/canvas/Int32Array.h:45:  Tab found; better to use spaces  [whitespace/tab] [1]
Source/WebCore/html/canvas/Int8Array.h:47:  Tab found; better to use spaces  [whitespace/tab] [1]
Total errors found: 2 in 6 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>335441</commentid>
    <comment_count>5</comment_count>
      <attachid>79203</attachid>
    <who name="qi">qi.2.zhang</who>
    <bug_when>2011-01-17 12:13:34 -0800</bug_when>
    <thetext>Created attachment 79203
patch2

Fixed the &quot;Tab&quot; issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337859</commentid>
    <comment_count>6</comment_count>
    <who name="Laszlo Gombos">laszlo.gombos</who>
    <bug_when>2011-01-20 21:25:13 -0800</bug_when>
    <thetext>Adding Darin and Daniel to get their input. An other option would be - which would make the code less cluttered but perhaps less efficient is to always take the RVCT path for all ports (and remove the other path).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>338200</commentid>
    <comment_count>7</comment_count>
      <attachid>79203</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-01-21 11:38:33 -0800</bug_when>
    <thetext>Comment on attachment 79203
patch2

At a certain point, dealing where certain C++ features don’t work, it’s unpleasant for the project to have to dumb down the code for that compiler.

I do think it would be slightly better to do this without the #if and with a comment explaining that we can’t use “using” here due to a bug in the RVCT compiler.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>338269</commentid>
    <comment_count>8</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2011-01-21 12:34:47 -0800</bug_when>
    <thetext>What version of RVCT are you using?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>338970</commentid>
    <comment_count>9</comment_count>
    <who name="qi">qi.2.zhang</who>
    <bug_when>2011-01-24 06:16:14 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; What version of RVCT are you using?

RVCT 4, but it also happen in RVCT 2.2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>339201</commentid>
    <comment_count>10</comment_count>
      <attachid>79957</attachid>
    <who name="qi">qi.2.zhang</who>
    <bug_when>2011-01-24 12:43:59 -0800</bug_when>
    <thetext>Created attachment 79957
patch3

Based on comments to change a little bit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>339202</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-01-24 12:45:18 -0800</bug_when>
    <thetext>Attachment 79957 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1

Source/WebCore/html/canvas/Int32Array.h:42:  Tab found; better to use spaces  [whitespace/tab] [1]
Source/WebCore/html/canvas/Int8Array.h:44:  Tab found; better to use spaces  [whitespace/tab] [1]
Total errors found: 2 in 6 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>339203</commentid>
    <comment_count>12</comment_count>
      <attachid>79958</attachid>
    <who name="qi">qi.2.zhang</who>
    <bug_when>2011-01-24 12:48:01 -0800</bug_when>
    <thetext>Created attachment 79958
patch4

fix style issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>339204</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-01-24 12:50:00 -0800</bug_when>
    <thetext>Attachment 79958 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1

Source/WebCore/html/canvas/Int32Array.h:42:  Tab found; better to use spaces  [whitespace/tab] [1]
Total errors found: 1 in 6 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>339206</commentid>
    <comment_count>14</comment_count>
      <attachid>79960</attachid>
    <who name="qi">qi.2.zhang</who>
    <bug_when>2011-01-24 12:52:33 -0800</bug_when>
    <thetext>Created attachment 79960
patch5

Sorry, again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>339218</commentid>
    <comment_count>15</comment_count>
    <who name="Laszlo Gombos">laszlo.gombos</who>
    <bug_when>2011-01-24 13:13:43 -0800</bug_when>
    <thetext>Qi, I think we should use something more explanatory as a comment - I like Darin&apos;s wording here 

// Can’t use “using” here due to a bug in the RVCT compiler.

In the ChangeLog please mention that there are no new tests as there is no new functionality introduced.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>339225</commentid>
    <comment_count>16</comment_count>
      <attachid>79964</attachid>
    <who name="qi">qi.2.zhang</who>
    <bug_when>2011-01-24 13:22:03 -0800</bug_when>
    <thetext>Created attachment 79964
patch6

Little change based on comments. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>339235</commentid>
    <comment_count>17</comment_count>
      <attachid>79967</attachid>
    <who name="qi">qi.2.zhang</who>
    <bug_when>2011-01-24 13:35:26 -0800</bug_when>
    <thetext>Created attachment 79967
patch7

Modify ChangeLog.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>339245</commentid>
    <comment_count>18</comment_count>
    <who name="Keith Kyzivat">kamaji</who>
    <bug_when>2011-01-24 13:48:49 -0800</bug_when>
    <thetext>I think the setter functions should be inside a platform conditionalized section --

#if COMPILER(RVCT)
    // Can’t use “using” here due to a bug in the RVCT compiler.
    void set(unsigned index, double value) { return IntegralTypedArrayBase&lt;int&gt;::set(index, value); }
    void set(TypedArrayBase&lt;int&gt;* array, unsigned offset, ExceptionCode&amp; ec) { return TypedArrayBase&lt;int&gt;::set(array, offset, ec); }
#else
    using TypedArrayBase&lt;int&gt;::set;
    using IntegralTypedArrayBase&lt;int&gt;::set;
#endif

..

Also, I think non-ascii characters are against style guidelines.  (though if they are, it obviously isn&apos;t caught by check-webkit-style)
I know some compilers don&apos;t like non-ascii characters.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>339247</commentid>
    <comment_count>19</comment_count>
    <who name="Keith Kyzivat">kamaji</who>
    <bug_when>2011-01-24 13:54:21 -0800</bug_when>
    <thetext>(In reply to comment #18)
&gt; I think the setter functions should be inside a platform conditionalized 

NVM -- Laszlo jogged my memory -- we want to get rid of #if COMPILER(x) code as much as we can (for maintenance reasons)...

However, non-ascii characters I believe are still an issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>339270</commentid>
    <comment_count>20</comment_count>
      <attachid>79967</attachid>
    <who name="Laszlo Gombos">laszlo.gombos</who>
    <bug_when>2011-01-24 14:27:32 -0800</bug_when>
    <thetext>Comment on attachment 79967
patch7

Almost there. 

I think the ChangeLog should explain why the change is made and that we&apos;re not special-casing for RVCT. 

You can also replace the non-ascii quotation marks with ascii onces, although the try-bots seems to be ok.

Is there any reason you changed the order of the two functions ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>339615</commentid>
    <comment_count>21</comment_count>
      <attachid>80054</attachid>
    <who name="qi">qi.2.zhang</who>
    <bug_when>2011-01-25 05:49:17 -0800</bug_when>
    <thetext>Created attachment 80054
patch8

Comments and style change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>339634</commentid>
    <comment_count>22</comment_count>
      <attachid>80054</attachid>
    <who name="Laszlo Gombos">laszlo.gombos</who>
    <bug_when>2011-01-25 06:57:18 -0800</bug_when>
    <thetext>Comment on attachment 80054
patch8

LGTM now, r+.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>339641</commentid>
    <comment_count>23</comment_count>
      <attachid>80054</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-01-25 07:24:51 -0800</bug_when>
    <thetext>Comment on attachment 80054
patch8

Clearing flags on attachment: 80054

Committed r76592: &lt;http://trac.webkit.org/changeset/76592&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>339642</commentid>
    <comment_count>24</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-01-25 07:24:58 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>79200</attachid>
            <date>2011-01-17 11:59:37 -0800</date>
            <delta_ts>2011-01-17 12:13:34 -0800</delta_ts>
            <desc>patch</desc>
            <filename>bug51873.patch</filename>
            <type>text/plain</type>
            <size>5243</size>
            <attacher name="qi">qi.2.zhang</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDc1OTYwKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTEtMDEtMTcgIFFpIFpoYW5n
ICA8cWkuMi56aGFuZ0Bub2tpYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgW1N5bWJpYW5dIFJWQ1QgZmFpbHMgdG8gY29tcGlsZSBbVXxJXW50
Wzh8MTZ8MzJdQXJyYXkuaAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NTE4NzMKKyAgICAgICAgCisgICAgICAgIEZpeGVkIFJWQ1QgY29tcGlsZSBlcnJv
ci4KKworICAgICAgICAqIGh0bWwvY2FudmFzL0ludDMyQXJyYXkuaDoKKyAgICAgICAgKFdlYkNv
cmU6OkludDMyQXJyYXk6OnNldCk6CisgICAgICAgICogaHRtbC9jYW52YXMvSW50OEFycmF5Lmg6
CisgICAgICAgIChXZWJDb3JlOjpJbnQ4QXJyYXk6OnNldCk6CisgICAgICAgICogaHRtbC9jYW52
YXMvVWludDE2QXJyYXkuaDoKKyAgICAgICAgKFdlYkNvcmU6OlVpbnQxNkFycmF5OjpzZXQpOgor
ICAgICAgICAqIGh0bWwvY2FudmFzL1VpbnQzMkFycmF5Lmg6CisgICAgICAgIChXZWJDb3JlOjpV
aW50MzJBcnJheTo6c2V0KToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9VaW50OEFycmF5Lmg6Cisg
ICAgICAgIChXZWJDb3JlOjpVaW50OEFycmF5OjpzZXQpOgorCiAyMDExLTAxLTE3ICBBbGV4ZXkg
UHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgogCiAgICAgICAgIExlb3BhcmQgYnVpbGQgZml4
LgpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvSW50OEFycmF5LmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvSW50OEFycmF5LmgJKHJldmlzaW9uIDc1
OTQ5KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvSW50OEFycmF5LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTM5LDggKzM5LDEzIEBAIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxJ
bnQ4QXJyYXk+IGNyZWF0ZShzaWduZWQgY2hhciogYXJyYXksIHVuc2lnbmVkIGxlbmd0aCk7CiAg
ICAgc3RhdGljIFBhc3NSZWZQdHI8SW50OEFycmF5PiBjcmVhdGUoUGFzc1JlZlB0cjxBcnJheUJ1
ZmZlcj4gYnVmZmVyLCB1bnNpZ25lZCBieXRlT2Zmc2V0LCB1bnNpZ25lZCBsZW5ndGgpOwogCisj
aWYgIUNPTVBJTEVSKFJWQ1QpCiAgICAgdXNpbmcgVHlwZWRBcnJheUJhc2U8c2lnbmVkIGNoYXI+
OjpzZXQ7CiAgICAgdXNpbmcgSW50ZWdyYWxUeXBlZEFycmF5QmFzZTxzaWduZWQgY2hhcj46OnNl
dDsKKyNlbHNlCisgICAgdm9pZCBzZXQodW5zaWduZWQgaW5kZXgsIGRvdWJsZSB2YWx1ZSkgeyBy
ZXR1cm4gSW50ZWdyYWxUeXBlZEFycmF5QmFzZTxzaWduZWQgY2hhcj46OnNldChpbmRleCwgdmFs
dWUpOyB9CisgICAgdm9pZCBzZXQoVHlwZWRBcnJheUJhc2U8c2lnbmVkIGNoYXI+KiBhcnJheSwg
dW5zaWduZWQgb2Zmc2V0LCBFeGNlcHRpb25Db2RlJiBlYykgeyByZXR1cm4gVHlwZWRBcnJheUJh
c2U8c2lnbmVkIGNoYXI+OjpzZXQoYXJyYXksIG9mZnNldCwgZWMpOyB9CQorI2VuZGlmCiAKICAg
ICBQYXNzUmVmUHRyPEludDhBcnJheT4gc2xpY2UoaW50IHN0YXJ0KSBjb25zdDsKICAgICBQYXNz
UmVmUHRyPEludDhBcnJheT4gc2xpY2UoaW50IHN0YXJ0LCBpbnQgZW5kKSBjb25zdDsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0ludDMyQXJyYXkuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9JbnQzMkFycmF5LmgJKHJldmlzaW9uIDc1OTQ5KQor
KysgU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvSW50MzJBcnJheS5oCSh3b3JraW5nIGNvcHkp
CkBAIC00MCw2ICs0MCw5IEBAIHB1YmxpYzoKICNpZiAhQ09NUElMRVIoUlZDVCkKICAgICB1c2lu
ZyBUeXBlZEFycmF5QmFzZTxpbnQ+OjpzZXQ7CiAgICAgdXNpbmcgSW50ZWdyYWxUeXBlZEFycmF5
QmFzZTxpbnQ+OjpzZXQ7CisjZWxzZQorICAgIHZvaWQgc2V0KHVuc2lnbmVkIGluZGV4LCBkb3Vi
bGUgdmFsdWUpIHsgcmV0dXJuIEludGVncmFsVHlwZWRBcnJheUJhc2U8aW50Pjo6c2V0KGluZGV4
LCB2YWx1ZSk7IH0KKyAgICB2b2lkIHNldChUeXBlZEFycmF5QmFzZTxpbnQ+KiBhcnJheSwgdW5z
aWduZWQgb2Zmc2V0LCBFeGNlcHRpb25Db2RlJiBlYykgeyByZXR1cm4gVHlwZWRBcnJheUJhc2U8
aW50Pjo6c2V0KGFycmF5LCBvZmZzZXQsIGVjKTsgfQkgICAgCQogI2VuZGlmCiAKICAgICBQYXNz
UmVmUHRyPEludDMyQXJyYXk+IHNsaWNlKGludCBzdGFydCkgY29uc3Q7CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9VaW50OEFycmF5LmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvVWludDhBcnJheS5oCShyZXZpc2lvbiA3NTk0OSkKKysrIFNvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL1VpbnQ4QXJyYXkuaAkod29ya2luZyBjb3B5KQpAQCAtNDIs
NiArNDIsOSBAQCBwdWJsaWM6CiAjaWYgIUNPTVBJTEVSKFJWQ1QpCiAgICAgdXNpbmcgVHlwZWRB
cnJheUJhc2U8dW5zaWduZWQgY2hhcj46OnNldDsKICAgICB1c2luZyBJbnRlZ3JhbFR5cGVkQXJy
YXlCYXNlPHVuc2lnbmVkIGNoYXI+OjpzZXQ7CisjZWxzZQorICAgIHZvaWQgc2V0KHVuc2lnbmVk
IGluZGV4LCBkb3VibGUgdmFsdWUpIHsgcmV0dXJuIEludGVncmFsVHlwZWRBcnJheUJhc2U8dW5z
aWduZWQgY2hhcj46OnNldChpbmRleCwgdmFsdWUpOyB9CisgICAgdm9pZCBzZXQoVHlwZWRBcnJh
eUJhc2U8dW5zaWduZWQgY2hhcj4qIGFycmF5LCB1bnNpZ25lZCBvZmZzZXQsIEV4Y2VwdGlvbkNv
ZGUmIGVjKSB7IHJldHVybiBUeXBlZEFycmF5QmFzZTx1bnNpZ25lZCBjaGFyPjo6c2V0KGFycmF5
LCBvZmZzZXQsIGVjKTsgfQogI2VuZGlmCiAKICAgICBQYXNzUmVmUHRyPFVpbnQ4QXJyYXk+IHNs
aWNlKGludCBzdGFydCkgY29uc3Q7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9V
aW50MTZBcnJheS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1Vp
bnQxNkFycmF5LmgJKHJldmlzaW9uIDc1OTQ5KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvVWludDE2QXJyYXkuaAkod29ya2luZyBjb3B5KQpAQCAtMzksOCArMzksMTMgQEAgcHVibGlj
OgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFVpbnQxNkFycmF5PiBjcmVhdGUodW5zaWduZWQgc2hv
cnQqIGFycmF5LCB1bnNpZ25lZCBsZW5ndGgpOwogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFVpbnQx
NkFycmF5PiBjcmVhdGUoUGFzc1JlZlB0cjxBcnJheUJ1ZmZlcj4gYnVmZmVyLCB1bnNpZ25lZCBi
eXRlT2Zmc2V0LCB1bnNpZ25lZCBsZW5ndGgpOwogCisjaWYgIUNPTVBJTEVSKFJWQ1QpCiAgICAg
dXNpbmcgVHlwZWRBcnJheUJhc2U8dW5zaWduZWQgc2hvcnQ+OjpzZXQ7CiAgICAgdXNpbmcgSW50
ZWdyYWxUeXBlZEFycmF5QmFzZTx1bnNpZ25lZCBzaG9ydD46OnNldDsKKyNlbHNlCisgICAgdm9p
ZCBzZXQodW5zaWduZWQgaW5kZXgsIGRvdWJsZSB2YWx1ZSkgeyByZXR1cm4gSW50ZWdyYWxUeXBl
ZEFycmF5QmFzZTx1bnNpZ25lZCBzaG9ydD46OnNldChpbmRleCwgdmFsdWUpOyB9CisgICAgdm9p
ZCBzZXQoVHlwZWRBcnJheUJhc2U8dW5zaWduZWQgc2hvcnQ+KiBhcnJheSwgdW5zaWduZWQgb2Zm
c2V0LCBFeGNlcHRpb25Db2RlJiBlYykgeyByZXR1cm4gVHlwZWRBcnJheUJhc2U8dW5zaWduZWQg
c2hvcnQ+OjpzZXQoYXJyYXksIG9mZnNldCwgZWMpOyB9CisjZW5kaWYKIAogICAgIFBhc3NSZWZQ
dHI8VWludDE2QXJyYXk+IHNsaWNlKGludCBzdGFydCkgY29uc3Q7CiAgICAgUGFzc1JlZlB0cjxV
aW50MTZBcnJheT4gc2xpY2UoaW50IHN0YXJ0LCBpbnQgZW5kKSBjb25zdDsKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL1VpbnQzMkFycmF5LmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvVWludDMyQXJyYXkuaAkocmV2aXNpb24gNzU5NDkpCisrKyBT
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9VaW50MzJBcnJheS5oCSh3b3JraW5nIGNvcHkpCkBA
IC0zOSw4ICszOSwxMyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8VWludDMyQXJy
YXk+IGNyZWF0ZSh1bnNpZ25lZCBpbnQqIGFycmF5LCB1bnNpZ25lZCBsZW5ndGgpOwogICAgIHN0
YXRpYyBQYXNzUmVmUHRyPFVpbnQzMkFycmF5PiBjcmVhdGUoUGFzc1JlZlB0cjxBcnJheUJ1ZmZl
cj4gYnVmZmVyLCB1bnNpZ25lZCBieXRlT2Zmc2V0LCB1bnNpZ25lZCBsZW5ndGgpOwogCisjaWYg
IUNPTVBJTEVSKFJWQ1QpCiAgICAgdXNpbmcgVHlwZWRBcnJheUJhc2U8dW5zaWduZWQgaW50Pjo6
c2V0OwogICAgIHVzaW5nIEludGVncmFsVHlwZWRBcnJheUJhc2U8dW5zaWduZWQgaW50Pjo6c2V0
OworI2Vsc2UKKyAgICB2b2lkIHNldCh1bnNpZ25lZCBpbmRleCwgZG91YmxlIHZhbHVlKSB7IHJl
dHVybiBJbnRlZ3JhbFR5cGVkQXJyYXlCYXNlPHVuc2lnbmVkIGludD46OnNldChpbmRleCwgdmFs
dWUpOyB9CisgICAgdm9pZCBzZXQoVHlwZWRBcnJheUJhc2U8dW5zaWduZWQgaW50PiogYXJyYXks
IHVuc2lnbmVkIG9mZnNldCwgRXhjZXB0aW9uQ29kZSYgZWMpIHsgcmV0dXJuIFR5cGVkQXJyYXlC
YXNlPHVuc2lnbmVkIGludD46OnNldChhcnJheSwgb2Zmc2V0LCBlYyk7IH0KKyNlbmRpZgogCiAg
ICAgUGFzc1JlZlB0cjxVaW50MzJBcnJheT4gc2xpY2UoaW50IHN0YXJ0KSBjb25zdDsKICAgICBQ
YXNzUmVmUHRyPFVpbnQzMkFycmF5PiBzbGljZShpbnQgc3RhcnQsIGludCBlbmQpIGNvbnN0Owo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>79203</attachid>
            <date>2011-01-17 12:13:34 -0800</date>
            <delta_ts>2011-01-24 12:43:59 -0800</delta_ts>
            <desc>patch2</desc>
            <filename>bug51873_2.patch</filename>
            <type>text/plain</type>
            <size>5236</size>
            <attacher name="qi">qi.2.zhang</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDc1OTYwKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTEtMDEtMTcgIFFpIFpoYW5n
ICA8cWkuMi56aGFuZ0Bub2tpYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgW1N5bWJpYW5dIFJWQ1QgZmFpbHMgdG8gY29tcGlsZSBbVXxJXW50
Wzh8MTZ8MzJdQXJyYXkuaAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NTE4NzMKKyAgICAgICAgCisgICAgICAgIEZpeGVkIFJWQ1QgY29tcGlsZSBlcnJv
ci4KKworICAgICAgICAqIGh0bWwvY2FudmFzL0ludDMyQXJyYXkuaDoKKyAgICAgICAgKFdlYkNv
cmU6OkludDMyQXJyYXk6OnNldCk6CisgICAgICAgICogaHRtbC9jYW52YXMvSW50OEFycmF5Lmg6
CisgICAgICAgIChXZWJDb3JlOjpJbnQ4QXJyYXk6OnNldCk6CisgICAgICAgICogaHRtbC9jYW52
YXMvVWludDE2QXJyYXkuaDoKKyAgICAgICAgKFdlYkNvcmU6OlVpbnQxNkFycmF5OjpzZXQpOgor
ICAgICAgICAqIGh0bWwvY2FudmFzL1VpbnQzMkFycmF5Lmg6CisgICAgICAgIChXZWJDb3JlOjpV
aW50MzJBcnJheTo6c2V0KToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9VaW50OEFycmF5Lmg6Cisg
ICAgICAgIChXZWJDb3JlOjpVaW50OEFycmF5OjpzZXQpOgorCiAyMDExLTAxLTE3ICBBbGV4ZXkg
UHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgogCiAgICAgICAgIExlb3BhcmQgYnVpbGQgZml4
LgpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvSW50OEFycmF5LmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvSW50OEFycmF5LmgJKHJldmlzaW9uIDc1
OTQ5KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvSW50OEFycmF5LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTM5LDggKzM5LDEzIEBAIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxJ
bnQ4QXJyYXk+IGNyZWF0ZShzaWduZWQgY2hhciogYXJyYXksIHVuc2lnbmVkIGxlbmd0aCk7CiAg
ICAgc3RhdGljIFBhc3NSZWZQdHI8SW50OEFycmF5PiBjcmVhdGUoUGFzc1JlZlB0cjxBcnJheUJ1
ZmZlcj4gYnVmZmVyLCB1bnNpZ25lZCBieXRlT2Zmc2V0LCB1bnNpZ25lZCBsZW5ndGgpOwogCisj
aWYgIUNPTVBJTEVSKFJWQ1QpCiAgICAgdXNpbmcgVHlwZWRBcnJheUJhc2U8c2lnbmVkIGNoYXI+
OjpzZXQ7CiAgICAgdXNpbmcgSW50ZWdyYWxUeXBlZEFycmF5QmFzZTxzaWduZWQgY2hhcj46OnNl
dDsKKyNlbHNlCisgICAgdm9pZCBzZXQodW5zaWduZWQgaW5kZXgsIGRvdWJsZSB2YWx1ZSkgeyBy
ZXR1cm4gSW50ZWdyYWxUeXBlZEFycmF5QmFzZTxzaWduZWQgY2hhcj46OnNldChpbmRleCwgdmFs
dWUpOyB9CisgICAgdm9pZCBzZXQoVHlwZWRBcnJheUJhc2U8c2lnbmVkIGNoYXI+KiBhcnJheSwg
dW5zaWduZWQgb2Zmc2V0LCBFeGNlcHRpb25Db2RlJiBlYykgeyByZXR1cm4gVHlwZWRBcnJheUJh
c2U8c2lnbmVkIGNoYXI+OjpzZXQoYXJyYXksIG9mZnNldCwgZWMpOyB9CisjZW5kaWYKIAogICAg
IFBhc3NSZWZQdHI8SW50OEFycmF5PiBzbGljZShpbnQgc3RhcnQpIGNvbnN0OwogICAgIFBhc3NS
ZWZQdHI8SW50OEFycmF5PiBzbGljZShpbnQgc3RhcnQsIGludCBlbmQpIGNvbnN0OwpJbmRleDog
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvSW50MzJBcnJheS5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0ludDMyQXJyYXkuaAkocmV2aXNpb24gNzU5NDkpCisr
KyBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9JbnQzMkFycmF5LmgJKHdvcmtpbmcgY29weSkK
QEAgLTQwLDYgKzQwLDkgQEAgcHVibGljOgogI2lmICFDT01QSUxFUihSVkNUKQogICAgIHVzaW5n
IFR5cGVkQXJyYXlCYXNlPGludD46OnNldDsKICAgICB1c2luZyBJbnRlZ3JhbFR5cGVkQXJyYXlC
YXNlPGludD46OnNldDsKKyNlbHNlCisgICAgdm9pZCBzZXQodW5zaWduZWQgaW5kZXgsIGRvdWJs
ZSB2YWx1ZSkgeyByZXR1cm4gSW50ZWdyYWxUeXBlZEFycmF5QmFzZTxpbnQ+OjpzZXQoaW5kZXgs
IHZhbHVlKTsgfQorICAgIHZvaWQgc2V0KFR5cGVkQXJyYXlCYXNlPGludD4qIGFycmF5LCB1bnNp
Z25lZCBvZmZzZXQsIEV4Y2VwdGlvbkNvZGUmIGVjKSB7IHJldHVybiBUeXBlZEFycmF5QmFzZTxp
bnQ+OjpzZXQoYXJyYXksIG9mZnNldCwgZWMpOyB9CiAjZW5kaWYKIAogICAgIFBhc3NSZWZQdHI8
SW50MzJBcnJheT4gc2xpY2UoaW50IHN0YXJ0KSBjb25zdDsKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL1VpbnQ4QXJyYXkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9o
dG1sL2NhbnZhcy9VaW50OEFycmF5LmgJKHJldmlzaW9uIDc1OTQ5KQorKysgU291cmNlL1dlYkNv
cmUvaHRtbC9jYW52YXMvVWludDhBcnJheS5oCSh3b3JraW5nIGNvcHkpCkBAIC00Miw2ICs0Miw5
IEBAIHB1YmxpYzoKICNpZiAhQ09NUElMRVIoUlZDVCkKICAgICB1c2luZyBUeXBlZEFycmF5QmFz
ZTx1bnNpZ25lZCBjaGFyPjo6c2V0OwogICAgIHVzaW5nIEludGVncmFsVHlwZWRBcnJheUJhc2U8
dW5zaWduZWQgY2hhcj46OnNldDsKKyNlbHNlCisgICAgdm9pZCBzZXQodW5zaWduZWQgaW5kZXgs
IGRvdWJsZSB2YWx1ZSkgeyByZXR1cm4gSW50ZWdyYWxUeXBlZEFycmF5QmFzZTx1bnNpZ25lZCBj
aGFyPjo6c2V0KGluZGV4LCB2YWx1ZSk7IH0KKyAgICB2b2lkIHNldChUeXBlZEFycmF5QmFzZTx1
bnNpZ25lZCBjaGFyPiogYXJyYXksIHVuc2lnbmVkIG9mZnNldCwgRXhjZXB0aW9uQ29kZSYgZWMp
IHsgcmV0dXJuIFR5cGVkQXJyYXlCYXNlPHVuc2lnbmVkIGNoYXI+OjpzZXQoYXJyYXksIG9mZnNl
dCwgZWMpOyB9CiAjZW5kaWYKIAogICAgIFBhc3NSZWZQdHI8VWludDhBcnJheT4gc2xpY2UoaW50
IHN0YXJ0KSBjb25zdDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1VpbnQxNkFy
cmF5LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvVWludDE2QXJy
YXkuaAkocmV2aXNpb24gNzU5NDkpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9VaW50
MTZBcnJheS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zOSw4ICszOSwxMyBAQCBwdWJsaWM6CiAgICAg
c3RhdGljIFBhc3NSZWZQdHI8VWludDE2QXJyYXk+IGNyZWF0ZSh1bnNpZ25lZCBzaG9ydCogYXJy
YXksIHVuc2lnbmVkIGxlbmd0aCk7CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8VWludDE2QXJyYXk+
IGNyZWF0ZShQYXNzUmVmUHRyPEFycmF5QnVmZmVyPiBidWZmZXIsIHVuc2lnbmVkIGJ5dGVPZmZz
ZXQsIHVuc2lnbmVkIGxlbmd0aCk7CiAKKyNpZiAhQ09NUElMRVIoUlZDVCkKICAgICB1c2luZyBU
eXBlZEFycmF5QmFzZTx1bnNpZ25lZCBzaG9ydD46OnNldDsKICAgICB1c2luZyBJbnRlZ3JhbFR5
cGVkQXJyYXlCYXNlPHVuc2lnbmVkIHNob3J0Pjo6c2V0OworI2Vsc2UKKyAgICB2b2lkIHNldCh1
bnNpZ25lZCBpbmRleCwgZG91YmxlIHZhbHVlKSB7IHJldHVybiBJbnRlZ3JhbFR5cGVkQXJyYXlC
YXNlPHVuc2lnbmVkIHNob3J0Pjo6c2V0KGluZGV4LCB2YWx1ZSk7IH0KKyAgICB2b2lkIHNldChU
eXBlZEFycmF5QmFzZTx1bnNpZ25lZCBzaG9ydD4qIGFycmF5LCB1bnNpZ25lZCBvZmZzZXQsIEV4
Y2VwdGlvbkNvZGUmIGVjKSB7IHJldHVybiBUeXBlZEFycmF5QmFzZTx1bnNpZ25lZCBzaG9ydD46
OnNldChhcnJheSwgb2Zmc2V0LCBlYyk7IH0KKyNlbmRpZgogCiAgICAgUGFzc1JlZlB0cjxVaW50
MTZBcnJheT4gc2xpY2UoaW50IHN0YXJ0KSBjb25zdDsKICAgICBQYXNzUmVmUHRyPFVpbnQxNkFy
cmF5PiBzbGljZShpbnQgc3RhcnQsIGludCBlbmQpIGNvbnN0OwpJbmRleDogU291cmNlL1dlYkNv
cmUvaHRtbC9jYW52YXMvVWludDMyQXJyYXkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9VaW50MzJBcnJheS5oCShyZXZpc2lvbiA3NTk0OSkKKysrIFNvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL1VpbnQzMkFycmF5LmgJKHdvcmtpbmcgY29weSkKQEAgLTM5LDgg
KzM5LDEzIEBAIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxVaW50MzJBcnJheT4gY3Jl
YXRlKHVuc2lnbmVkIGludCogYXJyYXksIHVuc2lnbmVkIGxlbmd0aCk7CiAgICAgc3RhdGljIFBh
c3NSZWZQdHI8VWludDMyQXJyYXk+IGNyZWF0ZShQYXNzUmVmUHRyPEFycmF5QnVmZmVyPiBidWZm
ZXIsIHVuc2lnbmVkIGJ5dGVPZmZzZXQsIHVuc2lnbmVkIGxlbmd0aCk7CiAKKyNpZiAhQ09NUElM
RVIoUlZDVCkKICAgICB1c2luZyBUeXBlZEFycmF5QmFzZTx1bnNpZ25lZCBpbnQ+OjpzZXQ7CiAg
ICAgdXNpbmcgSW50ZWdyYWxUeXBlZEFycmF5QmFzZTx1bnNpZ25lZCBpbnQ+OjpzZXQ7CisjZWxz
ZQorICAgIHZvaWQgc2V0KHVuc2lnbmVkIGluZGV4LCBkb3VibGUgdmFsdWUpIHsgcmV0dXJuIElu
dGVncmFsVHlwZWRBcnJheUJhc2U8dW5zaWduZWQgaW50Pjo6c2V0KGluZGV4LCB2YWx1ZSk7IH0K
KyAgICB2b2lkIHNldChUeXBlZEFycmF5QmFzZTx1bnNpZ25lZCBpbnQ+KiBhcnJheSwgdW5zaWdu
ZWQgb2Zmc2V0LCBFeGNlcHRpb25Db2RlJiBlYykgeyByZXR1cm4gVHlwZWRBcnJheUJhc2U8dW5z
aWduZWQgaW50Pjo6c2V0KGFycmF5LCBvZmZzZXQsIGVjKTsgfQorI2VuZGlmCiAKICAgICBQYXNz
UmVmUHRyPFVpbnQzMkFycmF5PiBzbGljZShpbnQgc3RhcnQpIGNvbnN0OwogICAgIFBhc3NSZWZQ
dHI8VWludDMyQXJyYXk+IHNsaWNlKGludCBzdGFydCwgaW50IGVuZCkgY29uc3Q7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>79957</attachid>
            <date>2011-01-24 12:43:59 -0800</date>
            <delta_ts>2011-01-24 12:48:01 -0800</delta_ts>
            <desc>patch3</desc>
            <filename>bug51873_3.patch</filename>
            <type>text/plain</type>
            <size>5961</size>
            <attacher name="qi">qi.2.zhang</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDc2NTQyKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTEtMDEtMjQgIFFpIFpoYW5n
ICA8cWkuMi56aGFuZ0Bub2tpYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgW1N5bWJpYW5dIFJWQ1QgZmFpbHMgdG8gY29tcGlsZSBbVXxJXW50
Wzh8MTZ8MzJdQXJyYXkuaAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NTE4NzMKKyAgICAgICAgCisgICAgICAgIEZpeGVkIFJWQ1QgY29tcGlsZSBlcnJv
ci4KKworICAgICAgICAqIGh0bWwvY2FudmFzL0ludDMyQXJyYXkuaDoKKyAgICAgICAgKFdlYkNv
cmU6OkludDMyQXJyYXk6OnNldCk6CisgICAgICAgICogaHRtbC9jYW52YXMvSW50OEFycmF5Lmg6
CisgICAgICAgIChXZWJDb3JlOjpJbnQ4QXJyYXk6OnNldCk6CisgICAgICAgICogaHRtbC9jYW52
YXMvVWludDE2QXJyYXkuaDoKKyAgICAgICAgKFdlYkNvcmU6OlVpbnQxNkFycmF5OjpzZXQpOgor
ICAgICAgICAqIGh0bWwvY2FudmFzL1VpbnQzMkFycmF5Lmg6CisgICAgICAgIChXZWJDb3JlOjpV
aW50MzJBcnJheTo6c2V0KToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9VaW50OEFycmF5Lmg6Cisg
ICAgICAgIChXZWJDb3JlOjpVaW50OEFycmF5OjpzZXQpOgorCiAyMDExLTAxLTI0ICBBbnRvbiBN
dWhpbiAgPGFudG9ubUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTmF0ZSBD
aGFwaW4uCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9JbnQ4QXJyYXkuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9JbnQ4QXJyYXkuaAkocmV2aXNp
b24gNzU5NDkpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9JbnQ4QXJyYXkuaAkod29y
a2luZyBjb3B5KQpAQCAtMzksOCArMzksOSBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQ
dHI8SW50OEFycmF5PiBjcmVhdGUoc2lnbmVkIGNoYXIqIGFycmF5LCB1bnNpZ25lZCBsZW5ndGgp
OwogICAgIHN0YXRpYyBQYXNzUmVmUHRyPEludDhBcnJheT4gY3JlYXRlKFBhc3NSZWZQdHI8QXJy
YXlCdWZmZXI+IGJ1ZmZlciwgdW5zaWduZWQgYnl0ZU9mZnNldCwgdW5zaWduZWQgbGVuZ3RoKTsK
IAotICAgIHVzaW5nIFR5cGVkQXJyYXlCYXNlPHNpZ25lZCBjaGFyPjo6c2V0OwotICAgIHVzaW5n
IEludGVncmFsVHlwZWRBcnJheUJhc2U8c2lnbmVkIGNoYXI+OjpzZXQ7CisgICAgLy8gUmVtb3Zl
ZCB1c2luZyBkZWNsYXJhdGlvbiBkdWUgdG8gdGhlIFJWQ1QgY29tcGlsZXIgZXJyb3IuCisgICAg
dm9pZCBzZXQodW5zaWduZWQgaW5kZXgsIGRvdWJsZSB2YWx1ZSkgeyByZXR1cm4gSW50ZWdyYWxU
eXBlZEFycmF5QmFzZTxzaWduZWQgY2hhcj46OnNldChpbmRleCwgdmFsdWUpOyB9CisgICAgdm9p
ZCBzZXQoVHlwZWRBcnJheUJhc2U8c2lnbmVkIGNoYXI+KiBhcnJheSwgdW5zaWduZWQgb2Zmc2V0
LCBFeGNlcHRpb25Db2RlJiBlYykgeyByZXR1cm4gVHlwZWRBcnJheUJhc2U8c2lnbmVkIGNoYXI+
OjpzZXQoYXJyYXksIG9mZnNldCwgZWMpOyB9CQogCiAgICAgUGFzc1JlZlB0cjxJbnQ4QXJyYXk+
IHNsaWNlKGludCBzdGFydCkgY29uc3Q7CiAgICAgUGFzc1JlZlB0cjxJbnQ4QXJyYXk+IHNsaWNl
KGludCBzdGFydCwgaW50IGVuZCkgY29uc3Q7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9JbnQzMkFycmF5LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvSW50MzJBcnJheS5oCShyZXZpc2lvbiA3NTk0OSkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL0ludDMyQXJyYXkuaAkod29ya2luZyBjb3B5KQpAQCAtMzcsMTAgKzM3LDkgQEAgcHVi
bGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPEludDMyQXJyYXk+IGNyZWF0ZShpbnQqIGFycmF5
LCB1bnNpZ25lZCBsZW5ndGgpOwogICAgIHN0YXRpYyBQYXNzUmVmUHRyPEludDMyQXJyYXk+IGNy
ZWF0ZShQYXNzUmVmUHRyPEFycmF5QnVmZmVyPiBidWZmZXIsIHVuc2lnbmVkIGJ5dGVPZmZzZXQs
IHVuc2lnbmVkIGxlbmd0aCk7CiAKLSNpZiAhQ09NUElMRVIoUlZDVCkKLSAgICB1c2luZyBUeXBl
ZEFycmF5QmFzZTxpbnQ+OjpzZXQ7Ci0gICAgdXNpbmcgSW50ZWdyYWxUeXBlZEFycmF5QmFzZTxp
bnQ+OjpzZXQ7Ci0jZW5kaWYKKyAgICAvLyBSZW1vdmVkIHVzaW5nIGRlY2xhcmF0aW9uIGR1ZSB0
byB0aGUgUlZDVCBjb21waWxlciBlcnJvci4KKyAgICB2b2lkIHNldCh1bnNpZ25lZCBpbmRleCwg
ZG91YmxlIHZhbHVlKSB7IHJldHVybiBJbnRlZ3JhbFR5cGVkQXJyYXlCYXNlPGludD46OnNldChp
bmRleCwgdmFsdWUpOyB9CisgICAgdm9pZCBzZXQoVHlwZWRBcnJheUJhc2U8aW50PiogYXJyYXks
IHVuc2lnbmVkIG9mZnNldCwgRXhjZXB0aW9uQ29kZSYgZWMpIHsgcmV0dXJuIFR5cGVkQXJyYXlC
YXNlPGludD46OnNldChhcnJheSwgb2Zmc2V0LCBlYyk7IH0JICAgIAkKIAogICAgIFBhc3NSZWZQ
dHI8SW50MzJBcnJheT4gc2xpY2UoaW50IHN0YXJ0KSBjb25zdDsKICAgICBQYXNzUmVmUHRyPElu
dDMyQXJyYXk+IHNsaWNlKGludCBzdGFydCwgaW50IGVuZCkgY29uc3Q7CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9VaW50OEFycmF5LmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvVWludDhBcnJheS5oCShyZXZpc2lvbiA3NTk0OSkKKysrIFNvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL1VpbnQ4QXJyYXkuaAkod29ya2luZyBjb3B5KQpAQCAtMzks
MTAgKzM5LDkgQEAgcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFVpbnQ4QXJyYXk+IGNy
ZWF0ZSh1bnNpZ25lZCBjaGFyKiBhcnJheSwgdW5zaWduZWQgbGVuZ3RoKTsKICAgICBzdGF0aWMg
UGFzc1JlZlB0cjxVaW50OEFycmF5PiBjcmVhdGUoUGFzc1JlZlB0cjxBcnJheUJ1ZmZlcj4gYnVm
ZmVyLCB1bnNpZ25lZCBieXRlT2Zmc2V0LCB1bnNpZ25lZCBsZW5ndGgpOwogCi0jaWYgIUNPTVBJ
TEVSKFJWQ1QpCi0gICAgdXNpbmcgVHlwZWRBcnJheUJhc2U8dW5zaWduZWQgY2hhcj46OnNldDsK
LSAgICB1c2luZyBJbnRlZ3JhbFR5cGVkQXJyYXlCYXNlPHVuc2lnbmVkIGNoYXI+OjpzZXQ7Ci0j
ZW5kaWYKKyAgICAvLyBSZW1vdmVkIHVzaW5nIGRlY2xhcmF0aW9uIGR1ZSB0byB0aGUgUlZDVCBj
b21waWxlciBlcnJvci4KKyAgICB2b2lkIHNldCh1bnNpZ25lZCBpbmRleCwgZG91YmxlIHZhbHVl
KSB7IHJldHVybiBJbnRlZ3JhbFR5cGVkQXJyYXlCYXNlPHVuc2lnbmVkIGNoYXI+OjpzZXQoaW5k
ZXgsIHZhbHVlKTsgfQorICAgIHZvaWQgc2V0KFR5cGVkQXJyYXlCYXNlPHVuc2lnbmVkIGNoYXI+
KiBhcnJheSwgdW5zaWduZWQgb2Zmc2V0LCBFeGNlcHRpb25Db2RlJiBlYykgeyByZXR1cm4gVHlw
ZWRBcnJheUJhc2U8dW5zaWduZWQgY2hhcj46OnNldChhcnJheSwgb2Zmc2V0LCBlYyk7IH0KIAog
ICAgIFBhc3NSZWZQdHI8VWludDhBcnJheT4gc2xpY2UoaW50IHN0YXJ0KSBjb25zdDsKICAgICBQ
YXNzUmVmUHRyPFVpbnQ4QXJyYXk+IHNsaWNlKGludCBzdGFydCwgaW50IGVuZCkgY29uc3Q7Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9VaW50MTZBcnJheS5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1VpbnQxNkFycmF5LmgJKHJldmlzaW9uIDc1
OTQ5KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvVWludDE2QXJyYXkuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMzksOCArMzksOSBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8
VWludDE2QXJyYXk+IGNyZWF0ZSh1bnNpZ25lZCBzaG9ydCogYXJyYXksIHVuc2lnbmVkIGxlbmd0
aCk7CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8VWludDE2QXJyYXk+IGNyZWF0ZShQYXNzUmVmUHRy
PEFycmF5QnVmZmVyPiBidWZmZXIsIHVuc2lnbmVkIGJ5dGVPZmZzZXQsIHVuc2lnbmVkIGxlbmd0
aCk7CiAKLSAgICB1c2luZyBUeXBlZEFycmF5QmFzZTx1bnNpZ25lZCBzaG9ydD46OnNldDsKLSAg
ICB1c2luZyBJbnRlZ3JhbFR5cGVkQXJyYXlCYXNlPHVuc2lnbmVkIHNob3J0Pjo6c2V0OworICAg
IC8vIFJlbW92ZWQgdXNpbmcgZGVjbGFyYXRpb24gZHVlIHRvIHRoZSBSVkNUIGNvbXBpbGVyIGVy
cm9yLgorICAgIHZvaWQgc2V0KHVuc2lnbmVkIGluZGV4LCBkb3VibGUgdmFsdWUpIHsgcmV0dXJu
IEludGVncmFsVHlwZWRBcnJheUJhc2U8dW5zaWduZWQgc2hvcnQ+OjpzZXQoaW5kZXgsIHZhbHVl
KTsgfQorICAgIHZvaWQgc2V0KFR5cGVkQXJyYXlCYXNlPHVuc2lnbmVkIHNob3J0PiogYXJyYXks
IHVuc2lnbmVkIG9mZnNldCwgRXhjZXB0aW9uQ29kZSYgZWMpIHsgcmV0dXJuIFR5cGVkQXJyYXlC
YXNlPHVuc2lnbmVkIHNob3J0Pjo6c2V0KGFycmF5LCBvZmZzZXQsIGVjKTsgfQogCiAgICAgUGFz
c1JlZlB0cjxVaW50MTZBcnJheT4gc2xpY2UoaW50IHN0YXJ0KSBjb25zdDsKICAgICBQYXNzUmVm
UHRyPFVpbnQxNkFycmF5PiBzbGljZShpbnQgc3RhcnQsIGludCBlbmQpIGNvbnN0OwpJbmRleDog
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvVWludDMyQXJyYXkuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9VaW50MzJBcnJheS5oCShyZXZpc2lvbiA3NTk0OSkK
KysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1VpbnQzMkFycmF5LmgJKHdvcmtpbmcgY29w
eSkKQEAgLTM5LDggKzM5LDkgQEAgcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFVpbnQz
MkFycmF5PiBjcmVhdGUodW5zaWduZWQgaW50KiBhcnJheSwgdW5zaWduZWQgbGVuZ3RoKTsKICAg
ICBzdGF0aWMgUGFzc1JlZlB0cjxVaW50MzJBcnJheT4gY3JlYXRlKFBhc3NSZWZQdHI8QXJyYXlC
dWZmZXI+IGJ1ZmZlciwgdW5zaWduZWQgYnl0ZU9mZnNldCwgdW5zaWduZWQgbGVuZ3RoKTsKIAot
ICAgIHVzaW5nIFR5cGVkQXJyYXlCYXNlPHVuc2lnbmVkIGludD46OnNldDsKLSAgICB1c2luZyBJ
bnRlZ3JhbFR5cGVkQXJyYXlCYXNlPHVuc2lnbmVkIGludD46OnNldDsKKyAgICAvLyBSZW1vdmVk
IHVzaW5nIGRlY2xhcmF0aW9uIGR1ZSB0byB0aGUgUlZDVCBjb21waWxlciBlcnJvci4KKyAgICB2
b2lkIHNldCh1bnNpZ25lZCBpbmRleCwgZG91YmxlIHZhbHVlKSB7IHJldHVybiBJbnRlZ3JhbFR5
cGVkQXJyYXlCYXNlPHVuc2lnbmVkIGludD46OnNldChpbmRleCwgdmFsdWUpOyB9CisgICAgdm9p
ZCBzZXQoVHlwZWRBcnJheUJhc2U8dW5zaWduZWQgaW50PiogYXJyYXksIHVuc2lnbmVkIG9mZnNl
dCwgRXhjZXB0aW9uQ29kZSYgZWMpIHsgcmV0dXJuIFR5cGVkQXJyYXlCYXNlPHVuc2lnbmVkIGlu
dD46OnNldChhcnJheSwgb2Zmc2V0LCBlYyk7IH0KIAogICAgIFBhc3NSZWZQdHI8VWludDMyQXJy
YXk+IHNsaWNlKGludCBzdGFydCkgY29uc3Q7CiAgICAgUGFzc1JlZlB0cjxVaW50MzJBcnJheT4g
c2xpY2UoaW50IHN0YXJ0LCBpbnQgZW5kKSBjb25zdDsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>79958</attachid>
            <date>2011-01-24 12:48:01 -0800</date>
            <delta_ts>2011-01-24 12:52:33 -0800</delta_ts>
            <desc>patch4</desc>
            <filename>bug51873_4.patch</filename>
            <type>text/plain</type>
            <size>5957</size>
            <attacher name="qi">qi.2.zhang</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDc2NTQyKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTEtMDEtMjQgIFFpIFpoYW5n
ICA8cWkuMi56aGFuZ0Bub2tpYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgW1N5bWJpYW5dIFJWQ1QgZmFpbHMgdG8gY29tcGlsZSBbVXxJXW50
Wzh8MTZ8MzJdQXJyYXkuaAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NTE4NzMKKyAgICAgICAgCisgICAgICAgIEZpeGVkIFJWQ1QgY29tcGlsZSBlcnJv
ci4KKworICAgICAgICAqIGh0bWwvY2FudmFzL0ludDMyQXJyYXkuaDoKKyAgICAgICAgKFdlYkNv
cmU6OkludDMyQXJyYXk6OnNldCk6CisgICAgICAgICogaHRtbC9jYW52YXMvSW50OEFycmF5Lmg6
CisgICAgICAgIChXZWJDb3JlOjpJbnQ4QXJyYXk6OnNldCk6CisgICAgICAgICogaHRtbC9jYW52
YXMvVWludDE2QXJyYXkuaDoKKyAgICAgICAgKFdlYkNvcmU6OlVpbnQxNkFycmF5OjpzZXQpOgor
ICAgICAgICAqIGh0bWwvY2FudmFzL1VpbnQzMkFycmF5Lmg6CisgICAgICAgIChXZWJDb3JlOjpV
aW50MzJBcnJheTo6c2V0KToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9VaW50OEFycmF5Lmg6Cisg
ICAgICAgIChXZWJDb3JlOjpVaW50OEFycmF5OjpzZXQpOgorCiAyMDExLTAxLTI0ICBBbnRvbiBN
dWhpbiAgPGFudG9ubUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTmF0ZSBD
aGFwaW4uCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9JbnQ4QXJyYXkuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9JbnQ4QXJyYXkuaAkocmV2aXNp
b24gNzU5NDkpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9JbnQ4QXJyYXkuaAkod29y
a2luZyBjb3B5KQpAQCAtMzksOCArMzksOSBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQ
dHI8SW50OEFycmF5PiBjcmVhdGUoc2lnbmVkIGNoYXIqIGFycmF5LCB1bnNpZ25lZCBsZW5ndGgp
OwogICAgIHN0YXRpYyBQYXNzUmVmUHRyPEludDhBcnJheT4gY3JlYXRlKFBhc3NSZWZQdHI8QXJy
YXlCdWZmZXI+IGJ1ZmZlciwgdW5zaWduZWQgYnl0ZU9mZnNldCwgdW5zaWduZWQgbGVuZ3RoKTsK
IAotICAgIHVzaW5nIFR5cGVkQXJyYXlCYXNlPHNpZ25lZCBjaGFyPjo6c2V0OwotICAgIHVzaW5n
IEludGVncmFsVHlwZWRBcnJheUJhc2U8c2lnbmVkIGNoYXI+OjpzZXQ7CisgICAgLy8gUmVtb3Zl
ZCB1c2luZyBkZWNsYXJhdGlvbiBkdWUgdG8gdGhlIFJWQ1QgY29tcGlsZXIgZXJyb3IuCisgICAg
dm9pZCBzZXQodW5zaWduZWQgaW5kZXgsIGRvdWJsZSB2YWx1ZSkgeyByZXR1cm4gSW50ZWdyYWxU
eXBlZEFycmF5QmFzZTxzaWduZWQgY2hhcj46OnNldChpbmRleCwgdmFsdWUpOyB9CisgICAgdm9p
ZCBzZXQoVHlwZWRBcnJheUJhc2U8c2lnbmVkIGNoYXI+KiBhcnJheSwgdW5zaWduZWQgb2Zmc2V0
LCBFeGNlcHRpb25Db2RlJiBlYykgeyByZXR1cm4gVHlwZWRBcnJheUJhc2U8c2lnbmVkIGNoYXI+
OjpzZXQoYXJyYXksIG9mZnNldCwgZWMpOyB9CiAKICAgICBQYXNzUmVmUHRyPEludDhBcnJheT4g
c2xpY2UoaW50IHN0YXJ0KSBjb25zdDsKICAgICBQYXNzUmVmUHRyPEludDhBcnJheT4gc2xpY2Uo
aW50IHN0YXJ0LCBpbnQgZW5kKSBjb25zdDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvY2Fu
dmFzL0ludDMyQXJyYXkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9JbnQzMkFycmF5LmgJKHJldmlzaW9uIDc1OTQ5KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvSW50MzJBcnJheS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNywxMCArMzcsOSBAQCBwdWJs
aWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8SW50MzJBcnJheT4gY3JlYXRlKGludCogYXJyYXks
IHVuc2lnbmVkIGxlbmd0aCk7CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8SW50MzJBcnJheT4gY3Jl
YXRlKFBhc3NSZWZQdHI8QXJyYXlCdWZmZXI+IGJ1ZmZlciwgdW5zaWduZWQgYnl0ZU9mZnNldCwg
dW5zaWduZWQgbGVuZ3RoKTsKIAotI2lmICFDT01QSUxFUihSVkNUKQotICAgIHVzaW5nIFR5cGVk
QXJyYXlCYXNlPGludD46OnNldDsKLSAgICB1c2luZyBJbnRlZ3JhbFR5cGVkQXJyYXlCYXNlPGlu
dD46OnNldDsKLSNlbmRpZgorICAgIC8vIFJlbW92ZWQgdXNpbmcgZGVjbGFyYXRpb24gZHVlIHRv
IHRoZSBSVkNUIGNvbXBpbGVyIGVycm9yLgorICAgIHZvaWQgc2V0KHVuc2lnbmVkIGluZGV4LCBk
b3VibGUgdmFsdWUpIHsgcmV0dXJuIEludGVncmFsVHlwZWRBcnJheUJhc2U8aW50Pjo6c2V0KGlu
ZGV4LCB2YWx1ZSk7IH0KKyAgICB2b2lkIHNldChUeXBlZEFycmF5QmFzZTxpbnQ+KiBhcnJheSwg
dW5zaWduZWQgb2Zmc2V0LCBFeGNlcHRpb25Db2RlJiBlYykgeyByZXR1cm4gVHlwZWRBcnJheUJh
c2U8aW50Pjo6c2V0KGFycmF5LCBvZmZzZXQsIGVjKTsgfSAgCQogCiAgICAgUGFzc1JlZlB0cjxJ
bnQzMkFycmF5PiBzbGljZShpbnQgc3RhcnQpIGNvbnN0OwogICAgIFBhc3NSZWZQdHI8SW50MzJB
cnJheT4gc2xpY2UoaW50IHN0YXJ0LCBpbnQgZW5kKSBjb25zdDsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL1VpbnQ4QXJyYXkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9VaW50OEFycmF5LmgJKHJldmlzaW9uIDc1OTQ5KQorKysgU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvVWludDhBcnJheS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zOSwxMCAr
MzksOSBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8VWludDhBcnJheT4gY3JlYXRl
KHVuc2lnbmVkIGNoYXIqIGFycmF5LCB1bnNpZ25lZCBsZW5ndGgpOwogICAgIHN0YXRpYyBQYXNz
UmVmUHRyPFVpbnQ4QXJyYXk+IGNyZWF0ZShQYXNzUmVmUHRyPEFycmF5QnVmZmVyPiBidWZmZXIs
IHVuc2lnbmVkIGJ5dGVPZmZzZXQsIHVuc2lnbmVkIGxlbmd0aCk7CiAKLSNpZiAhQ09NUElMRVIo
UlZDVCkKLSAgICB1c2luZyBUeXBlZEFycmF5QmFzZTx1bnNpZ25lZCBjaGFyPjo6c2V0OwotICAg
IHVzaW5nIEludGVncmFsVHlwZWRBcnJheUJhc2U8dW5zaWduZWQgY2hhcj46OnNldDsKLSNlbmRp
ZgorICAgIC8vIFJlbW92ZWQgdXNpbmcgZGVjbGFyYXRpb24gZHVlIHRvIHRoZSBSVkNUIGNvbXBp
bGVyIGVycm9yLgorICAgIHZvaWQgc2V0KHVuc2lnbmVkIGluZGV4LCBkb3VibGUgdmFsdWUpIHsg
cmV0dXJuIEludGVncmFsVHlwZWRBcnJheUJhc2U8dW5zaWduZWQgY2hhcj46OnNldChpbmRleCwg
dmFsdWUpOyB9CisgICAgdm9pZCBzZXQoVHlwZWRBcnJheUJhc2U8dW5zaWduZWQgY2hhcj4qIGFy
cmF5LCB1bnNpZ25lZCBvZmZzZXQsIEV4Y2VwdGlvbkNvZGUmIGVjKSB7IHJldHVybiBUeXBlZEFy
cmF5QmFzZTx1bnNpZ25lZCBjaGFyPjo6c2V0KGFycmF5LCBvZmZzZXQsIGVjKTsgfQogCiAgICAg
UGFzc1JlZlB0cjxVaW50OEFycmF5PiBzbGljZShpbnQgc3RhcnQpIGNvbnN0OwogICAgIFBhc3NS
ZWZQdHI8VWludDhBcnJheT4gc2xpY2UoaW50IHN0YXJ0LCBpbnQgZW5kKSBjb25zdDsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1VpbnQxNkFycmF5LmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvVWludDE2QXJyYXkuaAkocmV2aXNpb24gNzU5NDkp
CisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9VaW50MTZBcnJheS5oCSh3b3JraW5nIGNv
cHkpCkBAIC0zOSw4ICszOSw5IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxVaW50
MTZBcnJheT4gY3JlYXRlKHVuc2lnbmVkIHNob3J0KiBhcnJheSwgdW5zaWduZWQgbGVuZ3RoKTsK
ICAgICBzdGF0aWMgUGFzc1JlZlB0cjxVaW50MTZBcnJheT4gY3JlYXRlKFBhc3NSZWZQdHI8QXJy
YXlCdWZmZXI+IGJ1ZmZlciwgdW5zaWduZWQgYnl0ZU9mZnNldCwgdW5zaWduZWQgbGVuZ3RoKTsK
IAotICAgIHVzaW5nIFR5cGVkQXJyYXlCYXNlPHVuc2lnbmVkIHNob3J0Pjo6c2V0OwotICAgIHVz
aW5nIEludGVncmFsVHlwZWRBcnJheUJhc2U8dW5zaWduZWQgc2hvcnQ+OjpzZXQ7CisgICAgLy8g
UmVtb3ZlZCB1c2luZyBkZWNsYXJhdGlvbiBkdWUgdG8gdGhlIFJWQ1QgY29tcGlsZXIgZXJyb3Iu
CisgICAgdm9pZCBzZXQodW5zaWduZWQgaW5kZXgsIGRvdWJsZSB2YWx1ZSkgeyByZXR1cm4gSW50
ZWdyYWxUeXBlZEFycmF5QmFzZTx1bnNpZ25lZCBzaG9ydD46OnNldChpbmRleCwgdmFsdWUpOyB9
CisgICAgdm9pZCBzZXQoVHlwZWRBcnJheUJhc2U8dW5zaWduZWQgc2hvcnQ+KiBhcnJheSwgdW5z
aWduZWQgb2Zmc2V0LCBFeGNlcHRpb25Db2RlJiBlYykgeyByZXR1cm4gVHlwZWRBcnJheUJhc2U8
dW5zaWduZWQgc2hvcnQ+OjpzZXQoYXJyYXksIG9mZnNldCwgZWMpOyB9CiAKICAgICBQYXNzUmVm
UHRyPFVpbnQxNkFycmF5PiBzbGljZShpbnQgc3RhcnQpIGNvbnN0OwogICAgIFBhc3NSZWZQdHI8
VWludDE2QXJyYXk+IHNsaWNlKGludCBzdGFydCwgaW50IGVuZCkgY29uc3Q7CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9odG1sL2NhbnZhcy9VaW50MzJBcnJheS5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL1VpbnQzMkFycmF5LmgJKHJldmlzaW9uIDc1OTQ5KQorKysg
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvVWludDMyQXJyYXkuaAkod29ya2luZyBjb3B5KQpA
QCAtMzksOCArMzksOSBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8VWludDMyQXJy
YXk+IGNyZWF0ZSh1bnNpZ25lZCBpbnQqIGFycmF5LCB1bnNpZ25lZCBsZW5ndGgpOwogICAgIHN0
YXRpYyBQYXNzUmVmUHRyPFVpbnQzMkFycmF5PiBjcmVhdGUoUGFzc1JlZlB0cjxBcnJheUJ1ZmZl
cj4gYnVmZmVyLCB1bnNpZ25lZCBieXRlT2Zmc2V0LCB1bnNpZ25lZCBsZW5ndGgpOwogCi0gICAg
dXNpbmcgVHlwZWRBcnJheUJhc2U8dW5zaWduZWQgaW50Pjo6c2V0OwotICAgIHVzaW5nIEludGVn
cmFsVHlwZWRBcnJheUJhc2U8dW5zaWduZWQgaW50Pjo6c2V0OworICAgIC8vIFJlbW92ZWQgdXNp
bmcgZGVjbGFyYXRpb24gZHVlIHRvIHRoZSBSVkNUIGNvbXBpbGVyIGVycm9yLgorICAgIHZvaWQg
c2V0KHVuc2lnbmVkIGluZGV4LCBkb3VibGUgdmFsdWUpIHsgcmV0dXJuIEludGVncmFsVHlwZWRB
cnJheUJhc2U8dW5zaWduZWQgaW50Pjo6c2V0KGluZGV4LCB2YWx1ZSk7IH0KKyAgICB2b2lkIHNl
dChUeXBlZEFycmF5QmFzZTx1bnNpZ25lZCBpbnQ+KiBhcnJheSwgdW5zaWduZWQgb2Zmc2V0LCBF
eGNlcHRpb25Db2RlJiBlYykgeyByZXR1cm4gVHlwZWRBcnJheUJhc2U8dW5zaWduZWQgaW50Pjo6
c2V0KGFycmF5LCBvZmZzZXQsIGVjKTsgfQogCiAgICAgUGFzc1JlZlB0cjxVaW50MzJBcnJheT4g
c2xpY2UoaW50IHN0YXJ0KSBjb25zdDsKICAgICBQYXNzUmVmUHRyPFVpbnQzMkFycmF5PiBzbGlj
ZShpbnQgc3RhcnQsIGludCBlbmQpIGNvbnN0Owo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>79960</attachid>
            <date>2011-01-24 12:52:33 -0800</date>
            <delta_ts>2011-01-24 13:22:03 -0800</delta_ts>
            <desc>patch5</desc>
            <filename>bug51873_5.patch</filename>
            <type>text/plain</type>
            <size>5954</size>
            <attacher name="qi">qi.2.zhang</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDc2NTQyKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTEtMDEtMjQgIFFpIFpoYW5n
ICA8cWkuMi56aGFuZ0Bub2tpYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgW1N5bWJpYW5dIFJWQ1QgZmFpbHMgdG8gY29tcGlsZSBbVXxJXW50
Wzh8MTZ8MzJdQXJyYXkuaAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NTE4NzMKKyAgICAgICAgCisgICAgICAgIEZpeGVkIFJWQ1QgY29tcGlsZSBlcnJv
ci4KKworICAgICAgICAqIGh0bWwvY2FudmFzL0ludDMyQXJyYXkuaDoKKyAgICAgICAgKFdlYkNv
cmU6OkludDMyQXJyYXk6OnNldCk6CisgICAgICAgICogaHRtbC9jYW52YXMvSW50OEFycmF5Lmg6
CisgICAgICAgIChXZWJDb3JlOjpJbnQ4QXJyYXk6OnNldCk6CisgICAgICAgICogaHRtbC9jYW52
YXMvVWludDE2QXJyYXkuaDoKKyAgICAgICAgKFdlYkNvcmU6OlVpbnQxNkFycmF5OjpzZXQpOgor
ICAgICAgICAqIGh0bWwvY2FudmFzL1VpbnQzMkFycmF5Lmg6CisgICAgICAgIChXZWJDb3JlOjpV
aW50MzJBcnJheTo6c2V0KToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9VaW50OEFycmF5Lmg6Cisg
ICAgICAgIChXZWJDb3JlOjpVaW50OEFycmF5OjpzZXQpOgorCiAyMDExLTAxLTI0ICBBbnRvbiBN
dWhpbiAgPGFudG9ubUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTmF0ZSBD
aGFwaW4uCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9JbnQ4QXJyYXkuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9JbnQ4QXJyYXkuaAkocmV2aXNp
b24gNzU5NDkpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9JbnQ4QXJyYXkuaAkod29y
a2luZyBjb3B5KQpAQCAtMzksOCArMzksOSBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQ
dHI8SW50OEFycmF5PiBjcmVhdGUoc2lnbmVkIGNoYXIqIGFycmF5LCB1bnNpZ25lZCBsZW5ndGgp
OwogICAgIHN0YXRpYyBQYXNzUmVmUHRyPEludDhBcnJheT4gY3JlYXRlKFBhc3NSZWZQdHI8QXJy
YXlCdWZmZXI+IGJ1ZmZlciwgdW5zaWduZWQgYnl0ZU9mZnNldCwgdW5zaWduZWQgbGVuZ3RoKTsK
IAotICAgIHVzaW5nIFR5cGVkQXJyYXlCYXNlPHNpZ25lZCBjaGFyPjo6c2V0OwotICAgIHVzaW5n
IEludGVncmFsVHlwZWRBcnJheUJhc2U8c2lnbmVkIGNoYXI+OjpzZXQ7CisgICAgLy8gUmVtb3Zl
ZCB1c2luZyBkZWNsYXJhdGlvbiBkdWUgdG8gdGhlIFJWQ1QgY29tcGlsZXIgZXJyb3IuCisgICAg
dm9pZCBzZXQodW5zaWduZWQgaW5kZXgsIGRvdWJsZSB2YWx1ZSkgeyByZXR1cm4gSW50ZWdyYWxU
eXBlZEFycmF5QmFzZTxzaWduZWQgY2hhcj46OnNldChpbmRleCwgdmFsdWUpOyB9CisgICAgdm9p
ZCBzZXQoVHlwZWRBcnJheUJhc2U8c2lnbmVkIGNoYXI+KiBhcnJheSwgdW5zaWduZWQgb2Zmc2V0
LCBFeGNlcHRpb25Db2RlJiBlYykgeyByZXR1cm4gVHlwZWRBcnJheUJhc2U8c2lnbmVkIGNoYXI+
OjpzZXQoYXJyYXksIG9mZnNldCwgZWMpOyB9CiAKICAgICBQYXNzUmVmUHRyPEludDhBcnJheT4g
c2xpY2UoaW50IHN0YXJ0KSBjb25zdDsKICAgICBQYXNzUmVmUHRyPEludDhBcnJheT4gc2xpY2Uo
aW50IHN0YXJ0LCBpbnQgZW5kKSBjb25zdDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvY2Fu
dmFzL0ludDMyQXJyYXkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9JbnQzMkFycmF5LmgJKHJldmlzaW9uIDc1OTQ5KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvSW50MzJBcnJheS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNywxMCArMzcsOSBAQCBwdWJs
aWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8SW50MzJBcnJheT4gY3JlYXRlKGludCogYXJyYXks
IHVuc2lnbmVkIGxlbmd0aCk7CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8SW50MzJBcnJheT4gY3Jl
YXRlKFBhc3NSZWZQdHI8QXJyYXlCdWZmZXI+IGJ1ZmZlciwgdW5zaWduZWQgYnl0ZU9mZnNldCwg
dW5zaWduZWQgbGVuZ3RoKTsKIAotI2lmICFDT01QSUxFUihSVkNUKQotICAgIHVzaW5nIFR5cGVk
QXJyYXlCYXNlPGludD46OnNldDsKLSAgICB1c2luZyBJbnRlZ3JhbFR5cGVkQXJyYXlCYXNlPGlu
dD46OnNldDsKLSNlbmRpZgorICAgIC8vIFJlbW92ZWQgdXNpbmcgZGVjbGFyYXRpb24gZHVlIHRv
IHRoZSBSVkNUIGNvbXBpbGVyIGVycm9yLgorICAgIHZvaWQgc2V0KHVuc2lnbmVkIGluZGV4LCBk
b3VibGUgdmFsdWUpIHsgcmV0dXJuIEludGVncmFsVHlwZWRBcnJheUJhc2U8aW50Pjo6c2V0KGlu
ZGV4LCB2YWx1ZSk7IH0KKyAgICB2b2lkIHNldChUeXBlZEFycmF5QmFzZTxpbnQ+KiBhcnJheSwg
dW5zaWduZWQgb2Zmc2V0LCBFeGNlcHRpb25Db2RlJiBlYykgeyByZXR1cm4gVHlwZWRBcnJheUJh
c2U8aW50Pjo6c2V0KGFycmF5LCBvZmZzZXQsIGVjKTsgfQogCiAgICAgUGFzc1JlZlB0cjxJbnQz
MkFycmF5PiBzbGljZShpbnQgc3RhcnQpIGNvbnN0OwogICAgIFBhc3NSZWZQdHI8SW50MzJBcnJh
eT4gc2xpY2UoaW50IHN0YXJ0LCBpbnQgZW5kKSBjb25zdDsKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL1VpbnQ4QXJyYXkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9o
dG1sL2NhbnZhcy9VaW50OEFycmF5LmgJKHJldmlzaW9uIDc1OTQ5KQorKysgU291cmNlL1dlYkNv
cmUvaHRtbC9jYW52YXMvVWludDhBcnJheS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zOSwxMCArMzks
OSBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8VWludDhBcnJheT4gY3JlYXRlKHVu
c2lnbmVkIGNoYXIqIGFycmF5LCB1bnNpZ25lZCBsZW5ndGgpOwogICAgIHN0YXRpYyBQYXNzUmVm
UHRyPFVpbnQ4QXJyYXk+IGNyZWF0ZShQYXNzUmVmUHRyPEFycmF5QnVmZmVyPiBidWZmZXIsIHVu
c2lnbmVkIGJ5dGVPZmZzZXQsIHVuc2lnbmVkIGxlbmd0aCk7CiAKLSNpZiAhQ09NUElMRVIoUlZD
VCkKLSAgICB1c2luZyBUeXBlZEFycmF5QmFzZTx1bnNpZ25lZCBjaGFyPjo6c2V0OwotICAgIHVz
aW5nIEludGVncmFsVHlwZWRBcnJheUJhc2U8dW5zaWduZWQgY2hhcj46OnNldDsKLSNlbmRpZgor
ICAgIC8vIFJlbW92ZWQgdXNpbmcgZGVjbGFyYXRpb24gZHVlIHRvIHRoZSBSVkNUIGNvbXBpbGVy
IGVycm9yLgorICAgIHZvaWQgc2V0KHVuc2lnbmVkIGluZGV4LCBkb3VibGUgdmFsdWUpIHsgcmV0
dXJuIEludGVncmFsVHlwZWRBcnJheUJhc2U8dW5zaWduZWQgY2hhcj46OnNldChpbmRleCwgdmFs
dWUpOyB9CisgICAgdm9pZCBzZXQoVHlwZWRBcnJheUJhc2U8dW5zaWduZWQgY2hhcj4qIGFycmF5
LCB1bnNpZ25lZCBvZmZzZXQsIEV4Y2VwdGlvbkNvZGUmIGVjKSB7IHJldHVybiBUeXBlZEFycmF5
QmFzZTx1bnNpZ25lZCBjaGFyPjo6c2V0KGFycmF5LCBvZmZzZXQsIGVjKTsgfQogCiAgICAgUGFz
c1JlZlB0cjxVaW50OEFycmF5PiBzbGljZShpbnQgc3RhcnQpIGNvbnN0OwogICAgIFBhc3NSZWZQ
dHI8VWludDhBcnJheT4gc2xpY2UoaW50IHN0YXJ0LCBpbnQgZW5kKSBjb25zdDsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1VpbnQxNkFycmF5LmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvVWludDE2QXJyYXkuaAkocmV2aXNpb24gNzU5NDkpCisr
KyBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9VaW50MTZBcnJheS5oCSh3b3JraW5nIGNvcHkp
CkBAIC0zOSw4ICszOSw5IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxVaW50MTZB
cnJheT4gY3JlYXRlKHVuc2lnbmVkIHNob3J0KiBhcnJheSwgdW5zaWduZWQgbGVuZ3RoKTsKICAg
ICBzdGF0aWMgUGFzc1JlZlB0cjxVaW50MTZBcnJheT4gY3JlYXRlKFBhc3NSZWZQdHI8QXJyYXlC
dWZmZXI+IGJ1ZmZlciwgdW5zaWduZWQgYnl0ZU9mZnNldCwgdW5zaWduZWQgbGVuZ3RoKTsKIAot
ICAgIHVzaW5nIFR5cGVkQXJyYXlCYXNlPHVuc2lnbmVkIHNob3J0Pjo6c2V0OwotICAgIHVzaW5n
IEludGVncmFsVHlwZWRBcnJheUJhc2U8dW5zaWduZWQgc2hvcnQ+OjpzZXQ7CisgICAgLy8gUmVt
b3ZlZCB1c2luZyBkZWNsYXJhdGlvbiBkdWUgdG8gdGhlIFJWQ1QgY29tcGlsZXIgZXJyb3IuCisg
ICAgdm9pZCBzZXQodW5zaWduZWQgaW5kZXgsIGRvdWJsZSB2YWx1ZSkgeyByZXR1cm4gSW50ZWdy
YWxUeXBlZEFycmF5QmFzZTx1bnNpZ25lZCBzaG9ydD46OnNldChpbmRleCwgdmFsdWUpOyB9Cisg
ICAgdm9pZCBzZXQoVHlwZWRBcnJheUJhc2U8dW5zaWduZWQgc2hvcnQ+KiBhcnJheSwgdW5zaWdu
ZWQgb2Zmc2V0LCBFeGNlcHRpb25Db2RlJiBlYykgeyByZXR1cm4gVHlwZWRBcnJheUJhc2U8dW5z
aWduZWQgc2hvcnQ+OjpzZXQoYXJyYXksIG9mZnNldCwgZWMpOyB9CiAKICAgICBQYXNzUmVmUHRy
PFVpbnQxNkFycmF5PiBzbGljZShpbnQgc3RhcnQpIGNvbnN0OwogICAgIFBhc3NSZWZQdHI8VWlu
dDE2QXJyYXk+IHNsaWNlKGludCBzdGFydCwgaW50IGVuZCkgY29uc3Q7CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9VaW50MzJBcnJheS5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL1VpbnQzMkFycmF5LmgJKHJldmlzaW9uIDc1OTQ5KQorKysgU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvVWludDMyQXJyYXkuaAkod29ya2luZyBjb3B5KQpAQCAt
MzksOCArMzksOSBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8VWludDMyQXJyYXk+
IGNyZWF0ZSh1bnNpZ25lZCBpbnQqIGFycmF5LCB1bnNpZ25lZCBsZW5ndGgpOwogICAgIHN0YXRp
YyBQYXNzUmVmUHRyPFVpbnQzMkFycmF5PiBjcmVhdGUoUGFzc1JlZlB0cjxBcnJheUJ1ZmZlcj4g
YnVmZmVyLCB1bnNpZ25lZCBieXRlT2Zmc2V0LCB1bnNpZ25lZCBsZW5ndGgpOwogCi0gICAgdXNp
bmcgVHlwZWRBcnJheUJhc2U8dW5zaWduZWQgaW50Pjo6c2V0OwotICAgIHVzaW5nIEludGVncmFs
VHlwZWRBcnJheUJhc2U8dW5zaWduZWQgaW50Pjo6c2V0OworICAgIC8vIFJlbW92ZWQgdXNpbmcg
ZGVjbGFyYXRpb24gZHVlIHRvIHRoZSBSVkNUIGNvbXBpbGVyIGVycm9yLgorICAgIHZvaWQgc2V0
KHVuc2lnbmVkIGluZGV4LCBkb3VibGUgdmFsdWUpIHsgcmV0dXJuIEludGVncmFsVHlwZWRBcnJh
eUJhc2U8dW5zaWduZWQgaW50Pjo6c2V0KGluZGV4LCB2YWx1ZSk7IH0KKyAgICB2b2lkIHNldChU
eXBlZEFycmF5QmFzZTx1bnNpZ25lZCBpbnQ+KiBhcnJheSwgdW5zaWduZWQgb2Zmc2V0LCBFeGNl
cHRpb25Db2RlJiBlYykgeyByZXR1cm4gVHlwZWRBcnJheUJhc2U8dW5zaWduZWQgaW50Pjo6c2V0
KGFycmF5LCBvZmZzZXQsIGVjKTsgfQogCiAgICAgUGFzc1JlZlB0cjxVaW50MzJBcnJheT4gc2xp
Y2UoaW50IHN0YXJ0KSBjb25zdDsKICAgICBQYXNzUmVmUHRyPFVpbnQzMkFycmF5PiBzbGljZShp
bnQgc3RhcnQsIGludCBlbmQpIGNvbnN0Owo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>79964</attachid>
            <date>2011-01-24 13:22:03 -0800</date>
            <delta_ts>2011-01-24 13:35:26 -0800</delta_ts>
            <desc>patch6</desc>
            <filename>bug51873_6.patch</filename>
            <type>text/plain</type>
            <size>5984</size>
            <attacher name="qi">qi.2.zhang</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDc2NTQyKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTEtMDEtMjQgIFFpIFpoYW5n
ICA8cWkuMi56aGFuZ0Bub2tpYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgW1N5bWJpYW5dIFJWQ1QgZmFpbHMgdG8gY29tcGlsZSBbVXxJXW50
Wzh8MTZ8MzJdQXJyYXkuaAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NTE4NzMKKyAgICAgICAgCisgICAgICAgIEZpeGVkIFJWQ1QgY29tcGlsZSBlcnJv
ci4KKworICAgICAgICAqIGh0bWwvY2FudmFzL0ludDMyQXJyYXkuaDoKKyAgICAgICAgKFdlYkNv
cmU6OkludDMyQXJyYXk6OnNldCk6CisgICAgICAgICogaHRtbC9jYW52YXMvSW50OEFycmF5Lmg6
CisgICAgICAgIChXZWJDb3JlOjpJbnQ4QXJyYXk6OnNldCk6CisgICAgICAgICogaHRtbC9jYW52
YXMvVWludDE2QXJyYXkuaDoKKyAgICAgICAgKFdlYkNvcmU6OlVpbnQxNkFycmF5OjpzZXQpOgor
ICAgICAgICAqIGh0bWwvY2FudmFzL1VpbnQzMkFycmF5Lmg6CisgICAgICAgIChXZWJDb3JlOjpV
aW50MzJBcnJheTo6c2V0KToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9VaW50OEFycmF5Lmg6Cisg
ICAgICAgIChXZWJDb3JlOjpVaW50OEFycmF5OjpzZXQpOgorCiAyMDExLTAxLTI0ICBBbnRvbiBN
dWhpbiAgPGFudG9ubUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTmF0ZSBD
aGFwaW4uCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9JbnQ4QXJyYXkuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9JbnQ4QXJyYXkuaAkocmV2aXNp
b24gNzU5NDkpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9JbnQ4QXJyYXkuaAkod29y
a2luZyBjb3B5KQpAQCAtMzksOCArMzksOSBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQ
dHI8SW50OEFycmF5PiBjcmVhdGUoc2lnbmVkIGNoYXIqIGFycmF5LCB1bnNpZ25lZCBsZW5ndGgp
OwogICAgIHN0YXRpYyBQYXNzUmVmUHRyPEludDhBcnJheT4gY3JlYXRlKFBhc3NSZWZQdHI8QXJy
YXlCdWZmZXI+IGJ1ZmZlciwgdW5zaWduZWQgYnl0ZU9mZnNldCwgdW5zaWduZWQgbGVuZ3RoKTsK
IAotICAgIHVzaW5nIFR5cGVkQXJyYXlCYXNlPHNpZ25lZCBjaGFyPjo6c2V0OwotICAgIHVzaW5n
IEludGVncmFsVHlwZWRBcnJheUJhc2U8c2lnbmVkIGNoYXI+OjpzZXQ7CisgICAgLy8gQ2Fu4oCZ
dCB1c2Ug4oCcdXNpbmfigJ0gaGVyZSBkdWUgdG8gYSBidWcgaW4gdGhlIFJWQ1QgY29tcGlsZXIu
CisgICAgdm9pZCBzZXQodW5zaWduZWQgaW5kZXgsIGRvdWJsZSB2YWx1ZSkgeyByZXR1cm4gSW50
ZWdyYWxUeXBlZEFycmF5QmFzZTxzaWduZWQgY2hhcj46OnNldChpbmRleCwgdmFsdWUpOyB9Cisg
ICAgdm9pZCBzZXQoVHlwZWRBcnJheUJhc2U8c2lnbmVkIGNoYXI+KiBhcnJheSwgdW5zaWduZWQg
b2Zmc2V0LCBFeGNlcHRpb25Db2RlJiBlYykgeyByZXR1cm4gVHlwZWRBcnJheUJhc2U8c2lnbmVk
IGNoYXI+OjpzZXQoYXJyYXksIG9mZnNldCwgZWMpOyB9CiAKICAgICBQYXNzUmVmUHRyPEludDhB
cnJheT4gc2xpY2UoaW50IHN0YXJ0KSBjb25zdDsKICAgICBQYXNzUmVmUHRyPEludDhBcnJheT4g
c2xpY2UoaW50IHN0YXJ0LCBpbnQgZW5kKSBjb25zdDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0
bWwvY2FudmFzL0ludDMyQXJyYXkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9JbnQzMkFycmF5LmgJKHJldmlzaW9uIDc1OTQ5KQorKysgU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvSW50MzJBcnJheS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNywxMCArMzcsOSBA
QCBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8SW50MzJBcnJheT4gY3JlYXRlKGludCog
YXJyYXksIHVuc2lnbmVkIGxlbmd0aCk7CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8SW50MzJBcnJh
eT4gY3JlYXRlKFBhc3NSZWZQdHI8QXJyYXlCdWZmZXI+IGJ1ZmZlciwgdW5zaWduZWQgYnl0ZU9m
ZnNldCwgdW5zaWduZWQgbGVuZ3RoKTsKIAotI2lmICFDT01QSUxFUihSVkNUKQotICAgIHVzaW5n
IFR5cGVkQXJyYXlCYXNlPGludD46OnNldDsKLSAgICB1c2luZyBJbnRlZ3JhbFR5cGVkQXJyYXlC
YXNlPGludD46OnNldDsKLSNlbmRpZgorICAgIC8vIENhbuKAmXQgdXNlIOKAnHVzaW5n4oCdIGhl
cmUgZHVlIHRvIGEgYnVnIGluIHRoZSBSVkNUIGNvbXBpbGVyLgorICAgIHZvaWQgc2V0KHVuc2ln
bmVkIGluZGV4LCBkb3VibGUgdmFsdWUpIHsgcmV0dXJuIEludGVncmFsVHlwZWRBcnJheUJhc2U8
aW50Pjo6c2V0KGluZGV4LCB2YWx1ZSk7IH0KKyAgICB2b2lkIHNldChUeXBlZEFycmF5QmFzZTxp
bnQ+KiBhcnJheSwgdW5zaWduZWQgb2Zmc2V0LCBFeGNlcHRpb25Db2RlJiBlYykgeyByZXR1cm4g
VHlwZWRBcnJheUJhc2U8aW50Pjo6c2V0KGFycmF5LCBvZmZzZXQsIGVjKTsgfQogCiAgICAgUGFz
c1JlZlB0cjxJbnQzMkFycmF5PiBzbGljZShpbnQgc3RhcnQpIGNvbnN0OwogICAgIFBhc3NSZWZQ
dHI8SW50MzJBcnJheT4gc2xpY2UoaW50IHN0YXJ0LCBpbnQgZW5kKSBjb25zdDsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1VpbnQ4QXJyYXkuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9odG1sL2NhbnZhcy9VaW50OEFycmF5LmgJKHJldmlzaW9uIDc1OTQ5KQorKysg
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvVWludDhBcnJheS5oCSh3b3JraW5nIGNvcHkpCkBA
IC0zOSwxMCArMzksOSBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8VWludDhBcnJh
eT4gY3JlYXRlKHVuc2lnbmVkIGNoYXIqIGFycmF5LCB1bnNpZ25lZCBsZW5ndGgpOwogICAgIHN0
YXRpYyBQYXNzUmVmUHRyPFVpbnQ4QXJyYXk+IGNyZWF0ZShQYXNzUmVmUHRyPEFycmF5QnVmZmVy
PiBidWZmZXIsIHVuc2lnbmVkIGJ5dGVPZmZzZXQsIHVuc2lnbmVkIGxlbmd0aCk7CiAKLSNpZiAh
Q09NUElMRVIoUlZDVCkKLSAgICB1c2luZyBUeXBlZEFycmF5QmFzZTx1bnNpZ25lZCBjaGFyPjo6
c2V0OwotICAgIHVzaW5nIEludGVncmFsVHlwZWRBcnJheUJhc2U8dW5zaWduZWQgY2hhcj46OnNl
dDsKLSNlbmRpZgorICAgIC8vIENhbuKAmXQgdXNlIOKAnHVzaW5n4oCdIGhlcmUgZHVlIHRvIGEg
YnVnIGluIHRoZSBSVkNUIGNvbXBpbGVyLgorICAgIHZvaWQgc2V0KHVuc2lnbmVkIGluZGV4LCBk
b3VibGUgdmFsdWUpIHsgcmV0dXJuIEludGVncmFsVHlwZWRBcnJheUJhc2U8dW5zaWduZWQgY2hh
cj46OnNldChpbmRleCwgdmFsdWUpOyB9CisgICAgdm9pZCBzZXQoVHlwZWRBcnJheUJhc2U8dW5z
aWduZWQgY2hhcj4qIGFycmF5LCB1bnNpZ25lZCBvZmZzZXQsIEV4Y2VwdGlvbkNvZGUmIGVjKSB7
IHJldHVybiBUeXBlZEFycmF5QmFzZTx1bnNpZ25lZCBjaGFyPjo6c2V0KGFycmF5LCBvZmZzZXQs
IGVjKTsgfQogCiAgICAgUGFzc1JlZlB0cjxVaW50OEFycmF5PiBzbGljZShpbnQgc3RhcnQpIGNv
bnN0OwogICAgIFBhc3NSZWZQdHI8VWludDhBcnJheT4gc2xpY2UoaW50IHN0YXJ0LCBpbnQgZW5k
KSBjb25zdDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1VpbnQxNkFycmF5LmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvVWludDE2QXJyYXkuaAko
cmV2aXNpb24gNzU5NDkpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9VaW50MTZBcnJh
eS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zOSw4ICszOSw5IEBAIHB1YmxpYzoKICAgICBzdGF0aWMg
UGFzc1JlZlB0cjxVaW50MTZBcnJheT4gY3JlYXRlKHVuc2lnbmVkIHNob3J0KiBhcnJheSwgdW5z
aWduZWQgbGVuZ3RoKTsKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxVaW50MTZBcnJheT4gY3JlYXRl
KFBhc3NSZWZQdHI8QXJyYXlCdWZmZXI+IGJ1ZmZlciwgdW5zaWduZWQgYnl0ZU9mZnNldCwgdW5z
aWduZWQgbGVuZ3RoKTsKIAotICAgIHVzaW5nIFR5cGVkQXJyYXlCYXNlPHVuc2lnbmVkIHNob3J0
Pjo6c2V0OwotICAgIHVzaW5nIEludGVncmFsVHlwZWRBcnJheUJhc2U8dW5zaWduZWQgc2hvcnQ+
OjpzZXQ7CisgICAgLy8gQ2Fu4oCZdCB1c2Ug4oCcdXNpbmfigJ0gaGVyZSBkdWUgdG8gYSBidWcg
aW4gdGhlIFJWQ1QgY29tcGlsZXIuCisgICAgdm9pZCBzZXQodW5zaWduZWQgaW5kZXgsIGRvdWJs
ZSB2YWx1ZSkgeyByZXR1cm4gSW50ZWdyYWxUeXBlZEFycmF5QmFzZTx1bnNpZ25lZCBzaG9ydD46
OnNldChpbmRleCwgdmFsdWUpOyB9CisgICAgdm9pZCBzZXQoVHlwZWRBcnJheUJhc2U8dW5zaWdu
ZWQgc2hvcnQ+KiBhcnJheSwgdW5zaWduZWQgb2Zmc2V0LCBFeGNlcHRpb25Db2RlJiBlYykgeyBy
ZXR1cm4gVHlwZWRBcnJheUJhc2U8dW5zaWduZWQgc2hvcnQ+OjpzZXQoYXJyYXksIG9mZnNldCwg
ZWMpOyB9CiAKICAgICBQYXNzUmVmUHRyPFVpbnQxNkFycmF5PiBzbGljZShpbnQgc3RhcnQpIGNv
bnN0OwogICAgIFBhc3NSZWZQdHI8VWludDE2QXJyYXk+IHNsaWNlKGludCBzdGFydCwgaW50IGVu
ZCkgY29uc3Q7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9VaW50MzJBcnJheS5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1VpbnQzMkFycmF5LmgJ
KHJldmlzaW9uIDc1OTQ5KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvVWludDMyQXJy
YXkuaAkod29ya2luZyBjb3B5KQpAQCAtMzksOCArMzksOSBAQCBwdWJsaWM6CiAgICAgc3RhdGlj
IFBhc3NSZWZQdHI8VWludDMyQXJyYXk+IGNyZWF0ZSh1bnNpZ25lZCBpbnQqIGFycmF5LCB1bnNp
Z25lZCBsZW5ndGgpOwogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFVpbnQzMkFycmF5PiBjcmVhdGUo
UGFzc1JlZlB0cjxBcnJheUJ1ZmZlcj4gYnVmZmVyLCB1bnNpZ25lZCBieXRlT2Zmc2V0LCB1bnNp
Z25lZCBsZW5ndGgpOwogCi0gICAgdXNpbmcgVHlwZWRBcnJheUJhc2U8dW5zaWduZWQgaW50Pjo6
c2V0OwotICAgIHVzaW5nIEludGVncmFsVHlwZWRBcnJheUJhc2U8dW5zaWduZWQgaW50Pjo6c2V0
OworICAgIC8vIENhbuKAmXQgdXNlIOKAnHVzaW5n4oCdIGhlcmUgZHVlIHRvIGEgYnVnIGluIHRo
ZSBSVkNUIGNvbXBpbGVyLgorICAgIHZvaWQgc2V0KHVuc2lnbmVkIGluZGV4LCBkb3VibGUgdmFs
dWUpIHsgcmV0dXJuIEludGVncmFsVHlwZWRBcnJheUJhc2U8dW5zaWduZWQgaW50Pjo6c2V0KGlu
ZGV4LCB2YWx1ZSk7IH0KKyAgICB2b2lkIHNldChUeXBlZEFycmF5QmFzZTx1bnNpZ25lZCBpbnQ+
KiBhcnJheSwgdW5zaWduZWQgb2Zmc2V0LCBFeGNlcHRpb25Db2RlJiBlYykgeyByZXR1cm4gVHlw
ZWRBcnJheUJhc2U8dW5zaWduZWQgaW50Pjo6c2V0KGFycmF5LCBvZmZzZXQsIGVjKTsgfQogCiAg
ICAgUGFzc1JlZlB0cjxVaW50MzJBcnJheT4gc2xpY2UoaW50IHN0YXJ0KSBjb25zdDsKICAgICBQ
YXNzUmVmUHRyPFVpbnQzMkFycmF5PiBzbGljZShpbnQgc3RhcnQsIGludCBlbmQpIGNvbnN0Owo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>79967</attachid>
            <date>2011-01-24 13:35:26 -0800</date>
            <delta_ts>2011-01-25 05:49:17 -0800</delta_ts>
            <desc>patch7</desc>
            <filename>bug51873_7.patch</filename>
            <type>text/plain</type>
            <size>5996</size>
            <attacher name="qi">qi.2.zhang</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDc2NTQyKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTEtMDEtMjQgIFFpIFpoYW5n
ICA8cWkuMi56aGFuZ0Bub2tpYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgW1N5bWJpYW5dIFJWQ1QgZmFpbHMgdG8gY29tcGlsZSBbVXxJXW50
Wzh8MTZ8MzJdQXJyYXkuaAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NTE4NzMKKyAgICAgICAgCisgICAgICAgIE5vIG5ldyBmdW5jdGlvbmFsaXR5IHNv
IG5vIG5ldyB0ZXN0cy4KKworICAgICAgICAqIGh0bWwvY2FudmFzL0ludDMyQXJyYXkuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OkludDMyQXJyYXk6OnNldCk6CisgICAgICAgICogaHRtbC9jYW52YXMv
SW50OEFycmF5Lmg6CisgICAgICAgIChXZWJDb3JlOjpJbnQ4QXJyYXk6OnNldCk6CisgICAgICAg
ICogaHRtbC9jYW52YXMvVWludDE2QXJyYXkuaDoKKyAgICAgICAgKFdlYkNvcmU6OlVpbnQxNkFy
cmF5OjpzZXQpOgorICAgICAgICAqIGh0bWwvY2FudmFzL1VpbnQzMkFycmF5Lmg6CisgICAgICAg
IChXZWJDb3JlOjpVaW50MzJBcnJheTo6c2V0KToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9VaW50
OEFycmF5Lmg6CisgICAgICAgIChXZWJDb3JlOjpVaW50OEFycmF5OjpzZXQpOgorCiAyMDExLTAx
LTI0ICBBbnRvbiBNdWhpbiAgPGFudG9ubUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3
ZWQgYnkgTmF0ZSBDaGFwaW4uCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9JbnQ4
QXJyYXkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9JbnQ4QXJy
YXkuaAkocmV2aXNpb24gNzU5NDkpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9JbnQ4
QXJyYXkuaAkod29ya2luZyBjb3B5KQpAQCAtMzksOCArMzksOSBAQCBwdWJsaWM6CiAgICAgc3Rh
dGljIFBhc3NSZWZQdHI8SW50OEFycmF5PiBjcmVhdGUoc2lnbmVkIGNoYXIqIGFycmF5LCB1bnNp
Z25lZCBsZW5ndGgpOwogICAgIHN0YXRpYyBQYXNzUmVmUHRyPEludDhBcnJheT4gY3JlYXRlKFBh
c3NSZWZQdHI8QXJyYXlCdWZmZXI+IGJ1ZmZlciwgdW5zaWduZWQgYnl0ZU9mZnNldCwgdW5zaWdu
ZWQgbGVuZ3RoKTsKIAotICAgIHVzaW5nIFR5cGVkQXJyYXlCYXNlPHNpZ25lZCBjaGFyPjo6c2V0
OwotICAgIHVzaW5nIEludGVncmFsVHlwZWRBcnJheUJhc2U8c2lnbmVkIGNoYXI+OjpzZXQ7Cisg
ICAgLy8gQ2Fu4oCZdCB1c2Ug4oCcdXNpbmfigJ0gaGVyZSBkdWUgdG8gYSBidWcgaW4gdGhlIFJW
Q1QgY29tcGlsZXIuCisgICAgdm9pZCBzZXQodW5zaWduZWQgaW5kZXgsIGRvdWJsZSB2YWx1ZSkg
eyByZXR1cm4gSW50ZWdyYWxUeXBlZEFycmF5QmFzZTxzaWduZWQgY2hhcj46OnNldChpbmRleCwg
dmFsdWUpOyB9CisgICAgdm9pZCBzZXQoVHlwZWRBcnJheUJhc2U8c2lnbmVkIGNoYXI+KiBhcnJh
eSwgdW5zaWduZWQgb2Zmc2V0LCBFeGNlcHRpb25Db2RlJiBlYykgeyByZXR1cm4gVHlwZWRBcnJh
eUJhc2U8c2lnbmVkIGNoYXI+OjpzZXQoYXJyYXksIG9mZnNldCwgZWMpOyB9CiAKICAgICBQYXNz
UmVmUHRyPEludDhBcnJheT4gc2xpY2UoaW50IHN0YXJ0KSBjb25zdDsKICAgICBQYXNzUmVmUHRy
PEludDhBcnJheT4gc2xpY2UoaW50IHN0YXJ0LCBpbnQgZW5kKSBjb25zdDsKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL0ludDMyQXJyYXkuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9JbnQzMkFycmF5LmgJKHJldmlzaW9uIDc1OTQ5KQorKysgU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvSW50MzJBcnJheS5oCSh3b3JraW5nIGNvcHkpCkBAIC0z
NywxMCArMzcsOSBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8SW50MzJBcnJheT4g
Y3JlYXRlKGludCogYXJyYXksIHVuc2lnbmVkIGxlbmd0aCk7CiAgICAgc3RhdGljIFBhc3NSZWZQ
dHI8SW50MzJBcnJheT4gY3JlYXRlKFBhc3NSZWZQdHI8QXJyYXlCdWZmZXI+IGJ1ZmZlciwgdW5z
aWduZWQgYnl0ZU9mZnNldCwgdW5zaWduZWQgbGVuZ3RoKTsKIAotI2lmICFDT01QSUxFUihSVkNU
KQotICAgIHVzaW5nIFR5cGVkQXJyYXlCYXNlPGludD46OnNldDsKLSAgICB1c2luZyBJbnRlZ3Jh
bFR5cGVkQXJyYXlCYXNlPGludD46OnNldDsKLSNlbmRpZgorICAgIC8vIENhbuKAmXQgdXNlIOKA
nHVzaW5n4oCdIGhlcmUgZHVlIHRvIGEgYnVnIGluIHRoZSBSVkNUIGNvbXBpbGVyLgorICAgIHZv
aWQgc2V0KHVuc2lnbmVkIGluZGV4LCBkb3VibGUgdmFsdWUpIHsgcmV0dXJuIEludGVncmFsVHlw
ZWRBcnJheUJhc2U8aW50Pjo6c2V0KGluZGV4LCB2YWx1ZSk7IH0KKyAgICB2b2lkIHNldChUeXBl
ZEFycmF5QmFzZTxpbnQ+KiBhcnJheSwgdW5zaWduZWQgb2Zmc2V0LCBFeGNlcHRpb25Db2RlJiBl
YykgeyByZXR1cm4gVHlwZWRBcnJheUJhc2U8aW50Pjo6c2V0KGFycmF5LCBvZmZzZXQsIGVjKTsg
fQogCiAgICAgUGFzc1JlZlB0cjxJbnQzMkFycmF5PiBzbGljZShpbnQgc3RhcnQpIGNvbnN0Owog
ICAgIFBhc3NSZWZQdHI8SW50MzJBcnJheT4gc2xpY2UoaW50IHN0YXJ0LCBpbnQgZW5kKSBjb25z
dDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1VpbnQ4QXJyYXkuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9VaW50OEFycmF5LmgJKHJldmlzaW9u
IDc1OTQ5KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvVWludDhBcnJheS5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zOSwxMCArMzksOSBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQ
dHI8VWludDhBcnJheT4gY3JlYXRlKHVuc2lnbmVkIGNoYXIqIGFycmF5LCB1bnNpZ25lZCBsZW5n
dGgpOwogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFVpbnQ4QXJyYXk+IGNyZWF0ZShQYXNzUmVmUHRy
PEFycmF5QnVmZmVyPiBidWZmZXIsIHVuc2lnbmVkIGJ5dGVPZmZzZXQsIHVuc2lnbmVkIGxlbmd0
aCk7CiAKLSNpZiAhQ09NUElMRVIoUlZDVCkKLSAgICB1c2luZyBUeXBlZEFycmF5QmFzZTx1bnNp
Z25lZCBjaGFyPjo6c2V0OwotICAgIHVzaW5nIEludGVncmFsVHlwZWRBcnJheUJhc2U8dW5zaWdu
ZWQgY2hhcj46OnNldDsKLSNlbmRpZgorICAgIC8vIENhbuKAmXQgdXNlIOKAnHVzaW5n4oCdIGhl
cmUgZHVlIHRvIGEgYnVnIGluIHRoZSBSVkNUIGNvbXBpbGVyLgorICAgIHZvaWQgc2V0KHVuc2ln
bmVkIGluZGV4LCBkb3VibGUgdmFsdWUpIHsgcmV0dXJuIEludGVncmFsVHlwZWRBcnJheUJhc2U8
dW5zaWduZWQgY2hhcj46OnNldChpbmRleCwgdmFsdWUpOyB9CisgICAgdm9pZCBzZXQoVHlwZWRB
cnJheUJhc2U8dW5zaWduZWQgY2hhcj4qIGFycmF5LCB1bnNpZ25lZCBvZmZzZXQsIEV4Y2VwdGlv
bkNvZGUmIGVjKSB7IHJldHVybiBUeXBlZEFycmF5QmFzZTx1bnNpZ25lZCBjaGFyPjo6c2V0KGFy
cmF5LCBvZmZzZXQsIGVjKTsgfQogCiAgICAgUGFzc1JlZlB0cjxVaW50OEFycmF5PiBzbGljZShp
bnQgc3RhcnQpIGNvbnN0OwogICAgIFBhc3NSZWZQdHI8VWludDhBcnJheT4gc2xpY2UoaW50IHN0
YXJ0LCBpbnQgZW5kKSBjb25zdDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1Vp
bnQxNkFycmF5LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvVWlu
dDE2QXJyYXkuaAkocmV2aXNpb24gNzU5NDkpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9VaW50MTZBcnJheS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zOSw4ICszOSw5IEBAIHB1YmxpYzoK
ICAgICBzdGF0aWMgUGFzc1JlZlB0cjxVaW50MTZBcnJheT4gY3JlYXRlKHVuc2lnbmVkIHNob3J0
KiBhcnJheSwgdW5zaWduZWQgbGVuZ3RoKTsKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxVaW50MTZB
cnJheT4gY3JlYXRlKFBhc3NSZWZQdHI8QXJyYXlCdWZmZXI+IGJ1ZmZlciwgdW5zaWduZWQgYnl0
ZU9mZnNldCwgdW5zaWduZWQgbGVuZ3RoKTsKIAotICAgIHVzaW5nIFR5cGVkQXJyYXlCYXNlPHVu
c2lnbmVkIHNob3J0Pjo6c2V0OwotICAgIHVzaW5nIEludGVncmFsVHlwZWRBcnJheUJhc2U8dW5z
aWduZWQgc2hvcnQ+OjpzZXQ7CisgICAgLy8gQ2Fu4oCZdCB1c2Ug4oCcdXNpbmfigJ0gaGVyZSBk
dWUgdG8gYSBidWcgaW4gdGhlIFJWQ1QgY29tcGlsZXIuCisgICAgdm9pZCBzZXQodW5zaWduZWQg
aW5kZXgsIGRvdWJsZSB2YWx1ZSkgeyByZXR1cm4gSW50ZWdyYWxUeXBlZEFycmF5QmFzZTx1bnNp
Z25lZCBzaG9ydD46OnNldChpbmRleCwgdmFsdWUpOyB9CisgICAgdm9pZCBzZXQoVHlwZWRBcnJh
eUJhc2U8dW5zaWduZWQgc2hvcnQ+KiBhcnJheSwgdW5zaWduZWQgb2Zmc2V0LCBFeGNlcHRpb25D
b2RlJiBlYykgeyByZXR1cm4gVHlwZWRBcnJheUJhc2U8dW5zaWduZWQgc2hvcnQ+OjpzZXQoYXJy
YXksIG9mZnNldCwgZWMpOyB9CiAKICAgICBQYXNzUmVmUHRyPFVpbnQxNkFycmF5PiBzbGljZShp
bnQgc3RhcnQpIGNvbnN0OwogICAgIFBhc3NSZWZQdHI8VWludDE2QXJyYXk+IHNsaWNlKGludCBz
dGFydCwgaW50IGVuZCkgY29uc3Q7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9V
aW50MzJBcnJheS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1Vp
bnQzMkFycmF5LmgJKHJldmlzaW9uIDc1OTQ5KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvVWludDMyQXJyYXkuaAkod29ya2luZyBjb3B5KQpAQCAtMzksOCArMzksOSBAQCBwdWJsaWM6
CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8VWludDMyQXJyYXk+IGNyZWF0ZSh1bnNpZ25lZCBpbnQq
IGFycmF5LCB1bnNpZ25lZCBsZW5ndGgpOwogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFVpbnQzMkFy
cmF5PiBjcmVhdGUoUGFzc1JlZlB0cjxBcnJheUJ1ZmZlcj4gYnVmZmVyLCB1bnNpZ25lZCBieXRl
T2Zmc2V0LCB1bnNpZ25lZCBsZW5ndGgpOwogCi0gICAgdXNpbmcgVHlwZWRBcnJheUJhc2U8dW5z
aWduZWQgaW50Pjo6c2V0OwotICAgIHVzaW5nIEludGVncmFsVHlwZWRBcnJheUJhc2U8dW5zaWdu
ZWQgaW50Pjo6c2V0OworICAgIC8vIENhbuKAmXQgdXNlIOKAnHVzaW5n4oCdIGhlcmUgZHVlIHRv
IGEgYnVnIGluIHRoZSBSVkNUIGNvbXBpbGVyLgorICAgIHZvaWQgc2V0KHVuc2lnbmVkIGluZGV4
LCBkb3VibGUgdmFsdWUpIHsgcmV0dXJuIEludGVncmFsVHlwZWRBcnJheUJhc2U8dW5zaWduZWQg
aW50Pjo6c2V0KGluZGV4LCB2YWx1ZSk7IH0KKyAgICB2b2lkIHNldChUeXBlZEFycmF5QmFzZTx1
bnNpZ25lZCBpbnQ+KiBhcnJheSwgdW5zaWduZWQgb2Zmc2V0LCBFeGNlcHRpb25Db2RlJiBlYykg
eyByZXR1cm4gVHlwZWRBcnJheUJhc2U8dW5zaWduZWQgaW50Pjo6c2V0KGFycmF5LCBvZmZzZXQs
IGVjKTsgfQogCiAgICAgUGFzc1JlZlB0cjxVaW50MzJBcnJheT4gc2xpY2UoaW50IHN0YXJ0KSBj
b25zdDsKICAgICBQYXNzUmVmUHRyPFVpbnQzMkFycmF5PiBzbGljZShpbnQgc3RhcnQsIGludCBl
bmQpIGNvbnN0Owo=
</data>
<flag name="review"
          id="71436"
          type_id="1"
          status="-"
          setter="laszlo.gombos"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>80054</attachid>
            <date>2011-01-25 05:49:17 -0800</date>
            <delta_ts>2011-01-25 07:24:51 -0800</delta_ts>
            <desc>patch8</desc>
            <filename>bug51873_8.patch</filename>
            <type>text/plain</type>
            <size>6083</size>
            <attacher name="qi">qi.2.zhang</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDc2NTQyKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTEtMDEtMjQgIFFpIFpoYW5n
ICA8cWkuMi56aGFuZ0Bub2tpYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgW1N5bWJpYW5dIFJWQ1QgZmFpbHMgdG8gY29tcGlsZSBbVXxJXW50
Wzh8MTZ8MzJdQXJyYXkuaAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NTE4NzMKKyAgICAgICAgCisgICAgICAgIFJlcGxhY2UgdGhlIHVzaW5nIGRlY2xh
cmF0aW9uLCBiZWNhdXNlIGl0IGRvZXNuJ3QgY29tcGlsZSBvbiBSVkNULCBhbmQgV0lOU0NXIGhh
cyB0aGUgc2FtZSBpc3N1ZS4KKyAgICAgICAgTm8gbmV3IGZ1bmN0aW9uYWxpdHkgc28gbm8gbmV3
IHRlc3RzLgorCisgICAgICAgICogaHRtbC9jYW52YXMvSW50MzJBcnJheS5oOgorICAgICAgICAo
V2ViQ29yZTo6SW50MzJBcnJheTo6c2V0KToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9JbnQ4QXJy
YXkuaDoKKyAgICAgICAgKFdlYkNvcmU6OkludDhBcnJheTo6c2V0KToKKyAgICAgICAgKiBodG1s
L2NhbnZhcy9VaW50MTZBcnJheS5oOgorICAgICAgICAoV2ViQ29yZTo6VWludDE2QXJyYXk6OnNl
dCk6CisgICAgICAgICogaHRtbC9jYW52YXMvVWludDMyQXJyYXkuaDoKKyAgICAgICAgKFdlYkNv
cmU6OlVpbnQzMkFycmF5OjpzZXQpOgorICAgICAgICAqIGh0bWwvY2FudmFzL1VpbnQ4QXJyYXku
aDoKKyAgICAgICAgKFdlYkNvcmU6OlVpbnQ4QXJyYXk6OnNldCk6CisKIDIwMTEtMDEtMjQgIEFu
dG9uIE11aGluICA8YW50b25tQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBO
YXRlIENoYXBpbi4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0ludDhBcnJheS5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0ludDhBcnJheS5oCShy
ZXZpc2lvbiA3NTk0OSkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0ludDhBcnJheS5o
CSh3b3JraW5nIGNvcHkpCkBAIC0zOSw4ICszOSw5IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgUGFz
c1JlZlB0cjxJbnQ4QXJyYXk+IGNyZWF0ZShzaWduZWQgY2hhciogYXJyYXksIHVuc2lnbmVkIGxl
bmd0aCk7CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8SW50OEFycmF5PiBjcmVhdGUoUGFzc1JlZlB0
cjxBcnJheUJ1ZmZlcj4gYnVmZmVyLCB1bnNpZ25lZCBieXRlT2Zmc2V0LCB1bnNpZ25lZCBsZW5n
dGgpOwogCi0gICAgdXNpbmcgVHlwZWRBcnJheUJhc2U8c2lnbmVkIGNoYXI+OjpzZXQ7Ci0gICAg
dXNpbmcgSW50ZWdyYWxUeXBlZEFycmF5QmFzZTxzaWduZWQgY2hhcj46OnNldDsKKyAgICAvLyBD
YW7igJl0IHVzZSAidXNpbmciIGhlcmUgZHVlIHRvIGEgYnVnIGluIHRoZSBSVkNUIGNvbXBpbGVy
LgorICAgIHZvaWQgc2V0KFR5cGVkQXJyYXlCYXNlPHNpZ25lZCBjaGFyPiogYXJyYXksIHVuc2ln
bmVkIG9mZnNldCwgRXhjZXB0aW9uQ29kZSYgZWMpIHsgcmV0dXJuIFR5cGVkQXJyYXlCYXNlPHNp
Z25lZCBjaGFyPjo6c2V0KGFycmF5LCBvZmZzZXQsIGVjKTsgfQorICAgIHZvaWQgc2V0KHVuc2ln
bmVkIGluZGV4LCBkb3VibGUgdmFsdWUpIHsgcmV0dXJuIEludGVncmFsVHlwZWRBcnJheUJhc2U8
c2lnbmVkIGNoYXI+OjpzZXQoaW5kZXgsIHZhbHVlKTsgfQogCiAgICAgUGFzc1JlZlB0cjxJbnQ4
QXJyYXk+IHNsaWNlKGludCBzdGFydCkgY29uc3Q7CiAgICAgUGFzc1JlZlB0cjxJbnQ4QXJyYXk+
IHNsaWNlKGludCBzdGFydCwgaW50IGVuZCkgY29uc3Q7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9o
dG1sL2NhbnZhcy9JbnQzMkFycmF5LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvSW50MzJBcnJheS5oCShyZXZpc2lvbiA3NTk0OSkKKysrIFNvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL0ludDMyQXJyYXkuaAkod29ya2luZyBjb3B5KQpAQCAtMzcsMTAgKzM3LDkg
QEAgcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPEludDMyQXJyYXk+IGNyZWF0ZShpbnQq
IGFycmF5LCB1bnNpZ25lZCBsZW5ndGgpOwogICAgIHN0YXRpYyBQYXNzUmVmUHRyPEludDMyQXJy
YXk+IGNyZWF0ZShQYXNzUmVmUHRyPEFycmF5QnVmZmVyPiBidWZmZXIsIHVuc2lnbmVkIGJ5dGVP
ZmZzZXQsIHVuc2lnbmVkIGxlbmd0aCk7CiAKLSNpZiAhQ09NUElMRVIoUlZDVCkKLSAgICB1c2lu
ZyBUeXBlZEFycmF5QmFzZTxpbnQ+OjpzZXQ7Ci0gICAgdXNpbmcgSW50ZWdyYWxUeXBlZEFycmF5
QmFzZTxpbnQ+OjpzZXQ7Ci0jZW5kaWYKKyAgICAvLyBDYW7igJl0IHVzZSAidXNpbmciIGhlcmUg
ZHVlIHRvIGEgYnVnIGluIHRoZSBSVkNUIGNvbXBpbGVyLgorICAgIHZvaWQgc2V0KFR5cGVkQXJy
YXlCYXNlPGludD4qIGFycmF5LCB1bnNpZ25lZCBvZmZzZXQsIEV4Y2VwdGlvbkNvZGUmIGVjKSB7
IHJldHVybiBUeXBlZEFycmF5QmFzZTxpbnQ+OjpzZXQoYXJyYXksIG9mZnNldCwgZWMpOyB9Cisg
ICAgdm9pZCBzZXQodW5zaWduZWQgaW5kZXgsIGRvdWJsZSB2YWx1ZSkgeyByZXR1cm4gSW50ZWdy
YWxUeXBlZEFycmF5QmFzZTxpbnQ+OjpzZXQoaW5kZXgsIHZhbHVlKTsgfQogCiAgICAgUGFzc1Jl
ZlB0cjxJbnQzMkFycmF5PiBzbGljZShpbnQgc3RhcnQpIGNvbnN0OwogICAgIFBhc3NSZWZQdHI8
SW50MzJBcnJheT4gc2xpY2UoaW50IHN0YXJ0LCBpbnQgZW5kKSBjb25zdDsKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL1VpbnQ4QXJyYXkuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9VaW50OEFycmF5LmgJKHJldmlzaW9uIDc1OTQ5KQorKysgU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvVWludDhBcnJheS5oCSh3b3JraW5nIGNvcHkpCkBAIC0z
OSwxMCArMzksOSBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8VWludDhBcnJheT4g
Y3JlYXRlKHVuc2lnbmVkIGNoYXIqIGFycmF5LCB1bnNpZ25lZCBsZW5ndGgpOwogICAgIHN0YXRp
YyBQYXNzUmVmUHRyPFVpbnQ4QXJyYXk+IGNyZWF0ZShQYXNzUmVmUHRyPEFycmF5QnVmZmVyPiBi
dWZmZXIsIHVuc2lnbmVkIGJ5dGVPZmZzZXQsIHVuc2lnbmVkIGxlbmd0aCk7CiAKLSNpZiAhQ09N
UElMRVIoUlZDVCkKLSAgICB1c2luZyBUeXBlZEFycmF5QmFzZTx1bnNpZ25lZCBjaGFyPjo6c2V0
OwotICAgIHVzaW5nIEludGVncmFsVHlwZWRBcnJheUJhc2U8dW5zaWduZWQgY2hhcj46OnNldDsK
LSNlbmRpZgorICAgIC8vIENhbuKAmXQgdXNlICJ1c2luZyIgaGVyZSBkdWUgdG8gYSBidWcgaW4g
dGhlIFJWQ1QgY29tcGlsZXIuCisgICAgdm9pZCBzZXQoVHlwZWRBcnJheUJhc2U8dW5zaWduZWQg
Y2hhcj4qIGFycmF5LCB1bnNpZ25lZCBvZmZzZXQsIEV4Y2VwdGlvbkNvZGUmIGVjKSB7IHJldHVy
biBUeXBlZEFycmF5QmFzZTx1bnNpZ25lZCBjaGFyPjo6c2V0KGFycmF5LCBvZmZzZXQsIGVjKTsg
fQorICAgIHZvaWQgc2V0KHVuc2lnbmVkIGluZGV4LCBkb3VibGUgdmFsdWUpIHsgcmV0dXJuIElu
dGVncmFsVHlwZWRBcnJheUJhc2U8dW5zaWduZWQgY2hhcj46OnNldChpbmRleCwgdmFsdWUpOyB9
CiAKICAgICBQYXNzUmVmUHRyPFVpbnQ4QXJyYXk+IHNsaWNlKGludCBzdGFydCkgY29uc3Q7CiAg
ICAgUGFzc1JlZlB0cjxVaW50OEFycmF5PiBzbGljZShpbnQgc3RhcnQsIGludCBlbmQpIGNvbnN0
OwpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvVWludDE2QXJyYXkuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9VaW50MTZBcnJheS5oCShyZXZpc2lv
biA3NTk0OSkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1VpbnQxNkFycmF5LmgJKHdv
cmtpbmcgY29weSkKQEAgLTM5LDggKzM5LDkgQEAgcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVm
UHRyPFVpbnQxNkFycmF5PiBjcmVhdGUodW5zaWduZWQgc2hvcnQqIGFycmF5LCB1bnNpZ25lZCBs
ZW5ndGgpOwogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFVpbnQxNkFycmF5PiBjcmVhdGUoUGFzc1Jl
ZlB0cjxBcnJheUJ1ZmZlcj4gYnVmZmVyLCB1bnNpZ25lZCBieXRlT2Zmc2V0LCB1bnNpZ25lZCBs
ZW5ndGgpOwogCi0gICAgdXNpbmcgVHlwZWRBcnJheUJhc2U8dW5zaWduZWQgc2hvcnQ+OjpzZXQ7
Ci0gICAgdXNpbmcgSW50ZWdyYWxUeXBlZEFycmF5QmFzZTx1bnNpZ25lZCBzaG9ydD46OnNldDsK
KyAgICAvLyBDYW7igJl0IHVzZSAidXNpbmciIGhlcmUgZHVlIHRvIGEgYnVnIGluIHRoZSBSVkNU
IGNvbXBpbGVyLgorICAgIHZvaWQgc2V0KFR5cGVkQXJyYXlCYXNlPHVuc2lnbmVkIHNob3J0Piog
YXJyYXksIHVuc2lnbmVkIG9mZnNldCwgRXhjZXB0aW9uQ29kZSYgZWMpIHsgcmV0dXJuIFR5cGVk
QXJyYXlCYXNlPHVuc2lnbmVkIHNob3J0Pjo6c2V0KGFycmF5LCBvZmZzZXQsIGVjKTsgfQorICAg
IHZvaWQgc2V0KHVuc2lnbmVkIGluZGV4LCBkb3VibGUgdmFsdWUpIHsgcmV0dXJuIEludGVncmFs
VHlwZWRBcnJheUJhc2U8dW5zaWduZWQgc2hvcnQ+OjpzZXQoaW5kZXgsIHZhbHVlKTsgfQogCiAg
ICAgUGFzc1JlZlB0cjxVaW50MTZBcnJheT4gc2xpY2UoaW50IHN0YXJ0KSBjb25zdDsKICAgICBQ
YXNzUmVmUHRyPFVpbnQxNkFycmF5PiBzbGljZShpbnQgc3RhcnQsIGludCBlbmQpIGNvbnN0OwpJ
bmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvVWludDMyQXJyYXkuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9VaW50MzJBcnJheS5oCShyZXZpc2lvbiA3
NTk0OSkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1VpbnQzMkFycmF5LmgJKHdvcmtp
bmcgY29weSkKQEAgLTM5LDggKzM5LDkgQEAgcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRy
PFVpbnQzMkFycmF5PiBjcmVhdGUodW5zaWduZWQgaW50KiBhcnJheSwgdW5zaWduZWQgbGVuZ3Ro
KTsKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxVaW50MzJBcnJheT4gY3JlYXRlKFBhc3NSZWZQdHI8
QXJyYXlCdWZmZXI+IGJ1ZmZlciwgdW5zaWduZWQgYnl0ZU9mZnNldCwgdW5zaWduZWQgbGVuZ3Ro
KTsKIAotICAgIHVzaW5nIFR5cGVkQXJyYXlCYXNlPHVuc2lnbmVkIGludD46OnNldDsKLSAgICB1
c2luZyBJbnRlZ3JhbFR5cGVkQXJyYXlCYXNlPHVuc2lnbmVkIGludD46OnNldDsKKyAgICAvLyBD
YW7igJl0IHVzZSAidXNpbmciIGhlcmUgZHVlIHRvIGEgYnVnIGluIHRoZSBSVkNUIGNvbXBpbGVy
LgorICAgIHZvaWQgc2V0KFR5cGVkQXJyYXlCYXNlPHVuc2lnbmVkIGludD4qIGFycmF5LCB1bnNp
Z25lZCBvZmZzZXQsIEV4Y2VwdGlvbkNvZGUmIGVjKSB7IHJldHVybiBUeXBlZEFycmF5QmFzZTx1
bnNpZ25lZCBpbnQ+OjpzZXQoYXJyYXksIG9mZnNldCwgZWMpOyB9CisgICAgdm9pZCBzZXQodW5z
aWduZWQgaW5kZXgsIGRvdWJsZSB2YWx1ZSkgeyByZXR1cm4gSW50ZWdyYWxUeXBlZEFycmF5QmFz
ZTx1bnNpZ25lZCBpbnQ+OjpzZXQoaW5kZXgsIHZhbHVlKTsgfQogCiAgICAgUGFzc1JlZlB0cjxV
aW50MzJBcnJheT4gc2xpY2UoaW50IHN0YXJ0KSBjb25zdDsKICAgICBQYXNzUmVmUHRyPFVpbnQz
MkFycmF5PiBzbGljZShpbnQgc3RhcnQsIGludCBlbmQpIGNvbnN0Owo=
</data>

          </attachment>
      

    </bug>

</bugzilla>