<?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>35570</bug_id>
          
          <creation_ts>2010-03-02 03:01:43 -0800</creation_ts>
          <short_desc>WebSocket onmessageerror event handler</short_desc>
          <delta_ts>2010-03-05 01:37:53 -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>WebCore JavaScript</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Fumitoshi Ukai">ukai</reporter>
          <assigned_to name="Fumitoshi Ukai">ukai</assigned_to>
          <cc>ap</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>195002</commentid>
    <comment_count>0</comment_count>
    <who name="Fumitoshi Ukai">ukai</who>
    <bug_when>2010-03-02 03:01:43 -0800</bug_when>
    <thetext>WebSocket onmessageerror event handler is added to report unexpected frames.
http://lists.whatwg.org/pipermail/commit-watchers-whatwg.org/2010/003975.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195377</commentid>
    <comment_count>1</comment_count>
      <attachid>49877</attachid>
    <who name="Fumitoshi Ukai">ukai</who>
    <bug_when>2010-03-02 21:42:11 -0800</bug_when>
    <thetext>Created attachment 49877
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195769</commentid>
    <comment_count>2</comment_count>
      <attachid>49877</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-03-03 14:42:32 -0800</bug_when>
    <thetext>Comment on attachment 49877
Patch

Should we call onmessageerror on frame length overflow for frames 0x80...0xff?

WebSocket::didReceiveMessageError() probably needs a LOG - we have it even in close(), surely an error condition should have one.

Looks good to me otherwise.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195847</commentid>
    <comment_count>3</comment_count>
      <attachid>49973</attachid>
    <who name="Fumitoshi Ukai">ukai</who>
    <bug_when>2010-03-03 18:26:46 -0800</bug_when>
    <thetext>Created attachment 49973
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195865</commentid>
    <comment_count>4</comment_count>
    <who name="Fumitoshi Ukai">ukai</who>
    <bug_when>2010-03-03 19:37:36 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; Created an attachment (id=49973) [details]
&gt; Patch

Ah, onmessageerror has been changed to onerror
http://lists.whatwg.org/pipermail/commit-watchers-whatwg.org/2010/003979.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195894</commentid>
    <comment_count>5</comment_count>
      <attachid>49973</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-03-03 22:18:25 -0800</bug_when>
    <thetext>Comment on attachment 49973
Patch

The test depends on WebSocket.onclose patch, correct? I&apos;m still thinking about that idea, not sure if I like it or not.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195907</commentid>
    <comment_count>6</comment_count>
      <attachid>49990</attachid>
    <who name="Fumitoshi Ukai">ukai</who>
    <bug_when>2010-03-03 23:28:16 -0800</bug_when>
    <thetext>Created attachment 49990
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195908</commentid>
    <comment_count>7</comment_count>
    <who name="Fumitoshi Ukai">ukai</who>
    <bug_when>2010-03-03 23:29:31 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 49973 [details])
&gt; The test depends on WebSocket.onclose patch, correct? I&apos;m still thinking about
&gt; that idea, not sure if I like it or not.

no, it doesn&apos;t depend on other patch.
Which patch do you mean?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195924</commentid>
    <comment_count>8</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-03-04 00:08:59 -0800</bug_when>
    <thetext>OK. I was thinking about bug 35573 (CloseEvent).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196127</commentid>
    <comment_count>9</comment_count>
      <attachid>49990</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-03-04 10:46:46 -0800</bug_when>
    <thetext>Comment on attachment 49990
Patch

&gt; +void WebSocket::didReceiveMessageError()
&gt; +{
&gt; +    LOG(Network, &quot;WebSocket %p didReceiveErrorMessage&quot;, this);
&gt; +    if (m_state != OPEN || !scriptExecutionContext())
&gt; +        return;

Can both these conditions really occur? Seems acceptable to be a little defensive, but maybe there should also be ASSERTs if this isn&apos;t supposed to happen. Otherwise, these checks can confuse someone about how this code works.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196381</commentid>
    <comment_count>10</comment_count>
    <who name="Fumitoshi Ukai">ukai</who>
    <bug_when>2010-03-05 01:35:41 -0800</bug_when>
    <thetext>Committed r55573: &lt;http://trac.webkit.org/changeset/55573&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196382</commentid>
    <comment_count>11</comment_count>
    <who name="Fumitoshi Ukai">ukai</who>
    <bug_when>2010-03-05 01:37:53 -0800</bug_when>
    <thetext>(In reply to comment #9)
&gt; (From update of attachment 49990 [details])
&gt; &gt; +void WebSocket::didReceiveMessageError()
&gt; &gt; +{
&gt; &gt; +    LOG(Network, &quot;WebSocket %p didReceiveErrorMessage&quot;, this);
&gt; &gt; +    if (m_state != OPEN || !scriptExecutionContext())
&gt; &gt; +        return;
&gt; 
&gt; Can both these conditions really occur? Seems acceptable to be a little
&gt; defensive, but maybe there should also be ASSERTs if this isn&apos;t supposed to
&gt; happen. Otherwise, these checks can confuse someone about how this code works.

Ok.

I think scriptExecutionContext() should be non null, but m_state might be CLOSED if script closing the WebSocket and events from network happened same time.

make ASSERT(scriptExecutionContext()) and leave &quot;if (m_state != OPEN)&quot;.

&gt; 
&gt; r=me</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>49877</attachid>
            <date>2010-03-02 21:42:11 -0800</date>
            <delta_ts>2010-03-03 18:26:41 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-35570-20100303144209.patch</filename>
            <type>text/plain</type>
            <size>8770</size>
            <attacher name="Fumitoshi Ukai">ukai</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAyZjVmNmE0Li40MGE1NjVjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTAtMDMt
MDIgIEZ1bWl0b3NoaSBVa2FpICA8dWthaUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2ViU29ja2V0IG9ubWVzc2FnZWVycm9y
IGV2ZW50IGhhbmRsZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTM1NTcwCisKKyAgICAgICAgKiB3ZWJzb2NrZXQvdGVzdHMvZXJyb3ItZGV0ZWN0LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2Vic29ja2V0L3Rlc3RzL2Vycm9yLWRldGVj
dC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJzb2NrZXQvdGVzdHMvc2NyaXB0LXRlc3RzL2Vy
cm9yLWRldGVjdC5qczogQWRkZWQuCisgICAgICAgICogd2Vic29ja2V0L3Rlc3RzL3Vua25vd24t
ZnJhbWUtdHlwZV93c2gucHk6IEFkZGVkLgorCiAyMDEwLTAzLTAyICBFdmFuIFN0YWRlICA8ZXN0
YWRlQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXZpZCBMZXZpbi4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYnNvY2tldC90ZXN0cy9lcnJvci1kZXRlY3QtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2Vic29ja2V0L3Rlc3RzL2Vycm9yLWRldGVjdC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTNmNzMwZgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYnNvY2tldC90ZXN0cy9lcnJvci1kZXRlY3QtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTIgQEAKK01ha2Ugc3VyZSBXZWJTb2NrZXQgY29ycmVjdGx5
IGZpcmUgbWVzc2FnZWVycm9yIGV2ZW50IGZvciB1bmtub3duIGZyYW1lIHR5cGUuCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworV2ViU29ja2V0IGlzIG9wZW4KK3JlY2VpdmVkOmRvbmUK
K1dlYlNvY2tldCBpcyBjbG9zZWQKK1BBU1MgbWVzc2FnZWVycm9yQ291bnQgaXMgMjU1CitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvd2Vic29ja2V0L3Rlc3RzL2Vycm9yLWRldGVjdC5odG1sIGIvTGF5b3V0
VGVzdHMvd2Vic29ja2V0L3Rlc3RzL2Vycm9yLWRldGVjdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAuLjBiZTFhZTIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy93ZWJzb2NrZXQvdGVzdHMvZXJyb3ItZGV0ZWN0Lmh0bWwKQEAgLTAsMCArMSwxMyBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMv
anMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QtZnVuY3Rpb24uanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvZXJyb3ItZGV0ZWN0LmpzIj48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYnNvY2tldC90ZXN0
cy9zY3JpcHQtdGVzdHMvZXJyb3ItZGV0ZWN0LmpzIGIvTGF5b3V0VGVzdHMvd2Vic29ja2V0L3Rl
c3RzL3NjcmlwdC10ZXN0cy9lcnJvci1kZXRlY3QuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMC4uZTQ5MTNjNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYnNv
Y2tldC90ZXN0cy9zY3JpcHQtdGVzdHMvZXJyb3ItZGV0ZWN0LmpzCkBAIC0wLDAgKzEsMjkgQEAK
K2Rlc2NyaXB0aW9uKCJNYWtlIHN1cmUgV2ViU29ja2V0IGNvcnJlY3RseSBmaXJlIG1lc3NhZ2Vl
cnJvciBldmVudCBmb3IgdW5rbm93biBmcmFtZSB0eXBlLiIpOworaWYgKHdpbmRvdy5sYXlvdXRU
ZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7
CisKK3ZhciBtZXNzYWdlZXJyb3JDb3VudCA9IDA7CisKK2Z1bmN0aW9uIGZpbmlzaCgpIHsKKyAg
ICBzaG91bGRCZSgibWVzc2FnZWVycm9yQ291bnQiLCAiMjU1Iik7CisgICAgaXNTdWNjZXNzZnVs
bHlQYXJzZWQoKTsKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAg
ICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Cit9CisKK3ZhciB3cyA9IG5ldyBX
ZWJTb2NrZXQoIndzOi8vMTI3LjAuMC4xOjg4ODAvd2Vic29ja2V0L3Rlc3RzL3Vua25vd24tZnJh
bWUtdHlwZSIpOword3Mub25vcGVuID0gZnVuY3Rpb24gKCkgeworICAgIGRlYnVnKCJXZWJTb2Nr
ZXQgaXMgb3BlbiIpOworfTsKK3dzLm9ubWVzc2FnZSA9IGZ1bmN0aW9uIChldnQpIHsKKyAgICBk
ZWJ1ZygicmVjZWl2ZWQ6IiArIGV2dC5kYXRhKTsKK307Cit3cy5vbm1lc3NhZ2VlcnJvciA9IGZ1
bmN0aW9uICgpIHsKKyAgICBtZXNzYWdlZXJyb3JDb3VudCArPSAxOworfTsKK3dzLm9uY2xvc2Ug
PSBmdW5jdGlvbiAoKSB7CisgICAgZGVidWcoIldlYlNvY2tldCBpcyBjbG9zZWQiKTsKKyAgICBm
aW5pc2goKTsKK307CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvd2Vic29ja2V0L3Rlc3RzL3Vua25vd24tZnJhbWUtdHlwZV93c2gucHkg
Yi9MYXlvdXRUZXN0cy93ZWJzb2NrZXQvdGVzdHMvdW5rbm93bi1mcmFtZS10eXBlX3dzaC5weQpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZmYzMzljCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvd2Vic29ja2V0L3Rlc3RzL3Vua25vd24tZnJhbWUtdHlwZV93c2gu
cHkKQEAgLTAsMCArMSwxMiBAQAorZnJvbSBtb2RfcHl3ZWJzb2NrZXQgaW1wb3J0IG1zZ3V0aWwK
KworZGVmIHdlYl9zb2NrZXRfZG9fZXh0cmFfaGFuZHNoYWtlKHJlcXVlc3QpOgorICAgIHBhc3MK
KworZGVmIHdlYl9zb2NrZXRfdHJhbnNmZXJfZGF0YShyZXF1ZXN0KToKKyAgICBmb3IgaSBpbiBy
YW5nZSgxLCAxMjgpOgorICAgICAgICByZXF1ZXN0LmNvbm5lY3Rpb24ud3JpdGUoY2hyKGkpICsg
c3RyKGkpICsgJ1x4ZmYnKQorICAgIGZvciBpIGluIHJhbmdlKDEyOCwgMjU2KToKKyAgICAgICAg
bXNnID0gc3RyKGkpCisgICAgICAgIHJlcXVlc3QuY29ubmVjdGlvbi53cml0ZShjaHIoaSkgKyBj
aHIobGVuKG1zZykpICsgbXNnKQorICAgIG1zZ3V0aWwuc2VuZF9tZXNzYWdlKHJlcXVlc3QsICdk
b25lJykKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cK
aW5kZXggYjE2OTY5OS4uNWMzMjc2OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysr
IGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAxMC0wMy0wMiAgRnVtaXRv
c2hpIFVrYWkgIDx1a2FpQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBXZWJTb2NrZXQgb25tZXNzYWdlZXJyb3IgZXZlbnQgaGFu
ZGxlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzU1
NzAKKworICAgICAgICBUZXN0OiB3ZWJzb2NrZXQvdGVzdHMvZXJyb3ItZGV0ZWN0Lmh0bWwKKwor
ICAgICAgICAqIGRvbS9FdmVudE5hbWVzLmg6IGFkZCBtZXNzYWdlZXJyb3IKKyAgICAgICAgKiB3
ZWJzb2NrZXRzL1dlYlNvY2tldC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJTb2NrZXQ6OmRp
ZFJlY2VpdmVNZXNzYWdlRXJyb3IpOgorICAgICAgICAqIHdlYnNvY2tldHMvV2ViU29ja2V0Lmg6
CisgICAgICAgICogd2Vic29ja2V0cy9XZWJTb2NrZXQuaWRsOiBBZGQgbWVzc2FnZWVycm9yIGV2
ZW50IGxpc3RlbmVyCisgICAgICAgICogd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OldlYlNvY2tldENoYW5uZWw6OmRpZFJlY2VpdmVEYXRhKTogY2Fs
bCBkaWRSZWNlaXZlTWVzc2FnZUVycm9yIGlmIHVua25vd24gZnJhbWUgdHlwZSBpcyBkZXRlY3Rl
ZC4KKyAgICAgICAgKiB3ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWxDbGllbnQuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OldlYlNvY2tldENoYW5uZWxDbGllbnQ6OmRpZFJlY2VpdmVNZXNzYWdlRXJy
b3IpOiBBZGRlZC4KKwogMjAxMC0wMy0wMiAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3Jn
PgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEZpc2hlci4KZGlmZiAtLWdpdCBhL1dlYkNv
cmUvZG9tL0V2ZW50TmFtZXMuaCBiL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaAppbmRleCBiNzY3
NzZlLi45Y2JjNGJkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKKysrIGIv
V2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCkBAIC02OSw2ICs2OSw3IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICBtYWNybyhsb2FkKSBcCiAgICAgbWFjcm8obG9hZHN0YXJ0KSBcCiAgICAgbWFj
cm8obWVzc2FnZSkgXAorICAgIG1hY3JvKG1lc3NhZ2VlcnJvcikgXAogICAgIG1hY3JvKG1vdXNl
ZG93bikgXAogICAgIG1hY3JvKG1vdXNlbW92ZSkgXAogICAgIG1hY3JvKG1vdXNlb3V0KSBcCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0LmNwcCBiL1dlYkNvcmUvd2Vi
c29ja2V0cy9XZWJTb2NrZXQuY3BwCmluZGV4IGNkNTUyOGIuLjAyMDI0MmQgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXQuY3BwCisrKyBiL1dlYkNvcmUvd2Vic29ja2V0
cy9XZWJTb2NrZXQuY3BwCkBAIC0yNDUsNiArMjQ1LDEzIEBAIHZvaWQgV2ViU29ja2V0OjpkaWRS
ZWNlaXZlTWVzc2FnZShjb25zdCBTdHJpbmcmIG1zZykKICAgICBkaXNwYXRjaEV2ZW50KGV2dCk7
CiB9CiAKK3ZvaWQgV2ViU29ja2V0OjpkaWRSZWNlaXZlTWVzc2FnZUVycm9yKCkKK3sKKyAgICBp
ZiAobV9zdGF0ZSAhPSBPUEVOIHx8ICFzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpCisgICAgICAg
IHJldHVybjsKKyAgICBkaXNwYXRjaEV2ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLm1l
c3NhZ2VlcnJvckV2ZW50LCBmYWxzZSwgZmFsc2UpKTsKK30KKwogdm9pZCBXZWJTb2NrZXQ6OmRp
ZENsb3NlKHVuc2lnbmVkIGxvbmcgdW5oYW5kbGVkQnVmZmVyZWRBbW91bnQpCiB7CiAgICAgTE9H
KE5ldHdvcmssICJXZWJTb2NrZXQgJXAgZGlkQ2xvc2UiLCB0aGlzKTsKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXQuaCBiL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2Nr
ZXQuaAppbmRleCA4YmRhODgyLi45MjUyODFmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3dlYnNvY2tl
dHMvV2ViU29ja2V0LmgKKysrIGIvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldC5oCkBAIC03
Niw2ICs3Niw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgICAgICBERUZJTkVfQVRUUklC
VVRFX0VWRU5UX0xJU1RFTkVSKG9wZW4pOwogICAgICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5U
X0xJU1RFTkVSKG1lc3NhZ2UpOworICAgICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RF
TkVSKG1lc3NhZ2VlcnJvcik7CiAgICAgICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVO
RVIoY2xvc2UpOwogCiAgICAgICAgIC8vIEV2ZW50VGFyZ2V0CkBAIC05MSw2ICs5Miw3IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgLy8gV2ViU29ja2V0Q2hhbm5lbENsaWVudAogICAg
ICAgICB2aXJ0dWFsIHZvaWQgZGlkQ29ubmVjdCgpOwogICAgICAgICB2aXJ0dWFsIHZvaWQgZGlk
UmVjZWl2ZU1lc3NhZ2UoY29uc3QgU3RyaW5nJiBtZXNzYWdlKTsKKyAgICAgICAgdmlydHVhbCB2
b2lkIGRpZFJlY2VpdmVNZXNzYWdlRXJyb3IoKTsKICAgICAgICAgdmlydHVhbCB2b2lkIGRpZENs
b3NlKHVuc2lnbmVkIGxvbmcgdW5oYW5kbGVkQnVmZmVyZWRBbW91bnQpOwogCiAgICAgcHJpdmF0
ZToKQEAgLTEwMSwxMCArMTAzLDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0
dWFsIEV2ZW50VGFyZ2V0RGF0YSogZXZlbnRUYXJnZXREYXRhKCk7CiAgICAgICAgIHZpcnR1YWwg
RXZlbnRUYXJnZXREYXRhKiBlbnN1cmVFdmVudFRhcmdldERhdGEoKTsKIAotICAgICAgICB2b2lk
IGRpc3BhdGNoT3BlbkV2ZW50KEV2ZW50Kik7Ci0gICAgICAgIHZvaWQgZGlzcGF0Y2hNZXNzYWdl
RXZlbnQoRXZlbnQqKTsKLSAgICAgICAgdm9pZCBkaXNwYXRjaENsb3NlRXZlbnQoRXZlbnQqKTsK
LQogICAgICAgICBSZWZQdHI8VGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWw+IG1fY2hhbm5lbDsK
IAogICAgICAgICBTdGF0ZSBtX3N0YXRlOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS93ZWJzb2NrZXRz
L1dlYlNvY2tldC5pZGwgYi9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0LmlkbAppbmRleCBh
YjE2M2E5Li42Zjk0YmU5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0
LmlkbAorKysgYi9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0LmlkbApAQCAtNDksNiArNDks
NyBAQCBtb2R1bGUgd2Vic29ja2V0cyB7CiAgICAgICAgIC8vIG5ldHdvcmtpbmcKICAgICAgICAg
YXR0cmlidXRlIEV2ZW50TGlzdGVuZXIgb25vcGVuOwogICAgICAgICBhdHRyaWJ1dGUgRXZlbnRM
aXN0ZW5lciBvbm1lc3NhZ2U7CisgICAgICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9ubWVz
c2FnZWVycm9yOwogICAgICAgICBhdHRyaWJ1dGUgRXZlbnRMaXN0ZW5lciBvbmNsb3NlOwogCiAg
ICAgICAgIFtDdXN0b21dIGJvb2xlYW4gc2VuZChpbiBET01TdHJpbmcgZGF0YSkKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcCBiL1dlYkNvcmUvd2Vi
c29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcAppbmRleCA3Yjg3YmYzLi43YWNkYTMzIDEwMDY0
NAotLS0gYS9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHAKKysrIGIvV2Vi
Q29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuY3BwCkBAIC0yMDIsNiArMjAyLDkgQEAg
dm9pZCBXZWJTb2NrZXRDaGFubmVsOjpkaWRSZWNlaXZlRGF0YShTb2NrZXRTdHJlYW1IYW5kbGUq
IGhhbmRsZSwgY29uc3QgY2hhciogZGEKICAgICAgICAgICAgIGlmIChwICsgbGVuZ3RoIDwgZW5k
KSB7CiAgICAgICAgICAgICAgICAgcCArPSBsZW5ndGg7CiAgICAgICAgICAgICAgICAgbmV4dEZy
YW1lID0gcDsKKyAgICAgICAgICAgICAgICBtX2NsaWVudC0+ZGlkUmVjZWl2ZU1lc3NhZ2VFcnJv
cigpOworICAgICAgICAgICAgICAgIGlmICghbV9jbGllbnQpCisgICAgICAgICAgICAgICAgICAg
IHJldHVybjsKICAgICAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgICAgIGJyZWFrOwogICAg
ICAgICB9IGVsc2UgewpAQCAtMjExLDYgKzIxNCw4IEBAIHZvaWQgV2ViU29ja2V0Q2hhbm5lbDo6
ZGlkUmVjZWl2ZURhdGEoU29ja2V0U3RyZWFtSGFuZGxlKiBoYW5kbGUsIGNvbnN0IGNoYXIqIGRh
CiAgICAgICAgICAgICBpZiAocCA8IGVuZCAmJiAqcCA9PSAnXHhmZicpIHsKICAgICAgICAgICAg
ICAgICBpZiAoZnJhbWVCeXRlID09IDB4MDApCiAgICAgICAgICAgICAgICAgICAgIG1fY2xpZW50
LT5kaWRSZWNlaXZlTWVzc2FnZShTdHJpbmc6OmZyb21VVEY4KG1zZ1N0YXJ0LCBwIC0gbXNnU3Rh
cnQpKTsKKyAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgIG1fY2xpZW50
LT5kaWRSZWNlaXZlTWVzc2FnZUVycm9yKCk7CiAgICAgICAgICAgICAgICAgaWYgKCFtX2NsaWVu
dCkKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgICsrcDsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsQ2xpZW50LmggYi9X
ZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbENsaWVudC5oCmluZGV4IDUzMjhlYjcu
LjE1NTEwNzMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVs
Q2xpZW50LmgKKysrIGIvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWxDbGllbnQu
aApAQCAtNDAsNiArNDAsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwg
fldlYlNvY2tldENoYW5uZWxDbGllbnQoKSB7IH0KICAgICAgICAgdmlydHVhbCB2b2lkIGRpZENv
bm5lY3QoKSB7IH0KICAgICAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKGNvbnN0
IFN0cmluZyYpIHsgfQorICAgICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2VFcnJv
cigpIHsgfQogICAgICAgICB2aXJ0dWFsIHZvaWQgZGlkQ2xvc2UodW5zaWduZWQgbG9uZyAvKiB1
bmhhbmRsZWRCdWZmZXJlZEFtb3VudCAqLykgeyB9CiAKICAgICBwcm90ZWN0ZWQ6Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>49973</attachid>
            <date>2010-03-03 18:26:46 -0800</date>
            <delta_ts>2010-03-03 23:28:10 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-35570-20100304112644.patch</filename>
            <type>text/plain</type>
            <size>9360</size>
            <attacher name="Fumitoshi Ukai">ukai</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAxNTM1NTJlLi5iZWU2N2JkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTAtMDMt
MDMgIEZ1bWl0b3NoaSBVa2FpICA8dWthaUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2ViU29ja2V0IG9ubWVzc2FnZWVycm9y
IGV2ZW50IGhhbmRsZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTM1NTcwCisKKyAgICAgICAgKiB3ZWJzb2NrZXQvdGVzdHMvZXJyb3ItZGV0ZWN0LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2Vic29ja2V0L3Rlc3RzL2Vycm9yLWRldGVj
dC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJzb2NrZXQvdGVzdHMvc2NyaXB0LXRlc3RzL2Vy
cm9yLWRldGVjdC5qczogQWRkZWQuCisgICAgICAgICogd2Vic29ja2V0L3Rlc3RzL3Vua25vd24t
ZnJhbWUtdHlwZV93c2gucHk6IEFkZGVkLgorCiAyMDEwLTAzLTAzICBEdW1pdHJ1IERhbmlsaXVj
ICA8ZHVtaUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGltaXRyaSBHbGF6
a292LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2Vic29ja2V0L3Rlc3RzL2Vycm9yLWRldGVj
dC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJzb2NrZXQvdGVzdHMvZXJyb3ItZGV0ZWN0
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xM2Y3MzBm
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2Vic29ja2V0L3Rlc3RzL2Vycm9yLWRl
dGVjdC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMiBAQAorTWFrZSBzdXJlIFdlYlNvY2tldCBj
b3JyZWN0bHkgZmlyZSBtZXNzYWdlZXJyb3IgZXZlbnQgZm9yIHVua25vd24gZnJhbWUgdHlwZS4K
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitXZWJTb2NrZXQgaXMgb3BlbgorcmVjZWl2
ZWQ6ZG9uZQorV2ViU29ja2V0IGlzIGNsb3NlZAorUEFTUyBtZXNzYWdlZXJyb3JDb3VudCBpcyAy
NTUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJzb2NrZXQvdGVzdHMvZXJyb3ItZGV0ZWN0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy93ZWJzb2NrZXQvdGVzdHMvZXJyb3ItZGV0ZWN0Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGJlMWFlMgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL3dlYnNvY2tldC90ZXN0cy9lcnJvci1kZXRlY3QuaHRtbApAQCAtMCwwICsxLDEz
IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRt
bD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9mYXN0L2pzL3Jl
c291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zh
c3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC1mdW5jdGlvbi5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9lcnJvci1kZXRlY3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2Vic29j
a2V0L3Rlc3RzL3NjcmlwdC10ZXN0cy9lcnJvci1kZXRlY3QuanMgYi9MYXlvdXRUZXN0cy93ZWJz
b2NrZXQvdGVzdHMvc2NyaXB0LXRlc3RzL2Vycm9yLWRldGVjdC5qcwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwLi5lNDkxM2M3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvd2Vic29ja2V0L3Rlc3RzL3NjcmlwdC10ZXN0cy9lcnJvci1kZXRlY3QuanMKQEAgLTAsMCAr
MSwyOSBAQAorZGVzY3JpcHRpb24oIk1ha2Ugc3VyZSBXZWJTb2NrZXQgY29ycmVjdGx5IGZpcmUg
bWVzc2FnZWVycm9yIGV2ZW50IGZvciB1bmtub3duIGZyYW1lIHR5cGUuIik7CitpZiAod2luZG93
LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRp
bERvbmUoKTsKKwordmFyIG1lc3NhZ2VlcnJvckNvdW50ID0gMDsKKworZnVuY3Rpb24gZmluaXNo
KCkgeworICAgIHNob3VsZEJlKCJtZXNzYWdlZXJyb3JDb3VudCIsICIyNTUiKTsKKyAgICBpc1N1
Y2Nlc3NmdWxseVBhcnNlZCgpOworICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIp
CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKK30KKwordmFyIHdz
ID0gbmV3IFdlYlNvY2tldCgid3M6Ly8xMjcuMC4wLjE6ODg4MC93ZWJzb2NrZXQvdGVzdHMvdW5r
bm93bi1mcmFtZS10eXBlIik7Cit3cy5vbm9wZW4gPSBmdW5jdGlvbiAoKSB7CisgICAgZGVidWco
IldlYlNvY2tldCBpcyBvcGVuIik7Cit9Oword3Mub25tZXNzYWdlID0gZnVuY3Rpb24gKGV2dCkg
eworICAgIGRlYnVnKCJyZWNlaXZlZDoiICsgZXZ0LmRhdGEpOworfTsKK3dzLm9ubWVzc2FnZWVy
cm9yID0gZnVuY3Rpb24gKCkgeworICAgIG1lc3NhZ2VlcnJvckNvdW50ICs9IDE7Cit9Oword3Mu
b25jbG9zZSA9IGZ1bmN0aW9uICgpIHsKKyAgICBkZWJ1ZygiV2ViU29ja2V0IGlzIGNsb3NlZCIp
OworICAgIGZpbmlzaCgpOworfTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJzb2NrZXQvdGVzdHMvdW5rbm93bi1mcmFtZS10eXBl
X3dzaC5weSBiL0xheW91dFRlc3RzL3dlYnNvY2tldC90ZXN0cy91bmtub3duLWZyYW1lLXR5cGVf
d3NoLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBmZjMzOWMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJzb2NrZXQvdGVzdHMvdW5rbm93bi1mcmFtZS10
eXBlX3dzaC5weQpAQCAtMCwwICsxLDEyIEBACitmcm9tIG1vZF9weXdlYnNvY2tldCBpbXBvcnQg
bXNndXRpbAorCitkZWYgd2ViX3NvY2tldF9kb19leHRyYV9oYW5kc2hha2UocmVxdWVzdCk6Cisg
ICAgcGFzcworCitkZWYgd2ViX3NvY2tldF90cmFuc2Zlcl9kYXRhKHJlcXVlc3QpOgorICAgIGZv
ciBpIGluIHJhbmdlKDEsIDEyOCk6CisgICAgICAgIHJlcXVlc3QuY29ubmVjdGlvbi53cml0ZShj
aHIoaSkgKyBzdHIoaSkgKyAnXHhmZicpCisgICAgZm9yIGkgaW4gcmFuZ2UoMTI4LCAyNTYpOgor
ICAgICAgICBtc2cgPSBzdHIoaSkKKyAgICAgICAgcmVxdWVzdC5jb25uZWN0aW9uLndyaXRlKGNo
cihpKSArIGNocihsZW4obXNnKSkgKyBtc2cpCisgICAgbXNndXRpbC5zZW5kX21lc3NhZ2UocmVx
dWVzdCwgJ2RvbmUnKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA2OWFmODE2Li5iY2M1M2I5IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5n
ZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEwLTAzLTAz
ICBGdW1pdG9zaGkgVWthaSAgPHVrYWlAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlYlNvY2tldCBvbm1lc3NhZ2VlcnJvciBl
dmVudCBoYW5kbGVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0zNTU3MAorCisgICAgICAgIFRlc3Q6IHdlYnNvY2tldC90ZXN0cy9lcnJvci1kZXRlY3Qu
aHRtbAorCisgICAgICAgICogZG9tL0V2ZW50TmFtZXMuaDogQWRkIG1lc3NhZ2VlcnJvcgorICAg
ICAgICAqIHdlYnNvY2tldHMvV2ViU29ja2V0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYlNv
Y2tldDo6ZGlkUmVjZWl2ZU1lc3NhZ2VFcnJvcik6CisgICAgICAgICogd2Vic29ja2V0cy9XZWJT
b2NrZXQuaDoKKyAgICAgICAgKiB3ZWJzb2NrZXRzL1dlYlNvY2tldC5pZGw6IEFkZCBtZXNzYWdl
ZXJyb3IgZXZlbnQgbGlzdGVuZXIKKyAgICAgICAgKiB3ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5u
ZWwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViU29ja2V0Q2hhbm5lbDo6ZGlkUmVjZWl2ZURh
dGEpOiBjYWxsIGRpZFJlY2VpdmVNZXNzYWdlRXJyb3IgaWYgdW5rbm93biBmcmFtZSB0eXBlIGlz
IGRldGVjdGVkIG9yIGZyYW1lIGxlbmd0aCBvdmVyZmxvd2VkCisgICAgICAgICogd2Vic29ja2V0
cy9XZWJTb2NrZXRDaGFubmVsQ2xpZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpXZWJTb2NrZXRD
aGFubmVsQ2xpZW50OjpkaWRSZWNlaXZlTWVzc2FnZUVycm9yKTogQWRkZWQKKwogMjAxMC0wMy0w
MyAgRGF2aWQgTGV2aW4gIDxsZXZpbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgTm8gcmV2aWV3
LCByb2xsaW5nIG91dCByNTU0NzQuCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9FdmVudE5hbWVz
LmggYi9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKaW5kZXggYjc2Nzc2ZS4uOWNiYzRiZCAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCisrKyBiL1dlYkNvcmUvZG9tL0V2ZW50
TmFtZXMuaApAQCAtNjksNiArNjksNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgbWFjcm8o
bG9hZCkgXAogICAgIG1hY3JvKGxvYWRzdGFydCkgXAogICAgIG1hY3JvKG1lc3NhZ2UpIFwKKyAg
ICBtYWNybyhtZXNzYWdlZXJyb3IpIFwKICAgICBtYWNybyhtb3VzZWRvd24pIFwKICAgICBtYWNy
byhtb3VzZW1vdmUpIFwKICAgICBtYWNybyhtb3VzZW91dCkgXApkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS93ZWJzb2NrZXRzL1dlYlNvY2tldC5jcHAgYi9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0
LmNwcAppbmRleCBjZDU1MjhiLi5mMGE4OWRkIDEwMDY0NAotLS0gYS9XZWJDb3JlL3dlYnNvY2tl
dHMvV2ViU29ja2V0LmNwcAorKysgYi9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0LmNwcApA
QCAtMjQ1LDYgKzI0NSwxNCBAQCB2b2lkIFdlYlNvY2tldDo6ZGlkUmVjZWl2ZU1lc3NhZ2UoY29u
c3QgU3RyaW5nJiBtc2cpCiAgICAgZGlzcGF0Y2hFdmVudChldnQpOwogfQogCit2b2lkIFdlYlNv
Y2tldDo6ZGlkUmVjZWl2ZU1lc3NhZ2VFcnJvcigpCit7CisgICAgTE9HKE5ldHdvcmssICJXZWJT
b2NrZXQgJXAgZGlkUmVjZWl2ZUVycm9yTWVzc2FnZSIsIHRoaXMpOworICAgIGlmIChtX3N0YXRl
ICE9IE9QRU4gfHwgIXNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkKKyAgICAgICAgcmV0dXJuOwor
ICAgIGRpc3BhdGNoRXZlbnQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkubWVzc2FnZWVycm9y
RXZlbnQsIGZhbHNlLCBmYWxzZSkpOworfQorCiB2b2lkIFdlYlNvY2tldDo6ZGlkQ2xvc2UodW5z
aWduZWQgbG9uZyB1bmhhbmRsZWRCdWZmZXJlZEFtb3VudCkKIHsKICAgICBMT0coTmV0d29yaywg
IldlYlNvY2tldCAlcCBkaWRDbG9zZSIsIHRoaXMpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS93ZWJz
b2NrZXRzL1dlYlNvY2tldC5oIGIvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldC5oCmluZGV4
IDhiZGE4ODIuLjkyNTI4MWYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2Nr
ZXQuaAorKysgYi9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0LmgKQEAgLTc2LDYgKzc2LDcg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRf
TElTVEVORVIob3Blbik7CiAgICAgICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIo
bWVzc2FnZSk7CisgICAgICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIobWVzc2Fn
ZWVycm9yKTsKICAgICAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihjbG9zZSk7
CiAKICAgICAgICAgLy8gRXZlbnRUYXJnZXQKQEAgLTkxLDYgKzkyLDcgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgICAgICAvLyBXZWJTb2NrZXRDaGFubmVsQ2xpZW50CiAgICAgICAgIHZpcnR1
YWwgdm9pZCBkaWRDb25uZWN0KCk7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlTWVz
c2FnZShjb25zdCBTdHJpbmcmIG1lc3NhZ2UpOworICAgICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVj
ZWl2ZU1lc3NhZ2VFcnJvcigpOwogICAgICAgICB2aXJ0dWFsIHZvaWQgZGlkQ2xvc2UodW5zaWdu
ZWQgbG9uZyB1bmhhbmRsZWRCdWZmZXJlZEFtb3VudCk7CiAKICAgICBwcml2YXRlOgpAQCAtMTAx
LDEwICsxMDMsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgRXZlbnRU
YXJnZXREYXRhKiBldmVudFRhcmdldERhdGEoKTsKICAgICAgICAgdmlydHVhbCBFdmVudFRhcmdl
dERhdGEqIGVuc3VyZUV2ZW50VGFyZ2V0RGF0YSgpOwogCi0gICAgICAgIHZvaWQgZGlzcGF0Y2hP
cGVuRXZlbnQoRXZlbnQqKTsKLSAgICAgICAgdm9pZCBkaXNwYXRjaE1lc3NhZ2VFdmVudChFdmVu
dCopOwotICAgICAgICB2b2lkIGRpc3BhdGNoQ2xvc2VFdmVudChFdmVudCopOwotCiAgICAgICAg
IFJlZlB0cjxUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbD4gbV9jaGFubmVsOwogCiAgICAgICAg
IFN0YXRlIG1fc3RhdGU7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0
LmlkbCBiL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXQuaWRsCmluZGV4IGFiMTYzYTkuLjZm
OTRiZTkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXQuaWRsCisrKyBi
L1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXQuaWRsCkBAIC00OSw2ICs0OSw3IEBAIG1vZHVs
ZSB3ZWJzb2NrZXRzIHsKICAgICAgICAgLy8gbmV0d29ya2luZwogICAgICAgICBhdHRyaWJ1dGUg
RXZlbnRMaXN0ZW5lciBvbm9wZW47CiAgICAgICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9u
bWVzc2FnZTsKKyAgICAgICAgYXR0cmlidXRlIEV2ZW50TGlzdGVuZXIgb25tZXNzYWdlZXJyb3I7
CiAgICAgICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9uY2xvc2U7CiAKICAgICAgICAgW0N1
c3RvbV0gYm9vbGVhbiBzZW5kKGluIERPTVN0cmluZyBkYXRhKQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuY3BwIGIvV2ViQ29yZS93ZWJzb2NrZXRzL1dl
YlNvY2tldENoYW5uZWwuY3BwCmluZGV4IDdiODdiZjMuLjE1NGFjNDggMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcAorKysgYi9XZWJDb3JlL3dlYnNv
Y2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHAKQEAgLTE5MCw2ICsxOTAsOSBAQCB2b2lkIFdlYlNv
Y2tldENoYW5uZWw6OmRpZFJlY2VpdmVEYXRhKFNvY2tldFN0cmVhbUhhbmRsZSogaGFuZGxlLCBj
b25zdCBjaGFyKiBkYQogICAgICAgICAgICAgd2hpbGUgKHAgPCBlbmQpIHsKICAgICAgICAgICAg
ICAgICBpZiAobGVuZ3RoID4gc3RkOjpudW1lcmljX2xpbWl0czxpbnQ+OjptYXgoKSAvIDEyOCkg
ewogICAgICAgICAgICAgICAgICAgICBMT0coTmV0d29yaywgImZyYW1lIGxlbmd0aCBvdmVyZmxv
dyAlZCIsIGxlbmd0aCk7CisgICAgICAgICAgICAgICAgICAgIG1fY2xpZW50LT5kaWRSZWNlaXZl
TWVzc2FnZUVycm9yKCk7CisgICAgICAgICAgICAgICAgICAgIGlmICghbV9jbGllbnQpCisgICAg
ICAgICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAgICAgICAgIGhhbmRsZS0+
Y2xvc2UoKTsKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgIH0K
QEAgLTIwMiw2ICsyMDUsOSBAQCB2b2lkIFdlYlNvY2tldENoYW5uZWw6OmRpZFJlY2VpdmVEYXRh
KFNvY2tldFN0cmVhbUhhbmRsZSogaGFuZGxlLCBjb25zdCBjaGFyKiBkYQogICAgICAgICAgICAg
aWYgKHAgKyBsZW5ndGggPCBlbmQpIHsKICAgICAgICAgICAgICAgICBwICs9IGxlbmd0aDsKICAg
ICAgICAgICAgICAgICBuZXh0RnJhbWUgPSBwOworICAgICAgICAgICAgICAgIG1fY2xpZW50LT5k
aWRSZWNlaXZlTWVzc2FnZUVycm9yKCk7CisgICAgICAgICAgICAgICAgaWYgKCFtX2NsaWVudCkK
KyAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgfSBlbHNlCiAgICAgICAg
ICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0gZWxzZSB7CkBAIC0yMTEsNiArMjE3LDggQEAgdm9p
ZCBXZWJTb2NrZXRDaGFubmVsOjpkaWRSZWNlaXZlRGF0YShTb2NrZXRTdHJlYW1IYW5kbGUqIGhh
bmRsZSwgY29uc3QgY2hhciogZGEKICAgICAgICAgICAgIGlmIChwIDwgZW5kICYmICpwID09ICdc
eGZmJykgewogICAgICAgICAgICAgICAgIGlmIChmcmFtZUJ5dGUgPT0gMHgwMCkKICAgICAgICAg
ICAgICAgICAgICAgbV9jbGllbnQtPmRpZFJlY2VpdmVNZXNzYWdlKFN0cmluZzo6ZnJvbVVURjgo
bXNnU3RhcnQsIHAgLSBtc2dTdGFydCkpOworICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAg
ICAgICAgICAgICAgbV9jbGllbnQtPmRpZFJlY2VpdmVNZXNzYWdlRXJyb3IoKTsKICAgICAgICAg
ICAgICAgICBpZiAoIW1fY2xpZW50KQogICAgICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAg
ICAgICAgICAgICAgKytwOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tl
dENoYW5uZWxDbGllbnQuaCBiL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsQ2xp
ZW50LmgKaW5kZXggNTMyOGViNy4uMTU1MTA3MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS93ZWJzb2Nr
ZXRzL1dlYlNvY2tldENoYW5uZWxDbGllbnQuaAorKysgYi9XZWJDb3JlL3dlYnNvY2tldHMvV2Vi
U29ja2V0Q2hhbm5lbENsaWVudC5oCkBAIC00MCw2ICs0MCw3IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICAgICAgdmlydHVhbCB+V2ViU29ja2V0Q2hhbm5lbENsaWVudCgpIHsgfQogICAgICAg
ICB2aXJ0dWFsIHZvaWQgZGlkQ29ubmVjdCgpIHsgfQogICAgICAgICB2aXJ0dWFsIHZvaWQgZGlk
UmVjZWl2ZU1lc3NhZ2UoY29uc3QgU3RyaW5nJikgeyB9CisgICAgICAgIHZpcnR1YWwgdm9pZCBk
aWRSZWNlaXZlTWVzc2FnZUVycm9yKCkgeyB9CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkaWRDbG9z
ZSh1bnNpZ25lZCBsb25nIC8qIHVuaGFuZGxlZEJ1ZmZlcmVkQW1vdW50ICovKSB7IH0KIAogICAg
IHByb3RlY3RlZDoK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>49990</attachid>
            <date>2010-03-03 23:28:16 -0800</date>
            <delta_ts>2010-03-04 10:46:46 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-35570-20100304162813.patch</filename>
            <type>text/plain</type>
            <size>8900</size>
            <attacher name="Fumitoshi Ukai">ukai</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA4M2E4YmE0Li5hMzhjZjRjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTAtMDMt
MDMgIEZ1bWl0b3NoaSBVa2FpICA8dWthaUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2ViU29ja2V0IG9ubWVzc2FnZWVycm9y
IGV2ZW50IGhhbmRsZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTM1NTcwCisKKyAgICAgICAgKiB3ZWJzb2NrZXQvdGVzdHMvZXJyb3ItZGV0ZWN0LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2Vic29ja2V0L3Rlc3RzL2Vycm9yLWRldGVj
dC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJzb2NrZXQvdGVzdHMvc2NyaXB0LXRlc3RzL2Vy
cm9yLWRldGVjdC5qczogQWRkZWQuCisgICAgICAgICogd2Vic29ja2V0L3Rlc3RzL3Vua25vd24t
ZnJhbWUtdHlwZV93c2gucHk6IEFkZGVkLgorCiAyMDEwLTAzLTAzICBEaWVnbyBHb256YWxleiAg
PGRpZWdvLmdvbnphbGV6QG9wZW5ib3NzYS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgS2Vu
bmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJzb2Nr
ZXQvdGVzdHMvZXJyb3ItZGV0ZWN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYnNvY2tl
dC90ZXN0cy9lcnJvci1kZXRlY3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAuLjZjNjllZWQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJz
b2NrZXQvdGVzdHMvZXJyb3ItZGV0ZWN0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEyIEBACitN
YWtlIHN1cmUgV2ViU29ja2V0IGNvcnJlY3RseSBmaXJlIGVycm9yIGV2ZW50IGZvciB1bmtub3du
IGZyYW1lIHR5cGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworV2ViU29ja2V0IGlz
IG9wZW4KK3JlY2VpdmVkOmRvbmUKK1dlYlNvY2tldCBpcyBjbG9zZWQKK1BBU1MgZXJyb3JDb3Vu
dCBpcyAyNTUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJzb2NrZXQvdGVzdHMvZXJyb3ItZGV0ZWN0
Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJzb2NrZXQvdGVzdHMvZXJyb3ItZGV0ZWN0Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGJlMWFlMgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3dlYnNvY2tldC90ZXN0cy9lcnJvci1kZXRlY3QuaHRtbApAQCAtMCww
ICsxLDEzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+
Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9mYXN0
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFz
dC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC1mdW5jdGlvbi5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9lcnJvci1kZXRlY3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
d2Vic29ja2V0L3Rlc3RzL3NjcmlwdC10ZXN0cy9lcnJvci1kZXRlY3QuanMgYi9MYXlvdXRUZXN0
cy93ZWJzb2NrZXQvdGVzdHMvc2NyaXB0LXRlc3RzL2Vycm9yLWRldGVjdC5qcwpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YWRkMTAyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvd2Vic29ja2V0L3Rlc3RzL3NjcmlwdC10ZXN0cy9lcnJvci1kZXRlY3QuanMKQEAg
LTAsMCArMSwyOSBAQAorZGVzY3JpcHRpb24oIk1ha2Ugc3VyZSBXZWJTb2NrZXQgY29ycmVjdGx5
IGZpcmUgZXJyb3IgZXZlbnQgZm9yIHVua25vd24gZnJhbWUgdHlwZS4iKTsKK2lmICh3aW5kb3cu
bGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGls
RG9uZSgpOworCit2YXIgZXJyb3JDb3VudCA9IDA7CisKK2Z1bmN0aW9uIGZpbmlzaCgpIHsKKyAg
ICBzaG91bGRCZSgiZXJyb3JDb3VudCIsICIyNTUiKTsKKyAgICBpc1N1Y2Nlc3NmdWxseVBhcnNl
ZCgpOworICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIGxheW91
dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKK30KKwordmFyIHdzID0gbmV3IFdlYlNvY2tl
dCgid3M6Ly8xMjcuMC4wLjE6ODg4MC93ZWJzb2NrZXQvdGVzdHMvdW5rbm93bi1mcmFtZS10eXBl
Iik7Cit3cy5vbm9wZW4gPSBmdW5jdGlvbiAoKSB7CisgICAgZGVidWcoIldlYlNvY2tldCBpcyBv
cGVuIik7Cit9Oword3Mub25tZXNzYWdlID0gZnVuY3Rpb24gKGV2dCkgeworICAgIGRlYnVnKCJy
ZWNlaXZlZDoiICsgZXZ0LmRhdGEpOworfTsKK3dzLm9uZXJyb3IgPSBmdW5jdGlvbiAoKSB7Cisg
ICAgZXJyb3JDb3VudCArPSAxOworfTsKK3dzLm9uY2xvc2UgPSBmdW5jdGlvbiAoKSB7CisgICAg
ZGVidWcoIldlYlNvY2tldCBpcyBjbG9zZWQiKTsKKyAgICBmaW5pc2goKTsKK307CisKK3ZhciBz
dWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2Vic29j
a2V0L3Rlc3RzL3Vua25vd24tZnJhbWUtdHlwZV93c2gucHkgYi9MYXlvdXRUZXN0cy93ZWJzb2Nr
ZXQvdGVzdHMvdW5rbm93bi1mcmFtZS10eXBlX3dzaC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwLi4wZmYzMzljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2Vi
c29ja2V0L3Rlc3RzL3Vua25vd24tZnJhbWUtdHlwZV93c2gucHkKQEAgLTAsMCArMSwxMiBAQAor
ZnJvbSBtb2RfcHl3ZWJzb2NrZXQgaW1wb3J0IG1zZ3V0aWwKKworZGVmIHdlYl9zb2NrZXRfZG9f
ZXh0cmFfaGFuZHNoYWtlKHJlcXVlc3QpOgorICAgIHBhc3MKKworZGVmIHdlYl9zb2NrZXRfdHJh
bnNmZXJfZGF0YShyZXF1ZXN0KToKKyAgICBmb3IgaSBpbiByYW5nZSgxLCAxMjgpOgorICAgICAg
ICByZXF1ZXN0LmNvbm5lY3Rpb24ud3JpdGUoY2hyKGkpICsgc3RyKGkpICsgJ1x4ZmYnKQorICAg
IGZvciBpIGluIHJhbmdlKDEyOCwgMjU2KToKKyAgICAgICAgbXNnID0gc3RyKGkpCisgICAgICAg
IHJlcXVlc3QuY29ubmVjdGlvbi53cml0ZShjaHIoaSkgKyBjaHIobGVuKG1zZykpICsgbXNnKQor
ICAgIG1zZ3V0aWwuc2VuZF9tZXNzYWdlKHJlcXVlc3QsICdkb25lJykKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTA2ZTdmMi4uNDgwYzFi
ZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwyMSBAQAorMjAxMC0wMy0wMyAgRnVtaXRvc2hpIFVrYWkgIDx1a2FpQGNocm9t
aXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBXZWJTb2NrZXQgb25tZXNzYWdlZXJyb3IgZXZlbnQgaGFuZGxlcgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzU1NzAKKworICAgICAgICBUZXN0OiB3
ZWJzb2NrZXQvdGVzdHMvZXJyb3ItZGV0ZWN0Lmh0bWwKKworICAgICAgICAqIHdlYnNvY2tldHMv
V2ViU29ja2V0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYlNvY2tldDo6ZGlkUmVjZWl2ZU1l
c3NhZ2VFcnJvcik6CisgICAgICAgICogd2Vic29ja2V0cy9XZWJTb2NrZXQuaDoKKyAgICAgICAg
KiB3ZWJzb2NrZXRzL1dlYlNvY2tldC5pZGw6IEFkZCBvbmVycm9yIGV2ZW50IGxpc3RlbmVyCisg
ICAgICAgICogd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OldlYlNvY2tldENoYW5uZWw6OmRpZFJlY2VpdmVEYXRhKTogY2FsbCBkaWRSZWNlaXZlTWVz
c2FnZUVycm9yIGlmIHVua25vd24gZnJhbWUgdHllIGlzIGRldGVjdGVkLCBvciBmcmFtZSBsZW5n
dGggb3ZlcmZsb3dlZC4KKyAgICAgICAgKiB3ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWxDbGll
bnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OldlYlNvY2tldENoYW5uZWxDbGllbnQ6OmRpZFJlY2Vp
dmVNZXNzYWdlRXJyb3IpOgorCiAyMDEwLTAzLTAzICBZdXRhIEtpdGFtdXJhICA8eXV0YWtAY2hy
b21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFsZXhleSBQcm9za3VyeWFrb3YuCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0LmNwcCBiL1dlYkNvcmUvd2Vi
c29ja2V0cy9XZWJTb2NrZXQuY3BwCmluZGV4IGNkNTUyOGIuLjE3NDczNTcgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXQuY3BwCisrKyBiL1dlYkNvcmUvd2Vic29ja2V0
cy9XZWJTb2NrZXQuY3BwCkBAIC0yNDUsNiArMjQ1LDE0IEBAIHZvaWQgV2ViU29ja2V0OjpkaWRS
ZWNlaXZlTWVzc2FnZShjb25zdCBTdHJpbmcmIG1zZykKICAgICBkaXNwYXRjaEV2ZW50KGV2dCk7
CiB9CiAKK3ZvaWQgV2ViU29ja2V0OjpkaWRSZWNlaXZlTWVzc2FnZUVycm9yKCkKK3sKKyAgICBM
T0coTmV0d29yaywgIldlYlNvY2tldCAlcCBkaWRSZWNlaXZlRXJyb3JNZXNzYWdlIiwgdGhpcyk7
CisgICAgaWYgKG1fc3RhdGUgIT0gT1BFTiB8fCAhc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKQor
ICAgICAgICByZXR1cm47CisgICAgZGlzcGF0Y2hFdmVudChFdmVudDo6Y3JlYXRlKGV2ZW50TmFt
ZXMoKS5lcnJvckV2ZW50LCBmYWxzZSwgZmFsc2UpKTsKK30KKwogdm9pZCBXZWJTb2NrZXQ6OmRp
ZENsb3NlKHVuc2lnbmVkIGxvbmcgdW5oYW5kbGVkQnVmZmVyZWRBbW91bnQpCiB7CiAgICAgTE9H
KE5ldHdvcmssICJXZWJTb2NrZXQgJXAgZGlkQ2xvc2UiLCB0aGlzKTsKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXQuaCBiL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2Nr
ZXQuaAppbmRleCA4YmRhODgyLi5lOTE3OTZmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3dlYnNvY2tl
dHMvV2ViU29ja2V0LmgKKysrIGIvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldC5oCkBAIC03
Niw2ICs3Niw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgICAgICBERUZJTkVfQVRUUklC
VVRFX0VWRU5UX0xJU1RFTkVSKG9wZW4pOwogICAgICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5U
X0xJU1RFTkVSKG1lc3NhZ2UpOworICAgICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RF
TkVSKGVycm9yKTsKICAgICAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihjbG9z
ZSk7CiAKICAgICAgICAgLy8gRXZlbnRUYXJnZXQKQEAgLTkxLDYgKzkyLDcgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgICAgICAvLyBXZWJTb2NrZXRDaGFubmVsQ2xpZW50CiAgICAgICAgIHZp
cnR1YWwgdm9pZCBkaWRDb25uZWN0KCk7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZl
TWVzc2FnZShjb25zdCBTdHJpbmcmIG1lc3NhZ2UpOworICAgICAgICB2aXJ0dWFsIHZvaWQgZGlk
UmVjZWl2ZU1lc3NhZ2VFcnJvcigpOwogICAgICAgICB2aXJ0dWFsIHZvaWQgZGlkQ2xvc2UodW5z
aWduZWQgbG9uZyB1bmhhbmRsZWRCdWZmZXJlZEFtb3VudCk7CiAKICAgICBwcml2YXRlOgpAQCAt
MTAxLDEwICsxMDMsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgRXZl
bnRUYXJnZXREYXRhKiBldmVudFRhcmdldERhdGEoKTsKICAgICAgICAgdmlydHVhbCBFdmVudFRh
cmdldERhdGEqIGVuc3VyZUV2ZW50VGFyZ2V0RGF0YSgpOwogCi0gICAgICAgIHZvaWQgZGlzcGF0
Y2hPcGVuRXZlbnQoRXZlbnQqKTsKLSAgICAgICAgdm9pZCBkaXNwYXRjaE1lc3NhZ2VFdmVudChF
dmVudCopOwotICAgICAgICB2b2lkIGRpc3BhdGNoQ2xvc2VFdmVudChFdmVudCopOwotCiAgICAg
ICAgIFJlZlB0cjxUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbD4gbV9jaGFubmVsOwogCiAgICAg
ICAgIFN0YXRlIG1fc3RhdGU7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29j
a2V0LmlkbCBiL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXQuaWRsCmluZGV4IGFiMTYzYTku
LjE3MDc0NzggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXQuaWRsCisr
KyBiL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXQuaWRsCkBAIC00OSw2ICs0OSw3IEBAIG1v
ZHVsZSB3ZWJzb2NrZXRzIHsKICAgICAgICAgLy8gbmV0d29ya2luZwogICAgICAgICBhdHRyaWJ1
dGUgRXZlbnRMaXN0ZW5lciBvbm9wZW47CiAgICAgICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVy
IG9ubWVzc2FnZTsKKyAgICAgICAgYXR0cmlidXRlIEV2ZW50TGlzdGVuZXIgb25lcnJvcjsKICAg
ICAgICAgYXR0cmlidXRlIEV2ZW50TGlzdGVuZXIgb25jbG9zZTsKIAogICAgICAgICBbQ3VzdG9t
XSBib29sZWFuIHNlbmQoaW4gRE9NU3RyaW5nIGRhdGEpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3dl
YnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHAgYi9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29j
a2V0Q2hhbm5lbC5jcHAKaW5kZXggOTZlOTgzOC4uZGQ1ZWE0YyAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuY3BwCisrKyBiL1dlYkNvcmUvd2Vic29ja2V0
cy9XZWJTb2NrZXRDaGFubmVsLmNwcApAQCAtMTkxLDYgKzE5MSw5IEBAIHZvaWQgV2ViU29ja2V0
Q2hhbm5lbDo6ZGlkUmVjZWl2ZURhdGEoU29ja2V0U3RyZWFtSGFuZGxlKiBoYW5kbGUsIGNvbnN0
IGNoYXIqIGRhCiAgICAgICAgICAgICB3aGlsZSAocCA8IGVuZCkgewogICAgICAgICAgICAgICAg
IGlmIChsZW5ndGggPiBzdGQ6Om51bWVyaWNfbGltaXRzPGludD46Om1heCgpIC8gMTI4KSB7CiAg
ICAgICAgICAgICAgICAgICAgIExPRyhOZXR3b3JrLCAiZnJhbWUgbGVuZ3RoIG92ZXJmbG93ICVk
IiwgbGVuZ3RoKTsKKyAgICAgICAgICAgICAgICAgICAgbV9jbGllbnQtPmRpZFJlY2VpdmVNZXNz
YWdlRXJyb3IoKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKCFtX2NsaWVudCkKKyAgICAgICAg
ICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgICAgICAgICAgaGFuZGxlLT5jbG9z
ZSgpOwogICAgICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAgICAgfQpAQCAt
MjAzLDYgKzIwNiw5IEBAIHZvaWQgV2ViU29ja2V0Q2hhbm5lbDo6ZGlkUmVjZWl2ZURhdGEoU29j
a2V0U3RyZWFtSGFuZGxlKiBoYW5kbGUsIGNvbnN0IGNoYXIqIGRhCiAgICAgICAgICAgICBpZiAo
cCArIGxlbmd0aCA8IGVuZCkgewogICAgICAgICAgICAgICAgIHAgKz0gbGVuZ3RoOwogICAgICAg
ICAgICAgICAgIG5leHRGcmFtZSA9IHA7CisgICAgICAgICAgICAgICAgbV9jbGllbnQtPmRpZFJl
Y2VpdmVNZXNzYWdlRXJyb3IoKTsKKyAgICAgICAgICAgICAgICBpZiAoIW1fY2xpZW50KQorICAg
ICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICB9IGVsc2UKICAgICAgICAgICAg
ICAgICBicmVhazsKICAgICAgICAgfSBlbHNlIHsKQEAgLTIxMiw2ICsyMTgsOCBAQCB2b2lkIFdl
YlNvY2tldENoYW5uZWw6OmRpZFJlY2VpdmVEYXRhKFNvY2tldFN0cmVhbUhhbmRsZSogaGFuZGxl
LCBjb25zdCBjaGFyKiBkYQogICAgICAgICAgICAgaWYgKHAgPCBlbmQgJiYgKnAgPT0gJ1x4ZmYn
KSB7CiAgICAgICAgICAgICAgICAgaWYgKGZyYW1lQnl0ZSA9PSAweDAwKQogICAgICAgICAgICAg
ICAgICAgICBtX2NsaWVudC0+ZGlkUmVjZWl2ZU1lc3NhZ2UoU3RyaW5nOjpmcm9tVVRGOChtc2dT
dGFydCwgcCAtIG1zZ1N0YXJ0KSk7CisgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAg
ICAgICAgICBtX2NsaWVudC0+ZGlkUmVjZWl2ZU1lc3NhZ2VFcnJvcigpOwogICAgICAgICAgICAg
ICAgIGlmICghbV9jbGllbnQpCiAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAg
ICAgICAgICArK3A7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hh
bm5lbENsaWVudC5oIGIvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWxDbGllbnQu
aAppbmRleCA1MzI4ZWI3Li4xNTUxMDczIDEwMDY0NAotLS0gYS9XZWJDb3JlL3dlYnNvY2tldHMv
V2ViU29ja2V0Q2hhbm5lbENsaWVudC5oCisrKyBiL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2Nr
ZXRDaGFubmVsQ2xpZW50LmgKQEAgLTQwLDYgKzQwLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgICAgICB2aXJ0dWFsIH5XZWJTb2NrZXRDaGFubmVsQ2xpZW50KCkgeyB9CiAgICAgICAgIHZp
cnR1YWwgdm9pZCBkaWRDb25uZWN0KCkgeyB9CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNl
aXZlTWVzc2FnZShjb25zdCBTdHJpbmcmKSB7IH0KKyAgICAgICAgdmlydHVhbCB2b2lkIGRpZFJl
Y2VpdmVNZXNzYWdlRXJyb3IoKSB7IH0KICAgICAgICAgdmlydHVhbCB2b2lkIGRpZENsb3NlKHVu
c2lnbmVkIGxvbmcgLyogdW5oYW5kbGVkQnVmZmVyZWRBbW91bnQgKi8pIHsgfQogCiAgICAgcHJv
dGVjdGVkOgo=
</data>
<flag name="review"
          id="33009"
          type_id="1"
          status="+"
          setter="ap"
    />
          </attachment>
      

    </bug>

</bugzilla>