<?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>66646</bug_id>
          
          <creation_ts>2011-08-21 23:45:38 -0700</creation_ts>
          <short_desc>ArrayBuffer should have slice method.</short_desc>
          <delta_ts>2011-10-19 16:30:24 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Shinya Kawanaka">shinyak</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>kbr</cc>
    
    <cc>morrita</cc>
    
    <cc>sam</cc>
    
    <cc>shinyak</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zmo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>454474</commentid>
    <comment_count>0</comment_count>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2011-08-21 23:45:38 -0700</bug_when>
    <thetext>ArrayBuffer should have slice method.

See also the following references.

http://code.google.com/p/chromium/issues/detail?id=85047
http://www.khronos.org/registry/typedarray/specs/latest/#5</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>454476</commentid>
    <comment_count>1</comment_count>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2011-08-21 23:47:20 -0700</bug_when>
    <thetext>Sorry I mistook the URL.

http://code.google.com/p/chromium/issues/detail?id=85049
is correct.

(In reply to comment #0)
&gt; ArrayBuffer should have slice method.
&gt; 
&gt; See also the following references.
&gt; 
&gt; http://code.google.com/p/chromium/issues/detail?id=85047
&gt; http://www.khronos.org/registry/typedarray/specs/latest/#5</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>454480</commentid>
    <comment_count>2</comment_count>
      <attachid>104649</attachid>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2011-08-21 23:51:35 -0700</bug_when>
    <thetext>Created attachment 104649
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>454607</commentid>
    <comment_count>3</comment_count>
      <attachid>104649</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2011-08-22 08:07:58 -0700</bug_when>
    <thetext>Comment on attachment 104649
Patch

long in IDL is meant to map to int in c++ code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>455901</commentid>
    <comment_count>4</comment_count>
      <attachid>104951</attachid>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2011-08-23 18:16:09 -0700</bug_when>
    <thetext>Created attachment 104951
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>484909</commentid>
    <comment_count>5</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2011-10-16 21:59:08 -0700</bug_when>
    <thetext>This looks a trivial change.
What needed for this patch is a drop of love from some expert...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>486209</commentid>
    <comment_count>6</comment_count>
      <attachid>104951</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2011-10-18 12:02:42 -0700</bug_when>
    <thetext>Comment on attachment 104951
Patch

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

Thanks for picking up this work. The code looks fine and the test looks great. A couple of minor nits to clean up before committing. Also, please mark cq? on the bug if you would like it committed after review.

&gt; LayoutTests/ChangeLog:3
&gt; +        Added unittest for ArrayBuffer#slice

Please use the bug description verbatim along with the URL. If necessary, provide detail in additional paragraphs.

&gt; Source/WebCore/ChangeLog:3
&gt; +        Implemented ArrayBuffer#slice.

Same comment here.

&gt; Source/WebCore/html/canvas/ArrayBuffer.cpp:33
&gt; +static long clampValue(long x, long left, long right)

This should take and return ints instead of longs.

&gt; Source/WebCore/html/canvas/ArrayBuffer.h:54
&gt; +    unsigned index(int idx) const;

This method name is a little confusing; what about &quot;clampIndex&quot;? Also, avoid abbreviations (see http://www.webkit.org/coding/coding-style.html ), so the argument should be named &quot;index&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>486550</commentid>
    <comment_count>7</comment_count>
      <attachid>111561</attachid>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2011-10-18 21:43:09 -0700</bug_when>
    <thetext>Created attachment 111561
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>486553</commentid>
    <comment_count>8</comment_count>
      <attachid>111562</attachid>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2011-10-18 21:46:42 -0700</bug_when>
    <thetext>Created attachment 111562
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>486554</commentid>
    <comment_count>9</comment_count>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2011-10-18 21:47:35 -0700</bug_when>
    <thetext>Hi, I&apos;ve fixed them. Could you review it again?

(In reply to comment #6)
&gt; (From update of attachment 104951 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=104951&amp;action=review
&gt; 
&gt; Thanks for picking up this work. The code looks fine and the test looks great. A couple of minor nits to clean up before committing. Also, please mark cq? on the bug if you would like it committed after review.
&gt; 
&gt; &gt; LayoutTests/ChangeLog:3
&gt; &gt; +        Added unittest for ArrayBuffer#slice
&gt; 
&gt; Please use the bug description verbatim along with the URL. If necessary, provide detail in additional paragraphs.
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:3
&gt; &gt; +        Implemented ArrayBuffer#slice.
&gt; 
&gt; Same comment here.
&gt; 
&gt; &gt; Source/WebCore/html/canvas/ArrayBuffer.cpp:33
&gt; &gt; +static long clampValue(long x, long left, long right)
&gt; 
&gt; This should take and return ints instead of longs.
&gt; 
&gt; &gt; Source/WebCore/html/canvas/ArrayBuffer.h:54
&gt; &gt; +    unsigned index(int idx) const;
&gt; 
&gt; This method name is a little confusing; what about &quot;clampIndex&quot;? Also, avoid abbreviations (see http://www.webkit.org/coding/coding-style.html ), so the argument should be named &quot;index&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>486876</commentid>
    <comment_count>10</comment_count>
      <attachid>111562</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2011-10-19 10:36:42 -0700</bug_when>
    <thetext>Comment on attachment 111562
Patch

Thanks, looks great. r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>487119</commentid>
    <comment_count>11</comment_count>
      <attachid>111562</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-19 16:30:18 -0700</bug_when>
    <thetext>Comment on attachment 111562
Patch

Clearing flags on attachment: 111562

Committed r97893: &lt;http://trac.webkit.org/changeset/97893&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>487120</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-19 16:30:24 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>104649</attachid>
            <date>2011-08-21 23:51:35 -0700</date>
            <delta_ts>2011-08-23 18:16:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-66646-20110822155134.patch</filename>
            <type>text/plain</type>
            <size>6124</size>
            <attacher name="Shinya Kawanaka">shinyak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTM0OTIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAwMjk3MjIxOTYyMWNjYWI4NTFlODU2
OTk0NDVjNWVjMTMzMGY2NWZhLi5lODhhMGZiYzU2MmNmMjk0MmIzZDRlYWI3YjhmYzViOWIxZTY3
MTA3IDEwMDc1NQotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTEtMDgtMjEgIFNoaW55YSBLYXdhbmFrYSAg
PHNoaW55YWtAZ29vZ2xlLmNvbT4KKworICAgICAgICBBZGRlZCB1bml0dGVzdCBmb3IgQXJyYXlC
dWZmZXIjc2xpY2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTY2NjQ2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBmYXN0L2NhbnZhcy93ZWJnbC9hcnJheS11bml0LXRlc3RzLmh0bWw6IEFkZGVkIEFycmF5
QnVmZmVyI3NsaWNlIHRlc3RzLgorCiAyMDExLTA4LTIxICBEYXJpbiBBZGxlciAgPGRhcmluQGFw
cGxlLmNvbT4KIAogICAgICAgICBVcGRhdGUgcmVzdWx0cyBmb3IgbW9yZSB0ZXN0cyBhZmZlY3Rl
ZCBieSB0aGUgYWRkaXRpb24gb2YgdGhlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nh
bnZhcy93ZWJnbC9hcnJheS11bml0LXRlc3RzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZh
cy93ZWJnbC9hcnJheS11bml0LXRlc3RzLmh0bWwKaW5kZXggODUyYTVlOWJjMTIwZDBjMmUyZmJk
ZGNmMjBhMjVkMTBiNDUzODE0MC4uYThmZTgwOTg2NTllYTFiNDU3YjMzNmFlMmRiZjM3YzNlNmEw
ZDcwNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvYXJyYXktdW5p
dC10ZXN0cy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2FycmF5LXVu
aXQtdGVzdHMuaHRtbApAQCAtNTgsNiArNTgsNTYgQEAgZnVuY3Rpb24gcHJpbnRTdW1tYXJ5KCkg
ewogICB9CiB9CiAKK3ZhciBieXRlTGVuZ3RoOwordmFyIHN1YkJ1ZmZlcjsKK2Z1bmN0aW9uIHRl
c3RTbGljZSgpIHsKKyAgZnVuY3Rpb24gdGVzdChzdWJCdWYsIHN0YXJ0cywgc2l6ZSkgeworICAg
IGJ5dGVMZW5ndGggPSBzaXplOworICAgIHN1YkJ1ZmZlciA9IGV2YWwoc3ViQnVmKTsKKyAgICB2
YXIgc3ViQXJyYXkgPSBuZXcgSW50OEFycmF5KHN1YkJ1ZmZlcik7CisgICAgYXNzZXJ0RXEoc3Vi
QnVmLCBzdWJCdWZmZXIuYnl0ZUxlbmd0aCwgYnl0ZUxlbmd0aCk7CisgICAgZm9yICh2YXIgaSA9
IDA7IGkgPCBzaXplOyArK2kpCisgICAgICBhc3NlcnRFcSgnRWxlbWVudCAnICsgaSwgc3RhcnRz
ICsgaSwgc3ViQXJyYXlbaV0pOworICB9CisKKyAgdHJ5IHsKKyAgICB2YXIgYnVmZmVyID0gbmV3
IEFycmF5QnVmZmVyKDMyKTsKKyAgICB2YXIgYXJyYXkgPSBuZXcgSW50OEFycmF5KGJ1ZmZlcik7
CisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCAzMjsgKytpKQorICAgICAgYXJyYXlbaV0gPSBpOwor
CisgICAgdGVzdCgiYnVmZmVyLnNsaWNlKDApIiwgMCwgMzIpOworICAgIHRlc3QoImJ1ZmZlci5z
bGljZSgxNikiLCAxNiwgMTYpOworICAgIHRlc3QoImJ1ZmZlci5zbGljZSgyNCkiLCAyNCwgOCk7
CisgICAgdGVzdCgiYnVmZmVyLnNsaWNlKDMyKSIsIDMyLCAwKTsKKyAgICB0ZXN0KCJidWZmZXIu
c2xpY2UoNDApIiwgMzIsIDApOworICAgIHRlc3QoImJ1ZmZlci5zbGljZSg4MCkiLCAzMiwgMCk7
CisKKyAgICB0ZXN0KCJidWZmZXIuc2xpY2UoLTgpIiwgMjQsIDgpOworICAgIHRlc3QoImJ1ZmZl
ci5zbGljZSgtMTYpIiwgMTYsIDE2KTsKKyAgICB0ZXN0KCJidWZmZXIuc2xpY2UoLTI0KSIsIDgs
IDI0KTsKKyAgICB0ZXN0KCJidWZmZXIuc2xpY2UoLTMyKSIsIDAsIDMyKTsKKyAgICB0ZXN0KCJi
dWZmZXIuc2xpY2UoLTQwKSIsIDAsIDMyKTsKKyAgICB0ZXN0KCJidWZmZXIuc2xpY2UoLTgwKSIs
IDAsIDMyKTsKKworICAgIHRlc3QoImJ1ZmZlci5zbGljZSgwLCAzMikiLCAwLCAzMik7CisgICAg
dGVzdCgiYnVmZmVyLnNsaWNlKDAsIDE2KSIsIDAsIDE2KTsKKyAgICB0ZXN0KCJidWZmZXIuc2xp
Y2UoOCwgMjQpIiwgOCwgMTYpOworICAgIHRlc3QoImJ1ZmZlci5zbGljZSgxNiwgMzIpIiwgMTYs
IDE2KTsKKyAgICB0ZXN0KCJidWZmZXIuc2xpY2UoMjQsIDE2KSIsIDI0LCAwKTsKKworICAgIHRl
c3QoImJ1ZmZlci5zbGljZSgxNiwgLTgpIiwgMTYsIDgpOworICAgIHRlc3QoImJ1ZmZlci5zbGlj
ZSgtMjAsIDMwKSIsIDEyLCAxOCk7CisKKyAgICB0ZXN0KCJidWZmZXIuc2xpY2UoLTgsIC0yMCki
LCAyNCwgMCk7CisgICAgdGVzdCgiYnVmZmVyLnNsaWNlKC0yMCwgLTgpIiwgMTIsIDEyKTsKKyAg
ICB0ZXN0KCJidWZmZXIuc2xpY2UoLTQwLCAxNikiLCAwLCAxNik7CisgICAgdGVzdCgiYnVmZmVy
LnNsaWNlKC00MCwgNDApIiwgMCwgMzIpOworICB9IGNhdGNoIChlKSB7CisgICAgZmFpbChlKTsK
KyAgfQorfQorCiAvLwogLy8gVGVzdHMgZm9yIHVuc2lnbmVkIGFycmF5IHZhcmlhbnRzCiAvLwpA
QCAtNzY0LDYgKzgxNCw4IEBAIGZ1bmN0aW9uIHRlc3ROYU5Db252ZXJzaW9uKHR5cGUsIG5hbWUp
IHsKIGZ1bmN0aW9uIHJ1blRlc3RzKCkgewogICBhbGxQYXNzZWQgPSB0cnVlOwogCisgIHRlc3RT
bGljZSgpOworCiAgIC8vIFRoZSAibmFtZSIgYXR0cmlidXRlIGlzIGEgY29uY2Vzc2lvbiB0byBi
cm93c2VycyB3aGljaCBkb24ndAogICAvLyBpbXBsZW1lbnQgdGhlICJuYW1lIiBwcm9wZXJ0eSBv
biBmdW5jdGlvbiBvYmplY3RzCiAgIHZhciB0ZXN0Q2FzZXMgPQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDgwNTI0
NDc0ZThkMjNiMWEwMmY5YzcxMTMxN2NjYjMzYTdiYjI2MmMuLjNiZDNjMTczZDg4YzQ0ZjMzMzA0
MDk2YmM5YjYxZjMyN2M5YzRhMjAgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMS0w
OC0yMSAgU2hpbnlhIEthd2FuYWthICA8c2hpbnlha0Bnb29nbGUuY29tPgorCisgICAgICAgIElt
cGxlbWVudGVkIEFycmF5QnVmZmVyI3NsaWNlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY2NDYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIGh0bWwvY2FudmFzL0FycmF5QnVmZmVyLmNwcDogSW1wbGVt
ZW50ZWQgQXJyYXlCdWZmZXIjc2xpY2UuCisgICAgICAgIChXZWJDb3JlOjpjbGFtcFZhbHVlKToK
KyAgICAgICAgKFdlYkNvcmU6OkFycmF5QnVmZmVyOjpzbGljZSk6CisgICAgICAgICogaHRtbC9j
YW52YXMvQXJyYXlCdWZmZXIuaDogQWRkZWQgZGVjbGFyYXRpb24uCisgICAgICAgICogaHRtbC9j
YW52YXMvQXJyYXlCdWZmZXIuaWRsOiBBZGRlZCBpbnRlcmZhY2UKKwogMjAxMS0wOC0yMSAgTWFy
dGluIFJvYmluc29uICA8bXJvYmluc29uQGlnYWxpYS5jb20+CiAKICAgICAgICAgRml4ICdtYWtl
IGRpc3QnIGZvciBXZWJLaXRHVEsrLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvQXJyYXlCdWZmZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQXJyYXlC
dWZmZXIuY3BwCmluZGV4IGVhZDA4NzljOTBlMzllNTE1NzdjMjkzNzY0MzhmMWU0YTg3Y2E3YTEu
LjliMjIyOTE5Zjg5ZDBmNGI2YzFiYmUxYzQxMGNhOGMwNTgwOGM3NmUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0FycmF5QnVmZmVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9BcnJheUJ1ZmZlci5jcHAKQEAgLTMwLDYgKzMwLDE2IEBACiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAorc3RhdGljIGxvbmcgY2xhbXBWYWx1ZShsb25nIHgsIGxvbmcg
bGVmdCwgbG9uZyByaWdodCkKK3sKKyAgICBBU1NFUlQobGVmdCA8PSByaWdodCk7CisgICAgaWYg
KHggPCBsZWZ0KQorICAgICAgICB4ID0gbGVmdDsKKyAgICBpZiAocmlnaHQgPCB4KQorICAgICAg
ICB4ID0gcmlnaHQ7CisgICAgcmV0dXJuIHg7Cit9CisKIFBhc3NSZWZQdHI8QXJyYXlCdWZmZXI+
IEFycmF5QnVmZmVyOjpjcmVhdGUodW5zaWduZWQgbnVtRWxlbWVudHMsIHVuc2lnbmVkIGVsZW1l
bnRCeXRlU2l6ZSkKIHsKICAgICB2b2lkKiBkYXRhID0gdHJ5QWxsb2NhdGUobnVtRWxlbWVudHMs
IGVsZW1lbnRCeXRlU2l6ZSk7CkBAIC03NCw2ICs4NCwyNiBAQCB1bnNpZ25lZCBBcnJheUJ1ZmZl
cjo6Ynl0ZUxlbmd0aCgpIGNvbnN0CiAgICAgcmV0dXJuIG1fc2l6ZUluQnl0ZXM7CiB9CiAKK1Bh
c3NSZWZQdHI8QXJyYXlCdWZmZXI+IEFycmF5QnVmZmVyOjpzbGljZShsb25nIGJlZ2luLCBsb25n
IGVuZCkgY29uc3QKK3sKKyAgICBsb25nIGN1cnJlbnRMZW5ndGggPSBzdGF0aWNfY2FzdDxsb25n
PihieXRlTGVuZ3RoKCkpOworICAgIGlmIChiZWdpbiA8IDApCisgICAgICAgIGJlZ2luID0gY3Vy
cmVudExlbmd0aCArIGJlZ2luOworICAgIGJlZ2luID0gY2xhbXBWYWx1ZShiZWdpbiwgMCwgY3Vy
cmVudExlbmd0aCk7CisKKyAgICBpZiAoZW5kIDwgMCkKKyAgICAgICAgZW5kID0gY3VycmVudExl
bmd0aCArIGVuZDsKKyAgICBlbmQgPSBjbGFtcFZhbHVlKGVuZCwgMCwgY3VycmVudExlbmd0aCk7
CisKKyAgICBsb25nIHNpemUgPSBlbmQgLSBiZWdpbiA8IDAgPyAwIDogZW5kIC0gYmVnaW47Cisg
ICAgcmV0dXJuIEFycmF5QnVmZmVyOjpjcmVhdGUoc3RhdGljX2Nhc3Q8Y29uc3QgY2hhcio+KGRh
dGEoKSkgKyBiZWdpbiwgc2l6ZSk7Cit9CisKK1Bhc3NSZWZQdHI8QXJyYXlCdWZmZXI+IEFycmF5
QnVmZmVyOjpzbGljZShsb25nIGJlZ2luKSBjb25zdAoreworICAgIHJldHVybiBzbGljZShiZWdp
biwgYnl0ZUxlbmd0aCgpKTsKK30KKwogQXJyYXlCdWZmZXI6On5BcnJheUJ1ZmZlcigpCiB7CiAg
ICAgV1RGOjpmYXN0RnJlZShtX2RhdGEpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvQXJyYXlCdWZmZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0FycmF5
QnVmZmVyLmgKaW5kZXggNDEzNWMzNzJkY2I3OWViYTYzZmQ4NDRjZjRiNzkyOGUwMjFmMTg1MC4u
MmJhMzBiOGE4ODdiZjg3YzVlYzU4OGFmODY3MzYxNjNjMDZhNDUwYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQXJyYXlCdWZmZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9BcnJheUJ1ZmZlci5oCkBAIC00MSw2ICs0MSw5IEBAIGNsYXNzIEFycmF5
QnVmZmVyIDogcHVibGljIFJlZkNvdW50ZWQ8QXJyYXlCdWZmZXI+IHsKICAgICBjb25zdCB2b2lk
KiBkYXRhKCkgY29uc3Q7CiAgICAgdW5zaWduZWQgYnl0ZUxlbmd0aCgpIGNvbnN0OwogCisgICAg
UGFzc1JlZlB0cjxBcnJheUJ1ZmZlcj4gc2xpY2UobG9uZyBiZWdpbiwgbG9uZyBlbmQpIGNvbnN0
OworICAgIFBhc3NSZWZQdHI8QXJyYXlCdWZmZXI+IHNsaWNlKGxvbmcgYmVnaW4pIGNvbnN0Owor
CiAgICAgfkFycmF5QnVmZmVyKCk7CiAKICAgcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL0FycmF5QnVmZmVyLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL0FycmF5QnVmZmVyLmlkbAppbmRleCA0ZWE5MTdjY2U2NDcwMDU5YzM3NzZlMWZhMmIy
MjQ5NTg0MzM3NWE2Li44OGRjMDM2NTk1YzM1MzAwMjdlMGI4YTAzNWZkYTY0ZjE4ODQxZTJiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9BcnJheUJ1ZmZlci5pZGwKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQXJyYXlCdWZmZXIuaWRsCkBAIC0zMyw2ICsz
Myw3IEBAIG1vZHVsZSBodG1sIHsKICAgICAgICAgVjhDdXN0b21Db25zdHJ1Y3RvciwKICAgICBd
IEFycmF5QnVmZmVyIHsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGludCBieXRlTGVuZ3Ro
OworICAgICAgICBBcnJheUJ1ZmZlciBzbGljZShpbiBsb25nIGJlZ2luLCBpbiBbT3B0aW9uYWxd
IGxvbmcgZW5kKTsKICAgICB9OwogCiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>104951</attachid>
            <date>2011-08-23 18:16:09 -0700</date>
            <delta_ts>2011-10-18 21:43:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-66646-20110824101607.patch</filename>
            <type>text/plain</type>
            <size>6692</size>
            <attacher name="Shinya Kawanaka">shinyak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTM2NzAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA4MTBlNzQ2YmM0MGFmMTcxNzgxNjM4
NzViNWYwMTUzMzRkNWI4NWIwLi4zMTQzZDRkNThiMTIzMjcxMzIzNzE3YWQyM2Y1ODRhMjBkZjQ0
YzEzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTEtMDgtMjMgIFNoaW55YSBLYXdhbmFrYSAg
PHNoaW55YWtAZ29vZ2xlLmNvbT4KKworICAgICAgICBBZGRlZCB1bml0dGVzdCBmb3IgQXJyYXlC
dWZmZXIjc2xpY2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTY2NjQ2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBmYXN0L2NhbnZhcy93ZWJnbC9hcnJheS11bml0LXRlc3RzLmh0bWw6IEFkZGVkIEFycmF5
QnVmZmVyI3NsaWNlIHRlc3RzLgorCiAyMDExLTA4LTIzICBBZGFtIEJhcnRoICA8YWJhcnRoQHdl
YmtpdC5vcmc+CiAKICAgICAgICAgRml4IGJhc2VsaW5lcyBmb3IgZmFzdC9ibG9jay9mbG9hdC9m
aXRfbGluZV9iZWxvd19mbG9hdHMuaHRtbC4gIEkgZm9yZ290IFdpbmRvd3MgaW4gbXkgcHJldmlv
dXMgcGF0Y2guCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9hcnJh
eS11bml0LXRlc3RzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9hcnJheS11
bml0LXRlc3RzLmh0bWwKaW5kZXggODUyYTVlOWJjMTIwZDBjMmUyZmJkZGNmMjBhMjVkMTBiNDUz
ODE0MC4uYThmZTgwOTg2NTllYTFiNDU3YjMzNmFlMmRiZjM3YzNlNmEwZDcwNCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvYXJyYXktdW5pdC10ZXN0cy5odG1sCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2FycmF5LXVuaXQtdGVzdHMuaHRtbApA
QCAtNTgsNiArNTgsNTYgQEAgZnVuY3Rpb24gcHJpbnRTdW1tYXJ5KCkgewogICB9CiB9CiAKK3Zh
ciBieXRlTGVuZ3RoOwordmFyIHN1YkJ1ZmZlcjsKK2Z1bmN0aW9uIHRlc3RTbGljZSgpIHsKKyAg
ZnVuY3Rpb24gdGVzdChzdWJCdWYsIHN0YXJ0cywgc2l6ZSkgeworICAgIGJ5dGVMZW5ndGggPSBz
aXplOworICAgIHN1YkJ1ZmZlciA9IGV2YWwoc3ViQnVmKTsKKyAgICB2YXIgc3ViQXJyYXkgPSBu
ZXcgSW50OEFycmF5KHN1YkJ1ZmZlcik7CisgICAgYXNzZXJ0RXEoc3ViQnVmLCBzdWJCdWZmZXIu
Ynl0ZUxlbmd0aCwgYnl0ZUxlbmd0aCk7CisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzaXplOyAr
K2kpCisgICAgICBhc3NlcnRFcSgnRWxlbWVudCAnICsgaSwgc3RhcnRzICsgaSwgc3ViQXJyYXlb
aV0pOworICB9CisKKyAgdHJ5IHsKKyAgICB2YXIgYnVmZmVyID0gbmV3IEFycmF5QnVmZmVyKDMy
KTsKKyAgICB2YXIgYXJyYXkgPSBuZXcgSW50OEFycmF5KGJ1ZmZlcik7CisgICAgZm9yICh2YXIg
aSA9IDA7IGkgPCAzMjsgKytpKQorICAgICAgYXJyYXlbaV0gPSBpOworCisgICAgdGVzdCgiYnVm
ZmVyLnNsaWNlKDApIiwgMCwgMzIpOworICAgIHRlc3QoImJ1ZmZlci5zbGljZSgxNikiLCAxNiwg
MTYpOworICAgIHRlc3QoImJ1ZmZlci5zbGljZSgyNCkiLCAyNCwgOCk7CisgICAgdGVzdCgiYnVm
ZmVyLnNsaWNlKDMyKSIsIDMyLCAwKTsKKyAgICB0ZXN0KCJidWZmZXIuc2xpY2UoNDApIiwgMzIs
IDApOworICAgIHRlc3QoImJ1ZmZlci5zbGljZSg4MCkiLCAzMiwgMCk7CisKKyAgICB0ZXN0KCJi
dWZmZXIuc2xpY2UoLTgpIiwgMjQsIDgpOworICAgIHRlc3QoImJ1ZmZlci5zbGljZSgtMTYpIiwg
MTYsIDE2KTsKKyAgICB0ZXN0KCJidWZmZXIuc2xpY2UoLTI0KSIsIDgsIDI0KTsKKyAgICB0ZXN0
KCJidWZmZXIuc2xpY2UoLTMyKSIsIDAsIDMyKTsKKyAgICB0ZXN0KCJidWZmZXIuc2xpY2UoLTQw
KSIsIDAsIDMyKTsKKyAgICB0ZXN0KCJidWZmZXIuc2xpY2UoLTgwKSIsIDAsIDMyKTsKKworICAg
IHRlc3QoImJ1ZmZlci5zbGljZSgwLCAzMikiLCAwLCAzMik7CisgICAgdGVzdCgiYnVmZmVyLnNs
aWNlKDAsIDE2KSIsIDAsIDE2KTsKKyAgICB0ZXN0KCJidWZmZXIuc2xpY2UoOCwgMjQpIiwgOCwg
MTYpOworICAgIHRlc3QoImJ1ZmZlci5zbGljZSgxNiwgMzIpIiwgMTYsIDE2KTsKKyAgICB0ZXN0
KCJidWZmZXIuc2xpY2UoMjQsIDE2KSIsIDI0LCAwKTsKKworICAgIHRlc3QoImJ1ZmZlci5zbGlj
ZSgxNiwgLTgpIiwgMTYsIDgpOworICAgIHRlc3QoImJ1ZmZlci5zbGljZSgtMjAsIDMwKSIsIDEy
LCAxOCk7CisKKyAgICB0ZXN0KCJidWZmZXIuc2xpY2UoLTgsIC0yMCkiLCAyNCwgMCk7CisgICAg
dGVzdCgiYnVmZmVyLnNsaWNlKC0yMCwgLTgpIiwgMTIsIDEyKTsKKyAgICB0ZXN0KCJidWZmZXIu
c2xpY2UoLTQwLCAxNikiLCAwLCAxNik7CisgICAgdGVzdCgiYnVmZmVyLnNsaWNlKC00MCwgNDAp
IiwgMCwgMzIpOworICB9IGNhdGNoIChlKSB7CisgICAgZmFpbChlKTsKKyAgfQorfQorCiAvLwog
Ly8gVGVzdHMgZm9yIHVuc2lnbmVkIGFycmF5IHZhcmlhbnRzCiAvLwpAQCAtNzY0LDYgKzgxNCw4
IEBAIGZ1bmN0aW9uIHRlc3ROYU5Db252ZXJzaW9uKHR5cGUsIG5hbWUpIHsKIGZ1bmN0aW9uIHJ1
blRlc3RzKCkgewogICBhbGxQYXNzZWQgPSB0cnVlOwogCisgIHRlc3RTbGljZSgpOworCiAgIC8v
IFRoZSAibmFtZSIgYXR0cmlidXRlIGlzIGEgY29uY2Vzc2lvbiB0byBicm93c2VycyB3aGljaCBk
b24ndAogICAvLyBpbXBsZW1lbnQgdGhlICJuYW1lIiBwcm9wZXJ0eSBvbiBmdW5jdGlvbiBvYmpl
Y3RzCiAgIHZhciB0ZXN0Q2FzZXMgPQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGJiYzI2NDZiMzRmM2VlMGM2YjBh
MmJjYTJiZDllNWYwYmIzYjhjZmMuLmZmNzY0YmJmY2U4YjJiYWE2YjQwZmQ1MjIyYTU3ZmJhZDVm
ZmYwZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMS0wOC0yMyAgU2hpbnlhIEth
d2FuYWthICA8c2hpbnlha0Bnb29nbGUuY29tPgorCisgICAgICAgIEltcGxlbWVudGVkIEFycmF5
QnVmZmVyI3NsaWNlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NjY2NDYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIGh0bWwvY2FudmFzL0FycmF5QnVmZmVyLmNwcDogSW1wbGVtZW50ZWQgQXJyYXlCdWZm
ZXIjc2xpY2UuCisgICAgICAgIChXZWJDb3JlOjpjbGFtcFZhbHVlKToKKyAgICAgICAgKFdlYkNv
cmU6OkFycmF5QnVmZmVyOjpzbGljZSk6CisgICAgICAgIChXZWJDb3JlOjpBcnJheUJ1ZmZlcjo6
c2xpY2VJbXBsKToKKyAgICAgICAgKFdlYkNvcmU6OkFycmF5QnVmZmVyOjppbmRleCk6CisgICAg
ICAgICogaHRtbC9jYW52YXMvQXJyYXlCdWZmZXIuaDogQWRkZWQgZGVjbGFyYXRpb24uCisgICAg
ICAgICogaHRtbC9jYW52YXMvQXJyYXlCdWZmZXIuaWRsOiBBZGRlZCBpbnRlcmZhY2UuCisKIDIw
MTEtMDgtMjMgIEJldGggRGFraW4gIDxiZGFraW5AYXBwbGUuY29tPgogCiAgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NjI0NApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQXJyYXlCdWZmZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvQXJyYXlCdWZmZXIuY3BwCmluZGV4IGVhZDA4NzljOTBlMzllNTE1NzdjMjkz
NzY0MzhmMWU0YTg3Y2E3YTEuLmU3YmI4M2NiYTgzMzFmYjAxN2JkYmQ2OWVkZDhlZmRlM2I2MGQw
MGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0FycmF5QnVmZmVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9BcnJheUJ1ZmZlci5jcHAKQEAgLTMw
LDYgKzMwLDE2IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorc3RhdGljIGxvbmcgY2xhbXBW
YWx1ZShsb25nIHgsIGxvbmcgbGVmdCwgbG9uZyByaWdodCkKK3sKKyAgICBBU1NFUlQobGVmdCA8
PSByaWdodCk7CisgICAgaWYgKHggPCBsZWZ0KQorICAgICAgICB4ID0gbGVmdDsKKyAgICBpZiAo
cmlnaHQgPCB4KQorICAgICAgICB4ID0gcmlnaHQ7CisgICAgcmV0dXJuIHg7Cit9CisKIFBhc3NS
ZWZQdHI8QXJyYXlCdWZmZXI+IEFycmF5QnVmZmVyOjpjcmVhdGUodW5zaWduZWQgbnVtRWxlbWVu
dHMsIHVuc2lnbmVkIGVsZW1lbnRCeXRlU2l6ZSkKIHsKICAgICB2b2lkKiBkYXRhID0gdHJ5QWxs
b2NhdGUobnVtRWxlbWVudHMsIGVsZW1lbnRCeXRlU2l6ZSk7CkBAIC03NCw2ICs4NCwzMCBAQCB1
bnNpZ25lZCBBcnJheUJ1ZmZlcjo6Ynl0ZUxlbmd0aCgpIGNvbnN0CiAgICAgcmV0dXJuIG1fc2l6
ZUluQnl0ZXM7CiB9CiAKK1Bhc3NSZWZQdHI8QXJyYXlCdWZmZXI+IEFycmF5QnVmZmVyOjpzbGlj
ZShpbnQgYmVnaW4sIGludCBlbmQpIGNvbnN0Cit7CisgICAgcmV0dXJuIHNsaWNlSW1wbChpbmRl
eChiZWdpbiksIGluZGV4KGVuZCkpOworfQorCitQYXNzUmVmUHRyPEFycmF5QnVmZmVyPiBBcnJh
eUJ1ZmZlcjo6c2xpY2UoaW50IGJlZ2luKSBjb25zdAoreworICAgIHJldHVybiBzbGljZUltcGwo
aW5kZXgoYmVnaW4pLCBieXRlTGVuZ3RoKCkpOworfQorCitQYXNzUmVmUHRyPEFycmF5QnVmZmVy
PiBBcnJheUJ1ZmZlcjo6c2xpY2VJbXBsKHVuc2lnbmVkIGJlZ2luLCB1bnNpZ25lZCBlbmQpIGNv
bnN0Cit7CisgICAgdW5zaWduZWQgc2l6ZSA9IGJlZ2luIDw9IGVuZCA/IGVuZCAtIGJlZ2luIDog
MDsKKyAgICByZXR1cm4gQXJyYXlCdWZmZXI6OmNyZWF0ZShzdGF0aWNfY2FzdDxjb25zdCBjaGFy
Kj4oZGF0YSgpKSArIGJlZ2luLCBzaXplKTsKK30KKwordW5zaWduZWQgQXJyYXlCdWZmZXI6Omlu
ZGV4KGludCBpZHgpIGNvbnN0Cit7CisgICAgdW5zaWduZWQgY3VycmVudExlbmd0aCA9IGJ5dGVM
ZW5ndGgoKTsKKyAgICBpZiAoaWR4IDwgMCkKKyAgICAgICAgaWR4ID0gY3VycmVudExlbmd0aCAr
IGlkeDsKKyAgICByZXR1cm4gY2xhbXBWYWx1ZShpZHgsIDAsIGN1cnJlbnRMZW5ndGgpOworfQor
CiBBcnJheUJ1ZmZlcjo6fkFycmF5QnVmZmVyKCkKIHsKICAgICBXVEY6OmZhc3RGcmVlKG1fZGF0
YSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9BcnJheUJ1ZmZlci5o
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQXJyYXlCdWZmZXIuaAppbmRleCA0MTM1YzM3
MmRjYjc5ZWJhNjNmZDg0NGNmNGI3OTI4ZTAyMWYxODUwLi5hMWVjYzU3NjY0YjJlNmQ3YTQ5ZjJj
YWY3M2IxYmE5NThkOGYzNmMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9BcnJheUJ1ZmZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0FycmF5QnVm
ZmVyLmgKQEAgLTQxLDEyICs0MSwxOCBAQCBjbGFzcyBBcnJheUJ1ZmZlciA6IHB1YmxpYyBSZWZD
b3VudGVkPEFycmF5QnVmZmVyPiB7CiAgICAgY29uc3Qgdm9pZCogZGF0YSgpIGNvbnN0OwogICAg
IHVuc2lnbmVkIGJ5dGVMZW5ndGgoKSBjb25zdDsKIAorICAgIFBhc3NSZWZQdHI8QXJyYXlCdWZm
ZXI+IHNsaWNlKGludCBiZWdpbiwgaW50IGVuZCkgY29uc3Q7CisgICAgUGFzc1JlZlB0cjxBcnJh
eUJ1ZmZlcj4gc2xpY2UoaW50IGJlZ2luKSBjb25zdDsKKwogICAgIH5BcnJheUJ1ZmZlcigpOwog
CiAgIHByaXZhdGU6CiAgICAgQXJyYXlCdWZmZXIodm9pZCogZGF0YSwgdW5zaWduZWQgc2l6ZUlu
Qnl0ZXMpOwogICAgIEFycmF5QnVmZmVyKHVuc2lnbmVkIG51bUVsZW1lbnRzLCB1bnNpZ25lZCBl
bGVtZW50Qnl0ZVNpemUpOwogICAgIHN0YXRpYyB2b2lkKiB0cnlBbGxvY2F0ZSh1bnNpZ25lZCBu
dW1FbGVtZW50cywgdW5zaWduZWQgZWxlbWVudEJ5dGVTaXplKTsKKyAgICBQYXNzUmVmUHRyPEFy
cmF5QnVmZmVyPiBzbGljZUltcGwodW5zaWduZWQgYmVnaW4sIHVuc2lnbmVkIGVuZCkgY29uc3Q7
CisgICAgdW5zaWduZWQgaW5kZXgoaW50IGlkeCkgY29uc3Q7CisKICAgICB1bnNpZ25lZCBtX3Np
emVJbkJ5dGVzOwogICAgIHZvaWQqIG1fZGF0YTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9BcnJheUJ1ZmZlci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9BcnJheUJ1ZmZlci5pZGwKaW5kZXggNGVhOTE3Y2NlNjQ3MDA1OWMzNzc2ZTFmYTJiMjI0
OTU4NDMzNzVhNi4uODhkYzAzNjU5NWMzNTMwMDI3ZTBiOGEwMzVmZGE2NGYxODg0MWUyYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQXJyYXlCdWZmZXIuaWRsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0FycmF5QnVmZmVyLmlkbApAQCAtMzMsNiArMzMs
NyBAQCBtb2R1bGUgaHRtbCB7CiAgICAgICAgIFY4Q3VzdG9tQ29uc3RydWN0b3IsCiAgICAgXSBB
cnJheUJ1ZmZlciB7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBpbnQgYnl0ZUxlbmd0aDsK
KyAgICAgICAgQXJyYXlCdWZmZXIgc2xpY2UoaW4gbG9uZyBiZWdpbiwgaW4gW09wdGlvbmFsXSBs
b25nIGVuZCk7CiAgICAgfTsKIAogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>111561</attachid>
            <date>2011-10-18 21:43:09 -0700</date>
            <delta_ts>2011-10-18 21:46:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-66646-20111019134308.patch</filename>
            <type>text/plain</type>
            <size>6621</size>
            <attacher name="Shinya Kawanaka">shinyak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTc4MTcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA0ZjcyZDI3MDFhNjgxOTEy
MDMyZTQ3NWVjMWFjOGM0MWFhNmEyYTc1Li43NDE1ODRlNWRkZDY0NWY1ZmQ5N2I5MmI4ZTBlNWM1
NTM1MDhmZDUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTEtMTAtMTggIFNoaW55
YSBLYXdhbmFrYSAgPHNoaW55YWtAZ29vZ2xlLmNvbT4KKworICAgICAgICBBcnJheUJ1ZmZlciBz
aG91bGQgaGF2ZSBzbGljZSBtZXRob2QuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD02NjY0NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogaHRtbC9jYW52YXMvQXJyYXlCdWZmZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Y2xhbXBWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpBcnJheUJ1ZmZlcjo6c2xp
Y2UpOgorICAgICAgICAoV2ViQ29yZTo6QXJyYXlCdWZmZXI6OnNsaWNlSW1wbCk6CisgICAgICAg
IChXZWJDb3JlOjpBcnJheUJ1ZmZlcjo6Y2xhbXBJbmRleCk6CisgICAgICAgICogaHRtbC9jYW52
YXMvQXJyYXlCdWZmZXIuaDogQWRkZWQgZGVjbGFyYXRpb24uCisgICAgICAgICogaHRtbC9jYW52
YXMvQXJyYXlCdWZmZXIuaWRsOiBBZGRlZCBpbnRlcmZhY2UuCisKIDIwMTEtMTAtMTggIE1hcmsg
SGFobmVuYmVyZyAgPG1oYWhuZW5iZXJnQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW5hbWUgc3Rh
dGljIHB1dCB0byBwdXRCeUluZGV4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9BcnJheUJ1ZmZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9BcnJheUJ1
ZmZlci5jcHAKaW5kZXggZWFkMDg3OWM5MGUzOWU1MTU3N2MyOTM3NjQzOGYxZTRhODdjYTdhMS4u
NmUzNzE2MTlmYjY2NTA4OGNmNGViYzE1NDVkMmE1MGU2YjllOWNjYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQXJyYXlCdWZmZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL0FycmF5QnVmZmVyLmNwcApAQCAtMzAsNiArMzAsMTYgQEAKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCitzdGF0aWMgaW50IGNsYW1wVmFsdWUoaW50IHgsIGludCBsZWZ0
LCBpbnQgcmlnaHQpCit7CisgICAgQVNTRVJUKGxlZnQgPD0gcmlnaHQpOworICAgIGlmICh4IDwg
bGVmdCkKKyAgICAgICAgeCA9IGxlZnQ7CisgICAgaWYgKHJpZ2h0IDwgeCkKKyAgICAgICAgeCA9
IHJpZ2h0OworICAgIHJldHVybiB4OworfQorCiBQYXNzUmVmUHRyPEFycmF5QnVmZmVyPiBBcnJh
eUJ1ZmZlcjo6Y3JlYXRlKHVuc2lnbmVkIG51bUVsZW1lbnRzLCB1bnNpZ25lZCBlbGVtZW50Qnl0
ZVNpemUpCiB7CiAgICAgdm9pZCogZGF0YSA9IHRyeUFsbG9jYXRlKG51bUVsZW1lbnRzLCBlbGVt
ZW50Qnl0ZVNpemUpOwpAQCAtNzQsNiArODQsMzAgQEAgdW5zaWduZWQgQXJyYXlCdWZmZXI6OmJ5
dGVMZW5ndGgoKSBjb25zdAogICAgIHJldHVybiBtX3NpemVJbkJ5dGVzOwogfQogCitQYXNzUmVm
UHRyPEFycmF5QnVmZmVyPiBBcnJheUJ1ZmZlcjo6c2xpY2UoaW50IGJlZ2luLCBpbnQgZW5kKSBj
b25zdAoreworICAgIHJldHVybiBzbGljZUltcGwoY2xhbXBJbmRleChiZWdpbiksIGNsYW1wSW5k
ZXgoZW5kKSk7Cit9CisKK1Bhc3NSZWZQdHI8QXJyYXlCdWZmZXI+IEFycmF5QnVmZmVyOjpzbGlj
ZShpbnQgYmVnaW4pIGNvbnN0Cit7CisgICAgcmV0dXJuIHNsaWNlSW1wbChjbGFtcEluZGV4KGJl
Z2luKSwgYnl0ZUxlbmd0aCgpKTsKK30KKworUGFzc1JlZlB0cjxBcnJheUJ1ZmZlcj4gQXJyYXlC
dWZmZXI6OnNsaWNlSW1wbCh1bnNpZ25lZCBiZWdpbiwgdW5zaWduZWQgZW5kKSBjb25zdAorewor
ICAgIHVuc2lnbmVkIHNpemUgPSBiZWdpbiA8PSBlbmQgPyBlbmQgLSBiZWdpbiA6IDA7CisgICAg
cmV0dXJuIEFycmF5QnVmZmVyOjpjcmVhdGUoc3RhdGljX2Nhc3Q8Y29uc3QgY2hhcio+KGRhdGEo
KSkgKyBiZWdpbiwgc2l6ZSk7Cit9CisKK3Vuc2lnbmVkIEFycmF5QnVmZmVyOjpjbGFtcEluZGV4
KGludCBpZHgpIGNvbnN0Cit7CisgICAgdW5zaWduZWQgY3VycmVudExlbmd0aCA9IGJ5dGVMZW5n
dGgoKTsKKyAgICBpZiAoaWR4IDwgMCkKKyAgICAgICAgaWR4ID0gY3VycmVudExlbmd0aCArIGlk
eDsKKyAgICByZXR1cm4gY2xhbXBWYWx1ZShpZHgsIDAsIGN1cnJlbnRMZW5ndGgpOworfQorCiBB
cnJheUJ1ZmZlcjo6fkFycmF5QnVmZmVyKCkKIHsKICAgICBXVEY6OmZhc3RGcmVlKG1fZGF0YSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9BcnJheUJ1ZmZlci5oIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQXJyYXlCdWZmZXIuaAppbmRleCA0MTM1YzM3MmRj
Yjc5ZWJhNjNmZDg0NGNmNGI3OTI4ZTAyMWYxODUwLi5hOGVlZmM4Y2MxZjdjNTFmMjIzY2VmZTVh
YWY5ZTAyMDRlNThjODI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9B
cnJheUJ1ZmZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0FycmF5QnVmZmVy
LmgKQEAgLTQxLDEyICs0MSwxOCBAQCBjbGFzcyBBcnJheUJ1ZmZlciA6IHB1YmxpYyBSZWZDb3Vu
dGVkPEFycmF5QnVmZmVyPiB7CiAgICAgY29uc3Qgdm9pZCogZGF0YSgpIGNvbnN0OwogICAgIHVu
c2lnbmVkIGJ5dGVMZW5ndGgoKSBjb25zdDsKIAorICAgIFBhc3NSZWZQdHI8QXJyYXlCdWZmZXI+
IHNsaWNlKGludCBiZWdpbiwgaW50IGVuZCkgY29uc3Q7CisgICAgUGFzc1JlZlB0cjxBcnJheUJ1
ZmZlcj4gc2xpY2UoaW50IGJlZ2luKSBjb25zdDsKKwogICAgIH5BcnJheUJ1ZmZlcigpOwogCiAg
IHByaXZhdGU6CiAgICAgQXJyYXlCdWZmZXIodm9pZCogZGF0YSwgdW5zaWduZWQgc2l6ZUluQnl0
ZXMpOwogICAgIEFycmF5QnVmZmVyKHVuc2lnbmVkIG51bUVsZW1lbnRzLCB1bnNpZ25lZCBlbGVt
ZW50Qnl0ZVNpemUpOwogICAgIHN0YXRpYyB2b2lkKiB0cnlBbGxvY2F0ZSh1bnNpZ25lZCBudW1F
bGVtZW50cywgdW5zaWduZWQgZWxlbWVudEJ5dGVTaXplKTsKKyAgICBQYXNzUmVmUHRyPEFycmF5
QnVmZmVyPiBzbGljZUltcGwodW5zaWduZWQgYmVnaW4sIHVuc2lnbmVkIGVuZCkgY29uc3Q7Cisg
ICAgdW5zaWduZWQgY2xhbXBJbmRleChpbnQgaWR4KSBjb25zdDsKKwogICAgIHVuc2lnbmVkIG1f
c2l6ZUluQnl0ZXM7CiAgICAgdm9pZCogbV9kYXRhOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL0FycmF5QnVmZmVyLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL0FycmF5QnVmZmVyLmlkbAppbmRleCBjZGYwMGM0ZDFkNWNkMDhkNGFmMGZhZWNkOTA2
NTc0ZTZhOTBmNjRjLi43OTYzMTgyZWQ4YTNjZDY4ODUwYWUyZTY0OTI0OTg1MTAzMDBlY2E0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9BcnJheUJ1ZmZlci5pZGwKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQXJyYXlCdWZmZXIuaWRsCkBAIC0zMiw2ICsz
Miw3IEBAIG1vZHVsZSBodG1sIHsKICAgICAgICAgTm9TdGF0aWNUYWJsZXMKICAgICBdIEFycmF5
QnVmZmVyIHsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGludCBieXRlTGVuZ3RoOworICAg
ICAgICBBcnJheUJ1ZmZlciBzbGljZShpbiBsb25nIGJlZ2luLCBpbiBbT3B0aW9uYWxdIGxvbmcg
ZW5kKTsKICAgICB9OwogCiB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMTY0NzM4YzIxZjBlNzQ5NTcwYjk4YjI3MTRlNjVj
OTE2OTM2ODg5Yy4uMjZlMGFjOTY1M2U2YjVjY2JhODYwOGMwOGE4ZTQwZWUzNjQzZGRhMSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDEyIEBACisyMDExLTEwLTE4ICBTaGlueWEgS2F3YW5ha2EgIDxzaGlueWFr
QGdvb2dsZS5jb20+CisKKyAgICAgICAgQXJyYXlCdWZmZXIgc2hvdWxkIGhhdmUgc2xpY2UgbWV0
aG9kLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY2
NDYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZh
c3QvY2FudmFzL3dlYmdsL2FycmF5LXVuaXQtdGVzdHMuaHRtbDogQWRlZC4KKwogMjAxMS0xMC0x
OCAgRGlyayBQcmFua2UgIDxkcHJhbmtlQGNocm9taXVtLm9yZz4KIAogICAgICAgICBNYXJrIHN0
b3JhZ2UvZG9tc3RvcmFnZS9ldmVudHMvZG9jdW1lbnRVUkkgYXMgYSBmbGFreSBjcmFzaApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvYXJyYXktdW5pdC10ZXN0cy5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvYXJyYXktdW5pdC10ZXN0cy5odG1s
CmluZGV4IDk0NTFhNWE3ZmE5YmFiMjc5ZjFmODY3MjcxMDJmNjk5ZDQ0MTFhZTUuLjc5MTJhMzQ1
MmQ4MjEwYzZkMjMzZmI5NjAyMGY1YjRlZTBhZTJjNmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2Zhc3QvY2FudmFzL3dlYmdsL2FycmF5LXVuaXQtdGVzdHMuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2NhbnZhcy93ZWJnbC9hcnJheS11bml0LXRlc3RzLmh0bWwKQEAgLTU4LDYgKzU4LDU2
IEBAIGZ1bmN0aW9uIHByaW50U3VtbWFyeSgpIHsKICAgfQogfQogCit2YXIgYnl0ZUxlbmd0aDsK
K3ZhciBzdWJCdWZmZXI7CitmdW5jdGlvbiB0ZXN0U2xpY2UoKSB7CisgIGZ1bmN0aW9uIHRlc3Qo
c3ViQnVmLCBzdGFydHMsIHNpemUpIHsKKyAgICBieXRlTGVuZ3RoID0gc2l6ZTsKKyAgICBzdWJC
dWZmZXIgPSBldmFsKHN1YkJ1Zik7CisgICAgdmFyIHN1YkFycmF5ID0gbmV3IEludDhBcnJheShz
dWJCdWZmZXIpOworICAgIGFzc2VydEVxKHN1YkJ1Ziwgc3ViQnVmZmVyLmJ5dGVMZW5ndGgsIGJ5
dGVMZW5ndGgpOworICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc2l6ZTsgKytpKQorICAgICAgYXNz
ZXJ0RXEoJ0VsZW1lbnQgJyArIGksIHN0YXJ0cyArIGksIHN1YkFycmF5W2ldKTsKKyAgfQorCisg
IHRyeSB7CisgICAgdmFyIGJ1ZmZlciA9IG5ldyBBcnJheUJ1ZmZlcigzMik7CisgICAgdmFyIGFy
cmF5ID0gbmV3IEludDhBcnJheShidWZmZXIpOworICAgIGZvciAodmFyIGkgPSAwOyBpIDwgMzI7
ICsraSkKKyAgICAgIGFycmF5W2ldID0gaTsKKworICAgIHRlc3QoImJ1ZmZlci5zbGljZSgwKSIs
IDAsIDMyKTsKKyAgICB0ZXN0KCJidWZmZXIuc2xpY2UoMTYpIiwgMTYsIDE2KTsKKyAgICB0ZXN0
KCJidWZmZXIuc2xpY2UoMjQpIiwgMjQsIDgpOworICAgIHRlc3QoImJ1ZmZlci5zbGljZSgzMiki
LCAzMiwgMCk7CisgICAgdGVzdCgiYnVmZmVyLnNsaWNlKDQwKSIsIDMyLCAwKTsKKyAgICB0ZXN0
KCJidWZmZXIuc2xpY2UoODApIiwgMzIsIDApOworCisgICAgdGVzdCgiYnVmZmVyLnNsaWNlKC04
KSIsIDI0LCA4KTsKKyAgICB0ZXN0KCJidWZmZXIuc2xpY2UoLTE2KSIsIDE2LCAxNik7CisgICAg
dGVzdCgiYnVmZmVyLnNsaWNlKC0yNCkiLCA4LCAyNCk7CisgICAgdGVzdCgiYnVmZmVyLnNsaWNl
KC0zMikiLCAwLCAzMik7CisgICAgdGVzdCgiYnVmZmVyLnNsaWNlKC00MCkiLCAwLCAzMik7Cisg
ICAgdGVzdCgiYnVmZmVyLnNsaWNlKC04MCkiLCAwLCAzMik7CisKKyAgICB0ZXN0KCJidWZmZXIu
c2xpY2UoMCwgMzIpIiwgMCwgMzIpOworICAgIHRlc3QoImJ1ZmZlci5zbGljZSgwLCAxNikiLCAw
LCAxNik7CisgICAgdGVzdCgiYnVmZmVyLnNsaWNlKDgsIDI0KSIsIDgsIDE2KTsKKyAgICB0ZXN0
KCJidWZmZXIuc2xpY2UoMTYsIDMyKSIsIDE2LCAxNik7CisgICAgdGVzdCgiYnVmZmVyLnNsaWNl
KDI0LCAxNikiLCAyNCwgMCk7CisKKyAgICB0ZXN0KCJidWZmZXIuc2xpY2UoMTYsIC04KSIsIDE2
LCA4KTsKKyAgICB0ZXN0KCJidWZmZXIuc2xpY2UoLTIwLCAzMCkiLCAxMiwgMTgpOworCisgICAg
dGVzdCgiYnVmZmVyLnNsaWNlKC04LCAtMjApIiwgMjQsIDApOworICAgIHRlc3QoImJ1ZmZlci5z
bGljZSgtMjAsIC04KSIsIDEyLCAxMik7CisgICAgdGVzdCgiYnVmZmVyLnNsaWNlKC00MCwgMTYp
IiwgMCwgMTYpOworICAgIHRlc3QoImJ1ZmZlci5zbGljZSgtNDAsIDQwKSIsIDAsIDMyKTsKKyAg
fSBjYXRjaCAoZSkgeworICAgIGZhaWwoZSk7CisgIH0KK30KKwogLy8KIC8vIFRlc3RzIGZvciB1
bnNpZ25lZCBhcnJheSB2YXJpYW50cwogLy8KQEAgLTgyNiw2ICs4NzYsOCBAQCBmdW5jdGlvbiB0
ZXN0TmFOQ29udmVyc2lvbih0eXBlLCBuYW1lKSB7CiBmdW5jdGlvbiBydW5UZXN0cygpIHsKICAg
YWxsUGFzc2VkID0gdHJ1ZTsKIAorICB0ZXN0U2xpY2UoKTsKKwogICAvLyBUaGUgIm5hbWUiIGF0
dHJpYnV0ZSBpcyBhIGNvbmNlc3Npb24gdG8gYnJvd3NlcnMgd2hpY2ggZG9uJ3QKICAgLy8gaW1w
bGVtZW50IHRoZSAibmFtZSIgcHJvcGVydHkgb24gZnVuY3Rpb24gb2JqZWN0cwogICB2YXIgdGVz
dENhc2VzID0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>111562</attachid>
            <date>2011-10-18 21:46:42 -0700</date>
            <delta_ts>2011-10-19 16:30:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-66646-20111019134640.patch</filename>
            <type>text/plain</type>
            <size>6633</size>
            <attacher name="Shinya Kawanaka">shinyak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTc4MTcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA0ZjcyZDI3MDFhNjgxOTEy
MDMyZTQ3NWVjMWFjOGM0MWFhNmEyYTc1Li43NDE1ODRlNWRkZDY0NWY1ZmQ5N2I5MmI4ZTBlNWM1
NTM1MDhmZDUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTEtMTAtMTggIFNoaW55
YSBLYXdhbmFrYSAgPHNoaW55YWtAZ29vZ2xlLmNvbT4KKworICAgICAgICBBcnJheUJ1ZmZlciBz
aG91bGQgaGF2ZSBzbGljZSBtZXRob2QuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD02NjY0NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogaHRtbC9jYW52YXMvQXJyYXlCdWZmZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Y2xhbXBWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpBcnJheUJ1ZmZlcjo6c2xp
Y2UpOgorICAgICAgICAoV2ViQ29yZTo6QXJyYXlCdWZmZXI6OnNsaWNlSW1wbCk6CisgICAgICAg
IChXZWJDb3JlOjpBcnJheUJ1ZmZlcjo6Y2xhbXBJbmRleCk6CisgICAgICAgICogaHRtbC9jYW52
YXMvQXJyYXlCdWZmZXIuaDogQWRkZWQgZGVjbGFyYXRpb24uCisgICAgICAgICogaHRtbC9jYW52
YXMvQXJyYXlCdWZmZXIuaWRsOiBBZGRlZCBpbnRlcmZhY2UuCisKIDIwMTEtMTAtMTggIE1hcmsg
SGFobmVuYmVyZyAgPG1oYWhuZW5iZXJnQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW5hbWUgc3Rh
dGljIHB1dCB0byBwdXRCeUluZGV4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9BcnJheUJ1ZmZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9BcnJheUJ1
ZmZlci5jcHAKaW5kZXggZWFkMDg3OWM5MGUzOWU1MTU3N2MyOTM3NjQzOGYxZTRhODdjYTdhMS4u
NWM5M2Q0ZDY5ZDQ4NTkyZGVlYWZlMGE3OTUzMTQ5MzgyY2I5NzUzNiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQXJyYXlCdWZmZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL0FycmF5QnVmZmVyLmNwcApAQCAtMzAsNiArMzAsMTYgQEAKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCitzdGF0aWMgaW50IGNsYW1wVmFsdWUoaW50IHgsIGludCBsZWZ0
LCBpbnQgcmlnaHQpCit7CisgICAgQVNTRVJUKGxlZnQgPD0gcmlnaHQpOworICAgIGlmICh4IDwg
bGVmdCkKKyAgICAgICAgeCA9IGxlZnQ7CisgICAgaWYgKHJpZ2h0IDwgeCkKKyAgICAgICAgeCA9
IHJpZ2h0OworICAgIHJldHVybiB4OworfQorCiBQYXNzUmVmUHRyPEFycmF5QnVmZmVyPiBBcnJh
eUJ1ZmZlcjo6Y3JlYXRlKHVuc2lnbmVkIG51bUVsZW1lbnRzLCB1bnNpZ25lZCBlbGVtZW50Qnl0
ZVNpemUpCiB7CiAgICAgdm9pZCogZGF0YSA9IHRyeUFsbG9jYXRlKG51bUVsZW1lbnRzLCBlbGVt
ZW50Qnl0ZVNpemUpOwpAQCAtNzQsNiArODQsMzAgQEAgdW5zaWduZWQgQXJyYXlCdWZmZXI6OmJ5
dGVMZW5ndGgoKSBjb25zdAogICAgIHJldHVybiBtX3NpemVJbkJ5dGVzOwogfQogCitQYXNzUmVm
UHRyPEFycmF5QnVmZmVyPiBBcnJheUJ1ZmZlcjo6c2xpY2UoaW50IGJlZ2luLCBpbnQgZW5kKSBj
b25zdAoreworICAgIHJldHVybiBzbGljZUltcGwoY2xhbXBJbmRleChiZWdpbiksIGNsYW1wSW5k
ZXgoZW5kKSk7Cit9CisKK1Bhc3NSZWZQdHI8QXJyYXlCdWZmZXI+IEFycmF5QnVmZmVyOjpzbGlj
ZShpbnQgYmVnaW4pIGNvbnN0Cit7CisgICAgcmV0dXJuIHNsaWNlSW1wbChjbGFtcEluZGV4KGJl
Z2luKSwgYnl0ZUxlbmd0aCgpKTsKK30KKworUGFzc1JlZlB0cjxBcnJheUJ1ZmZlcj4gQXJyYXlC
dWZmZXI6OnNsaWNlSW1wbCh1bnNpZ25lZCBiZWdpbiwgdW5zaWduZWQgZW5kKSBjb25zdAorewor
ICAgIHVuc2lnbmVkIHNpemUgPSBiZWdpbiA8PSBlbmQgPyBlbmQgLSBiZWdpbiA6IDA7CisgICAg
cmV0dXJuIEFycmF5QnVmZmVyOjpjcmVhdGUoc3RhdGljX2Nhc3Q8Y29uc3QgY2hhcio+KGRhdGEo
KSkgKyBiZWdpbiwgc2l6ZSk7Cit9CisKK3Vuc2lnbmVkIEFycmF5QnVmZmVyOjpjbGFtcEluZGV4
KGludCBpbmRleCkgY29uc3QKK3sKKyAgICB1bnNpZ25lZCBjdXJyZW50TGVuZ3RoID0gYnl0ZUxl
bmd0aCgpOworICAgIGlmIChpbmRleCA8IDApCisgICAgICAgIGluZGV4ID0gY3VycmVudExlbmd0
aCArIGluZGV4OworICAgIHJldHVybiBjbGFtcFZhbHVlKGluZGV4LCAwLCBjdXJyZW50TGVuZ3Ro
KTsKK30KKwogQXJyYXlCdWZmZXI6On5BcnJheUJ1ZmZlcigpCiB7CiAgICAgV1RGOjpmYXN0RnJl
ZShtX2RhdGEpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQXJyYXlC
dWZmZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0FycmF5QnVmZmVyLmgKaW5kZXgg
NDEzNWMzNzJkY2I3OWViYTYzZmQ4NDRjZjRiNzkyOGUwMjFmMTg1MC4uMzdhZDI4YmRhYTQzZDY0
MmRjMDA0MzlkZGRjMGI2MDAzN2U4OWU1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvQXJyYXlCdWZmZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9B
cnJheUJ1ZmZlci5oCkBAIC00MSwxMiArNDEsMTggQEAgY2xhc3MgQXJyYXlCdWZmZXIgOiBwdWJs
aWMgUmVmQ291bnRlZDxBcnJheUJ1ZmZlcj4gewogICAgIGNvbnN0IHZvaWQqIGRhdGEoKSBjb25z
dDsKICAgICB1bnNpZ25lZCBieXRlTGVuZ3RoKCkgY29uc3Q7CiAKKyAgICBQYXNzUmVmUHRyPEFy
cmF5QnVmZmVyPiBzbGljZShpbnQgYmVnaW4sIGludCBlbmQpIGNvbnN0OworICAgIFBhc3NSZWZQ
dHI8QXJyYXlCdWZmZXI+IHNsaWNlKGludCBiZWdpbikgY29uc3Q7CisKICAgICB+QXJyYXlCdWZm
ZXIoKTsKIAogICBwcml2YXRlOgogICAgIEFycmF5QnVmZmVyKHZvaWQqIGRhdGEsIHVuc2lnbmVk
IHNpemVJbkJ5dGVzKTsKICAgICBBcnJheUJ1ZmZlcih1bnNpZ25lZCBudW1FbGVtZW50cywgdW5z
aWduZWQgZWxlbWVudEJ5dGVTaXplKTsKICAgICBzdGF0aWMgdm9pZCogdHJ5QWxsb2NhdGUodW5z
aWduZWQgbnVtRWxlbWVudHMsIHVuc2lnbmVkIGVsZW1lbnRCeXRlU2l6ZSk7CisgICAgUGFzc1Jl
ZlB0cjxBcnJheUJ1ZmZlcj4gc2xpY2VJbXBsKHVuc2lnbmVkIGJlZ2luLCB1bnNpZ25lZCBlbmQp
IGNvbnN0OworICAgIHVuc2lnbmVkIGNsYW1wSW5kZXgoaW50IGluZGV4KSBjb25zdDsKKwogICAg
IHVuc2lnbmVkIG1fc2l6ZUluQnl0ZXM7CiAgICAgdm9pZCogbV9kYXRhOwogfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0FycmF5QnVmZmVyLmlkbCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL0FycmF5QnVmZmVyLmlkbAppbmRleCBjZGYwMGM0ZDFkNWNkMDhk
NGFmMGZhZWNkOTA2NTc0ZTZhOTBmNjRjLi43OTYzMTgyZWQ4YTNjZDY4ODUwYWUyZTY0OTI0OTg1
MTAzMDBlY2E0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9BcnJheUJ1
ZmZlci5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQXJyYXlCdWZmZXIuaWRs
CkBAIC0zMiw2ICszMiw3IEBAIG1vZHVsZSBodG1sIHsKICAgICAgICAgTm9TdGF0aWNUYWJsZXMK
ICAgICBdIEFycmF5QnVmZmVyIHsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGludCBieXRl
TGVuZ3RoOworICAgICAgICBBcnJheUJ1ZmZlciBzbGljZShpbiBsb25nIGJlZ2luLCBpbiBbT3B0
aW9uYWxdIGxvbmcgZW5kKTsKICAgICB9OwogCiB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMTY0NzM4YzIxZjBlNzQ5NTcw
Yjk4YjI3MTRlNjVjOTE2OTM2ODg5Yy4uMjZlMGFjOTY1M2U2YjVjY2JhODYwOGMwOGE4ZTQwZWUz
NjQzZGRhMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDExLTEwLTE4ICBTaGlueWEgS2F3YW5h
a2EgIDxzaGlueWFrQGdvb2dsZS5jb20+CisKKyAgICAgICAgQXJyYXlCdWZmZXIgc2hvdWxkIGhh
dmUgc2xpY2UgbWV0aG9kLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NjY2NDYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIGZhc3QvY2FudmFzL3dlYmdsL2FycmF5LXVuaXQtdGVzdHMuaHRtbDogQWRlZC4K
KwogMjAxMS0xMC0xOCAgRGlyayBQcmFua2UgIDxkcHJhbmtlQGNocm9taXVtLm9yZz4KIAogICAg
ICAgICBNYXJrIHN0b3JhZ2UvZG9tc3RvcmFnZS9ldmVudHMvZG9jdW1lbnRVUkkgYXMgYSBmbGFr
eSBjcmFzaApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvYXJyYXkt
dW5pdC10ZXN0cy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvYXJyYXktdW5p
dC10ZXN0cy5odG1sCmluZGV4IDk0NTFhNWE3ZmE5YmFiMjc5ZjFmODY3MjcxMDJmNjk5ZDQ0MTFh
ZTUuLjc5MTJhMzQ1MmQ4MjEwYzZkMjMzZmI5NjAyMGY1YjRlZTBhZTJjNmQgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2FycmF5LXVuaXQtdGVzdHMuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9hcnJheS11bml0LXRlc3RzLmh0bWwKQEAg
LTU4LDYgKzU4LDU2IEBAIGZ1bmN0aW9uIHByaW50U3VtbWFyeSgpIHsKICAgfQogfQogCit2YXIg
Ynl0ZUxlbmd0aDsKK3ZhciBzdWJCdWZmZXI7CitmdW5jdGlvbiB0ZXN0U2xpY2UoKSB7CisgIGZ1
bmN0aW9uIHRlc3Qoc3ViQnVmLCBzdGFydHMsIHNpemUpIHsKKyAgICBieXRlTGVuZ3RoID0gc2l6
ZTsKKyAgICBzdWJCdWZmZXIgPSBldmFsKHN1YkJ1Zik7CisgICAgdmFyIHN1YkFycmF5ID0gbmV3
IEludDhBcnJheShzdWJCdWZmZXIpOworICAgIGFzc2VydEVxKHN1YkJ1Ziwgc3ViQnVmZmVyLmJ5
dGVMZW5ndGgsIGJ5dGVMZW5ndGgpOworICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc2l6ZTsgKytp
KQorICAgICAgYXNzZXJ0RXEoJ0VsZW1lbnQgJyArIGksIHN0YXJ0cyArIGksIHN1YkFycmF5W2ld
KTsKKyAgfQorCisgIHRyeSB7CisgICAgdmFyIGJ1ZmZlciA9IG5ldyBBcnJheUJ1ZmZlcigzMik7
CisgICAgdmFyIGFycmF5ID0gbmV3IEludDhBcnJheShidWZmZXIpOworICAgIGZvciAodmFyIGkg
PSAwOyBpIDwgMzI7ICsraSkKKyAgICAgIGFycmF5W2ldID0gaTsKKworICAgIHRlc3QoImJ1ZmZl
ci5zbGljZSgwKSIsIDAsIDMyKTsKKyAgICB0ZXN0KCJidWZmZXIuc2xpY2UoMTYpIiwgMTYsIDE2
KTsKKyAgICB0ZXN0KCJidWZmZXIuc2xpY2UoMjQpIiwgMjQsIDgpOworICAgIHRlc3QoImJ1ZmZl
ci5zbGljZSgzMikiLCAzMiwgMCk7CisgICAgdGVzdCgiYnVmZmVyLnNsaWNlKDQwKSIsIDMyLCAw
KTsKKyAgICB0ZXN0KCJidWZmZXIuc2xpY2UoODApIiwgMzIsIDApOworCisgICAgdGVzdCgiYnVm
ZmVyLnNsaWNlKC04KSIsIDI0LCA4KTsKKyAgICB0ZXN0KCJidWZmZXIuc2xpY2UoLTE2KSIsIDE2
LCAxNik7CisgICAgdGVzdCgiYnVmZmVyLnNsaWNlKC0yNCkiLCA4LCAyNCk7CisgICAgdGVzdCgi
YnVmZmVyLnNsaWNlKC0zMikiLCAwLCAzMik7CisgICAgdGVzdCgiYnVmZmVyLnNsaWNlKC00MCki
LCAwLCAzMik7CisgICAgdGVzdCgiYnVmZmVyLnNsaWNlKC04MCkiLCAwLCAzMik7CisKKyAgICB0
ZXN0KCJidWZmZXIuc2xpY2UoMCwgMzIpIiwgMCwgMzIpOworICAgIHRlc3QoImJ1ZmZlci5zbGlj
ZSgwLCAxNikiLCAwLCAxNik7CisgICAgdGVzdCgiYnVmZmVyLnNsaWNlKDgsIDI0KSIsIDgsIDE2
KTsKKyAgICB0ZXN0KCJidWZmZXIuc2xpY2UoMTYsIDMyKSIsIDE2LCAxNik7CisgICAgdGVzdCgi
YnVmZmVyLnNsaWNlKDI0LCAxNikiLCAyNCwgMCk7CisKKyAgICB0ZXN0KCJidWZmZXIuc2xpY2Uo
MTYsIC04KSIsIDE2LCA4KTsKKyAgICB0ZXN0KCJidWZmZXIuc2xpY2UoLTIwLCAzMCkiLCAxMiwg
MTgpOworCisgICAgdGVzdCgiYnVmZmVyLnNsaWNlKC04LCAtMjApIiwgMjQsIDApOworICAgIHRl
c3QoImJ1ZmZlci5zbGljZSgtMjAsIC04KSIsIDEyLCAxMik7CisgICAgdGVzdCgiYnVmZmVyLnNs
aWNlKC00MCwgMTYpIiwgMCwgMTYpOworICAgIHRlc3QoImJ1ZmZlci5zbGljZSgtNDAsIDQwKSIs
IDAsIDMyKTsKKyAgfSBjYXRjaCAoZSkgeworICAgIGZhaWwoZSk7CisgIH0KK30KKwogLy8KIC8v
IFRlc3RzIGZvciB1bnNpZ25lZCBhcnJheSB2YXJpYW50cwogLy8KQEAgLTgyNiw2ICs4NzYsOCBA
QCBmdW5jdGlvbiB0ZXN0TmFOQ29udmVyc2lvbih0eXBlLCBuYW1lKSB7CiBmdW5jdGlvbiBydW5U
ZXN0cygpIHsKICAgYWxsUGFzc2VkID0gdHJ1ZTsKIAorICB0ZXN0U2xpY2UoKTsKKwogICAvLyBU
aGUgIm5hbWUiIGF0dHJpYnV0ZSBpcyBhIGNvbmNlc3Npb24gdG8gYnJvd3NlcnMgd2hpY2ggZG9u
J3QKICAgLy8gaW1wbGVtZW50IHRoZSAibmFtZSIgcHJvcGVydHkgb24gZnVuY3Rpb24gb2JqZWN0
cwogICB2YXIgdGVzdENhc2VzID0K
</data>

          </attachment>
      

    </bug>

</bugzilla>