<?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>56894</bug_id>
          
          <creation_ts>2011-03-22 20:40:43 -0700</creation_ts>
          <short_desc>move :not over to using selectorList instead of simpleSelector</short_desc>
          <delta_ts>2011-03-24 00:20:53 -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>Other</rep_platform>
          <op_sys>OS X 10.5</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>
          <dependson>56998</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ojan Vafai">ojan</reporter>
          <assigned_to name="Ojan Vafai">ojan</assigned_to>
          <cc>abarth</cc>
    
    <cc>darin</cc>
    
    <cc>eric</cc>
    
    <cc>koivisto</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>371946</commentid>
    <comment_count>0</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2011-03-22 20:40:43 -0700</bug_when>
    <thetext>move :not over to using selectorList instead of simpleSelector</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>371954</commentid>
    <comment_count>1</comment_count>
      <attachid>86567</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2011-03-22 21:16:46 -0700</bug_when>
    <thetext>Created attachment 86567
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>371994</commentid>
    <comment_count>2</comment_count>
      <attachid>86567</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-03-23 00:23:11 -0700</bug_when>
    <thetext>Comment on attachment 86567
Patch

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

&gt; Source/WebCore/css/CSSGrammar.y:1199
&gt; +            // Use the selector vector instead of just storing the single selector to avoid
&gt; +            // bloating memory in CSSSelector::RareData.

I am not sure I understand the meaning of this comment. There is no way to just store a single selector any more after this patch, so the comment makes sense only if you know the history of the code. Is that right?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>371999</commentid>
    <comment_count>3</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2011-03-23 00:28:57 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 86567 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=86567&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/css/CSSGrammar.y:1199
&gt; &gt; +            // Use the selector vector instead of just storing the single selector to avoid
&gt; &gt; +            // bloating memory in CSSSelector::RareData.
&gt; 
&gt; I am not sure I understand the meaning of this comment. There is no way to just store a single selector any more after this patch, so the comment makes sense only if you know the history of the code. Is that right?

Right. It&apos;s a poorly phrased comment. I&apos;ll just delete it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>372030</commentid>
    <comment_count>4</comment_count>
      <attachid>86567</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2011-03-23 02:02:36 -0700</bug_when>
    <thetext>Comment on attachment 86567
Patch

+                // FIXME: should we check if the subSelectors are sibling selectors?

Doesn&apos;t the current grammar assume that the subselectors are simple so there is no need? It would be good to explain that in the comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>372031</commentid>
    <comment_count>5</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2011-03-23 02:03:09 -0700</bug_when>
    <thetext>...and perhaps assert() for that too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>372621</commentid>
    <comment_count>6</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2011-03-23 19:28:27 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 86567 [details])
&gt; +                // FIXME: should we check if the subSelectors are sibling selectors?
&gt; 
&gt; Doesn&apos;t the current grammar assume that the subselectors are simple so there is no need? It would be good to explain that in the comment.

(In reply to comment #5)
&gt; ...and perhaps assert() for that too.

Duh. Good point. I&apos;m trying to convince the CSS WG to change that, but in the meantime ASSERT added.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>372622</commentid>
    <comment_count>7</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2011-03-23 19:34:31 -0700</bug_when>
    <thetext>Committed r81845: &lt;http://trac.webkit.org/changeset/81845&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>372702</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-03-24 00:11:35 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/81845 might have broken Leopard Intel Debug (Tests) and Windows XP Debug (Tests)
The following tests are not passing:
fast/selectors/077.html
fast/selectors/077b.html
fast/selectors/078b.html
inspector/audits/audits-panel-functional.html
inspector/console/command-line-api-inspect.html
inspector/console/command-line-api.html
inspector/console/console-api-on-call-frame.html
inspector/console/console-assert.html
inspector/cookie-parser.html
inspector/cookie-resource-match.html
inspector/cpu-profiler-profiling.html
inspector/evaluate-in-page.html
inspector/inspected-objects-not-overriden.html
inspector/report-API-errors.html
inspector/report-protocol-errors.html
inspector/storage-panel-dom-storage.html
inspector/syntax-highlight-css.html
inspector/syntax-highlight-html.html
inspector/syntax-highlight-javascript.html
inspector/utilities.html</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>86567</attachid>
            <date>2011-03-22 21:16:46 -0700</date>
            <delta_ts>2011-03-23 02:02:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-56894-20110323151644.patch</filename>
            <type>text/plain</type>
            <size>11620</size>
            <attacher name="Ojan Vafai">ojan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODE3NDQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA5NzU2NWQxNmRhODZiMTFj
MmE0NzhiYmJiNjIwNWJiNDY4MGIwNGIzLi5hZGI5OGJhODQ5YjkyNDk4MGI3OGI1MGIyZDgxZGQx
YWZlODk1YzVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzQgQEAKKzIwMTEtMDMtMjIgIE9qYW4g
VmFmYWkgIDxvamFuQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBtb3ZlIDpub3Qgb3ZlciB0byB1c2luZyBzZWxlY3Rvckxpc3Qg
aW5zdGVhZCBvZiBzaW1wbGVTZWxlY3RvcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NTY4OTQKKworICAgICAgICBTYXZlcyBtZW1vcnkgYW5kIHNpbXBs
aWZpZXMgY29kZS4KKworICAgICAgICBObyBuZXcgdGVzdHMgc2luY2UgZXhpc3RpbmcgdGVzdHMg
Y292ZXIgdGhpcyBjb2RlLgorCisgICAgICAgICogY3NzL0NTU0dyYW1tYXIueToKKyAgICAgICAg
QWxzbyByZW1vdmVkIGV4dHJhbmVub3VzIGNhbGxzIHRvIHVwZGF0ZUxhc3RTZWxlY3RvckxpbmVB
bmRQb3NpdGlvbiBpbgorICAgICAgICBzaW1wbGVfc2VsZWN0b3JfbGlzdC4gVGhlc2UgaGFwcGVu
ZWQgdG8gd29yaywgYnV0IGFyZSBvbmx5IGFjdHVhbGx5CisgICAgICAgIG5lZWRlZCBpbiBzZWxl
Y3Rvcl9saXN0LgorICAgICAgICAqIGNzcy9DU1NQYXJzZXJWYWx1ZXMuaDoKKyAgICAgICAgKiBj
c3MvQ1NTU2VsZWN0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU2VsZWN0b3I6OnNwZWNp
ZmljaXR5Rm9yT25lU2VsZWN0b3IpOgorICAgICAgICBSZW1vdmVkIG51bGwtY2hlY2suIFRoZSBw
YXJzZXIgbnVsbC1jaGVja3MsIEkgZG9uJ3Qgc2VlIHdoeSB3ZSBuZWVkIHRvIGhlcmUuCisgICAg
ICAgIChXZWJDb3JlOjpDU1NTZWxlY3Rvcjo6c2VsZWN0b3JUZXh0KToKKyAgICAgICAgRGl0dG8u
CisgICAgICAgIChXZWJDb3JlOjpDU1NTZWxlY3Rvcjo6c2V0QXJndW1lbnQpOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTU2VsZWN0b3I6OmlzU2ltcGxlKToKKyAgICAgICAgKiBjc3MvQ1NTU2VsZWN0
b3IuaDoKKyAgICAgICAgKiBjc3MvQ1NTU2VsZWN0b3JMaXN0LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OmZvckVhY2hUYWdTZWxlY3Rvcik6CisgICAgICAgICogY3NzL0NTU1N0eWxlU2VsZWN0b3Iu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVTZWxlY3Rvcjo6U2VsZWN0b3JDaGVja2Vy
OjpjaGVja09uZVNlbGVjdG9yKToKKyAgICAgICAgKFdlYkNvcmU6OmNvbGxlY3RGZWF0dXJlc0Zy
b21TZWxlY3Rvcik6CisgICAgICAgIChXZWJDb3JlOjpjb2xsZWN0RmVhdHVyZXNGcm9tTGlzdCk6
CisKIDIwMTEtMDMtMTcgIE9qYW4gVmFmYWkgIDxvamFuQGNocm9taXVtLm9yZz4KIAogICAgICAg
ICBSZXZpZXdlZCBieSBBbnR0aSBLb2l2aXN0by4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NHcmFtbWFyLnkgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JhbW1hci55CmluZGV4
IDgyZjBhZWVmYWJlOTRiMjY1OGQ3MWNmMzJlMzY5MmVhMzdkZmU1NWIuLjhlZWRiYzc2YjkwYzU5
MmZhNzY0MjdiMmQyZmFkYTlhNzQyNjcxNGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NHcmFtbWFyLnkKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0dyYW1tYXIueQpAQCAt
OTI4LDkgKzkyOCw3IEBAIHNpbXBsZV9zZWxlY3Rvcl9saXN0OgogICAgICAgICBpZiAoJDEpIHsK
ICAgICAgICAgICAgIENTU1BhcnNlciogcCA9IHN0YXRpY19jYXN0PENTU1BhcnNlcio+KHBhcnNl
cik7CiAgICAgICAgICAgICAkJCA9IHAtPmNyZWF0ZUZsb2F0aW5nU2VsZWN0b3JWZWN0b3IoKTsK
LSAgICAgICAgICAgICQkLT5zaHJpbmsoMCk7CiAgICAgICAgICAgICAkJC0+YXBwZW5kKHAtPnNp
bmtGbG9hdGluZ1NlbGVjdG9yKCQxKSk7Ci0gICAgICAgICAgICBwLT51cGRhdGVMYXN0U2VsZWN0
b3JMaW5lQW5kUG9zaXRpb24oKTsKICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICAkJCA9IDAK
ICAgICB9CkBAIC05MzksNyArOTM3LDYgQEAgc2ltcGxlX3NlbGVjdG9yX2xpc3Q6CiAgICAgICAg
ICAgICBDU1NQYXJzZXIqIHAgPSBzdGF0aWNfY2FzdDxDU1NQYXJzZXIqPihwYXJzZXIpOwogICAg
ICAgICAgICAgJCQgPSAkMTsKICAgICAgICAgICAgICQkLT5hcHBlbmQocC0+c2lua0Zsb2F0aW5n
U2VsZWN0b3IoJDUpKTsKLSAgICAgICAgICAgIHAtPnVwZGF0ZUxhc3RTZWxlY3RvckxpbmVBbmRQ
b3NpdGlvbigpOwogICAgICAgICB9IGVsc2UKICAgICAgICAgICAgICQkID0gMDsKICAgICB9CkBA
IC0xMTk3LDcgKzExOTQsMTMgQEAgcHNldWRvOgogICAgICAgICAgICAgQ1NTUGFyc2VyKiBwID0g
c3RhdGljX2Nhc3Q8Q1NTUGFyc2VyKj4ocGFyc2VyKTsKICAgICAgICAgICAgICQkID0gcC0+Y3Jl
YXRlRmxvYXRpbmdTZWxlY3RvcigpOwogICAgICAgICAgICAgJCQtPnNldE1hdGNoKENTU1NlbGVj
dG9yOjpQc2V1ZG9DbGFzcyk7Ci0gICAgICAgICAgICAkJC0+c2V0U2ltcGxlU2VsZWN0b3IocC0+
c2lua0Zsb2F0aW5nU2VsZWN0b3IoJDQpLT5yZWxlYXNlU2VsZWN0b3IoKSk7CisKKyAgICAgICAg
ICAgIC8vIFVzZSB0aGUgc2VsZWN0b3IgdmVjdG9yIGluc3RlYWQgb2YganVzdCBzdG9yaW5nIHRo
ZSBzaW5nbGUgc2VsZWN0b3IgdG8gYXZvaWQKKyAgICAgICAgICAgIC8vIGJsb2F0aW5nIG1lbW9y
eSBpbiBDU1NTZWxlY3Rvcjo6UmFyZURhdGEuCisgICAgICAgICAgICBWZWN0b3I8T3duUHRyPENT
U1BhcnNlclNlbGVjdG9yPiA+IHNlbGVjdG9yVmVjdG9yOworICAgICAgICAgICAgc2VsZWN0b3JW
ZWN0b3IuYXBwZW5kKHAtPnNpbmtGbG9hdGluZ1NlbGVjdG9yKCQ0KSk7CisgICAgICAgICAgICAk
JC0+YWRvcHRTZWxlY3RvclZlY3RvcihzZWxlY3RvclZlY3Rvcik7CisKICAgICAgICAgICAgICQy
Lmxvd2VyKCk7CiAgICAgICAgICAgICAkJC0+c2V0VmFsdWUoJDIpOwogICAgICAgICB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyVmFsdWVzLmggYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTUGFyc2VyVmFsdWVzLmgKaW5kZXggMGNlZWViMjNlZDUzYjZiZWRlNGM0OTRk
OWYyMTFjZjAwOGFjNjM1Zi4uMGY0M2I4Yzk3NGQxZTlmNjI2Y2FhODFmMDE2MzQ5NmRjNjQwMTYy
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlclZhbHVlcy5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXJWYWx1ZXMuaApAQCAtMTA1LDcgKzEwNSw2IEBA
IHB1YmxpYzoKICAgICB2b2lkIHNldFZhbHVlKGNvbnN0IEF0b21pY1N0cmluZyYgdmFsdWUpIHsg
bV9zZWxlY3Rvci0+c2V0VmFsdWUodmFsdWUpOyB9CiAgICAgdm9pZCBzZXRBdHRyaWJ1dGUoY29u
c3QgUXVhbGlmaWVkTmFtZSYgdmFsdWUpIHsgbV9zZWxlY3Rvci0+c2V0QXR0cmlidXRlKHZhbHVl
KTsgfQogICAgIHZvaWQgc2V0QXJndW1lbnQoY29uc3QgQXRvbWljU3RyaW5nJiB2YWx1ZSkgeyBt
X3NlbGVjdG9yLT5zZXRBcmd1bWVudCh2YWx1ZSk7IH0KLSAgICB2b2lkIHNldFNpbXBsZVNlbGVj
dG9yKFBhc3NPd25QdHI8Q1NTU2VsZWN0b3I+IHZhbHVlKSB7IG1fc2VsZWN0b3ItPnNldFNpbXBs
ZVNlbGVjdG9yKHZhbHVlKTsgfQogICAgIHZvaWQgc2V0TWF0Y2goQ1NTU2VsZWN0b3I6Ok1hdGNo
IHZhbHVlKSB7IG1fc2VsZWN0b3ItPm1fbWF0Y2ggPSB2YWx1ZTsgfQogICAgIHZvaWQgc2V0UmVs
YXRpb24oQ1NTU2VsZWN0b3I6OlJlbGF0aW9uIHZhbHVlKSB7IG1fc2VsZWN0b3ItPm1fcmVsYXRp
b24gPSB2YWx1ZTsgfQogICAgIHZvaWQgc2V0Rm9yUGFnZSgpIHsgbV9zZWxlY3Rvci0+c2V0Rm9y
UGFnZSgpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuY3Bw
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmNwcAppbmRleCA4Njc1ZjJhZTE4ZWQ5
Yjk2NGJkNWVlMWIzZWVhYmVhMjA0ZThiODE0Li5hODdkNGYzZTI2N2FjNjVmOTA2ZDgzZDc1Njc0
NzQ5YTc4ZGVhNDMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3Iu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5jcHAKQEAgLTgxLDkgKzgx
LDEwIEBAIGlubGluZSB1bnNpZ25lZCBDU1NTZWxlY3Rvcjo6c3BlY2lmaWNpdHlGb3JPbmVTZWxl
Y3RvcigpIGNvbnN0CiAgICAgY2FzZSBFbmQ6CiAgICAgICAgIC8vIEZJWE1FOiBQc3VlZG9Bbnkg
c2hvdWxkIGJhc2UgdGhlIHNwZWNpZmljaXR5IG9uIHRoZSBzdWItc2VsZWN0b3JzLgogICAgICAg
ICAvLyBTZWUgaHR0cDovL2xpc3RzLnczLm9yZy9BcmNoaXZlcy9QdWJsaWMvd3d3LXN0eWxlLzIw
MTBTZXAvMDUzMC5odG1sCi0gICAgICAgIGlmIChwc2V1ZG9UeXBlKCkgPT0gUHNldWRvTm90ICYm
IHNpbXBsZVNlbGVjdG9yKCkpCi0gICAgICAgICAgICBzICs9IHNpbXBsZVNlbGVjdG9yKCktPnNw
ZWNpZmljaXR5Rm9yT25lU2VsZWN0b3IoKTsKLSAgICAgICAgZWxzZQorICAgICAgICBpZiAocHNl
dWRvVHlwZSgpID09IFBzZXVkb05vdCkgeworICAgICAgICAgICAgQVNTRVJUKHNlbGVjdG9yTGlz
dCgpKTsKKyAgICAgICAgICAgIHMgKz0gc2VsZWN0b3JMaXN0KCktPmZpcnN0KCktPnNwZWNpZmlj
aXR5Rm9yT25lU2VsZWN0b3IoKTsKKyAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICBzICs9IDB4
MTAwOwogICAgIGNhc2UgTm9uZToKICAgICAgICAgYnJlYWs7CkBAIC02NDgsOCArNjQ5LDggQEAg
U3RyaW5nIENTU1NlbGVjdG9yOjpzZWxlY3RvclRleHQoKSBjb25zdAogCiAgICAgICAgICAgICBz
d2l0Y2ggKGNzLT5wc2V1ZG9UeXBlKCkpIHsKICAgICAgICAgICAgIGNhc2UgUHNldWRvTm90Ogot
ICAgICAgICAgICAgICAgIGlmIChDU1NTZWxlY3Rvciogc3ViU2VsID0gY3MtPnNpbXBsZVNlbGVj
dG9yKCkpCi0gICAgICAgICAgICAgICAgICAgIHN0ciArPSBzdWJTZWwtPnNlbGVjdG9yVGV4dCgp
OworICAgICAgICAgICAgICAgIEFTU0VSVChjcy0+c2VsZWN0b3JMaXN0KCkpOworICAgICAgICAg
ICAgICAgIHN0ciArPSBjcy0+c2VsZWN0b3JMaXN0KCktPmZpcnN0KCktPnNlbGVjdG9yVGV4dCgp
OwogICAgICAgICAgICAgICAgIHN0ciArPSAiKSI7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAg
ICAgICAgICAgICBjYXNlIFBzZXVkb0xhbmc6CkBAIC03NTksMTIgKzc2MCw2IEBAIHZvaWQgQ1NT
U2VsZWN0b3I6OnNldEFyZ3VtZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdmFsdWUpCiAgICAgY3Jl
YXRlUmFyZURhdGEoKTsgCiAgICAgbV9kYXRhLm1fcmFyZURhdGEtPm1fYXJndW1lbnQgPSB2YWx1
ZTsgCiB9Ci0KLXZvaWQgQ1NTU2VsZWN0b3I6OnNldFNpbXBsZVNlbGVjdG9yKFBhc3NPd25QdHI8
Q1NTU2VsZWN0b3I+IHZhbHVlKQotewotICAgIGNyZWF0ZVJhcmVEYXRhKCk7IAotICAgIG1fZGF0
YS5tX3JhcmVEYXRhLT5tX3NpbXBsZVNlbGVjdG9yID0gdmFsdWU7IAotfQogICAgIAogdm9pZCBD
U1NTZWxlY3Rvcjo6c2V0U2VsZWN0b3JMaXN0KFBhc3NPd25QdHI8Q1NTU2VsZWN0b3JMaXN0PiBz
ZWxlY3Rvckxpc3QpCiB7CkBAIC03OTAsNyArNzg1LDcgQEAgYm9vbCBDU1NTZWxlY3Rvcjo6bWF0
Y2hOdGgoaW50IGNvdW50KQogCiBib29sIENTU1NlbGVjdG9yOjppc1NpbXBsZSgpIGNvbnN0CiB7
Ci0gICAgaWYgKHNpbXBsZVNlbGVjdG9yKCkgfHwgdGFnSGlzdG9yeSgpIHx8IG1hdGNoZXNQc2V1
ZG9FbGVtZW50KCkpCisgICAgaWYgKHNlbGVjdG9yTGlzdCgpIHx8IHRhZ0hpc3RvcnkoKSB8fCBt
YXRjaGVzUHNldWRvRWxlbWVudCgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBpbnQg
bnVtQ29uZGl0aW9ucyA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2Vs
ZWN0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5oCmluZGV4IDkwNWQ5OWFm
ZWFkNmFiMmRjNTVjMDg5MzVmZTFkMDNlZTcyMDhhZGQuLmZkYWRhZmE3ZmVmNjc0YTIzZWQ0MGMx
NTI4YmUxODM5MDFkZTBhYTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWxl
Y3Rvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5oCkBAIC0yNDksMTQg
KzI0OSwxMiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIGNvbnN0IEF0b21pY1N0cmlu
ZyYgdmFsdWUoKSBjb25zdCB7IHJldHVybiAqcmVpbnRlcnByZXRfY2FzdDxjb25zdCBBdG9taWNT
dHJpbmcqPihtX2hhc1JhcmVEYXRhID8gJm1fZGF0YS5tX3JhcmVEYXRhLT5tX3ZhbHVlIDogJm1f
ZGF0YS5tX3ZhbHVlKTsgfQogICAgICAgICBjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyaWJ1dGUo
KSBjb25zdDsKICAgICAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBhcmd1bWVudCgpIGNvbnN0IHsg
cmV0dXJuIG1faGFzUmFyZURhdGEgPyBtX2RhdGEubV9yYXJlRGF0YS0+bV9hcmd1bWVudCA6IG51
bGxBdG9tOyB9Ci0gICAgICAgIENTU1NlbGVjdG9yKiBzaW1wbGVTZWxlY3RvcigpIGNvbnN0IHsg
cmV0dXJuIG1faGFzUmFyZURhdGEgPyBtX2RhdGEubV9yYXJlRGF0YS0+bV9zaW1wbGVTZWxlY3Rv
ci5nZXQoKSA6IDA7IH0KICAgICAgICAgQ1NTU2VsZWN0b3JMaXN0KiBzZWxlY3Rvckxpc3QoKSBj
b25zdCB7IHJldHVybiBtX2hhc1JhcmVEYXRhID8gbV9kYXRhLm1fcmFyZURhdGEtPm1fc2VsZWN0
b3JMaXN0LmdldCgpIDogMDsgfQogICAgICAgICAKICAgICAgICAgdm9pZCBzZXRUYWcoY29uc3Qg
UXVhbGlmaWVkTmFtZSYgdmFsdWUpIHsgbV90YWcgPSB2YWx1ZTsgfQogICAgICAgICB2b2lkIHNl
dFZhbHVlKGNvbnN0IEF0b21pY1N0cmluZyYpOwogICAgICAgICB2b2lkIHNldEF0dHJpYnV0ZShj
b25zdCBRdWFsaWZpZWROYW1lJik7CiAgICAgICAgIHZvaWQgc2V0QXJndW1lbnQoY29uc3QgQXRv
bWljU3RyaW5nJik7Ci0gICAgICAgIHZvaWQgc2V0U2ltcGxlU2VsZWN0b3IoUGFzc093blB0cjxD
U1NTZWxlY3Rvcj4pOwogICAgICAgICB2b2lkIHNldFNlbGVjdG9yTGlzdChQYXNzT3duUHRyPENT
U1NlbGVjdG9yTGlzdD4pOwogICAgICAgICAKICAgICAgICAgYm9vbCBwYXJzZU50aCgpOwpAQCAt
MzA3LDEyICszMDUsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgICAgICBBdG9taWNT
dHJpbmdJbXBsKiBtX3ZhbHVlOyAvLyBQbGFpbiBwb2ludGVyIHRvIGtlZXAgdGhpbmdzIHVuaWZv
cm0gd2l0aCB0aGUgdW5pb24uCiAgICAgICAgICAgICBpbnQgbV9hOyAvLyBVc2VkIGZvciA6bnRo
LSoKICAgICAgICAgICAgIGludCBtX2I7IC8vIFVzZWQgZm9yIDpudGgtKgotICAgICAgICAgICAg
Ly8gVXNlZCBmb3IgOm5vdC4KLSAgICAgICAgICAgIC8vIEZJWE1FOiBtX3NlbGVjdG9yTGlzdCBp
bnN0ZWFkIHRvIHNhdmUgbWVtb3J5LgotICAgICAgICAgICAgT3duUHRyPENTU1NlbGVjdG9yPiBt
X3NpbXBsZVNlbGVjdG9yOwogICAgICAgICAgICAgUXVhbGlmaWVkTmFtZSBtX2F0dHJpYnV0ZTsg
Ly8gdXNlZCBmb3IgYXR0cmlidXRlIHNlbGVjdG9yCiAgICAgICAgICAgICBBdG9taWNTdHJpbmcg
bV9hcmd1bWVudDsgLy8gVXNlZCBmb3IgOmNvbnRhaW5zLCA6bGFuZyBhbmQgOm50aC0qCi0gICAg
ICAgICAgICBPd25QdHI8Q1NTU2VsZWN0b3JMaXN0PiBtX3NlbGVjdG9yTGlzdDsgLy8gVXNlZCBm
b3IgOi13ZWJraXQtYW55CisgICAgICAgICAgICBPd25QdHI8Q1NTU2VsZWN0b3JMaXN0PiBtX3Nl
bGVjdG9yTGlzdDsgLy8gVXNlZCBmb3IgOi13ZWJraXQtYW55IGFuZCA6bm90CiAgICAgICAgIH07
CiAgICAgICAgIHZvaWQgY3JlYXRlUmFyZURhdGEoKTsKICAgICAgICAgCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3JMaXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NTZWxlY3Rvckxpc3QuY3BwCmluZGV4IGI5YmRhNDk2Y2U5OTY0YjA2MWM2YWRjYWQ3ODZm
ZGMzOTVlOTVlYmYuLmMwZmZkZDUzM2I5ZjdmYjM3NTE1NmE0NzYxMTQzODFmN2YzOTAxY2QgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvckxpc3QuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvckxpc3QuY3BwCkBAIC0xMjIsMTAgKzEyMiw2IEBA
IHN0YXRpYyBib29sIGZvckVhY2hUYWdTZWxlY3RvcihGdW5jdG9yJiBmdW5jdG9yLCBDU1NTZWxl
Y3Rvciogc2VsZWN0b3IpCiAgICAgZG8gewogICAgICAgICBpZiAoZnVuY3RvcihzZWxlY3Rvcikp
CiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgaWYgKENTU1NlbGVjdG9yKiBzaW1w
bGVTZWxlY3RvciA9IHNlbGVjdG9yLT5zaW1wbGVTZWxlY3RvcigpKSB7Ci0gICAgICAgICAgICBp
ZiAoZm9yRWFjaFRhZ1NlbGVjdG9yKGZ1bmN0b3IsIHNpbXBsZVNlbGVjdG9yKSkKLSAgICAgICAg
ICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgfQogICAgICAgICBpZiAoQ1NTU2VsZWN0b3JM
aXN0KiBzZWxlY3Rvckxpc3QgPSBzZWxlY3Rvci0+c2VsZWN0b3JMaXN0KCkpIHsKICAgICAgICAg
ICAgIGZvciAoQ1NTU2VsZWN0b3IqIHN1YlNlbGVjdG9yID0gc2VsZWN0b3JMaXN0LT5maXJzdCgp
OyBzdWJTZWxlY3Rvcjsgc3ViU2VsZWN0b3IgPSBDU1NTZWxlY3Rvckxpc3Q6Om5leHQoc3ViU2Vs
ZWN0b3IpKSB7CiAgICAgICAgICAgICAgICAgaWYgKGZvckVhY2hUYWdTZWxlY3RvcihmdW5jdG9y
LCBzdWJTZWxlY3RvcikpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVT
ZWxlY3Rvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAKaW5k
ZXggNTM0YzRlNGJhZTQ3MTlkNjg5MTRiYTc1ZjNiZmQ5NjA1NmRjNjYzMS4uNjQzMDcyZDdhZDI3
OWIxZmI5MWVkMGEzMGZjZjEzNzU5MGJlMGIyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHls
ZVNlbGVjdG9yLmNwcApAQCAtMjUyOSwxMiArMjUyOSwxMiBAQCBib29sIENTU1N0eWxlU2VsZWN0
b3I6OlNlbGVjdG9yQ2hlY2tlcjo6Y2hlY2tPbmVTZWxlY3RvcihDU1NTZWxlY3Rvciogc2VsLCBF
bGVtZQogICAgIGlmIChzZWwtPm1fbWF0Y2ggPT0gQ1NTU2VsZWN0b3I6OlBzZXVkb0NsYXNzKSB7
CiAgICAgICAgIC8vIEhhbmRsZSA6bm90IHVwIGZyb250LgogICAgICAgICBpZiAoc2VsLT5wc2V1
ZG9UeXBlKCkgPT0gQ1NTU2VsZWN0b3I6OlBzZXVkb05vdCkgewotICAgICAgICAgICAgLy8gY2hl
Y2sgdGhlIHNpbXBsZSBzZWxlY3RvcgotICAgICAgICAgICAgZm9yIChDU1NTZWxlY3Rvciogc3Vi
U2VsID0gc2VsLT5zaW1wbGVTZWxlY3RvcigpOyBzdWJTZWw7IHN1YlNlbCA9IHN1YlNlbC0+dGFn
SGlzdG9yeSgpKSB7CisgICAgICAgICAgICBBU1NFUlQoc2VsLT5zZWxlY3Rvckxpc3QoKSk7Cisg
ICAgICAgICAgICBmb3IgKENTU1NlbGVjdG9yKiBzdWJTZWwgPSBzZWwtPnNlbGVjdG9yTGlzdCgp
LT5maXJzdCgpOyBzdWJTZWw7IHN1YlNlbCA9IHN1YlNlbC0+dGFnSGlzdG9yeSgpKSB7CiAgICAg
ICAgICAgICAgICAgLy8gOm5vdCBjYW5ub3QgbmVzdC4gSSBkb24ndCByZWFsbHkga25vdyB3aHkg
dGhpcyBpcyBhCiAgICAgICAgICAgICAgICAgLy8gcmVzdHJpY3Rpb24gaW4gQ1NTMywgYnV0IGl0
IGlzLCBzbyBsZXQncyBob25vciBpdC4KICAgICAgICAgICAgICAgICAvLyB0aGUgcGFyc2VyIGVu
Zm9yY2VzIHRoYXQgdGhpcyBuZXZlciBvY2N1cnMKLSAgICAgICAgICAgICAgICBBU1NFUlQoIXN1
YlNlbC0+c2ltcGxlU2VsZWN0b3IoKSk7CisgICAgICAgICAgICAgICAgQVNTRVJUKHN1YlNlbC0+
cHNldWRvVHlwZSgpICE9IENTU1NlbGVjdG9yOjpQc2V1ZG9Ob3QpOwogCiAgICAgICAgICAgICAg
ICAgaWYgKCFjaGVja09uZVNlbGVjdG9yKHN1YlNlbCwgZSwgc2VsZWN0b3JBdHRycywgZHluYW1p
Y1BzZXVkbywgdHJ1ZSwgZWxlbWVudFN0eWxlLCBlbGVtZW50UGFyZW50U3R5bGUpKQogICAgICAg
ICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKQEAgLTMzMDksMTAgKzMzMDksNiBAQCBzdGF0aWMg
aW5saW5lIHZvaWQgY29sbGVjdEZlYXR1cmVzRnJvbVNlbGVjdG9yKENTU1N0eWxlU2VsZWN0b3I6
OkZlYXR1cmVzJiBmZWF0dQogICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVkb1Zpc2l0ZWQ6CiAg
ICAgICAgIGZlYXR1cmVzLnVzZXNMaW5rUnVsZXMgPSB0cnVlOwogICAgICAgICBicmVhazsKLSAg
ICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9Bbnk6Ci0gICAgICAgIGZvciAoQ1NTU2VsZWN0b3Iq
IHN1YlNlbGVjdG9yID0gc2VsZWN0b3ItPnNlbGVjdG9yTGlzdCgpLT5maXJzdCgpOyBzdWJTZWxl
Y3Rvcjsgc3ViU2VsZWN0b3IgPSBDU1NTZWxlY3Rvckxpc3Q6Om5leHQoc3ViU2VsZWN0b3IpKQot
ICAgICAgICAgICAgY29sbGVjdEZlYXR1cmVzRnJvbVNlbGVjdG9yKGZlYXR1cmVzLCBzdWJTZWxl
Y3Rvcik7Ci0gICAgICAgIHJldHVybjsKICAgICBkZWZhdWx0OgogICAgICAgICBicmVhazsKICAg
ICB9CkBAIC0zMzI2LDggKzMzMjIsMTMgQEAgc3RhdGljIHZvaWQgY29sbGVjdEZlYXR1cmVzRnJv
bUxpc3QoQ1NTU3R5bGVTZWxlY3Rvcjo6RmVhdHVyZXMmIGZlYXR1cmVzLCBjb25zdAogICAgICAg
ICBib29sIGZvdW5kU2libGluZ1NlbGVjdG9yID0gZmFsc2U7CiAgICAgICAgIGZvciAoQ1NTU2Vs
ZWN0b3IqIHNlbGVjdG9yID0gcnVsZURhdGEuc2VsZWN0b3IoKTsgc2VsZWN0b3I7IHNlbGVjdG9y
ID0gc2VsZWN0b3ItPnRhZ0hpc3RvcnkoKSkgewogICAgICAgICAgICAgY29sbGVjdEZlYXR1cmVz
RnJvbVNlbGVjdG9yKGZlYXR1cmVzLCBzZWxlY3Rvcik7Ci0gICAgICAgICAgICBpZiAoQ1NTU2Vs
ZWN0b3IqIHNpbXBsZVNlbGVjdG9yID0gc2VsZWN0b3ItPnNpbXBsZVNlbGVjdG9yKCkpCi0gICAg
ICAgICAgICAgICAgY29sbGVjdEZlYXR1cmVzRnJvbVNlbGVjdG9yKGZlYXR1cmVzLCBzaW1wbGVT
ZWxlY3Rvcik7CisKKyAgICAgICAgICAgIGlmIChDU1NTZWxlY3Rvckxpc3QqIHNlbGVjdG9yTGlz
dCA9IHNlbGVjdG9yLT5zZWxlY3Rvckxpc3QoKSkgeworICAgICAgICAgICAgICAgIC8vIEZJWE1F
OiBzaG91bGQgd2UgY2hlY2sgaWYgdGhlIHN1YlNlbGVjdG9ycyBhcmUgc2libGluZyBzZWxlY3Rv
cnM/CisgICAgICAgICAgICAgICAgZm9yIChDU1NTZWxlY3Rvciogc3ViU2VsZWN0b3IgPSBzZWxl
Y3Rvckxpc3QtPmZpcnN0KCk7IHN1YlNlbGVjdG9yOyBzdWJTZWxlY3RvciA9IENTU1NlbGVjdG9y
TGlzdDo6bmV4dChzdWJTZWxlY3RvcikpCisgICAgICAgICAgICAgICAgICAgIGNvbGxlY3RGZWF0
dXJlc0Zyb21TZWxlY3RvcihmZWF0dXJlcywgc3ViU2VsZWN0b3IpOworICAgICAgICAgICAgfQor
CiAgICAgICAgICAgICBpZiAoc2VsZWN0b3ItPmlzU2libGluZ1NlbGVjdG9yKCkpCiAgICAgICAg
ICAgICAgICAgZm91bmRTaWJsaW5nU2VsZWN0b3IgPSB0cnVlOwogICAgICAgICB9Cg==
</data>
<flag name="review"
          id="78863"
          type_id="1"
          status="+"
          setter="koivisto"
    />
          </attachment>
      

    </bug>

</bugzilla>