<?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>137843</bug_id>
          
          <creation_ts>2014-10-17 19:33:01 -0700</creation_ts>
          <short_desc>Generalize the compilation of :not() to support arbitrary selector lists</short_desc>
          <delta_ts>2014-10-20 17:43:24 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Benjamin Poulain">benjamin</reporter>
          <assigned_to name="Benjamin Poulain">benjamin</assigned_to>
          <cc>kling</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1042547</commentid>
    <comment_count>0</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-10-17 19:33:01 -0700</bug_when>
    <thetext>Generalize the compilation of :not() to support arbitrary selector lists</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1042548</commentid>
    <comment_count>1</comment_count>
      <attachid>240055</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-10-17 19:54:48 -0700</bug_when>
    <thetext>Created attachment 240055
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1042753</commentid>
    <comment_count>2</comment_count>
      <attachid>240055</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2014-10-20 01:27:58 -0700</bug_when>
    <thetext>Comment on attachment 240055
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1043032</commentid>
    <comment_count>3</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-10-20 17:43:24 -0700</bug_when>
    <thetext>Committed r174914: &lt;http://trac.webkit.org/changeset/174914&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>240055</attachid>
            <date>2014-10-17 19:54:48 -0700</date>
            <delta_ts>2014-10-20 01:27:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-137843-20141017195413.patch</filename>
            <type>text/plain</type>
            <size>13315</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc0ODQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjlmOTFhOGJmYzI5MjA3
ZDAwZTRjNGFhZjkyNDgyODY0NjVmODRkNC4uYjAyOWJjYjViMWZiMTMzMzY5M2QzZGQ2ZWIwNDg4
MTcxNWUwNjA2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDE0LTEwLTE3ICBCZW5q
YW1pbiBQb3VsYWluICA8YnBvdWxhaW5AYXBwbGUuY29tPgorCisgICAgICAgIEdlbmVyYWxpemUg
dGhlIGNvbXBpbGF0aW9uIG9mIDpub3QoKSB0byBzdXBwb3J0IGFyYml0cmFyeSBzZWxlY3RvciBs
aXN0cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM3
ODQzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhp
cyBidWlsZHMgOm5vdCgpIG9uIHRvcCBvZiB0aGUgY29kZSBjcmVhdGVkIGZvciA6bnRoLWNoaWxk
KEFuK0Igb2Ygc2VsZWN0b3JMaXN0KQorICAgICAgICB0byBzdXBwb3J0IGFueSBzZWxlY3RvciBs
aXN0LgorCisgICAgICAgIFRoZSB0ZXN0cyBmb3IgdGhlIEpJVCB3ZXJlIGFkZGVkIHByZXZpb3Vz
bHk6CisgICAgICAgIC1ub3QtYm91bmRhcmllcy5odG1sCisgICAgICAgIC1ub3QtYmFja3RyYWNr
aW5nLmh0bWwKKworICAgICAgICAqIGNzc2ppdC9TZWxlY3RvckNvbXBpbGVyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlNlbGVjdG9yQ29tcGlsZXI6OmFkZFBzZXVkb0NsYXNzVHlwZSk6CisgICAg
ICAgIEFueSA6bm90KCkgb2YgYSBzZWxlY3RvciBpcyBoYW5kbGVkIHRocm91Z2ggYSBzaW1wbGUg
c2VsZWN0b3IgbGlzdC4gQ2FzZXMgbGlrZQorICAgICAgICA6bm90KGZvbywgYmFyKSBzaW1wbHkg
Z2VuZXJhdGUgbm90KFtmcmFnbWVudEZvbywgYnJhZ21lbnRCYXJdKS4KKworICAgICAgICBPbGQg
Y2FzZXMgbGlrZSA6bm90KGZvbyk6bm90KGJhcikgc2ltcGx5IGFkZCB0aG9zZSBjYXNlcyB0byB0
aGUgc2VsZWN0b3IgbGlzdCwKKyAgICAgICAgZ2VuZXJhdGluZyBub3QoW2ZyYWdtZW50Rm9vLCBi
cmFnbWVudEJhcl0pLgorCisgICAgICAgIChXZWJDb3JlOjpTZWxlY3RvckNvbXBpbGVyOjptaW5p
bXVtUmVnaXN0ZXJSZXF1aXJlbWVudHMpOgorICAgICAgICBSZWdpc3RlciBwcmVzc3VyZSBpcyBu
b3cgdHJhY2tlZCB0aHJvdWdoIGNvbXB1dGVCYWNrdHJhY2tpbmdNZW1vcnlSZXF1aXJlbWVudHMu
CisKKyAgICAgICAgKFdlYkNvcmU6OlNlbGVjdG9yQ29tcGlsZXI6Omhhc0FueUNvbWJpbmF0b3Jz
KToKKyAgICAgICAgKFdlYkNvcmU6OlNlbGVjdG9yQ29tcGlsZXI6OmNvbXB1dGVCYWNrdHJhY2tp
bmdNZW1vcnlSZXF1aXJlbWVudHMpOgorICAgICAgICAoV2ViQ29yZTo6U2VsZWN0b3JDb21waWxl
cjo6Y29tcHV0ZUJhY2t0cmFja2luZ0luZm9ybWF0aW9uKToKKyAgICAgICAgQWJzdHJhY3QgdGhl
IGNvZGUgY3JlYXRpbmcgU2VsZWN0b3IgTGlzdHMgZnJvbSA6bnRoLWNoaWxkKG9mKS4gVXNlIHRo
YXQgZm9yIDpub3QoKQorICAgICAgICBhbmQgIDpudGgtY2hpbGQob2YpLgorCisgICAgICAgIChX
ZWJDb3JlOjpTZWxlY3RvckNvbXBpbGVyOjpTZWxlY3RvckNvZGVHZW5lcmF0b3I6OmdlbmVyYXRl
RWxlbWVudE1hdGNoZXNOb3RQc2V1ZG9DbGFzcyk6CisKIDIwMTQtMTAtMTcgIFNpbW9uIEZyYXNl
ciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgW2lPU10gU3BlY3VsYXRpdmUg
Zml4IGZvciBhIGNyYXNoIHVuZGVyIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6dXBkYXRlU2Nyb2xs
Q29vcmRpbmF0ZWRMYXllcigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3NqaXQvU2Vs
ZWN0b3JDb21waWxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3NqaXQvU2VsZWN0b3JDb21waWxl
ci5jcHAKaW5kZXggNTQ4ZTc0NzJlOTc2YWI4ZmQ1ZTFjNjI0ZTJmMDMxMGQ3Y2U3NzExNy4uNmQ3
MDExZmM2NWEzZjFmYTZlYTc1ZThmMTcyYzQ4YzA3MjcyMzllZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3Nzaml0L1NlbGVjdG9yQ29tcGlsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2Nzc2ppdC9TZWxlY3RvckNvbXBpbGVyLmNwcApAQCAtMTk1LDcgKzE5NSw3IEBAIHN0cnVjdCBT
ZWxlY3RvckZyYWdtZW50IHsKICAgICBWZWN0b3I8QXR0cmlidXRlTWF0Y2hpbmdJbmZvLCA0PiBh
dHRyaWJ1dGVzOwogICAgIFZlY3RvcjxzdGQ6OnBhaXI8aW50LCBpbnQ+LCAyPiBudGhDaGlsZEZp
bHRlcnM7CiAgICAgVmVjdG9yPE50aENoaWxkT2ZTZWxlY3RvckluZm8+IG50aENoaWxkT2ZGaWx0
ZXJzOwotICAgIFZlY3RvcjxTZWxlY3RvckZyYWdtZW50PiBub3RGaWx0ZXJzOworICAgIFNlbGVj
dG9yTGlzdCBub3RGaWx0ZXJzOwogICAgIFZlY3RvcjxWZWN0b3I8U2VsZWN0b3JGcmFnbWVudD4+
IGFueUZpbHRlcnM7CiAgICAgY29uc3QgQ1NTU2VsZWN0b3IqIHBzZXVkb0VsZW1lbnRTZWxlY3Rv
cjsKIApAQCAtNjYxLDMzICs2NjEsMjggQEAgc3RhdGljIGlubGluZSBGdW5jdGlvblR5cGUgYWRk
UHNldWRvQ2xhc3NUeXBlKGNvbnN0IENTU1NlbGVjdG9yJiBzZWxlY3RvciwgU2VsZWMKICAgICAg
ICAgewogICAgICAgICAgICAgY29uc3QgQ1NTU2VsZWN0b3JMaXN0KiBzZWxlY3Rvckxpc3QgPSBz
ZWxlY3Rvci5zZWxlY3Rvckxpc3QoKTsKIAorICAgICAgICAgICAgQVNTRVJUX1dJVEhfTUVTU0FH
RShzZWxlY3Rvckxpc3QsICJUaGUgQ1NTIFBhcnNlciBzaG91bGQgbmV2ZXIgcHJvZHVjZSB2YWxp
ZCA6bm90KCkgQ1NTU2VsZWN0b3Igd2l0aCBhbiBlbXB0eSBzZWxlY3Rvckxpc3QuIik7CiAgICAg
ICAgICAgICBpZiAoIXNlbGVjdG9yTGlzdCkKICAgICAgICAgICAgICAgICByZXR1cm4gRnVuY3Rp
b25UeXBlOjpDYW5ub3RNYXRjaEFueXRoaW5nOwogCi0jaWYgRU5BQkxFKENTU19TRUxFQ1RPUlNf
TEVWRUw0KQotICAgICAgICAgICAgaWYgKHNlbGVjdG9yTGlzdC0+Zmlyc3QoKS0+dGFnSGlzdG9y
eSgpIHx8IENTU1NlbGVjdG9yTGlzdDo6bmV4dChzZWxlY3Rvckxpc3QtPmZpcnN0KCkpKQotICAg
ICAgICAgICAgICAgIHJldHVybiBGdW5jdGlvblR5cGU6OkNhbm5vdENvbXBpbGU7Ci0jZW5kaWYK
LQotICAgICAgICAgICAgU2VsZWN0b3JGcmFnbWVudExpc3Qgbm90RnJhZ21lbnRzOwotICAgICAg
ICAgICAgVmlzaXRlZE1vZGUgaWdub3JlVmlzaXRlZE1vZGUgPSBWaXNpdGVkTW9kZTo6Tm9uZTsK
LSAgICAgICAgICAgIEZ1bmN0aW9uVHlwZSBmdW5jdGlvblR5cGUgPSBjb25zdHJ1Y3RGcmFnbWVu
dHMoc2VsZWN0b3JMaXN0LT5maXJzdCgpLCBzZWxlY3RvckNvbnRleHQsIG5vdEZyYWdtZW50cywg
RnJhZ21lbnRzTGV2ZWw6OkluRnVuY3Rpb25hbFBzZXVkb1R5cGUsIHBvc2l0aW9uSW5Sb290RnJh
Z21lbnRzLCB2aXNpdGVkTWF0Y2hFbmFibGVkLCBpZ25vcmVWaXNpdGVkTW9kZSk7Ci0gICAgICAg
ICAgICBBU1NFUlRfV0lUSF9NRVNTQUdFKGlnbm9yZVZpc2l0ZWRNb2RlID09IFZpc2l0ZWRNb2Rl
OjpOb25lLCAiOnZpc2l0ZWQgaXMgZGlzYWJsZWQgaW4gdGhlIGZ1bmN0aW9uYWwgcHNldWRvIGNs
YXNzZXMiKTsKLQotICAgICAgICAgICAgLy8gU2luY2UgdGhpcyBpcyBub3QgcHNldWRvIGNsYXNz
IGZpbHRlciwgQ2Fubm90TWF0Y2hBbnl0aGluZyBpbXBsaWVzIHRoaXMgZmlsdGVyIGFsd2F5cyBw
YXNzZXMuCi0gICAgICAgICAgICBpZiAoZnVuY3Rpb25UeXBlID09IEZ1bmN0aW9uVHlwZTo6Q2Fu
bm90TWF0Y2hBbnl0aGluZykKLSAgICAgICAgICAgICAgICByZXR1cm4gRnVuY3Rpb25UeXBlOjpT
aW1wbGVTZWxlY3RvckNoZWNrZXI7CisgICAgICAgICAgICBGdW5jdGlvblR5cGUgZnVuY3Rpb25U
eXBlID0gRnVuY3Rpb25UeXBlOjpTaW1wbGVTZWxlY3RvckNoZWNrZXI7CisgICAgICAgICAgICBm
b3IgKGNvbnN0IENTU1NlbGVjdG9yKiBzdWJzZWxlY3RvciA9IHNlbGVjdG9yTGlzdC0+Zmlyc3Qo
KTsgc3Vic2VsZWN0b3I7IHN1YnNlbGVjdG9yID0gQ1NTU2VsZWN0b3JMaXN0OjpuZXh0KHN1YnNl
bGVjdG9yKSkgeworICAgICAgICAgICAgICAgIFNlbGVjdG9yRnJhZ21lbnRMaXN0IHNlbGVjdG9y
RnJhZ21lbnRzOworICAgICAgICAgICAgICAgIFZpc2l0ZWRNb2RlIGlnbm9yZVZpc2l0ZWRNb2Rl
ID0gVmlzaXRlZE1vZGU6Ok5vbmU7CisgICAgICAgICAgICAgICAgRnVuY3Rpb25UeXBlIGxvY2Fs
RnVuY3Rpb25UeXBlID0gY29uc3RydWN0RnJhZ21lbnRzKHN1YnNlbGVjdG9yLCBzZWxlY3RvckNv
bnRleHQsIHNlbGVjdG9yRnJhZ21lbnRzLCBGcmFnbWVudHNMZXZlbDo6SW5GdW5jdGlvbmFsUHNl
dWRvVHlwZSwgcG9zaXRpb25JblJvb3RGcmFnbWVudHMsIHZpc2l0ZWRNYXRjaEVuYWJsZWQsIGln
bm9yZVZpc2l0ZWRNb2RlKTsKKyAgICAgICAgICAgICAgICBBU1NFUlRfV0lUSF9NRVNTQUdFKGln
bm9yZVZpc2l0ZWRNb2RlID09IFZpc2l0ZWRNb2RlOjpOb25lLCAiOnZpc2l0ZWQgaXMgZGlzYWJs
ZWQgaW4gdGhlIGZ1bmN0aW9uYWwgcHNldWRvIGNsYXNzZXMiKTsKIAotICAgICAgICAgICAgaWYg
KGZ1bmN0aW9uVHlwZSA9PSBGdW5jdGlvblR5cGU6OkNhbm5vdENvbXBpbGUpCi0gICAgICAgICAg
ICAgICAgcmV0dXJuIGZ1bmN0aW9uVHlwZTsKKyAgICAgICAgICAgICAgICAvLyBTaW5jZSB0aGlz
IGlzIG5vdCBwc2V1ZG8gY2xhc3MgZmlsdGVyLCBDYW5ub3RNYXRjaEFueXRoaW5nIGltcGxpZXMg
dGhpcyBmaWx0ZXIgYWx3YXlzIHBhc3Nlcy4KKyAgICAgICAgICAgICAgICBpZiAobG9jYWxGdW5j
dGlvblR5cGUgPT0gRnVuY3Rpb25UeXBlOjpDYW5ub3RNYXRjaEFueXRoaW5nKQorICAgICAgICAg
ICAgICAgICAgICBjb250aW51ZTsKIAotICAgICAgICAgICAgQVNTRVJUKG5vdEZyYWdtZW50cy5z
aXplKCkgPT0gMSk7Ci0gICAgICAgICAgICBpZiAobm90RnJhZ21lbnRzLnNpemUoKSAhPSAxKQot
ICAgICAgICAgICAgICAgIHJldHVybiBGdW5jdGlvblR5cGU6OkNhbm5vdENvbXBpbGU7CisgICAg
ICAgICAgICAgICAgaWYgKGxvY2FsRnVuY3Rpb25UeXBlID09IEZ1bmN0aW9uVHlwZTo6Q2Fubm90
Q29tcGlsZSkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEZ1bmN0aW9uVHlwZTo6Q2Fubm90
Q29tcGlsZTsKIAotICAgICAgICAgICAgY29uc3QgU2VsZWN0b3JGcmFnbWVudCYgc3ViRnJhZ21l
bnQgPSBub3RGcmFnbWVudHMuZmlyc3QoKTsKKyAgICAgICAgICAgICAgICBmdW5jdGlvblR5cGUg
PSBzdGQ6Om1heChmdW5jdGlvblR5cGUsIGxvY2FsRnVuY3Rpb25UeXBlKTsKKyAgICAgICAgICAg
ICAgICBmcmFnbWVudC5ub3RGaWx0ZXJzLmFwcGVuZChzZWxlY3RvckZyYWdtZW50cyk7CisgICAg
ICAgICAgICB9CiAKLSAgICAgICAgICAgIGZyYWdtZW50Lm5vdEZpbHRlcnMuYXBwZW5kKHN1YkZy
YWdtZW50KTsKICAgICAgICAgICAgIHJldHVybiBmdW5jdGlvblR5cGU7CiAgICAgICAgIH0KIApA
QCAtOTgyLDEyICs5NzcsNiBAQCBzdGF0aWMgdW5zaWduZWQgbWluaW11bVJlZ2lzdGVyUmVxdWly
ZW1lbnRzKGNvbnN0IFNlbGVjdG9yRnJhZ21lbnQmIHNlbGVjdG9yRnJhZwogICAgICAgICBtaW5p
bXVtID0gc3RkOjptYXgobWluaW11bSwgbWluaW11bVJlcXVpcmVkUmVnaXN0ZXJDb3VudEZvck50
aENoaWxkRmlsdGVyKTsKICNlbmRpZgogCi0gICAgLy8gOm5vdCBwc2V1ZG8gY2xhc3MgZmlsdGVy
cyBjYXVzZSBzb21lIHJlZ2lzdGVyIHByZXNzdXJlLgotICAgIGZvciAoY29uc3QgU2VsZWN0b3JG
cmFnbWVudCYgc3ViRnJhZ21lbnQgOiBzZWxlY3RvckZyYWdtZW50Lm5vdEZpbHRlcnMpIHsKLSAg
ICAgICAgdW5zaWduZWQgbm90RmlsdGVyTWluaW11bSA9IG1pbmltdW1SZWdpc3RlclJlcXVpcmVt
ZW50cyhzdWJGcmFnbWVudCk7Ci0gICAgICAgIG1pbmltdW0gPSBzdGQ6Om1heChtaW5pbXVtLCBu
b3RGaWx0ZXJNaW5pbXVtKTsKLSAgICB9Ci0KICAgICAvLyA6YW55IHBzZXVkbyBjbGFzcyBmaWx0
ZXJzIGNhdXNlIHNvbWUgcmVnaXN0ZXIgcHJlc3N1cmUuCiAgICAgZm9yIChjb25zdCBhdXRvJiBz
dWJGcmFnbWVudHMgOiBzZWxlY3RvckZyYWdtZW50LmFueUZpbHRlcnMpIHsKICAgICAgICAgZm9y
IChjb25zdCBTZWxlY3RvckZyYWdtZW50JiBzdWJGcmFnbWVudCA6IHN1YkZyYWdtZW50cykgewpA
QCAtMTAxOSw2ICsxMDA4LDggQEAgYm9vbCBoYXNBbnlDb21iaW5hdG9ycyhjb25zdCBWZWN0b3I8
U2VsZWN0b3JGcmFnbWVudCwgaW5saW5lQ2FwYWNpdHk+JiBzZWxlY3RvckYKICAgICAgICAgcmV0
dXJuIGZhbHNlOwogICAgIGlmIChzZWxlY3RvckZyYWdtZW50TGlzdC5zaXplKCkgIT0gMSkKICAg
ICAgICAgcmV0dXJuIHRydWU7CisgICAgaWYgKGhhc0FueUNvbWJpbmF0b3JzKHNlbGVjdG9yRnJh
Z21lbnRMaXN0LmZpcnN0KCkubm90RmlsdGVycykpCisgICAgICAgIHJldHVybiB0cnVlOwogICAg
IGZvciAoY29uc3QgTnRoQ2hpbGRPZlNlbGVjdG9ySW5mbyYgbnRoQ2hpbGRPZlNlbGVjdG9ySW5m
byA6IHNlbGVjdG9yRnJhZ21lbnRMaXN0LmZpcnN0KCkubnRoQ2hpbGRPZkZpbHRlcnMpIHsKICAg
ICAgICAgaWYgKGhhc0FueUNvbWJpbmF0b3JzKG50aENoaWxkT2ZTZWxlY3RvckluZm8uc2VsZWN0
b3JMaXN0KSkKICAgICAgICAgICAgIHJldHVybiB0cnVlOwpAQCAtMTAyOSw3ICsxMDIwLDMxIEBA
IGJvb2wgaGFzQW55Q29tYmluYXRvcnMoY29uc3QgVmVjdG9yPFNlbGVjdG9yRnJhZ21lbnQsIGlu
bGluZUNhcGFjaXR5PiYgc2VsZWN0b3JGCiAvLyBUaGUgQ1NTIEpJVCBoYXMgb25seSBiZWVuIHZh
bGlkYXRlZCB3aXRoIGEgc3RyaWN0IG1pbmltdW0gb2YgNiBhbGxvY2F0ZWQgcmVnaXN0ZXJzLgog
Y29uc3QgdW5zaWduZWQgbWluaW11bVJlZ2lzdGVyUmVxdWlyZW1lbnQgPSA2OwogCi1zdGF0aWMg
dm9pZCBjb21wdXRlQmFja3RyYWNraW5nTWVtb3J5UmVxdWlyZW1lbnRzKFNlbGVjdG9yRnJhZ21l
bnRMaXN0JiBzZWxlY3RvckZyYWdtZW50cywgYm9vbCBiYWNrdHJhY2tpbmdSZWdpc3RlclJlc2Vy
dmVkID0gZmFsc2UpCit2b2lkIGNvbXB1dGVCYWNrdHJhY2tpbmdNZW1vcnlSZXF1aXJlbWVudHMo
U2VsZWN0b3JGcmFnbWVudExpc3QmIHNlbGVjdG9yRnJhZ21lbnRzLCBib29sIGJhY2t0cmFja2lu
Z1JlZ2lzdGVyUmVzZXJ2ZWQgPSBmYWxzZSk7CisKK3N0YXRpYyB2b2lkIGNvbXB1dGVCYWNrdHJh
Y2tpbmdNZW1vcnlSZXF1aXJlbWVudHMoU2VsZWN0b3JMaXN0JiBzZWxlY3Rvckxpc3QsIHVuc2ln
bmVkJiB0b3RhbFJlZ2lzdGVyUmVxdWlyZW1lbnRzLCB1bnNpZ25lZCYgdG90YWxTdGFja1JlcXVp
cmVtZW50cywgYm9vbCBiYWNrdHJhY2tpbmdSZWdpc3RlclJlc2VydmVkRm9yRnJhZ21lbnQgPSBm
YWxzZSkKK3sKKyAgICB1bnNpZ25lZCBzZWxlY3Rvckxpc3RSZWdpc3RlclJlcXVpcmVtZW50cyA9
IDA7CisgICAgdW5zaWduZWQgc2VsZWN0b3JMaXN0U3RhY2tSZXF1aXJlbWVudHMgPSAwOworICAg
IGJvb2wgY2xvYmJlckVsZW1lbnRBZGRyZXNzUmVnaXN0ZXIgPSBmYWxzZTsKKworICAgIGZvciAo
U2VsZWN0b3JGcmFnbWVudExpc3QmIHNlbGVjdG9yRnJhZ21lbnRMaXN0IDogc2VsZWN0b3JMaXN0
KSB7CisgICAgICAgIGNvbXB1dGVCYWNrdHJhY2tpbmdNZW1vcnlSZXF1aXJlbWVudHMoc2VsZWN0
b3JGcmFnbWVudExpc3QsIGJhY2t0cmFja2luZ1JlZ2lzdGVyUmVzZXJ2ZWRGb3JGcmFnbWVudCk7
CisKKyAgICAgICAgc2VsZWN0b3JMaXN0UmVnaXN0ZXJSZXF1aXJlbWVudHMgPSBzdGQ6Om1heChz
ZWxlY3Rvckxpc3RSZWdpc3RlclJlcXVpcmVtZW50cywgc2VsZWN0b3JGcmFnbWVudExpc3QucmVn
aXN0ZXJSZXF1aXJlbWVudHMpOworICAgICAgICBzZWxlY3Rvckxpc3RTdGFja1JlcXVpcmVtZW50
cyA9IHN0ZDo6bWF4KHNlbGVjdG9yTGlzdFN0YWNrUmVxdWlyZW1lbnRzLCBzZWxlY3RvckZyYWdt
ZW50TGlzdC5zdGFja1JlcXVpcmVtZW50cyk7CisgICAgICAgIGNsb2JiZXJFbGVtZW50QWRkcmVz
c1JlZ2lzdGVyID0gY2xvYmJlckVsZW1lbnRBZGRyZXNzUmVnaXN0ZXIgfHwgc2VsZWN0b3JGcmFn
bWVudExpc3QuY2xvYmJlckVsZW1lbnRBZGRyZXNzUmVnaXN0ZXI7CisgICAgfQorCisgICAgdG90
YWxSZWdpc3RlclJlcXVpcmVtZW50cyA9IHN0ZDo6bWF4KHRvdGFsUmVnaXN0ZXJSZXF1aXJlbWVu
dHMsIHNlbGVjdG9yTGlzdFJlZ2lzdGVyUmVxdWlyZW1lbnRzKTsKKyAgICB0b3RhbFN0YWNrUmVx
dWlyZW1lbnRzID0gc3RkOjptYXgodG90YWxTdGFja1JlcXVpcmVtZW50cywgc2VsZWN0b3JMaXN0
U3RhY2tSZXF1aXJlbWVudHMpOworCisgICAgc2VsZWN0b3JMaXN0LnJlZ2lzdGVyUmVxdWlyZW1l
bnRzID0gc3RkOjptYXgoc2VsZWN0b3JMaXN0UmVnaXN0ZXJSZXF1aXJlbWVudHMsIG1pbmltdW1S
ZWdpc3RlclJlcXVpcmVtZW50KTsKKyAgICBzZWxlY3Rvckxpc3Quc3RhY2tSZXF1aXJlbWVudHMg
PSBzZWxlY3Rvckxpc3RTdGFja1JlcXVpcmVtZW50czsKKyAgICBzZWxlY3Rvckxpc3QuY2xvYmJl
ckVsZW1lbnRBZGRyZXNzUmVnaXN0ZXIgPSBjbG9iYmVyRWxlbWVudEFkZHJlc3NSZWdpc3RlcjsK
K30KKwordm9pZCBjb21wdXRlQmFja3RyYWNraW5nTWVtb3J5UmVxdWlyZW1lbnRzKFNlbGVjdG9y
RnJhZ21lbnRMaXN0JiBzZWxlY3RvckZyYWdtZW50cywgYm9vbCBiYWNrdHJhY2tpbmdSZWdpc3Rl
clJlc2VydmVkKQogewogICAgIHNlbGVjdG9yRnJhZ21lbnRzLnJlZ2lzdGVyUmVxdWlyZW1lbnRz
ID0gbWluaW11bVJlZ2lzdGVyUmVxdWlyZW1lbnQ7CiAgICAgc2VsZWN0b3JGcmFnbWVudHMuc3Rh
Y2tSZXF1aXJlbWVudHMgPSAwOwpAQCAtMTAzOSwyNiArMTA1NCwxMiBAQCBzdGF0aWMgdm9pZCBj
b21wdXRlQmFja3RyYWNraW5nTWVtb3J5UmVxdWlyZW1lbnRzKFNlbGVjdG9yRnJhZ21lbnRMaXN0
JiBzZWxlY3RvcgogICAgICAgICB1bnNpZ25lZCBmcmFnbWVudFJlZ2lzdGVyUmVxdWlyZW1lbnRz
ID0gbWluaW11bVJlZ2lzdGVyUmVxdWlyZW1lbnRzKHNlbGVjdG9yRnJhZ21lbnQpOwogICAgICAg
ICB1bnNpZ25lZCBmcmFnbWVudFN0YWNrUmVxdWlyZW1lbnRzID0gMDsKIAotICAgICAgICBpZiAo
IXNlbGVjdG9yRnJhZ21lbnQubnRoQ2hpbGRPZkZpbHRlcnMuaXNFbXB0eSgpKSB7Ci0gICAgICAg
ICAgICBib29sIGJhY2t0cmFja2luZ1JlZ2lzdGVyUmVzZXJ2ZWRGb3JGcmFnbWVudCA9IGJhY2t0
cmFja2luZ1JlZ2lzdGVyUmVzZXJ2ZWQgfHwgc2VsZWN0b3JGcmFnbWVudC5iYWNrdHJhY2tpbmdG
bGFncyAmIEJhY2t0cmFja2luZ0ZsYWc6OkluQ2hhaW5XaXRoRGVzY2VuZGFudFRhaWw7CisgICAg
ICAgIGJvb2wgYmFja3RyYWNraW5nUmVnaXN0ZXJSZXNlcnZlZEZvckZyYWdtZW50ID0gYmFja3Ry
YWNraW5nUmVnaXN0ZXJSZXNlcnZlZCB8fCBzZWxlY3RvckZyYWdtZW50LmJhY2t0cmFja2luZ0Zs
YWdzICYgQmFja3RyYWNraW5nRmxhZzo6SW5DaGFpbldpdGhEZXNjZW5kYW50VGFpbDsKIAotICAg
ICAgICAgICAgZm9yIChOdGhDaGlsZE9mU2VsZWN0b3JJbmZvJiBudGhDaGlsZE9mU2VsZWN0b3JJ
bmZvIDogc2VsZWN0b3JGcmFnbWVudC5udGhDaGlsZE9mRmlsdGVycykgewotICAgICAgICAgICAg
ICAgIHVuc2lnbmVkIG50aENoaWxkT2ZTZWxlY3RvckluZm9SZWdpc3RlclJlcXVpcmVtZW50cyA9
IG1pbmltdW1SZWdpc3RlclJlcXVpcmVtZW50OwotICAgICAgICAgICAgICAgIGJvb2wgY2xvYmJl
ckVsZW1lbnRBZGRyZXNzUmVnaXN0ZXIgPSBmYWxzZTsKKyAgICAgICAgY29tcHV0ZUJhY2t0cmFj
a2luZ01lbW9yeVJlcXVpcmVtZW50cyhzZWxlY3RvckZyYWdtZW50Lm5vdEZpbHRlcnMsIGZyYWdt
ZW50UmVnaXN0ZXJSZXF1aXJlbWVudHMsIGZyYWdtZW50U3RhY2tSZXF1aXJlbWVudHMsIGJhY2t0
cmFja2luZ1JlZ2lzdGVyUmVzZXJ2ZWRGb3JGcmFnbWVudCk7CiAKLSAgICAgICAgICAgICAgICBm
b3IgKFNlbGVjdG9yRnJhZ21lbnRMaXN0JiBuZXN0ZWRTZWxlY3RvckZyYWdtZW50TGlzdCA6IG50
aENoaWxkT2ZTZWxlY3RvckluZm8uc2VsZWN0b3JMaXN0KSB7Ci0gICAgICAgICAgICAgICAgICAg
IGNvbXB1dGVCYWNrdHJhY2tpbmdNZW1vcnlSZXF1aXJlbWVudHMobmVzdGVkU2VsZWN0b3JGcmFn
bWVudExpc3QsIGJhY2t0cmFja2luZ1JlZ2lzdGVyUmVzZXJ2ZWRGb3JGcmFnbWVudCk7Ci0KLSAg
ICAgICAgICAgICAgICAgICAgbnRoQ2hpbGRPZlNlbGVjdG9ySW5mb1JlZ2lzdGVyUmVxdWlyZW1l
bnRzID0gc3RkOjptYXgobnRoQ2hpbGRPZlNlbGVjdG9ySW5mb1JlZ2lzdGVyUmVxdWlyZW1lbnRz
LCBuZXN0ZWRTZWxlY3RvckZyYWdtZW50TGlzdC5yZWdpc3RlclJlcXVpcmVtZW50cyk7Ci0gICAg
ICAgICAgICAgICAgICAgIGNsb2JiZXJFbGVtZW50QWRkcmVzc1JlZ2lzdGVyID0gY2xvYmJlckVs
ZW1lbnRBZGRyZXNzUmVnaXN0ZXIgfHwgbmVzdGVkU2VsZWN0b3JGcmFnbWVudExpc3QuY2xvYmJl
ckVsZW1lbnRBZGRyZXNzUmVnaXN0ZXI7Ci0KLSAgICAgICAgICAgICAgICAgICAgZnJhZ21lbnRT
dGFja1JlcXVpcmVtZW50cyA9IHN0ZDo6bWF4KGZyYWdtZW50U3RhY2tSZXF1aXJlbWVudHMsIG5l
c3RlZFNlbGVjdG9yRnJhZ21lbnRMaXN0LnN0YWNrUmVxdWlyZW1lbnRzKTsKLSAgICAgICAgICAg
ICAgICB9Ci0gICAgICAgICAgICAgICAgZnJhZ21lbnRSZWdpc3RlclJlcXVpcmVtZW50cyA9IHN0
ZDo6bWF4KGZyYWdtZW50UmVnaXN0ZXJSZXF1aXJlbWVudHMsIG50aENoaWxkT2ZTZWxlY3Rvcklu
Zm9SZWdpc3RlclJlcXVpcmVtZW50cyk7Ci0gICAgICAgICAgICAgICAgbnRoQ2hpbGRPZlNlbGVj
dG9ySW5mby5zZWxlY3Rvckxpc3QucmVnaXN0ZXJSZXF1aXJlbWVudHMgPSBudGhDaGlsZE9mU2Vs
ZWN0b3JJbmZvUmVnaXN0ZXJSZXF1aXJlbWVudHM7Ci0gICAgICAgICAgICAgICAgbnRoQ2hpbGRP
ZlNlbGVjdG9ySW5mby5zZWxlY3Rvckxpc3QuY2xvYmJlckVsZW1lbnRBZGRyZXNzUmVnaXN0ZXIg
PSBjbG9iYmVyRWxlbWVudEFkZHJlc3NSZWdpc3RlcjsKLSAgICAgICAgICAgIH0KLSAgICAgICAg
fQorICAgICAgICBmb3IgKE50aENoaWxkT2ZTZWxlY3RvckluZm8mIG50aENoaWxkT2ZTZWxlY3Rv
ckluZm8gOiBzZWxlY3RvckZyYWdtZW50Lm50aENoaWxkT2ZGaWx0ZXJzKQorICAgICAgICAgICAg
Y29tcHV0ZUJhY2t0cmFja2luZ01lbW9yeVJlcXVpcmVtZW50cyhudGhDaGlsZE9mU2VsZWN0b3JJ
bmZvLnNlbGVjdG9yTGlzdCwgZnJhZ21lbnRSZWdpc3RlclJlcXVpcmVtZW50cywgZnJhZ21lbnRT
dGFja1JlcXVpcmVtZW50cywgYmFja3RyYWNraW5nUmVnaXN0ZXJSZXNlcnZlZEZvckZyYWdtZW50
KTsKIAogICAgICAgICBpZiAoc2VsZWN0b3JGcmFnbWVudC5iYWNrdHJhY2tpbmdGbGFncyAmIEJh
Y2t0cmFja2luZ0ZsYWc6OkluQ2hhaW5XaXRoRGVzY2VuZGFudFRhaWwpIHsKICAgICAgICAgICAg
IGlmICghYmFja3RyYWNraW5nUmVnaXN0ZXJSZXNlcnZlZCkKQEAgLTE0NzAsNiArMTQ3MSwxOCBA
QCB2b2lkIGNvbXB1dGVCYWNrdHJhY2tpbmdJbmZvcm1hdGlvbihTZWxlY3RvckZyYWdtZW50TGlz
dCYgc2VsZWN0b3JGcmFnbWVudHMsIHVucwogICAgIH0KIAogICAgIGZvciAoU2VsZWN0b3JGcmFn
bWVudCYgZnJhZ21lbnQgOiBzZWxlY3RvckZyYWdtZW50cykgeworICAgICAgICBpZiAoIWZyYWdt
ZW50Lm5vdEZpbHRlcnMuaXNFbXB0eSgpKSB7CisjaWYgQ1NTX1NFTEVDVE9SX0pJVF9ERUJVR0dJ
TkcKKyAgICAgICAgICAgIGRhdGFMb2dGKCIgICIpOworICAgICAgICAgICAgZGF0YUxvZ0YoIlN1
YnNlbGVjdG9ycyBmb3IgOm5vdCgpOlxuIik7CisjZW5kaWYKKworICAgICAgICAgICAgZm9yIChT
ZWxlY3RvckZyYWdtZW50TGlzdCYgc2VsZWN0b3JMaXN0IDogZnJhZ21lbnQubm90RmlsdGVycykK
KyAgICAgICAgICAgICAgICBjb21wdXRlQmFja3RyYWNraW5nSW5mb3JtYXRpb24oc2VsZWN0b3JM
aXN0LCBsZXZlbCArIDEpOworICAgICAgICB9CisgICAgfQorCisgICAgZm9yIChTZWxlY3RvckZy
YWdtZW50JiBmcmFnbWVudCA6IHNlbGVjdG9yRnJhZ21lbnRzKSB7CiAgICAgICAgIGZvciAoTnRo
Q2hpbGRPZlNlbGVjdG9ySW5mbyYgbnRoQ2hpbGRPZlNlbGVjdG9ySW5mbyA6IGZyYWdtZW50Lm50
aENoaWxkT2ZGaWx0ZXJzKSB7CiAjaWYgQ1NTX1NFTEVDVE9SX0pJVF9ERUJVR0dJTkcKICAgICAg
ICAgICAgIGZvciAodW5zaWduZWQgaSA9IGxldmVsOyBpOyAtLWkpCkBAIC0zNDUzLDEzICszNDY2
LDExIEBAIHZvaWQgU2VsZWN0b3JDb2RlR2VuZXJhdG9yOjpnZW5lcmF0ZUVsZW1lbnRJc050aENo
aWxkT2YoQXNzZW1ibGVyOjpKdW1wTGlzdCYgZmFpCiAKIHZvaWQgU2VsZWN0b3JDb2RlR2VuZXJh
dG9yOjpnZW5lcmF0ZUVsZW1lbnRNYXRjaGVzTm90UHNldWRvQ2xhc3MoQXNzZW1ibGVyOjpKdW1w
TGlzdCYgZmFpbHVyZUNhc2VzLCBjb25zdCBTZWxlY3RvckZyYWdtZW50JiBmcmFnbWVudCkKIHsK
LSAgICBmb3IgKGNvbnN0IGF1dG8mIHN1YkZyYWdtZW50IDogZnJhZ21lbnQubm90RmlsdGVycykg
ewotICAgICAgICBBc3NlbWJsZXI6Okp1bXBMaXN0IGxvY2FsRmFpbHVyZUNhc2VzOwotICAgICAg
ICBnZW5lcmF0ZUVsZW1lbnRNYXRjaGluZyhsb2NhbEZhaWx1cmVDYXNlcywgbG9jYWxGYWlsdXJl
Q2FzZXMsIHN1YkZyYWdtZW50KTsKLSAgICAgICAgLy8gU2luY2UgdGhpcyBpcyBhIG5vdCBwc2V1
ZG8gY2xhc3MgZmlsdGVyLCByZWFjaGluZyBoZXJlIGlzIGEgZmFpbHVyZS4KLSAgICAgICAgZmFp
bHVyZUNhc2VzLmFwcGVuZChtX2Fzc2VtYmxlci5qdW1wKCkpOwotICAgICAgICBsb2NhbEZhaWx1
cmVDYXNlcy5saW5rKCZtX2Fzc2VtYmxlcik7Ci0gICAgfQorICAgIEFzc2VtYmxlcjo6SnVtcExp
c3QgbG9jYWxGYWlsdXJlQ2FzZXM7CisgICAgZ2VuZXJhdGVFbGVtZW50TWF0Y2hlc1NlbGVjdG9y
TGlzdChsb2NhbEZhaWx1cmVDYXNlcywgZWxlbWVudEFkZHJlc3NSZWdpc3RlciwgZnJhZ21lbnQu
bm90RmlsdGVycyk7CisgICAgLy8gU2luY2UgdGhpcyBpcyBhIG5vdCBwc2V1ZG8gY2xhc3MgZmls
dGVyLCByZWFjaGluZyBoZXJlIGlzIGEgZmFpbHVyZS4KKyAgICBmYWlsdXJlQ2FzZXMuYXBwZW5k
KG1fYXNzZW1ibGVyLmp1bXAoKSk7CisgICAgbG9jYWxGYWlsdXJlQ2FzZXMubGluaygmbV9hc3Nl
bWJsZXIpOwogfQogCiB2b2lkIFNlbGVjdG9yQ29kZUdlbmVyYXRvcjo6Z2VuZXJhdGVFbGVtZW50
TWF0Y2hlc0FueVBzZXVkb0NsYXNzKEFzc2VtYmxlcjo6SnVtcExpc3QmIGZhaWx1cmVDYXNlcywg
Y29uc3QgU2VsZWN0b3JGcmFnbWVudCYgZnJhZ21lbnQpCg==
</data>
<flag name="review"
          id="264817"
          type_id="1"
          status="+"
          setter="kling"
    />
          </attachment>
      

    </bug>

</bugzilla>