<?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>80506</bug_id>
          
          <creation_ts>2012-03-07 04:00:59 -0800</creation_ts>
          <short_desc>[V8][Performance] Optimize Element.firstElementChild, Element.lastElementChild, Element.previousElementSibling, Element.nextElementSibling, Node.parentElement</short_desc>
          <delta_ts>2012-03-07 14:37:22 -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>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="Kentaro Hara">haraken</reporter>
          <assigned_to name="Kentaro Hara">haraken</assigned_to>
          <cc>abarth</cc>
    
    <cc>arv</cc>
    
    <cc>japhet</cc>
    
    <cc>ojan</cc>
    
    <cc>rakuco</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>572773</commentid>
    <comment_count>0</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-03-07 04:00:59 -0800</bug_when>
    <thetext>Element.firstElementChild, Element.lastElementChild, Element.previousElementSibling, Element.nextElementSibling and Node.parentElement of V8 are much slower than JSC. We should optimize them.

The results of the attached performance tests are as follows in my local Mac environment :

AppleWebKit/Safari:
div.firstElementChild : 1162ms
div.lastElementChild : 1016ms
div.previousElementSibling : 918ms
div.nextElementSibling : 900ms
div.parentElement : 901ms

Chromium/V8:
div.firstElementChild : 9515ms
div.lastElementChild : 9449ms
div.previousElementSibling : 9254ms
div.nextElementSibling : 9315ms
div.parentElement : 9380ms</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>572774</commentid>
    <comment_count>1</comment_count>
      <attachid>130594</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-03-07 04:01:38 -0800</bug_when>
    <thetext>Created attachment 130594
Performance tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>572779</commentid>
    <comment_count>2</comment_count>
      <attachid>130595</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-03-07 04:05:14 -0800</bug_when>
    <thetext>Created attachment 130595
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>572985</commentid>
    <comment_count>3</comment_count>
      <attachid>130595</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-03-07 10:09:56 -0800</bug_when>
    <thetext>Comment on attachment 130595
Patch

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

&gt; Source/WebCore/ChangeLog:11
&gt; +        This patch improves the performance of Element.firstElementChild by 5.8 times,
&gt; +        Element.lastElementChild by 6.2 times, Element.previousElementSibling by 7.1 times,
&gt; +        Element.nextElementSibling by 7.1 times, and Node.parentElement by 6.7 times.

Wow</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>573250</commentid>
    <comment_count>4</comment_count>
      <attachid>130595</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-07 14:37:17 -0800</bug_when>
    <thetext>Comment on attachment 130595
Patch

Clearing flags on attachment: 130595

Committed r110106: &lt;http://trac.webkit.org/changeset/110106&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>573251</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-07 14:37:22 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>130594</attachid>
            <date>2012-03-07 04:01:38 -0800</date>
            <delta_ts>2012-03-07 04:01:38 -0800</delta_ts>
            <desc>Performance tests</desc>
            <filename>dom_element_tov8.html</filename>
            <type>text/html</type>
            <size>1780</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">PGh0bWw+CjxoZWFkPjwvaGVhZD4KPGJvZHk+CjxkaXYgaWQ9Im5vZGUiPgo8L2Rpdj4KPGRpdiBp
ZD0icmVzdWx0Ij48L2Rpdj4KPHNjcmlwdD4KdmFyIHJlcGVhdCA9IDEwMDAwMDAwMDsKdmFyIGRp
diA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJub2RlIik7CnZhciByZXN1bHQgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicmVzdWx0Iik7CgooZnVuY3Rpb24oZGl2KSB7CiAgdmFyIHN0YXJ0
ID0gRGF0ZS5ub3coKTsKICBkaXYuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
ZGl2IikpOwogIGZvciAodmFyIGkgPSAwOyBpIDwgcmVwZWF0OyBpKyspCiAgICBkaXYuZmlyc3RF
bGVtZW50Q2hpbGQ7CiAgcmVzdWx0LmlubmVySFRNTCArPSAiZGl2LmZpcnN0RWxlbWVudENoaWxk
IDogIiArIChEYXRlLm5vdygpIC0gc3RhcnQpICsgIm1zPGJyIC8+IjsKfSkoZGl2KTsKCihmdW5j
dGlvbihkaXYpIHsKICB2YXIgc3RhcnQgPSBEYXRlLm5vdygpOwogIGRpdi5hcHBlbmRDaGlsZChk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSk7CiAgZm9yICh2YXIgaSA9IDA7IGkgPCByZXBl
YXQ7IGkrKykKICAgIGRpdi5sYXN0RWxlbWVudENoaWxkOwogIHJlc3VsdC5pbm5lckhUTUwgKz0g
ImRpdi5sYXN0RWxlbWVudENoaWxkIDogIiArIChEYXRlLm5vdygpIC0gc3RhcnQpICsgIm1zPGJy
IC8+IjsKfSkoZGl2KTsKCihmdW5jdGlvbihkaXYpIHsKICB2YXIgc3RhcnQgPSBEYXRlLm5vdygp
OwogIHZhciBkaXYyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CiAgdmFyIGRpdjMg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKICBkaXYzLmFwcGVuZENoaWxkKGRpdjIp
OwogIGRpdjMuYXBwZW5kQ2hpbGQoZGl2KTsKICBkaXYuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgiZGl2IikpOwogIGZvciAodmFyIGkgPSAwOyBpIDwgcmVwZWF0OyBpKyspCiAg
ICBkaXYucHJldmlvdXNFbGVtZW50U2libGluZzsKICByZXN1bHQuaW5uZXJIVE1MICs9ICJkaXYu
cHJldmlvdXNFbGVtZW50U2libGluZyA6ICIgKyAoRGF0ZS5ub3coKSAtIHN0YXJ0KSArICJtczxi
ciAvPiI7Cn0pKGRpdik7CgooZnVuY3Rpb24oZGl2KSB7CiAgdmFyIHN0YXJ0ID0gRGF0ZS5ub3co
KTsKICB2YXIgZGl2MiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwogIHZhciBkaXYz
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CiAgZGl2My5hcHBlbmRDaGlsZChkaXYp
OwogIGRpdjMuYXBwZW5kQ2hpbGQoZGl2Mik7CiAgZGl2LmFwcGVuZENoaWxkKGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoImRpdiIpKTsKICBmb3IgKHZhciBpID0gMDsgaSA8IHJlcGVhdDsgaSsrKQog
ICAgZGl2Lm5leHRFbGVtZW50U2libGluZzsKICByZXN1bHQuaW5uZXJIVE1MICs9ICJkaXYubmV4
dEVsZW1lbnRTaWJsaW5nIDogIiArIChEYXRlLm5vdygpIC0gc3RhcnQpICsgIm1zPGJyIC8+IjsK
fSkoZGl2KTsKCihmdW5jdGlvbihkaXYpIHsKICB2YXIgc3RhcnQgPSBEYXRlLm5vdygpOwogIHZh
ciBkaXYyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CiAgZGl2Mi5hcHBlbmRDaGls
ZChkaXYpOwogIGZvciAodmFyIGkgPSAwOyBpIDwgcmVwZWF0OyBpKyspCiAgICBkaXYucGFyZW50
RWxlbWVudDsKICByZXN1bHQuaW5uZXJIVE1MICs9ICJkaXYucGFyZW50RWxlbWVudCA6ICIgKyAo
RGF0ZS5ub3coKSAtIHN0YXJ0KSArICJtczxiciAvPiI7Cn0pKGRpdik7Cgo8L3NjcmlwdD4KPC9i
b2R5Pgo8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>130595</attachid>
            <date>2012-03-07 04:05:14 -0800</date>
            <delta_ts>2012-03-07 14:37:17 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80506-20120307210513.patch</filename>
            <type>text/plain</type>
            <size>10121</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwMDE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjY3MTg1YWE0ZTY1M2Jk
NmY5N2E1ZDQ2MGQ5ZDk2MmNlNTJjMzA1MS4uM2I3ZDg3MTVkZjRkZWYwMDBhNjdmZDAzZTkzMGQx
NjIyMjFjOTdkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYyIEBACisyMDEyLTAzLTA3ICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKworICAgICAgICBbVjhdW1BlcmZvcm1h
bmNlXSBPcHRpbWl6ZSBFbGVtZW50LmZpcnN0RWxlbWVudENoaWxkLCBFbGVtZW50Lmxhc3RFbGVt
ZW50Q2hpbGQsCisgICAgICAgIEVsZW1lbnQucHJldmlvdXNFbGVtZW50U2libGluZywgRWxlbWVu
dC5uZXh0RWxlbWVudFNpYmxpbmcsIE5vZGUucGFyZW50RWxlbWVudAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA1MDYKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHBhdGNoIGltcHJvdmVzIHRoZSBw
ZXJmb3JtYW5jZSBvZiBFbGVtZW50LmZpcnN0RWxlbWVudENoaWxkIGJ5IDUuOCB0aW1lcywKKyAg
ICAgICAgRWxlbWVudC5sYXN0RWxlbWVudENoaWxkIGJ5IDYuMiB0aW1lcywgRWxlbWVudC5wcmV2
aW91c0VsZW1lbnRTaWJsaW5nIGJ5IDcuMSB0aW1lcywKKyAgICAgICAgRWxlbWVudC5uZXh0RWxl
bWVudFNpYmxpbmcgYnkgNy4xIHRpbWVzLCBhbmQgTm9kZS5wYXJlbnRFbGVtZW50IGJ5IDYuNyB0
aW1lcy4KKworICAgICAgICBQcmV2aW91c2x5LCB3aGlsZSB0b1Y4KE5vZGUqKSBjYWNoZXMgYSB3
cmFwcGVyIG9iamVjdCBvbiBhIG5vZGUgb2JqZWN0CisgICAgICAgIChpLmUuIG5vZGUtPndyYXBw
ZXIoKSwgbm9kZS0+c2V0V3JhcHBlcigpKSwgdG9WOChFbGVtZW50KikgZG9lcyBub3QKKyAgICAg
ICAgY2FjaGUgYSB3cmFwcGVyIG9iamVjdC4KKworICAgICAgICBUaGlzIHBhdGNoIHJlbW92ZXMg
dG9WOChFbGVtZW50KiksIHNvIHRoYXQgRE9NIGF0dHJpYnV0ZSBnZXR0ZXJzIHRoYXQgcmV0dXJu
CisgICAgICAgIEVsZW1lbnQqIHVzZSB0b1Y4KE5vZGUqKS4gVGhpcyBjaGFuZ2UgbWFrZXMgdGhl
c2UgRE9NIGF0dHJpYnV0ZSBnZXR0ZXJzCisgICAgICAgIGNhY2hlIHRoZSB3cmFwcGVyIG9iamVj
dCBvbiBhIG5vZGUgb2JqZWN0LiBUaGlzIG9wdGltaXphdGlvbiBpcyBhbHJlYWR5CisgICAgICAg
IGltcGxlbWVudGVkIGluIEphdmFTY3JpcHRDb3JlLgorCisgICAgICAgIFBlcmZvcm1hbmNlIHRl
c3RzOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9hdHRhY2htZW50LmNnaT9pZD0xMzA1OTQKKwor
ICAgICAgICBUaGUgdGVzdCByZXN1bHRzIGluIG15IGxvY2FsIE1hYyBlbnZpcm9ubWVudCBhcmUg
YXMgZm9sbG93czoKKworICAgICAgICBBcHBsZVdlYktpdC9KYXZhU2NyaXB0Q29yZToKKyAgICAg
ICAgZGl2LmZpcnN0RWxlbWVudENoaWxkIDogMTE2Mm1zCisgICAgICAgIGRpdi5sYXN0RWxlbWVu
dENoaWxkIDogMTAxNm1zCisgICAgICAgIGRpdi5wcmV2aW91c0VsZW1lbnRTaWJsaW5nIDogOTE4
bXMKKyAgICAgICAgZGl2Lm5leHRFbGVtZW50U2libGluZyA6IDkwMG1zCisgICAgICAgIGRpdi5w
YXJlbnRFbGVtZW50IDogOTAxbXMKKworICAgICAgICBDaHJvbWl1bS9WOCAod2l0aG91dCB0aGlz
IHBhdGNoKToKKyAgICAgICAgZGl2LmZpcnN0RWxlbWVudENoaWxkIDogOTUxNW1zCisgICAgICAg
IGRpdi5sYXN0RWxlbWVudENoaWxkIDogOTQ0OW1zCisgICAgICAgIGRpdi5wcmV2aW91c0VsZW1l
bnRTaWJsaW5nIDogOTI1NG1zCisgICAgICAgIGRpdi5uZXh0RWxlbWVudFNpYmxpbmcgOiA5MzE1
bXMKKyAgICAgICAgZGl2LnBhcmVudEVsZW1lbnQgOiA5MzgwbXMKKworICAgICAgICBDaHJvbWl1
bS9WOCAod2l0aCB0aGlzIHBhdGNoKToKKyAgICAgICAgZGl2LmZpcnN0RWxlbWVudENoaWxkIDog
MTYyOG1zCisgICAgICAgIGRpdi5sYXN0RWxlbWVudENoaWxkIDogMTUyN21zCisgICAgICAgIGRp
di5wcmV2aW91c0VsZW1lbnRTaWJsaW5nIDogMTMxMG1zCisgICAgICAgIGRpdi5uZXh0RWxlbWVu
dFNpYmxpbmcgOiAxMzEwbXMKKyAgICAgICAgZGl2LnBhcmVudEVsZW1lbnQgOiAxNDEwbXMKKwor
ICAgICAgICBObyB0ZXN0cy4gTm8gY2hhbmdlIGluIGJlaGF2aW9yLgorCisgICAgICAgICogZG9t
L0VsZW1lbnQuaWRsOiBSZW1vdmVkIHRvVjgoRWxlbWVudCopCisgICAgICAgICogYmluZGluZ3Mv
djgvY3VzdG9tL1Y4Tm9kZUN1c3RvbS5jcHA6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6dG9W
OFNsb3cpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtOiBE
aXR0by4KKyAgICAgICAgKEdlbmVyYXRlSGVhZGVyKToKKworICAgICAgICAqIGJpbmRpbmdzL3Y4
L2N1c3RvbS9WOEVsZW1lbnRDdXN0b20uY3BwOiBSZW1vdmVkLgorICAgICAgICAqIFRhcmdldC5w
cmk6IFJlbW92ZWQgVjhFbGVtZW50Q3VzdG9tLmNwcC4KKyAgICAgICAgKiBVc2VWOC5jbWFrZTog
RGl0dG8uCisgICAgICAgICogV2ViQ29yZS5neXBpOiBEaXR0by4KKwogMjAxMi0wMy0wNiAgS2Vu
dGFybyBIYXJhICA8aGFyYWtlbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwg
Zml4ZWQgdGVzdCBjcmFzaGVzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnBy
aSBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKaW5kZXggMzI4NDBmOGJlYTJmOTY4NTRlZjMy
MDZhNmFhYTg0N2RmOGZmODE2MS4uOWIxNjI0YzE0NTg4NGE4NDRhMjBmZDJlMDZlYThiMjc5MWZi
MDNkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9UYXJnZXQucHJpCkBAIC0xODEsNyArMTgxLDYgQEAgdjggewogICAgICAgICBiaW5k
aW5ncy92OC9jdXN0b20vVjhEZWRpY2F0ZWRXb3JrZXJDb250ZXh0Q3VzdG9tLmNwcCBcCiAgICAg
ICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOERvY3VtZW50Q3VzdG9tLmNwcCBcCiAgICAgICAgIGJp
bmRpbmdzL3Y4L2N1c3RvbS9WOERvY3VtZW50TG9jYXRpb25DdXN0b20uY3BwIFwKLSAgICAgICAg
YmluZGluZ3MvdjgvY3VzdG9tL1Y4RWxlbWVudEN1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5n
cy92OC9jdXN0b20vVjhFdmVudEN1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy92OC9jdXN0
b20vVjhGaWxlUmVhZGVyQ3VzdG9tLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9W
OEhUTUxBbGxDb2xsZWN0aW9uQ3VzdG9tLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
VXNlVjguY21ha2UgYi9Tb3VyY2UvV2ViQ29yZS9Vc2VWOC5jbWFrZQppbmRleCAwYzc5YjhhMjZi
N2NmMTViMDBjNTZkNDRmYjBkMDU0YmNkODU3MTJmLi5iOGY1ZmQyNjdlYTVhM2ViOTJkODkxOWRh
MTRhZGQ1MzQ2YWY3OGUwIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Vc2VWOC5jbWFrZQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Vc2VWOC5jbWFrZQpAQCAtOTUsNyArOTUsNiBAQCBMSVNUKEFQ
UEVORCBXZWJDb3JlX1NPVVJDRVMKICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhEaXJlY3RvcnlF
bnRyeVN5bmNDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4RG9jdW1lbnRDdXN0
b20uY3BwCiAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4RG9jdW1lbnRMb2NhdGlvbkN1c3RvbS5j
cHAKLSAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhFbGVtZW50Q3VzdG9tLmNwcAogICAgIGJpbmRp
bmdzL3Y4L2N1c3RvbS9WOEVudHJ5U3luY0N1c3RvbS5jcHAKICAgICBiaW5kaW5ncy92OC9jdXN0
b20vVjhFdmVudENvbnN0cnVjdG9ycy5jcHAKICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhFdmVu
dEN1c3RvbS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCBkZjc4Y2U5ODRkYWY1Yjc2ZDcyNzJmYzhk
OGI2ZWUxY2MxNjVmODUyLi43ZjQ0YjMzZjhhODY4YmM0ZDJmZjY5MjVkNzlhYTkyNzcwNTdiNjM5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS5neXBpCkBAIC0yMDE1LDcgKzIwMTUsNiBAQAogICAgICAgICAgICAgJ2Jp
bmRpbmdzL3Y4L2N1c3RvbS9WOERpcmVjdG9yeUVudHJ5U3luY0N1c3RvbS5jcHAnLAogICAgICAg
ICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERvY3VtZW50Q3VzdG9tLmNwcCcsCiAgICAgICAg
ICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4RG9jdW1lbnRMb2NhdGlvbkN1c3RvbS5jcHAnLAot
ICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEVsZW1lbnRDdXN0b20uY3BwJywKICAg
ICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhFbnRyeUN1c3RvbS5jcHAnLAogICAgICAg
ICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEVudHJ5U3luY0N1c3RvbS5jcHAnLAogICAgICAg
ICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEV2ZW50Q3VzdG9tLmNwcCcsCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbSBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtCmluZGV4IGZl
YjliMjkxOTE4Nzk4Mzg5OGFkNWE0ZDNhNGI1NDM5NzA2ODE4ZTEuLmIxZGU0YmQ4ZTNmZTdkNjAw
MjczM2UxNzUyNWU5MTk1MmM1YmYwZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtCkBAIC00NTUsNyArNDU1LDkgQEAgRU5ECiB9
CiBFTkQKIAotICAgIGlmICghKCRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkN1c3Rv
bVRvSlNPYmplY3QifSBvciAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJWOEN1c3Rv
bVRvSlNPYmplY3QifSkpIHsKKyAgICBpZiAoJGludGVyZmFjZU5hbWUgZXEgJ0VsZW1lbnQnKSB7
CisgICAgICAgICMgRG8gbm90IGdlbmVyYXRlIHRvVjgoKSBmb3IgcGVyZm9ybWFuY2Ugb3B0aW1p
emF0aW9uLgorICAgIH0gZWxzaWYgKCEoJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsi
Q3VzdG9tVG9KU09iamVjdCJ9IG9yICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IlY4
Q3VzdG9tVG9KU09iamVjdCJ9KSkgewogICAgICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCA8PEVO
RCk7CiAKIGlubGluZSB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOCgke25hdGl2ZVR5cGV9KiBp
bXBsJHtmb3JjZU5ld09iamVjdFBhcmFtZXRlcn0pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy92OC9jdXN0b20vVjhFbGVtZW50Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEVsZW1lbnRDdXN0b20uY3BwCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCBlOWI5MzM2ZjM0NDMzMzEzZjQ3NjM4NGRlOWU5YjFiNTVlYWM0MTBmLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEVsZW1lbnRDdXN0b20uY3BwCisrKyAvZGV2L251bGwK
QEAgLTEsNjggKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNy0yMDA5IEdvb2dsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlCi0gKiBtZXQ6Ci0gKgotICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqICAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKLSAqIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIKLSAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUKLSAqIGRpc3RyaWJ1dGlvbi4KLSAqICAgICAqIE5laXRoZXIg
dGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKLSAqIGNvbnRyaWJ1
dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBm
cm9tCi0gKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKLSAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IK
LSAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUCi0gKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKLSAqIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLAotICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZCi0gKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIlY4RWxl
bWVudC5oIgotCi0jaW5jbHVkZSAiQXR0ci5oIgotI2luY2x1ZGUgIkRvY3VtZW50LmgiCi0jaW5j
bHVkZSAiRWxlbWVudC5oIgotI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKLSNpbmNsdWRlICJI
VE1MRnJhbWVFbGVtZW50QmFzZS5oIgotI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgotI2luY2x1ZGUg
Ik5vZGUuaCIKLQotI2luY2x1ZGUgIlY4QXR0ci5oIgotI2luY2x1ZGUgIlY4QmluZGluZy5oIgot
I2luY2x1ZGUgIlY4QmluZGluZ1N0YXRlLmgiCi0jaW5jbHVkZSAiVjhIVE1MRWxlbWVudC5oIgot
I2luY2x1ZGUgIlY4UHJveHkuaCIKLQotI2lmIEVOQUJMRShTVkcpCi0jaW5jbHVkZSAiVjhTVkdF
bGVtZW50LmgiCi0jZW5kaWYKLQotI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KLQotbmFtZXNwYWNl
IFdlYkNvcmUgewotCi12ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChFbGVtZW50KiBpbXBsLCBi
b29sIGZvcmNlTmV3T2JqZWN0KQotewotICAgIGlmICghaW1wbCkKLSAgICAgICAgcmV0dXJuIHY4
OjpOdWxsKCk7Ci0gICAgaWYgKGltcGwtPmlzSFRNTEVsZW1lbnQoKSkKLSAgICAgICAgcmV0dXJu
IHRvVjgodG9IVE1MRWxlbWVudChpbXBsKSwgZm9yY2VOZXdPYmplY3QpOwotI2lmIEVOQUJMRShT
VkcpCi0gICAgaWYgKGltcGwtPmlzU1ZHRWxlbWVudCgpKQotICAgICAgICByZXR1cm4gdG9WOChz
dGF0aWNfY2FzdDxTVkdFbGVtZW50Kj4oaW1wbCksIGZvcmNlTmV3T2JqZWN0KTsKLSNlbmRpZgot
ICAgIHJldHVybiBWOEVsZW1lbnQ6OndyYXAoaW1wbCwgZm9yY2VOZXdPYmplY3QpOwotfQotfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvY3VzdG9tL1Y4Tm9kZUN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9j
dXN0b20vVjhOb2RlQ3VzdG9tLmNwcAppbmRleCA0NDkwMzE1NThiY2FlODY1YjcwOTU5OTY1ZGJi
YTdkM2NlNDg2MGNkLi4yNDI3MTEzNDQ3N2ZiMDEyNjcxZjViNjkxZTBlYzRmMDZlYTJiZmEyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhOb2RlQ3VzdG9t
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhOb2RlQ3VzdG9t
LmNwcApAQCAtNDgsMTIgKzQ4LDE3IEBACiAjaW5jbHVkZSAiVjhFbnRpdHkuaCIKICNpbmNsdWRl
ICJWOEVudGl0eVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgIlY4RXZlbnRMaXN0ZW5lci5oIgorI2lu
Y2x1ZGUgIlY4SFRNTEVsZW1lbnQuaCIKICNpbmNsdWRlICJWOE5vZGUuaCIKICNpbmNsdWRlICJW
OE5vdGF0aW9uLmgiCiAjaW5jbHVkZSAiVjhQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24uaCIKICNpbmNs
dWRlICJWOFByb3h5LmgiCiAjaW5jbHVkZSAiVjhUZXh0LmgiCiAKKyNpZiBFTkFCTEUoU1ZHKQor
I2luY2x1ZGUgIlY4U1ZHRWxlbWVudC5oIgorI2VuZGlmCisKICNpbmNsdWRlIDx3dGYvUmVmUHRy
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTE0Myw3ICsxNDgsMTMgQEAgdjg6OkhhbmRs
ZTx2ODo6VmFsdWU+IHRvVjhTbG93KE5vZGUqIGltcGwsIGJvb2wgZm9yY2VOZXdPYmplY3QpCiAg
ICAgfQogICAgIHN3aXRjaCAoaW1wbC0+bm9kZVR5cGUoKSkgewogICAgIGNhc2UgTm9kZTo6RUxF
TUVOVF9OT0RFOgotICAgICAgICByZXR1cm4gdG9WOChzdGF0aWNfY2FzdDxFbGVtZW50Kj4oaW1w
bCksIGZvcmNlTmV3T2JqZWN0KTsKKyAgICAgICAgaWYgKGltcGwtPmlzSFRNTEVsZW1lbnQoKSkK
KyAgICAgICAgICAgIHJldHVybiB0b1Y4KHRvSFRNTEVsZW1lbnQoaW1wbCksIGZvcmNlTmV3T2Jq
ZWN0KTsKKyNpZiBFTkFCTEUoU1ZHKQorICAgICAgICBpZiAoaW1wbC0+aXNTVkdFbGVtZW50KCkp
CisgICAgICAgICAgICByZXR1cm4gdG9WOChzdGF0aWNfY2FzdDxTVkdFbGVtZW50Kj4oaW1wbCks
IGZvcmNlTmV3T2JqZWN0KTsKKyNlbmRpZgorICAgICAgICByZXR1cm4gVjhFbGVtZW50Ojp3cmFw
KHN0YXRpY19jYXN0PEVsZW1lbnQqPihpbXBsKSwgZm9yY2VOZXdPYmplY3QpOwogICAgIGNhc2Ug
Tm9kZTo6QVRUUklCVVRFX05PREU6CiAgICAgICAgIHJldHVybiB0b1Y4KHN0YXRpY19jYXN0PEF0
dHIqPihpbXBsKSwgZm9yY2VOZXdPYmplY3QpOwogICAgIGNhc2UgTm9kZTo6VEVYVF9OT0RFOgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaWRsIGIvU291cmNlL1dlYkNv
cmUvZG9tL0VsZW1lbnQuaWRsCmluZGV4IGM2NmIxNDU5MmY3ZjNmNTk2OTNmMTA3MWNlMjUzNDUy
NzY4MzZmNTMuLjg3MjViY2JjMTljYmMyYjgxYTdiYmU2MWQ4MDg5ZWY5ODU5OTY4MDYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vRWxlbWVudC5pZGwKQEAgLTIyLDggKzIyLDcgQEAgbW9kdWxlIGNvcmUgewogCiAgICAg
aW50ZXJmYWNlIFsKICAgICAgICAgSlNHZW5lcmF0ZVRvTmF0aXZlT2JqZWN0LAotICAgICAgICBK
U0lubGluZUdldE93blByb3BlcnR5U2xvdCwKLSAgICAgICAgVjhDdXN0b21Ub0pTT2JqZWN0Cisg
ICAgICAgIEpTSW5saW5lR2V0T3duUHJvcGVydHlTbG90CiAgICAgXSBFbGVtZW50IDogTm9kZSB7
CiAKICAgICAgICAgLy8gRE9NIExldmVsIDEgQ29yZQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>