<?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>98058</bug_id>
          
          <creation_ts>2012-10-01 11:59:51 -0700</creation_ts>
          <short_desc>Consolidate more MutationObserverRegistration logic in Node</short_desc>
          <delta_ts>2012-10-01 13:11:57 -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>1</everconfirmed>
          <reporter name="Adam Klein">adamk</reporter>
          <assigned_to name="Adam Klein">adamk</assigned_to>
          <cc>ojan</cc>
    
    <cc>rafaelw</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>731864</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Klein">adamk</who>
    <bug_when>2012-10-01 11:59:51 -0700</bug_when>
    <thetext>Consolidate more MutationObserverRegistration logic in Node</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>731875</commentid>
    <comment_count>1</comment_count>
      <attachid>166520</attachid>
    <who name="Adam Klein">adamk</who>
    <bug_when>2012-10-01 12:06:55 -0700</bug_when>
    <thetext>Created attachment 166520
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>731884</commentid>
    <comment_count>2</comment_count>
      <attachid>166520</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-10-01 12:12:23 -0700</bug_when>
    <thetext>Comment on attachment 166520
Patch

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

&gt; Source/WebCore/ChangeLog:12
&gt; +        This patch inverts that behavior so that there&apos;s no need to return the

I like it better without &quot;inverts that behavior&quot;. It confused me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>731886</commentid>
    <comment_count>3</comment_count>
      <attachid>166520</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-10-01 12:13:22 -0700</bug_when>
    <thetext>Comment on attachment 166520
Patch

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

&gt; Source/WebCore/dom/Node.cpp:2484
&gt;      Vector&lt;OwnPtr&lt;MutationObserverRegistration&gt; &gt;* registry = ensureRareData()-&gt;ensureMutationObserverRegistry();

On a completely unrelated note, we need to invent a variant of HashMap that behaves like Vector when the map is small.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>731907</commentid>
    <comment_count>4</comment_count>
      <attachid>166527</attachid>
    <who name="Adam Klein">adamk</who>
    <bug_when>2012-10-01 12:31:48 -0700</bug_when>
    <thetext>Created attachment 166527
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>731908</commentid>
    <comment_count>5</comment_count>
      <attachid>166520</attachid>
    <who name="Adam Klein">adamk</who>
    <bug_when>2012-10-01 12:32:17 -0700</bug_when>
    <thetext>Comment on attachment 166520
Patch

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

&gt;&gt; Source/WebCore/dom/Node.cpp:2484
&gt;&gt;      Vector&lt;OwnPtr&lt;MutationObserverRegistration&gt; &gt;* registry = ensureRareData()-&gt;ensureMutationObserverRegistry();
&gt; 
&gt; On a completely unrelated note, we need to invent a variant of HashMap that behaves like Vector when the map is small.

Definitely, there are several places recently where I&apos;ve wanted something like that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>731929</commentid>
    <comment_count>6</comment_count>
      <attachid>166527</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-01 13:11:54 -0700</bug_when>
    <thetext>Comment on attachment 166527
Patch for landing

Clearing flags on attachment: 166527

Committed r130069: &lt;http://trac.webkit.org/changeset/130069&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>731930</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-01 13:11:57 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>166520</attachid>
            <date>2012-10-01 12:06:55 -0700</date>
            <delta_ts>2012-10-01 12:32:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-98058-20121001120608.patch</filename>
            <type>text/plain</type>
            <size>7971</size>
            <attacher name="Adam Klein">adamk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMwMDU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzc5YTcyYTUwMjdlODkw
ZWUwNjczNTVkZmRjZTI0YmE3MTBiZjI5OC4uMzI0OGVjNGY3YjgwMzUyZGM5YjAxMDA4MjI3MTQ0
MTY0MDkwYmM0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDEyLTEwLTAxICBBZGFt
IEtsZWluICA8YWRhbWtAY2hyb21pdW0ub3JnPgorCisgICAgICAgIENvbnNvbGlkYXRlIG1vcmUg
TXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbiBsb2dpYyBpbiBOb2RlCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05ODA1OAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE9uZSByZW1haW5pbmcgb2RkaXR5IG9m
IE5vZGUncyBNdXRhdGlvbk9ic2VydmVyLXJlbGF0ZWQgaW50ZXJmYWNlIHdhcworICAgICAgICB0
aGF0IHJlZ2lzdGVyTXV0YXRpb25PYnNlcnZlciByZXR1cm5lZCB0aGUgcmVzdWx0aW5nIE11dGF0
aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24KKyAgICAgICAgb2JqZWN0LgorCisgICAgICAgIFRoaXMg
cGF0Y2ggaW52ZXJ0cyB0aGF0IGJlaGF2aW9yIHNvIHRoYXQgdGhlcmUncyBubyBuZWVkIHRvIHJl
dHVybiB0aGUKKyAgICAgICAgcmVnaXN0cmF0aW9uLCBieSBoYXZpbmcgTm9kZSBpbnRlcm5hbGx5
IGhhbmRsZSByZXNldHRpbmcgdGhlIG9ic2VydmF0aW9uCisgICAgICAgIGlmIHRoZSByZWdpc3Ry
YXRpb24gYWxyZWFkeSBleGlzdHMsIGFuZCB1cGRhdGluZyB0aGUgRG9jdW1lbnQncyBsaXN0IG9m
CisgICAgICAgIG11dGF0aW9uIG9ic2VydmVyIHR5cGVzLgorCisgICAgICAgIE5vIGNoYW5nZSBp
biBiZWhhdmlvciwgcmVmYWN0b3Jpbmcgb25seS4KKworICAgICAgICAqIGRvbS9NdXRhdGlvbk9i
c2VydmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok11dGF0aW9uT2JzZXJ2ZXI6Om9ic2VydmUp
OiBTaW1wbGlmaWVkIHRvIGp1c3QgY2FsbAorICAgICAgICBOb2RlOjpyZWdpc3Rlck11dGF0aW9u
T2JzZXJ2ZXI7IG5vdGhpbmcgZWxzZSBpcyBuZWVkZWQuCisgICAgICAgICogZG9tL011dGF0aW9u
T2JzZXJ2ZXJSZWdpc3RyYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TXV0YXRpb25PYnNl
cnZlclJlZ2lzdHJhdGlvbjo6Y3JlYXRlKTogVGFrZSBvcHRpb25zIGFuZCBhdHRyaWJ1dGVGaWx0
ZXIsCisgICAgICAgIGF2b2lkaW5nIGFuIHVubmVjZXNzYXJ5IGNhbGwgdG8gcmVzZXRPYnNlcnZh
dGlvbigpLgorICAgICAgICAoV2ViQ29yZTo6TXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbjo6
TXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbik6IGRpdHRvCisgICAgICAgICogZG9tL011dGF0
aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24uaDoKKyAgICAgICAgKE11dGF0aW9uT2JzZXJ2ZXJSZWdp
c3RyYXRpb24pOgorICAgICAgICAqIGRvbS9Ob2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5v
ZGU6OnJlZ2lzdGVyTXV0YXRpb25PYnNlcnZlcik6IEhhbmRsZSBvYnNlcnZhdGlvbgorICAgICAg
ICByZXNldHRpbmcgaWYgdGhhdCBvYnNlcnZlcidzIGFscmVhZHkgcmVnaXN0ZXJlZCwgYW5kIHVw
ZGF0ZSB0aGUgbGlzdAorICAgICAgICBvZiBhY3RpdmUgTXV0YXRpb25PYnNlcnZlciB0eXBlcyBp
biB0aGUgRG9jdW1lbnQuCisgICAgICAgICogZG9tL05vZGUuaDoKKyAgICAgICAgKE5vZGUpOgor
CiAyMDEyLTEwLTAxICBZdXJ5IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hyb21pdW0ub3JnPgogCiAg
ICAgICAgIFVucmV2aWV3ZWQuIENocm9taXVtIGJ1aWxkIGZpeC4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9NdXRhdGlvbk9ic2VydmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9N
dXRhdGlvbk9ic2VydmVyLmNwcAppbmRleCBhNDBkNTA3ZmU3MDAzYTAyNGNhZTY0YzhjZWJmOGY4
YjM1ZTFlMzVhLi4wYzIxMGZhNDZiYWRhNjkyNjNjNGNhOGIwMWQ5MjViY2Y4OWEzNGQ5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTXV0YXRpb25PYnNlcnZlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvZG9tL011dGF0aW9uT2JzZXJ2ZXIuY3BwCkBAIC0xMTYsMTAgKzExNiw3IEBA
IHZvaWQgTXV0YXRpb25PYnNlcnZlcjo6b2JzZXJ2ZShOb2RlKiBub2RlLCBjb25zdCBEaWN0aW9u
YXJ5JiBvcHRpb25zRGljdGlvbmFyeSwKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIE11
dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24qIHJlZ2lzdHJhdGlvbiA9IG5vZGUtPnJlZ2lzdGVy
TXV0YXRpb25PYnNlcnZlcih0aGlzKTsKLSAgICByZWdpc3RyYXRpb24tPnJlc2V0T2JzZXJ2YXRp
b24ob3B0aW9ucywgYXR0cmlidXRlRmlsdGVyKTsKLQotICAgIG5vZGUtPmRvY3VtZW50KCktPmFk
ZE11dGF0aW9uT2JzZXJ2ZXJUeXBlcyhyZWdpc3RyYXRpb24tPm11dGF0aW9uVHlwZXMoKSk7Cisg
ICAgbm9kZS0+cmVnaXN0ZXJNdXRhdGlvbk9ic2VydmVyKHRoaXMsIG9wdGlvbnMsIGF0dHJpYnV0
ZUZpbHRlcik7CiB9CiAKIFZlY3RvcjxSZWZQdHI8TXV0YXRpb25SZWNvcmQ+ID4gTXV0YXRpb25P
YnNlcnZlcjo6dGFrZVJlY29yZHMoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL011
dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL011dGF0
aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24uY3BwCmluZGV4IDI1MzgxMTc2MzcwNjA3NDliY2Q5YTk2
NmU1Nzk5ZjJlYjIxMzRkM2MuLjRjMzBhYzMwY2M4YmI5N2JhZGZlMDA4NDM5NTJlZDBiZDUyMzk1
NmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9NdXRhdGlvbk9ic2VydmVyUmVnaXN0
cmF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTXV0YXRpb25PYnNlcnZlclJlZ2lz
dHJhdGlvbi5jcHAKQEAgLTQwLDE1ICs0MCwxNiBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
LVBhc3NPd25QdHI8TXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbj4gTXV0YXRpb25PYnNlcnZl
clJlZ2lzdHJhdGlvbjo6Y3JlYXRlKFBhc3NSZWZQdHI8TXV0YXRpb25PYnNlcnZlcj4gb2JzZXJ2
ZXIsIE5vZGUqIHJlZ2lzdHJhdGlvbk5vZGUpCitQYXNzT3duUHRyPE11dGF0aW9uT2JzZXJ2ZXJS
ZWdpc3RyYXRpb24+IE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb246OmNyZWF0ZShQYXNzUmVm
UHRyPE11dGF0aW9uT2JzZXJ2ZXI+IG9ic2VydmVyLCBOb2RlKiByZWdpc3RyYXRpb25Ob2RlLCBN
dXRhdGlvbk9ic2VydmVyT3B0aW9ucyBvcHRpb25zLCBjb25zdCBIYXNoU2V0PEF0b21pY1N0cmlu
Zz4mIGF0dHJpYnV0ZUZpbHRlcikKIHsKLSAgICByZXR1cm4gYWRvcHRQdHIobmV3IE11dGF0aW9u
T2JzZXJ2ZXJSZWdpc3RyYXRpb24ob2JzZXJ2ZXIsIHJlZ2lzdHJhdGlvbk5vZGUpKTsKKyAgICBy
ZXR1cm4gYWRvcHRQdHIobmV3IE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24ob2JzZXJ2ZXIs
IHJlZ2lzdHJhdGlvbk5vZGUsIG9wdGlvbnMsIGF0dHJpYnV0ZUZpbHRlcikpOwogfQogCi1NdXRh
dGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uOjpNdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uKFBh
c3NSZWZQdHI8TXV0YXRpb25PYnNlcnZlcj4gb2JzZXJ2ZXIsIE5vZGUqIHJlZ2lzdHJhdGlvbk5v
ZGUpCi0gICAgIDogbV9vYnNlcnZlcihvYnNlcnZlcikKLSAgICAgLCBtX3JlZ2lzdHJhdGlvbk5v
ZGUocmVnaXN0cmF0aW9uTm9kZSkKLSAgICAgLCBtX29wdGlvbnMoMCkKK011dGF0aW9uT2JzZXJ2
ZXJSZWdpc3RyYXRpb246Ok11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24oUGFzc1JlZlB0cjxN
dXRhdGlvbk9ic2VydmVyPiBvYnNlcnZlciwgTm9kZSogcmVnaXN0cmF0aW9uTm9kZSwgTXV0YXRp
b25PYnNlcnZlck9wdGlvbnMgb3B0aW9ucywgY29uc3QgSGFzaFNldDxBdG9taWNTdHJpbmc+JiBh
dHRyaWJ1dGVGaWx0ZXIpCisgICAgOiBtX29ic2VydmVyKG9ic2VydmVyKQorICAgICwgbV9yZWdp
c3RyYXRpb25Ob2RlKHJlZ2lzdHJhdGlvbk5vZGUpCisgICAgLCBtX29wdGlvbnMob3B0aW9ucykK
KyAgICAsIG1fYXR0cmlidXRlRmlsdGVyKGF0dHJpYnV0ZUZpbHRlcikKIHsKICAgICBtX29ic2Vy
dmVyLT5vYnNlcnZhdGlvblN0YXJ0ZWQodGhpcyk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vTXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUv
ZG9tL011dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24uaAppbmRleCBmZDNhNTA0MTE1NWY5MWU4
NWVjNWU1YjIxZjVkNzYyM2Y3MWMxZjc2Li5hZjIyMmU4YzViNGFkODQyMjM0NDU2Y2ZiNjJlZGQw
MzFiODVjYWIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTXV0YXRpb25PYnNlcnZl
clJlZ2lzdHJhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NdXRhdGlvbk9ic2VydmVy
UmVnaXN0cmF0aW9uLmgKQEAgLTQ0LDcgKzQ0LDcgQEAgY2xhc3MgUXVhbGlmaWVkTmFtZTsKIAog
Y2xhc3MgTXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbiB7CiBwdWJsaWM6Ci0gICAgc3RhdGlj
IFBhc3NPd25QdHI8TXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbj4gY3JlYXRlKFBhc3NSZWZQ
dHI8TXV0YXRpb25PYnNlcnZlcj4sIE5vZGUqKTsKKyAgICBzdGF0aWMgUGFzc093blB0cjxNdXRh
dGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uPiBjcmVhdGUoUGFzc1JlZlB0cjxNdXRhdGlvbk9ic2Vy
dmVyPiwgTm9kZSosIE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zLCBjb25zdCBIYXNoU2V0PEF0b21p
Y1N0cmluZz4mIGF0dHJpYnV0ZUZpbHRlcik7CiAgICAgfk11dGF0aW9uT2JzZXJ2ZXJSZWdpc3Ry
YXRpb24oKTsKIAogICAgIHZvaWQgcmVzZXRPYnNlcnZhdGlvbihNdXRhdGlvbk9ic2VydmVyT3B0
aW9ucywgY29uc3QgSGFzaFNldDxBdG9taWNTdHJpbmc+JiBhdHRyaWJ1dGVGaWx0ZXIpOwpAQCAt
NjEsNyArNjEsNyBAQCBwdWJsaWM6CiAgICAgTXV0YXRpb25PYnNlcnZlck9wdGlvbnMgbXV0YXRp
b25UeXBlcygpIGNvbnN0IHsgcmV0dXJuIG1fb3B0aW9ucyAmIE11dGF0aW9uT2JzZXJ2ZXI6OkFs
bE11dGF0aW9uVHlwZXM7IH0KIAogcHJpdmF0ZToKLSAgICBNdXRhdGlvbk9ic2VydmVyUmVnaXN0
cmF0aW9uKFBhc3NSZWZQdHI8TXV0YXRpb25PYnNlcnZlcj4sIE5vZGUqKTsKKyAgICBNdXRhdGlv
bk9ic2VydmVyUmVnaXN0cmF0aW9uKFBhc3NSZWZQdHI8TXV0YXRpb25PYnNlcnZlcj4sIE5vZGUq
LCBNdXRhdGlvbk9ic2VydmVyT3B0aW9ucywgY29uc3QgSGFzaFNldDxBdG9taWNTdHJpbmc+JiBh
dHRyaWJ1dGVGaWx0ZXIpOwogCiAgICAgUmVmUHRyPE11dGF0aW9uT2JzZXJ2ZXI+IG1fb2JzZXJ2
ZXI7CiAgICAgTm9kZSogbV9yZWdpc3RyYXRpb25Ob2RlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZG9tL05vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCmluZGV4IGQ5
NmZkODVkNDY3NmU2ZjdlYmUxMDRhNzZjNWVjZWM2NGE1NmE4ODMuLjI3NzgwYzc3Yzk3YzU1ZTVl
Y2NjNGQ4ZTA4NjBhN2E2OGFhMWJiZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9O
b2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAKQEAgLTI0NzgsMTYgKzI0
NzgsMjMgQEAgdm9pZCBOb2RlOjpnZXRSZWdpc3RlcmVkTXV0YXRpb25PYnNlcnZlcnNPZlR5cGUo
SGFzaE1hcDxNdXRhdGlvbk9ic2VydmVyKiwgTXV0YXQKICAgICB9CiB9CiAKLU11dGF0aW9uT2Jz
ZXJ2ZXJSZWdpc3RyYXRpb24qIE5vZGU6OnJlZ2lzdGVyTXV0YXRpb25PYnNlcnZlcihNdXRhdGlv
bk9ic2VydmVyKiBvYnNlcnZlcikKK3ZvaWQgTm9kZTo6cmVnaXN0ZXJNdXRhdGlvbk9ic2VydmVy
KE11dGF0aW9uT2JzZXJ2ZXIqIG9ic2VydmVyLCBNdXRhdGlvbk9ic2VydmVyT3B0aW9ucyBvcHRp
b25zLCBjb25zdCBIYXNoU2V0PEF0b21pY1N0cmluZz4mIGF0dHJpYnV0ZUZpbHRlcikKIHsKKyAg
ICBNdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uKiByZWdpc3RyYXRpb24gPSAwOwogICAgIFZl
Y3RvcjxPd25QdHI8TXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbj4gPiogcmVnaXN0cnkgPSBl
bnN1cmVSYXJlRGF0YSgpLT5lbnN1cmVNdXRhdGlvbk9ic2VydmVyUmVnaXN0cnkoKTsKICAgICBm
b3IgKHNpemVfdCBpID0gMDsgaSA8IHJlZ2lzdHJ5LT5zaXplKCk7ICsraSkgewotICAgICAgICBp
ZiAocmVnaXN0cnktPmF0KGkpLT5vYnNlcnZlcigpID09IG9ic2VydmVyKQotICAgICAgICAgICAg
cmV0dXJuIHJlZ2lzdHJ5LT5hdChpKS5nZXQoKTsKKyAgICAgICAgaWYgKHJlZ2lzdHJ5LT5hdChp
KS0+b2JzZXJ2ZXIoKSA9PSBvYnNlcnZlcikgeworICAgICAgICAgICAgcmVnaXN0cmF0aW9uID0g
cmVnaXN0cnktPmF0KGkpLmdldCgpOworICAgICAgICAgICAgcmVnaXN0cmF0aW9uLT5yZXNldE9i
c2VydmF0aW9uKG9wdGlvbnMsIGF0dHJpYnV0ZUZpbHRlcik7CisgICAgICAgIH0KKyAgICB9CisK
KyAgICBpZiAoIXJlZ2lzdHJhdGlvbikgeworICAgICAgICByZWdpc3RyeS0+YXBwZW5kKE11dGF0
aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb246OmNyZWF0ZShvYnNlcnZlciwgdGhpcywgb3B0aW9ucywg
YXR0cmlidXRlRmlsdGVyKSk7CisgICAgICAgIHJlZ2lzdHJhdGlvbiA9IHJlZ2lzdHJ5LT5sYXN0
KCkuZ2V0KCk7CiAgICAgfQogCi0gICAgcmVnaXN0cnktPmFwcGVuZChNdXRhdGlvbk9ic2VydmVy
UmVnaXN0cmF0aW9uOjpjcmVhdGUob2JzZXJ2ZXIsIHRoaXMpKTsKLSAgICByZXR1cm4gcmVnaXN0
cnktPmxhc3QoKS5nZXQoKTsKKyAgICBkb2N1bWVudCgpLT5hZGRNdXRhdGlvbk9ic2VydmVyVHlw
ZXMocmVnaXN0cmF0aW9uLT5tdXRhdGlvblR5cGVzKCkpOwogfQogCiB2b2lkIE5vZGU6OnVucmVn
aXN0ZXJNdXRhdGlvbk9ic2VydmVyKE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24qIHJlZ2lz
dHJhdGlvbikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vTm9kZS5oCmluZGV4IDlmM2NmZjEwMTNiZGFkMzM4YTRkZTllOGM5YWJjMDdj
YjI5NmE0NGEuLmYyOTk2ZTgwZDk0Y2QwNjAxZjc3YzY5MGFiNThmYjBkNjM1MjQyZjggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L05vZGUuaApAQCAtNjU2LDcgKzY1Niw3IEBAIHB1YmxpYzoKIAogI2lmIEVOQUJMRShNVVRBVElP
Tl9PQlNFUlZFUlMpCiAgICAgdm9pZCBnZXRSZWdpc3RlcmVkTXV0YXRpb25PYnNlcnZlcnNPZlR5
cGUoSGFzaE1hcDxNdXRhdGlvbk9ic2VydmVyKiwgTXV0YXRpb25SZWNvcmREZWxpdmVyeU9wdGlv
bnM+JiwgTXV0YXRpb25PYnNlcnZlcjo6TXV0YXRpb25UeXBlLCBjb25zdCBRdWFsaWZpZWROYW1l
KiBhdHRyaWJ1dGVOYW1lKTsKLSAgICBNdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uKiByZWdp
c3Rlck11dGF0aW9uT2JzZXJ2ZXIoTXV0YXRpb25PYnNlcnZlciopOworICAgIHZvaWQgcmVnaXN0
ZXJNdXRhdGlvbk9ic2VydmVyKE11dGF0aW9uT2JzZXJ2ZXIqLCBNdXRhdGlvbk9ic2VydmVyT3B0
aW9ucywgY29uc3QgSGFzaFNldDxBdG9taWNTdHJpbmc+JiBhdHRyaWJ1dGVGaWx0ZXIpOwogICAg
IHZvaWQgdW5yZWdpc3Rlck11dGF0aW9uT2JzZXJ2ZXIoTXV0YXRpb25PYnNlcnZlclJlZ2lzdHJh
dGlvbiopOwogICAgIHZvaWQgcmVnaXN0ZXJUcmFuc2llbnRNdXRhdGlvbk9ic2VydmVyKE11dGF0
aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24qKTsKICAgICB2b2lkIHVucmVnaXN0ZXJUcmFuc2llbnRN
dXRhdGlvbk9ic2VydmVyKE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24qKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>166527</attachid>
            <date>2012-10-01 12:31:48 -0700</date>
            <delta_ts>2012-10-01 13:11:54 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-98058-20121001123102.patch</filename>
            <type>text/plain</type>
            <size>7879</size>
            <attacher name="Adam Klein">adamk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMwMDU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzc5YTcyYTUwMjdlODkw
ZWUwNjczNTVkZmRjZTI0YmE3MTBiZjI5OC4uYTM3M2Y3MzQzMjlmZGQ2NTE2Nzg5OThjZWI3MDI2
NjllZjJkMGYyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDEyLTEwLTAxICBBZGFt
IEtsZWluICA8YWRhbWtAY2hyb21pdW0ub3JnPgorCisgICAgICAgIENvbnNvbGlkYXRlIG1vcmUg
TXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbiBsb2dpYyBpbiBOb2RlCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05ODA1OAorCisgICAgICAgIFJldmll
d2VkIGJ5IFJ5b3N1a2UgTml3YS4KKworICAgICAgICBPbmUgcmVtYWluaW5nIG9kZGl0eSBvZiBO
b2RlJ3MgTXV0YXRpb25PYnNlcnZlci1yZWxhdGVkIGludGVyZmFjZSB3YXMKKyAgICAgICAgdGhh
dCByZWdpc3Rlck11dGF0aW9uT2JzZXJ2ZXIgcmV0dXJuZWQgdGhlIHJlc3VsdGluZyBNdXRhdGlv
bk9ic2VydmVyUmVnaXN0cmF0aW9uCisgICAgICAgIG9iamVjdC4KKworICAgICAgICBJbnN0ZWFk
LCBOb2RlIG5vdyBpbnRlcm5hbGx5IGhhbmRsZXMgcmVzZXR0aW5nIHRoZSBvYnNlcnZhdGlvbgor
ICAgICAgICBpZiB0aGUgcmVnaXN0cmF0aW9uIGFscmVhZHkgZXhpc3RzLCBhbmQgdXBkYXRpbmcg
dGhlIERvY3VtZW50J3MgbGlzdCBvZgorICAgICAgICBtdXRhdGlvbiBvYnNlcnZlciB0eXBlcy4K
KworICAgICAgICBObyBjaGFuZ2UgaW4gYmVoYXZpb3IsIHJlZmFjdG9yaW5nIG9ubHkuCisKKyAg
ICAgICAgKiBkb20vTXV0YXRpb25PYnNlcnZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNdXRh
dGlvbk9ic2VydmVyOjpvYnNlcnZlKTogU2ltcGxpZmllZCB0byBqdXN0IGNhbGwKKyAgICAgICAg
Tm9kZTo6cmVnaXN0ZXJNdXRhdGlvbk9ic2VydmVyOyBub3RoaW5nIGVsc2UgaXMgbmVlZGVkLgor
ICAgICAgICAqIGRvbS9NdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6Ok11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb246OmNyZWF0ZSk6IFRha2Ugb3B0
aW9ucyBhbmQgYXR0cmlidXRlRmlsdGVyLAorICAgICAgICBhdm9pZGluZyBhbiB1bm5lY2Vzc2Fy
eSBjYWxsIHRvIHJlc2V0T2JzZXJ2YXRpb24oKS4KKyAgICAgICAgKFdlYkNvcmU6Ok11dGF0aW9u
T2JzZXJ2ZXJSZWdpc3RyYXRpb246Ok11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24pOiBkaXR0
bworICAgICAgICAqIGRvbS9NdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uLmg6CisgICAgICAg
IChNdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uKToKKyAgICAgICAgKiBkb20vTm9kZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpOb2RlOjpyZWdpc3Rlck11dGF0aW9uT2JzZXJ2ZXIpOiBIYW5k
bGUgb2JzZXJ2YXRpb24KKyAgICAgICAgcmVzZXR0aW5nIGlmIHRoYXQgb2JzZXJ2ZXIncyBhbHJl
YWR5IHJlZ2lzdGVyZWQsIGFuZCB1cGRhdGUgdGhlIGxpc3QKKyAgICAgICAgb2YgYWN0aXZlIE11
dGF0aW9uT2JzZXJ2ZXIgdHlwZXMgaW4gdGhlIERvY3VtZW50LgorICAgICAgICAqIGRvbS9Ob2Rl
Lmg6CisgICAgICAgIChOb2RlKToKKwogMjAxMi0xMC0wMSAgWXVyeSBTZW1pa2hhdHNreSAgPHl1
cnlzQGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLiBDaHJvbWl1bSBidWlsZCBm
aXguCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTXV0YXRpb25PYnNlcnZlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vTXV0YXRpb25PYnNlcnZlci5jcHAKaW5kZXggYTQwZDUwN2Zl
NzAwM2EwMjRjYWU2NGM4Y2ViZjhmOGIzNWUxZTM1YS4uMGMyMTBmYTQ2YmFkYTY5MjYzYzRjYThi
MDFkOTI1YmNmODlhMzRkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL011dGF0aW9u
T2JzZXJ2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NdXRhdGlvbk9ic2VydmVyLmNw
cApAQCAtMTE2LDEwICsxMTYsNyBAQCB2b2lkIE11dGF0aW9uT2JzZXJ2ZXI6Om9ic2VydmUoTm9k
ZSogbm9kZSwgY29uc3QgRGljdGlvbmFyeSYgb3B0aW9uc0RpY3Rpb25hcnksCiAgICAgICAgIHJl
dHVybjsKICAgICB9CiAKLSAgICBNdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uKiByZWdpc3Ry
YXRpb24gPSBub2RlLT5yZWdpc3Rlck11dGF0aW9uT2JzZXJ2ZXIodGhpcyk7Ci0gICAgcmVnaXN0
cmF0aW9uLT5yZXNldE9ic2VydmF0aW9uKG9wdGlvbnMsIGF0dHJpYnV0ZUZpbHRlcik7Ci0KLSAg
ICBub2RlLT5kb2N1bWVudCgpLT5hZGRNdXRhdGlvbk9ic2VydmVyVHlwZXMocmVnaXN0cmF0aW9u
LT5tdXRhdGlvblR5cGVzKCkpOworICAgIG5vZGUtPnJlZ2lzdGVyTXV0YXRpb25PYnNlcnZlcih0
aGlzLCBvcHRpb25zLCBhdHRyaWJ1dGVGaWx0ZXIpOwogfQogCiBWZWN0b3I8UmVmUHRyPE11dGF0
aW9uUmVjb3JkPiA+IE11dGF0aW9uT2JzZXJ2ZXI6OnRha2VSZWNvcmRzKCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9NdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9NdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uLmNwcAppbmRleCAy
NTM4MTE3NjM3MDYwNzQ5YmNkOWE5NjZlNTc5OWYyZWIyMTM0ZDNjLi40YzMwYWMzMGNjOGJiOTdi
YWRmZTAwODQzOTUyZWQwYmQ1MjM5NTZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20v
TXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L011dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24uY3BwCkBAIC00MCwxNSArNDAsMTYgQEAKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCi1QYXNzT3duUHRyPE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3Ry
YXRpb24+IE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb246OmNyZWF0ZShQYXNzUmVmUHRyPE11
dGF0aW9uT2JzZXJ2ZXI+IG9ic2VydmVyLCBOb2RlKiByZWdpc3RyYXRpb25Ob2RlKQorUGFzc093
blB0cjxNdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uPiBNdXRhdGlvbk9ic2VydmVyUmVnaXN0
cmF0aW9uOjpjcmVhdGUoUGFzc1JlZlB0cjxNdXRhdGlvbk9ic2VydmVyPiBvYnNlcnZlciwgTm9k
ZSogcmVnaXN0cmF0aW9uTm9kZSwgTXV0YXRpb25PYnNlcnZlck9wdGlvbnMgb3B0aW9ucywgY29u
c3QgSGFzaFNldDxBdG9taWNTdHJpbmc+JiBhdHRyaWJ1dGVGaWx0ZXIpCiB7Ci0gICAgcmV0dXJu
IGFkb3B0UHRyKG5ldyBNdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uKG9ic2VydmVyLCByZWdp
c3RyYXRpb25Ob2RlKSk7CisgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBNdXRhdGlvbk9ic2VydmVy
UmVnaXN0cmF0aW9uKG9ic2VydmVyLCByZWdpc3RyYXRpb25Ob2RlLCBvcHRpb25zLCBhdHRyaWJ1
dGVGaWx0ZXIpKTsKIH0KIAotTXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbjo6TXV0YXRpb25P
YnNlcnZlclJlZ2lzdHJhdGlvbihQYXNzUmVmUHRyPE11dGF0aW9uT2JzZXJ2ZXI+IG9ic2VydmVy
LCBOb2RlKiByZWdpc3RyYXRpb25Ob2RlKQotICAgICA6IG1fb2JzZXJ2ZXIob2JzZXJ2ZXIpCi0g
ICAgICwgbV9yZWdpc3RyYXRpb25Ob2RlKHJlZ2lzdHJhdGlvbk5vZGUpCi0gICAgICwgbV9vcHRp
b25zKDApCitNdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uOjpNdXRhdGlvbk9ic2VydmVyUmVn
aXN0cmF0aW9uKFBhc3NSZWZQdHI8TXV0YXRpb25PYnNlcnZlcj4gb2JzZXJ2ZXIsIE5vZGUqIHJl
Z2lzdHJhdGlvbk5vZGUsIE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zIG9wdGlvbnMsIGNvbnN0IEhh
c2hTZXQ8QXRvbWljU3RyaW5nPiYgYXR0cmlidXRlRmlsdGVyKQorICAgIDogbV9vYnNlcnZlcihv
YnNlcnZlcikKKyAgICAsIG1fcmVnaXN0cmF0aW9uTm9kZShyZWdpc3RyYXRpb25Ob2RlKQorICAg
ICwgbV9vcHRpb25zKG9wdGlvbnMpCisgICAgLCBtX2F0dHJpYnV0ZUZpbHRlcihhdHRyaWJ1dGVG
aWx0ZXIpCiB7CiAgICAgbV9vYnNlcnZlci0+b2JzZXJ2YXRpb25TdGFydGVkKHRoaXMpOwogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL011dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRp
b24uaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uLmgK
aW5kZXggZmQzYTUwNDExNTVmOTFlODVlYzVlNWIyMWY1ZDc2MjNmNzFjMWY3Ni4uYWYyMjJlOGM1
YjRhZDg0MjIzNDQ1NmNmYjYyZWRkMDMxYjg1Y2FiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZG9tL011dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vTXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbi5oCkBAIC00NCw3ICs0NCw3IEBAIGNs
YXNzIFF1YWxpZmllZE5hbWU7CiAKIGNsYXNzIE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24g
ewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzT3duUHRyPE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3Ry
YXRpb24+IGNyZWF0ZShQYXNzUmVmUHRyPE11dGF0aW9uT2JzZXJ2ZXI+LCBOb2RlKik7CisgICAg
c3RhdGljIFBhc3NPd25QdHI8TXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbj4gY3JlYXRlKFBh
c3NSZWZQdHI8TXV0YXRpb25PYnNlcnZlcj4sIE5vZGUqLCBNdXRhdGlvbk9ic2VydmVyT3B0aW9u
cywgY29uc3QgSGFzaFNldDxBdG9taWNTdHJpbmc+JiBhdHRyaWJ1dGVGaWx0ZXIpOwogICAgIH5N
dXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uKCk7CiAKICAgICB2b2lkIHJlc2V0T2JzZXJ2YXRp
b24oTXV0YXRpb25PYnNlcnZlck9wdGlvbnMsIGNvbnN0IEhhc2hTZXQ8QXRvbWljU3RyaW5nPiYg
YXR0cmlidXRlRmlsdGVyKTsKQEAgLTYxLDcgKzYxLDcgQEAgcHVibGljOgogICAgIE11dGF0aW9u
T2JzZXJ2ZXJPcHRpb25zIG11dGF0aW9uVHlwZXMoKSBjb25zdCB7IHJldHVybiBtX29wdGlvbnMg
JiBNdXRhdGlvbk9ic2VydmVyOjpBbGxNdXRhdGlvblR5cGVzOyB9CiAKIHByaXZhdGU6Ci0gICAg
TXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbihQYXNzUmVmUHRyPE11dGF0aW9uT2JzZXJ2ZXI+
LCBOb2RlKik7CisgICAgTXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbihQYXNzUmVmUHRyPE11
dGF0aW9uT2JzZXJ2ZXI+LCBOb2RlKiwgTXV0YXRpb25PYnNlcnZlck9wdGlvbnMsIGNvbnN0IEhh
c2hTZXQ8QXRvbWljU3RyaW5nPiYgYXR0cmlidXRlRmlsdGVyKTsKIAogICAgIFJlZlB0cjxNdXRh
dGlvbk9ic2VydmVyPiBtX29ic2VydmVyOwogICAgIE5vZGUqIG1fcmVnaXN0cmF0aW9uTm9kZTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Ob2RlLmNwcAppbmRleCBkOTZmZDg1ZDQ2NzZlNmY3ZWJlMTA0YTc2YzVlY2VjNjRhNTZh
ODgzLi4yNzc4MGM3N2M5N2M1NWU1ZWNjYzRkOGUwODYwYTdhNjhhYTFiYmUzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL05v
ZGUuY3BwCkBAIC0yNDc4LDE2ICsyNDc4LDIzIEBAIHZvaWQgTm9kZTo6Z2V0UmVnaXN0ZXJlZE11
dGF0aW9uT2JzZXJ2ZXJzT2ZUeXBlKEhhc2hNYXA8TXV0YXRpb25PYnNlcnZlciosIE11dGF0CiAg
ICAgfQogfQogCi1NdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uKiBOb2RlOjpyZWdpc3Rlck11
dGF0aW9uT2JzZXJ2ZXIoTXV0YXRpb25PYnNlcnZlciogb2JzZXJ2ZXIpCit2b2lkIE5vZGU6OnJl
Z2lzdGVyTXV0YXRpb25PYnNlcnZlcihNdXRhdGlvbk9ic2VydmVyKiBvYnNlcnZlciwgTXV0YXRp
b25PYnNlcnZlck9wdGlvbnMgb3B0aW9ucywgY29uc3QgSGFzaFNldDxBdG9taWNTdHJpbmc+JiBh
dHRyaWJ1dGVGaWx0ZXIpCiB7CisgICAgTXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbiogcmVn
aXN0cmF0aW9uID0gMDsKICAgICBWZWN0b3I8T3duUHRyPE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3Ry
YXRpb24+ID4qIHJlZ2lzdHJ5ID0gZW5zdXJlUmFyZURhdGEoKS0+ZW5zdXJlTXV0YXRpb25PYnNl
cnZlclJlZ2lzdHJ5KCk7CiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCByZWdpc3RyeS0+c2l6
ZSgpOyArK2kpIHsKLSAgICAgICAgaWYgKHJlZ2lzdHJ5LT5hdChpKS0+b2JzZXJ2ZXIoKSA9PSBv
YnNlcnZlcikKLSAgICAgICAgICAgIHJldHVybiByZWdpc3RyeS0+YXQoaSkuZ2V0KCk7CisgICAg
ICAgIGlmIChyZWdpc3RyeS0+YXQoaSktPm9ic2VydmVyKCkgPT0gb2JzZXJ2ZXIpIHsKKyAgICAg
ICAgICAgIHJlZ2lzdHJhdGlvbiA9IHJlZ2lzdHJ5LT5hdChpKS5nZXQoKTsKKyAgICAgICAgICAg
IHJlZ2lzdHJhdGlvbi0+cmVzZXRPYnNlcnZhdGlvbihvcHRpb25zLCBhdHRyaWJ1dGVGaWx0ZXIp
OworICAgICAgICB9CisgICAgfQorCisgICAgaWYgKCFyZWdpc3RyYXRpb24pIHsKKyAgICAgICAg
cmVnaXN0cnktPmFwcGVuZChNdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uOjpjcmVhdGUob2Jz
ZXJ2ZXIsIHRoaXMsIG9wdGlvbnMsIGF0dHJpYnV0ZUZpbHRlcikpOworICAgICAgICByZWdpc3Ry
YXRpb24gPSByZWdpc3RyeS0+bGFzdCgpLmdldCgpOwogICAgIH0KIAotICAgIHJlZ2lzdHJ5LT5h
cHBlbmQoTXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbjo6Y3JlYXRlKG9ic2VydmVyLCB0aGlz
KSk7Ci0gICAgcmV0dXJuIHJlZ2lzdHJ5LT5sYXN0KCkuZ2V0KCk7CisgICAgZG9jdW1lbnQoKS0+
YWRkTXV0YXRpb25PYnNlcnZlclR5cGVzKHJlZ2lzdHJhdGlvbi0+bXV0YXRpb25UeXBlcygpKTsK
IH0KIAogdm9pZCBOb2RlOjp1bnJlZ2lzdGVyTXV0YXRpb25PYnNlcnZlcihNdXRhdGlvbk9ic2Vy
dmVyUmVnaXN0cmF0aW9uKiByZWdpc3RyYXRpb24pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vTm9kZS5oIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuaAppbmRleCA5ZjNjZmYxMDEz
YmRhZDMzOGE0ZGU5ZThjOWFiYzA3Y2IyOTZhNDRhLi5mMjk5NmU4MGQ5NGNkMDYwMWY3N2M2OTBh
YjU4ZmIwZDYzNTI0MmY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmgKQEAgLTY1Niw3ICs2NTYsNyBAQCBwdWJsaWM6
CiAKICNpZiBFTkFCTEUoTVVUQVRJT05fT0JTRVJWRVJTKQogICAgIHZvaWQgZ2V0UmVnaXN0ZXJl
ZE11dGF0aW9uT2JzZXJ2ZXJzT2ZUeXBlKEhhc2hNYXA8TXV0YXRpb25PYnNlcnZlciosIE11dGF0
aW9uUmVjb3JkRGVsaXZlcnlPcHRpb25zPiYsIE11dGF0aW9uT2JzZXJ2ZXI6Ok11dGF0aW9uVHlw
ZSwgY29uc3QgUXVhbGlmaWVkTmFtZSogYXR0cmlidXRlTmFtZSk7Ci0gICAgTXV0YXRpb25PYnNl
cnZlclJlZ2lzdHJhdGlvbiogcmVnaXN0ZXJNdXRhdGlvbk9ic2VydmVyKE11dGF0aW9uT2JzZXJ2
ZXIqKTsKKyAgICB2b2lkIHJlZ2lzdGVyTXV0YXRpb25PYnNlcnZlcihNdXRhdGlvbk9ic2VydmVy
KiwgTXV0YXRpb25PYnNlcnZlck9wdGlvbnMsIGNvbnN0IEhhc2hTZXQ8QXRvbWljU3RyaW5nPiYg
YXR0cmlidXRlRmlsdGVyKTsKICAgICB2b2lkIHVucmVnaXN0ZXJNdXRhdGlvbk9ic2VydmVyKE11
dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24qKTsKICAgICB2b2lkIHJlZ2lzdGVyVHJhbnNpZW50
TXV0YXRpb25PYnNlcnZlcihNdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uKik7CiAgICAgdm9p
ZCB1bnJlZ2lzdGVyVHJhbnNpZW50TXV0YXRpb25PYnNlcnZlcihNdXRhdGlvbk9ic2VydmVyUmVn
aXN0cmF0aW9uKik7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>