<?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>129775</bug_id>
          
          <creation_ts>2014-03-05 21:24:17 -0800</creation_ts>
          <short_desc>Optimize collectionLast() and collectionTraverseBackward() in LiveNodeList</short_desc>
          <delta_ts>2014-03-07 02:37:14 -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>DOM</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="Jinwoo Song">jinwoo7.song</reporter>
          <assigned_to name="Jinwoo Song">jinwoo7.song</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>kangil.han</cc>
    
    <cc>kling</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>987550</commentid>
    <comment_count>0</comment_count>
    <who name="Jinwoo Song">jinwoo7.song</who>
    <bug_when>2014-03-05 21:24:17 -0800</bug_when>
    <thetext>Backward traversing in LiveNodeList is left to be optimized similarly to forwarding case in r158698.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>987562</commentid>
    <comment_count>1</comment_count>
      <attachid>225953</attachid>
    <who name="Jinwoo Song">jinwoo7.song</who>
    <bug_when>2014-03-05 22:09:16 -0800</bug_when>
    <thetext>Created attachment 225953
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>988056</commentid>
    <comment_count>2</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2014-03-07 00:13:28 -0800</bug_when>
    <thetext>CC&apos;ing Ryosuke who was working on this recently.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>988060</commentid>
    <comment_count>3</comment_count>
      <attachid>225953</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2014-03-07 00:23:10 -0800</bug_when>
    <thetext>Comment on attachment 225953
Patch

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

&gt; Source/WebCore/dom/LiveNodeList.cpp:112
&gt; +    for (unsigned traversedCount = 0; traversedCount &lt; count; ++traversedCount) {

We don&apos;t need traversedCount. Simply decrement count instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>988072</commentid>
    <comment_count>4</comment_count>
      <attachid>226097</attachid>
    <who name="Jinwoo Song">jinwoo7.song</who>
    <bug_when>2014-03-07 01:36:24 -0800</bug_when>
    <thetext>Created attachment 226097
Patch

Applied Ryosuke&apos;s comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>988085</commentid>
    <comment_count>5</comment_count>
      <attachid>226097</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-03-07 02:37:11 -0800</bug_when>
    <thetext>Comment on attachment 226097
Patch

Clearing flags on attachment: 226097

Committed r165254: &lt;http://trac.webkit.org/changeset/165254&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>988086</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-03-07 02:37:14 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>225953</attachid>
            <date>2014-03-05 22:09:16 -0800</date>
            <delta_ts>2014-03-07 01:36:18 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-129775-20140306150914.patch</filename>
            <type>text/plain</type>
            <size>5685</size>
            <attacher name="Jinwoo Song">jinwoo7.song</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY1MTcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2YzNzFjZTJiOTY4ZjY5
OWY1NTUzNzAyNGFjMDBiNzUzOTFkMmE1NC4uMWE4MjIzOTJlMzM5NmNhODU3MTkyYWQ5OTU2ZmY5
YjM1OTE3NWJhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE0LTAzLTA1ICBKaW53
b28gU29uZyAgPGppbndvbzcuc29uZ0BzYW1zdW5nLmNvbT4KKworICAgICAgICBPcHRpbWl6ZSBj
b2xsZWN0aW9uTGFzdCgpIGFuZCBjb2xsZWN0aW9uVHJhdmVyc2VCYWNrd2FyZCgpIGluIExpdmVO
b2RlTGlzdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTI5Nzc1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
Q2hlY2sgdGhlIExpdmVOb2RlTGlzdCB0eXBlIGlmIGl0IGlzIEhUTUxUYWdOb2RlTGlzdFR5cGUg
YW5kIENsYXNzTm9kZUxpc3RUeXBlIHRoZW4KKyAgICAgICAgYXBwbHkgaW5saW5lZCBtYXRjaGlu
ZyBtZXRob2RzIGZvciBlYWNoIHR5cGUuCisKKyAgICAgICAgKiBkb20vTGl2ZU5vZGVMaXN0LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6Omxhc3RNYXRjaGluZ0VsZW1lbnQpOiBBZGRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OnByZXZpb3VzTWF0Y2hpbmdFbGVtZW50KTogQWRkZWQuCisgICAgICAgIChX
ZWJDb3JlOjp0cmF2ZXJzZU1hdGNoaW5nRWxlbWVudHNCYWNrd2FyZCk6IEFkZGVkLgorICAgICAg
ICAoV2ViQ29yZTo6TGl2ZU5vZGVMaXN0Ojpjb2xsZWN0aW9uTGFzdCk6IEFwcGx5IGxhc3RNYXRj
aGluZ0VsZW1lbnQoKSB3aXRoIExpdmVOb2RlTGlzdCB0eXBlLgorICAgICAgICAoV2ViQ29yZTo6
TGl2ZU5vZGVMaXN0Ojpjb2xsZWN0aW9uVHJhdmVyc2VCYWNrd2FyZCk6IEFwcGx5IHRyYXZlcnNl
TWF0Y2hpbmdFbGVtZW50c0JhY2t3YXJkKCkKKyAgICAgICAgd2l0aCBMaXZlTm9kZUxpc3QgdHlw
ZS4KKwogMjAxNC0wMy0wNSAgUnl1YW4gQ2hvaSAgPHJ5dWFuLmNob2lAc2Ftc3VuZy5jb20+CiAK
ICAgICAgICAgUmVtb3ZlIHVudXNlZCBtZXRob2QgZnJvbSBWaWJyYXRpb24KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9MaXZlTm9kZUxpc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9t
L0xpdmVOb2RlTGlzdC5jcHAKaW5kZXggYzUzOTkxM2M3M2U4YzBmNDNkYTJmNTdiYTc4ZDA2ZWYw
ZWIwZDcyMS4uNmVhYmQ1NTkzZDZiMDZiNzU3ZGZkYzkwYTVlNzliMTBmYWMyNWU1ZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0xpdmVOb2RlTGlzdC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL0xpdmVOb2RlTGlzdC5jcHAKQEAgLTU3LDE2ICs1Nyw2IEBAIHRlbXBsYXRlIDw+
IGlubGluZSBib29sIGlzTWF0Y2hpbmdFbGVtZW50KGNvbnN0IENsYXNzTm9kZUxpc3QqIG5vZGVM
aXN0LCBFbGVtZW50CiAgICAgcmV0dXJuIG5vZGVMaXN0LT5ub2RlTWF0Y2hlc0lubGluZWQoZWxl
bWVudCk7CiB9CiAKLUFMV0FZU19JTkxJTkUgRWxlbWVudCogTGl2ZU5vZGVMaXN0OjppdGVyYXRl
Rm9yUHJldmlvdXNFbGVtZW50KEVsZW1lbnQqIGN1cnJlbnQpIGNvbnN0Ci17Ci0gICAgQ29udGFp
bmVyTm9kZSYgcm9vdE5vZGUgPSB0aGlzLT5yb290Tm9kZSgpOwotICAgIGZvciAoOyBjdXJyZW50
OyBjdXJyZW50ID0gRWxlbWVudFRyYXZlcnNhbDo6cHJldmlvdXMoY3VycmVudCwgJnJvb3ROb2Rl
KSkgewotICAgICAgICBpZiAoaXNNYXRjaGluZ0VsZW1lbnQoc3RhdGljX2Nhc3Q8Y29uc3QgTGl2
ZU5vZGVMaXN0Kj4odGhpcyksIGN1cnJlbnQpKQotICAgICAgICAgICAgcmV0dXJuIGN1cnJlbnQ7
Ci0gICAgfQotICAgIHJldHVybiAwOwotfQotCiB0ZW1wbGF0ZSA8Y2xhc3MgTm9kZUxpc3RUeXBl
PgogaW5saW5lIEVsZW1lbnQqIGZpcnN0TWF0Y2hpbmdFbGVtZW50KGNvbnN0IE5vZGVMaXN0VHlw
ZSogbm9kZUxpc3QsIENvbnRhaW5lck5vZGUmIHJvb3QpCiB7CkBAIC03Nyw2ICs2NywxNSBAQCBp
bmxpbmUgRWxlbWVudCogZmlyc3RNYXRjaGluZ0VsZW1lbnQoY29uc3QgTm9kZUxpc3RUeXBlKiBu
b2RlTGlzdCwgQ29udGFpbmVyTm9kZQogfQogCiB0ZW1wbGF0ZSA8Y2xhc3MgTm9kZUxpc3RUeXBl
PgoraW5saW5lIEVsZW1lbnQqIGxhc3RNYXRjaGluZ0VsZW1lbnQoY29uc3QgTm9kZUxpc3RUeXBl
KiBub2RlTGlzdCwgQ29udGFpbmVyTm9kZSYgcm9vdCkKK3sKKyAgICBFbGVtZW50KiBlbGVtZW50
ID0gRWxlbWVudFRyYXZlcnNhbDo6bGFzdFdpdGhpbigmcm9vdCk7CisgICAgd2hpbGUgKGVsZW1l
bnQgJiYgIWlzTWF0Y2hpbmdFbGVtZW50KG5vZGVMaXN0LCBlbGVtZW50KSkKKyAgICAgICAgZWxl
bWVudCA9IEVsZW1lbnRUcmF2ZXJzYWw6OnByZXZpb3VzKGVsZW1lbnQsICZyb290KTsKKyAgICBy
ZXR1cm4gZWxlbWVudDsKK30KKwordGVtcGxhdGUgPGNsYXNzIE5vZGVMaXN0VHlwZT4KIGlubGlu
ZSBFbGVtZW50KiBuZXh0TWF0Y2hpbmdFbGVtZW50KGNvbnN0IE5vZGVMaXN0VHlwZSogbm9kZUxp
c3QsIEVsZW1lbnQqIGN1cnJlbnQsIENvbnRhaW5lck5vZGUmIHJvb3QpCiB7CiAgICAgZG8gewpA
QCAtODYsNiArODUsMTUgQEAgaW5saW5lIEVsZW1lbnQqIG5leHRNYXRjaGluZ0VsZW1lbnQoY29u
c3QgTm9kZUxpc3RUeXBlKiBub2RlTGlzdCwgRWxlbWVudCogY3VycmUKIH0KIAogdGVtcGxhdGUg
PGNsYXNzIE5vZGVMaXN0VHlwZT4KK2lubGluZSBFbGVtZW50KiBwcmV2aW91c01hdGNoaW5nRWxl
bWVudChjb25zdCBOb2RlTGlzdFR5cGUqIG5vZGVMaXN0LCBFbGVtZW50KiBjdXJyZW50LCBDb250
YWluZXJOb2RlJiByb290KQoreworICAgIGRvIHsKKyAgICAgICAgY3VycmVudCA9IEVsZW1lbnRU
cmF2ZXJzYWw6OnByZXZpb3VzKGN1cnJlbnQsICZyb290KTsKKyAgICB9IHdoaWxlIChjdXJyZW50
ICYmICFpc01hdGNoaW5nRWxlbWVudChub2RlTGlzdCwgY3VycmVudCkpOworICAgIHJldHVybiBj
dXJyZW50OworfQorCit0ZW1wbGF0ZSA8Y2xhc3MgTm9kZUxpc3RUeXBlPgogaW5saW5lIEVsZW1l
bnQqIHRyYXZlcnNlTWF0Y2hpbmdFbGVtZW50c0ZvcndhcmQoY29uc3QgTm9kZUxpc3RUeXBlKiBu
b2RlTGlzdCwgRWxlbWVudCYgY3VycmVudCwgdW5zaWduZWQgY291bnQsIHVuc2lnbmVkJiB0cmF2
ZXJzZWRDb3VudCwgQ29udGFpbmVyTm9kZSYgcm9vdCkKIHsKICAgICBFbGVtZW50KiBlbGVtZW50
ID0gJmN1cnJlbnQ7CkBAIC05Nyw2ICsxMDUsMTggQEAgaW5saW5lIEVsZW1lbnQqIHRyYXZlcnNl
TWF0Y2hpbmdFbGVtZW50c0ZvcndhcmQoY29uc3QgTm9kZUxpc3RUeXBlKiBub2RlTGlzdCwgRWwK
ICAgICByZXR1cm4gZWxlbWVudDsKIH0KIAordGVtcGxhdGUgPGNsYXNzIE5vZGVMaXN0VHlwZT4K
K2lubGluZSBFbGVtZW50KiB0cmF2ZXJzZU1hdGNoaW5nRWxlbWVudHNCYWNrd2FyZChjb25zdCBO
b2RlTGlzdFR5cGUqIG5vZGVMaXN0LCBFbGVtZW50JiBjdXJyZW50LCB1bnNpZ25lZCBjb3VudCwg
Q29udGFpbmVyTm9kZSYgcm9vdCkKK3sKKyAgICBFbGVtZW50KiBlbGVtZW50ID0gJmN1cnJlbnQ7
CisgICAgZm9yICh1bnNpZ25lZCB0cmF2ZXJzZWRDb3VudCA9IDA7IHRyYXZlcnNlZENvdW50IDwg
Y291bnQ7ICsrdHJhdmVyc2VkQ291bnQpIHsKKyAgICAgICAgZWxlbWVudCA9IHByZXZpb3VzTWF0
Y2hpbmdFbGVtZW50KG5vZGVMaXN0LCBlbGVtZW50LCByb290KTsKKyAgICAgICAgaWYgKCFlbGVt
ZW50KQorICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgfQorICAgIHJldHVybiBlbGVt
ZW50OworfQorCiBFbGVtZW50KiBMaXZlTm9kZUxpc3Q6OmNvbGxlY3Rpb25GaXJzdCgpIGNvbnN0
CiB7CiAgICAgYXV0byYgcm9vdCA9IHJvb3ROb2RlKCk7CkBAIC0xMDksOCArMTI5LDEyIEBAIEVs
ZW1lbnQqIExpdmVOb2RlTGlzdDo6Y29sbGVjdGlvbkZpcnN0KCkgY29uc3QKIAogRWxlbWVudCog
TGl2ZU5vZGVMaXN0Ojpjb2xsZWN0aW9uTGFzdCgpIGNvbnN0CiB7Ci0gICAgLy8gRklYTUU6IFRo
aXMgc2hvdWxkIGJlIG9wdGltaXplZCBzaW1pbGFybHkgdG8gdGhlIGZvcndhcmQgY2FzZS4KLSAg
ICByZXR1cm4gaXRlcmF0ZUZvclByZXZpb3VzRWxlbWVudChFbGVtZW50VHJhdmVyc2FsOjpsYXN0
V2l0aGluKCZyb290Tm9kZSgpKSk7CisgICAgYXV0byYgcm9vdCA9IHJvb3ROb2RlKCk7CisgICAg
aWYgKHR5cGUoKSA9PSBUeXBlOjpIVE1MVGFnTm9kZUxpc3RUeXBlKQorICAgICAgICByZXR1cm4g
bGFzdE1hdGNoaW5nRWxlbWVudChzdGF0aWNfY2FzdDxjb25zdCBIVE1MVGFnTm9kZUxpc3QqPih0
aGlzKSwgcm9vdCk7CisgICAgaWYgKHR5cGUoKSA9PSBUeXBlOjpDbGFzc05vZGVMaXN0VHlwZSkK
KyAgICAgICAgcmV0dXJuIGxhc3RNYXRjaGluZ0VsZW1lbnQoc3RhdGljX2Nhc3Q8Y29uc3QgQ2xh
c3NOb2RlTGlzdCo+KHRoaXMpLCByb290KTsKKyAgICByZXR1cm4gbGFzdE1hdGNoaW5nRWxlbWVu
dChzdGF0aWNfY2FzdDxjb25zdCBMaXZlTm9kZUxpc3QqPih0aGlzKSwgcm9vdCk7CiB9CiAKIEVs
ZW1lbnQqIExpdmVOb2RlTGlzdDo6Y29sbGVjdGlvblRyYXZlcnNlRm9yd2FyZChFbGVtZW50JiBj
dXJyZW50LCB1bnNpZ25lZCBjb3VudCwgdW5zaWduZWQmIHRyYXZlcnNlZENvdW50KSBjb25zdApA
QCAtMTI1LDEyICsxNDksMTIgQEAgRWxlbWVudCogTGl2ZU5vZGVMaXN0Ojpjb2xsZWN0aW9uVHJh
dmVyc2VGb3J3YXJkKEVsZW1lbnQmIGN1cnJlbnQsIHVuc2lnbmVkIGNvdW4KIAogRWxlbWVudCog
TGl2ZU5vZGVMaXN0Ojpjb2xsZWN0aW9uVHJhdmVyc2VCYWNrd2FyZChFbGVtZW50JiBjdXJyZW50
LCB1bnNpZ25lZCBjb3VudCkgY29uc3QKIHsKLSAgICAvLyBGSVhNRTogVGhpcyBzaG91bGQgYmUg
b3B0aW1pemVkIHNpbWlsYXJseSB0byB0aGUgZm9yd2FyZCBjYXNlLgogICAgIGF1dG8mIHJvb3Qg
PSByb290Tm9kZSgpOwotICAgIEVsZW1lbnQqIGVsZW1lbnQgPSAmY3VycmVudDsKLSAgICBmb3Ig
KDsgY291bnQgJiYgZWxlbWVudCA7IC0tY291bnQpCi0gICAgICAgIGVsZW1lbnQgPSBpdGVyYXRl
Rm9yUHJldmlvdXNFbGVtZW50KEVsZW1lbnRUcmF2ZXJzYWw6OnByZXZpb3VzKGVsZW1lbnQsICZy
b290KSk7Ci0gICAgcmV0dXJuIGVsZW1lbnQ7CisgICAgaWYgKHR5cGUoKSA9PSBUeXBlOjpIVE1M
VGFnTm9kZUxpc3RUeXBlKQorICAgICAgICByZXR1cm4gdHJhdmVyc2VNYXRjaGluZ0VsZW1lbnRz
QmFja3dhcmQoc3RhdGljX2Nhc3Q8Y29uc3QgSFRNTFRhZ05vZGVMaXN0Kj4odGhpcyksIGN1cnJl
bnQsIGNvdW50LCByb290KTsKKyAgICBpZiAodHlwZSgpID09IFR5cGU6OkNsYXNzTm9kZUxpc3RU
eXBlKQorICAgICAgICByZXR1cm4gdHJhdmVyc2VNYXRjaGluZ0VsZW1lbnRzQmFja3dhcmQoc3Rh
dGljX2Nhc3Q8Y29uc3QgQ2xhc3NOb2RlTGlzdCo+KHRoaXMpLCBjdXJyZW50LCBjb3VudCwgcm9v
dCk7CisgICAgcmV0dXJuIHRyYXZlcnNlTWF0Y2hpbmdFbGVtZW50c0JhY2t3YXJkKHN0YXRpY19j
YXN0PGNvbnN0IExpdmVOb2RlTGlzdCo+KHRoaXMpLCBjdXJyZW50LCBjb3VudCwgcm9vdCk7CiB9
CiAKIHVuc2lnbmVkIExpdmVOb2RlTGlzdDo6bGVuZ3RoKCkgY29uc3QK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>226097</attachid>
            <date>2014-03-07 01:36:24 -0800</date>
            <delta_ts>2014-03-07 02:37:11 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-129775-20140307183620.patch</filename>
            <type>text/plain</type>
            <size>5666</size>
            <attacher name="Jinwoo Song">jinwoo7.song</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY1MjUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTkxOTNkNDZjZjZiZmI1
ZjcyNjYxMDk0MTZhNThhY2RjNDcwYWY5Zi4uNGJlMzRjNmQxMDU1OGFhMjUxMDYyN2M4MGY4MWMz
YTlmNjU0ZjA0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE0LTAzLTA3ICBKaW53
b28gU29uZyAgPGppbndvbzcuc29uZ0BzYW1zdW5nLmNvbT4KKworICAgICAgICBPcHRpbWl6ZSBj
b2xsZWN0aW9uTGFzdCgpIGFuZCBjb2xsZWN0aW9uVHJhdmVyc2VCYWNrd2FyZCgpIGluIExpdmVO
b2RlTGlzdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTI5Nzc1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
Q2hlY2sgdGhlIExpdmVOb2RlTGlzdCB0eXBlIGlmIGl0IGlzIEhUTUxUYWdOb2RlTGlzdFR5cGUg
YW5kIENsYXNzTm9kZUxpc3RUeXBlIHRoZW4KKyAgICAgICAgYXBwbHkgaW5saW5lZCBtYXRjaGlu
ZyBtZXRob2RzIGZvciBlYWNoIHR5cGUuCisKKyAgICAgICAgKiBkb20vTGl2ZU5vZGVMaXN0LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6Omxhc3RNYXRjaGluZ0VsZW1lbnQpOiBBZGRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OnByZXZpb3VzTWF0Y2hpbmdFbGVtZW50KTogQWRkZWQuCisgICAgICAgIChX
ZWJDb3JlOjp0cmF2ZXJzZU1hdGNoaW5nRWxlbWVudHNCYWNrd2FyZCk6IEFkZGVkLgorICAgICAg
ICAoV2ViQ29yZTo6TGl2ZU5vZGVMaXN0Ojpjb2xsZWN0aW9uTGFzdCk6IEFwcGx5IGxhc3RNYXRj
aGluZ0VsZW1lbnQoKSB3aXRoIExpdmVOb2RlTGlzdCB0eXBlLgorICAgICAgICAoV2ViQ29yZTo6
TGl2ZU5vZGVMaXN0Ojpjb2xsZWN0aW9uVHJhdmVyc2VCYWNrd2FyZCk6IEFwcGx5IHRyYXZlcnNl
TWF0Y2hpbmdFbGVtZW50c0JhY2t3YXJkKCkKKyAgICAgICAgd2l0aCBMaXZlTm9kZUxpc3QgdHlw
ZS4KKwogMjAxNC0wMy0wNiAgQW5kcmVhcyBLbGluZyAgPGFrbGluZ0BhcHBsZS5jb20+CiAKICAg
ICAgICAgV2ViQ29yZVJlc291cmNlSGFuZGxlQXNPcGVyYXRpb25RdWV1ZURlbGVnYXRlIG92ZXIt
cmV0YWlucyBOU1VSTFJlcXVlc3QuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTGl2
ZU5vZGVMaXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9MaXZlTm9kZUxpc3QuY3BwCmluZGV4
IGM1Mzk5MTNjNzNlOGMwZjQzZGEyZjU3YmE3OGQwNmVmMGViMGQ3MjEuLjE3NzI3YWE0YzQ3ZjQ0
M2IyNjk1YWEyYjI5MzM3ZGJkMmQ0NDc3ZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9MaXZlTm9kZUxpc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9MaXZlTm9kZUxpc3Qu
Y3BwCkBAIC01NywxNiArNTcsNiBAQCB0ZW1wbGF0ZSA8PiBpbmxpbmUgYm9vbCBpc01hdGNoaW5n
RWxlbWVudChjb25zdCBDbGFzc05vZGVMaXN0KiBub2RlTGlzdCwgRWxlbWVudAogICAgIHJldHVy
biBub2RlTGlzdC0+bm9kZU1hdGNoZXNJbmxpbmVkKGVsZW1lbnQpOwogfQogCi1BTFdBWVNfSU5M
SU5FIEVsZW1lbnQqIExpdmVOb2RlTGlzdDo6aXRlcmF0ZUZvclByZXZpb3VzRWxlbWVudChFbGVt
ZW50KiBjdXJyZW50KSBjb25zdAotewotICAgIENvbnRhaW5lck5vZGUmIHJvb3ROb2RlID0gdGhp
cy0+cm9vdE5vZGUoKTsKLSAgICBmb3IgKDsgY3VycmVudDsgY3VycmVudCA9IEVsZW1lbnRUcmF2
ZXJzYWw6OnByZXZpb3VzKGN1cnJlbnQsICZyb290Tm9kZSkpIHsKLSAgICAgICAgaWYgKGlzTWF0
Y2hpbmdFbGVtZW50KHN0YXRpY19jYXN0PGNvbnN0IExpdmVOb2RlTGlzdCo+KHRoaXMpLCBjdXJy
ZW50KSkKLSAgICAgICAgICAgIHJldHVybiBjdXJyZW50OwotICAgIH0KLSAgICByZXR1cm4gMDsK
LX0KLQogdGVtcGxhdGUgPGNsYXNzIE5vZGVMaXN0VHlwZT4KIGlubGluZSBFbGVtZW50KiBmaXJz
dE1hdGNoaW5nRWxlbWVudChjb25zdCBOb2RlTGlzdFR5cGUqIG5vZGVMaXN0LCBDb250YWluZXJO
b2RlJiByb290KQogewpAQCAtNzcsNiArNjcsMTUgQEAgaW5saW5lIEVsZW1lbnQqIGZpcnN0TWF0
Y2hpbmdFbGVtZW50KGNvbnN0IE5vZGVMaXN0VHlwZSogbm9kZUxpc3QsIENvbnRhaW5lck5vZGUK
IH0KIAogdGVtcGxhdGUgPGNsYXNzIE5vZGVMaXN0VHlwZT4KK2lubGluZSBFbGVtZW50KiBsYXN0
TWF0Y2hpbmdFbGVtZW50KGNvbnN0IE5vZGVMaXN0VHlwZSogbm9kZUxpc3QsIENvbnRhaW5lck5v
ZGUmIHJvb3QpCit7CisgICAgRWxlbWVudCogZWxlbWVudCA9IEVsZW1lbnRUcmF2ZXJzYWw6Omxh
c3RXaXRoaW4oJnJvb3QpOworICAgIHdoaWxlIChlbGVtZW50ICYmICFpc01hdGNoaW5nRWxlbWVu
dChub2RlTGlzdCwgZWxlbWVudCkpCisgICAgICAgIGVsZW1lbnQgPSBFbGVtZW50VHJhdmVyc2Fs
OjpwcmV2aW91cyhlbGVtZW50LCAmcm9vdCk7CisgICAgcmV0dXJuIGVsZW1lbnQ7Cit9CisKK3Rl
bXBsYXRlIDxjbGFzcyBOb2RlTGlzdFR5cGU+CiBpbmxpbmUgRWxlbWVudCogbmV4dE1hdGNoaW5n
RWxlbWVudChjb25zdCBOb2RlTGlzdFR5cGUqIG5vZGVMaXN0LCBFbGVtZW50KiBjdXJyZW50LCBD
b250YWluZXJOb2RlJiByb290KQogewogICAgIGRvIHsKQEAgLTg2LDYgKzg1LDE1IEBAIGlubGlu
ZSBFbGVtZW50KiBuZXh0TWF0Y2hpbmdFbGVtZW50KGNvbnN0IE5vZGVMaXN0VHlwZSogbm9kZUxp
c3QsIEVsZW1lbnQqIGN1cnJlCiB9CiAKIHRlbXBsYXRlIDxjbGFzcyBOb2RlTGlzdFR5cGU+Citp
bmxpbmUgRWxlbWVudCogcHJldmlvdXNNYXRjaGluZ0VsZW1lbnQoY29uc3QgTm9kZUxpc3RUeXBl
KiBub2RlTGlzdCwgRWxlbWVudCogY3VycmVudCwgQ29udGFpbmVyTm9kZSYgcm9vdCkKK3sKKyAg
ICBkbyB7CisgICAgICAgIGN1cnJlbnQgPSBFbGVtZW50VHJhdmVyc2FsOjpwcmV2aW91cyhjdXJy
ZW50LCAmcm9vdCk7CisgICAgfSB3aGlsZSAoY3VycmVudCAmJiAhaXNNYXRjaGluZ0VsZW1lbnQo
bm9kZUxpc3QsIGN1cnJlbnQpKTsKKyAgICByZXR1cm4gY3VycmVudDsKK30KKwordGVtcGxhdGUg
PGNsYXNzIE5vZGVMaXN0VHlwZT4KIGlubGluZSBFbGVtZW50KiB0cmF2ZXJzZU1hdGNoaW5nRWxl
bWVudHNGb3J3YXJkKGNvbnN0IE5vZGVMaXN0VHlwZSogbm9kZUxpc3QsIEVsZW1lbnQmIGN1cnJl
bnQsIHVuc2lnbmVkIGNvdW50LCB1bnNpZ25lZCYgdHJhdmVyc2VkQ291bnQsIENvbnRhaW5lck5v
ZGUmIHJvb3QpCiB7CiAgICAgRWxlbWVudCogZWxlbWVudCA9ICZjdXJyZW50OwpAQCAtOTcsNiAr
MTA1LDE4IEBAIGlubGluZSBFbGVtZW50KiB0cmF2ZXJzZU1hdGNoaW5nRWxlbWVudHNGb3J3YXJk
KGNvbnN0IE5vZGVMaXN0VHlwZSogbm9kZUxpc3QsIEVsCiAgICAgcmV0dXJuIGVsZW1lbnQ7CiB9
CiAKK3RlbXBsYXRlIDxjbGFzcyBOb2RlTGlzdFR5cGU+CitpbmxpbmUgRWxlbWVudCogdHJhdmVy
c2VNYXRjaGluZ0VsZW1lbnRzQmFja3dhcmQoY29uc3QgTm9kZUxpc3RUeXBlKiBub2RlTGlzdCwg
RWxlbWVudCYgY3VycmVudCwgdW5zaWduZWQgY291bnQsIENvbnRhaW5lck5vZGUmIHJvb3QpCit7
CisgICAgRWxlbWVudCogZWxlbWVudCA9ICZjdXJyZW50OworICAgIGZvciAoOyBjb3VudDsgLS1j
b3VudCkgeworICAgICAgICBlbGVtZW50ID0gcHJldmlvdXNNYXRjaGluZ0VsZW1lbnQobm9kZUxp
c3QsIGVsZW1lbnQsIHJvb3QpOworICAgICAgICBpZiAoIWVsZW1lbnQpCisgICAgICAgICAgICBy
ZXR1cm4gbnVsbHB0cjsKKyAgICB9CisgICAgcmV0dXJuIGVsZW1lbnQ7Cit9CisKIEVsZW1lbnQq
IExpdmVOb2RlTGlzdDo6Y29sbGVjdGlvbkZpcnN0KCkgY29uc3QKIHsKICAgICBhdXRvJiByb290
ID0gcm9vdE5vZGUoKTsKQEAgLTEwOSw4ICsxMjksMTIgQEAgRWxlbWVudCogTGl2ZU5vZGVMaXN0
Ojpjb2xsZWN0aW9uRmlyc3QoKSBjb25zdAogCiBFbGVtZW50KiBMaXZlTm9kZUxpc3Q6OmNvbGxl
Y3Rpb25MYXN0KCkgY29uc3QKIHsKLSAgICAvLyBGSVhNRTogVGhpcyBzaG91bGQgYmUgb3B0aW1p
emVkIHNpbWlsYXJseSB0byB0aGUgZm9yd2FyZCBjYXNlLgotICAgIHJldHVybiBpdGVyYXRlRm9y
UHJldmlvdXNFbGVtZW50KEVsZW1lbnRUcmF2ZXJzYWw6Omxhc3RXaXRoaW4oJnJvb3ROb2RlKCkp
KTsKKyAgICBhdXRvJiByb290ID0gcm9vdE5vZGUoKTsKKyAgICBpZiAodHlwZSgpID09IFR5cGU6
OkhUTUxUYWdOb2RlTGlzdFR5cGUpCisgICAgICAgIHJldHVybiBsYXN0TWF0Y2hpbmdFbGVtZW50
KHN0YXRpY19jYXN0PGNvbnN0IEhUTUxUYWdOb2RlTGlzdCo+KHRoaXMpLCByb290KTsKKyAgICBp
ZiAodHlwZSgpID09IFR5cGU6OkNsYXNzTm9kZUxpc3RUeXBlKQorICAgICAgICByZXR1cm4gbGFz
dE1hdGNoaW5nRWxlbWVudChzdGF0aWNfY2FzdDxjb25zdCBDbGFzc05vZGVMaXN0Kj4odGhpcyks
IHJvb3QpOworICAgIHJldHVybiBsYXN0TWF0Y2hpbmdFbGVtZW50KHN0YXRpY19jYXN0PGNvbnN0
IExpdmVOb2RlTGlzdCo+KHRoaXMpLCByb290KTsKIH0KIAogRWxlbWVudCogTGl2ZU5vZGVMaXN0
Ojpjb2xsZWN0aW9uVHJhdmVyc2VGb3J3YXJkKEVsZW1lbnQmIGN1cnJlbnQsIHVuc2lnbmVkIGNv
dW50LCB1bnNpZ25lZCYgdHJhdmVyc2VkQ291bnQpIGNvbnN0CkBAIC0xMjUsMTIgKzE0OSwxMiBA
QCBFbGVtZW50KiBMaXZlTm9kZUxpc3Q6OmNvbGxlY3Rpb25UcmF2ZXJzZUZvcndhcmQoRWxlbWVu
dCYgY3VycmVudCwgdW5zaWduZWQgY291bgogCiBFbGVtZW50KiBMaXZlTm9kZUxpc3Q6OmNvbGxl
Y3Rpb25UcmF2ZXJzZUJhY2t3YXJkKEVsZW1lbnQmIGN1cnJlbnQsIHVuc2lnbmVkIGNvdW50KSBj
b25zdAogewotICAgIC8vIEZJWE1FOiBUaGlzIHNob3VsZCBiZSBvcHRpbWl6ZWQgc2ltaWxhcmx5
IHRvIHRoZSBmb3J3YXJkIGNhc2UuCiAgICAgYXV0byYgcm9vdCA9IHJvb3ROb2RlKCk7Ci0gICAg
RWxlbWVudCogZWxlbWVudCA9ICZjdXJyZW50OwotICAgIGZvciAoOyBjb3VudCAmJiBlbGVtZW50
IDsgLS1jb3VudCkKLSAgICAgICAgZWxlbWVudCA9IGl0ZXJhdGVGb3JQcmV2aW91c0VsZW1lbnQo
RWxlbWVudFRyYXZlcnNhbDo6cHJldmlvdXMoZWxlbWVudCwgJnJvb3QpKTsKLSAgICByZXR1cm4g
ZWxlbWVudDsKKyAgICBpZiAodHlwZSgpID09IFR5cGU6OkhUTUxUYWdOb2RlTGlzdFR5cGUpCisg
ICAgICAgIHJldHVybiB0cmF2ZXJzZU1hdGNoaW5nRWxlbWVudHNCYWNrd2FyZChzdGF0aWNfY2Fz
dDxjb25zdCBIVE1MVGFnTm9kZUxpc3QqPih0aGlzKSwgY3VycmVudCwgY291bnQsIHJvb3QpOwor
ICAgIGlmICh0eXBlKCkgPT0gVHlwZTo6Q2xhc3NOb2RlTGlzdFR5cGUpCisgICAgICAgIHJldHVy
biB0cmF2ZXJzZU1hdGNoaW5nRWxlbWVudHNCYWNrd2FyZChzdGF0aWNfY2FzdDxjb25zdCBDbGFz
c05vZGVMaXN0Kj4odGhpcyksIGN1cnJlbnQsIGNvdW50LCByb290KTsKKyAgICByZXR1cm4gdHJh
dmVyc2VNYXRjaGluZ0VsZW1lbnRzQmFja3dhcmQoc3RhdGljX2Nhc3Q8Y29uc3QgTGl2ZU5vZGVM
aXN0Kj4odGhpcyksIGN1cnJlbnQsIGNvdW50LCByb290KTsKIH0KIAogdW5zaWduZWQgTGl2ZU5v
ZGVMaXN0OjpsZW5ndGgoKSBjb25zdAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>