<?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>158199</bug_id>
          
          <creation_ts>2016-05-30 03:04:22 -0700</creation_ts>
          <short_desc>Multiple selectors break keyframes animation</short_desc>
          <delta_ts>2016-06-08 11:46:16 -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>CSS</component>
          <version>Other</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>iOS 9.3</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Matthew Gertner">matthew</reporter>
          <assigned_to name="Dean Jackson">dino</assigned_to>
          <cc>dino</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1197586</commentid>
    <comment_count>0</comment_count>
    <who name="Matthew Gertner">matthew</who>
    <bug_when>2016-05-30 03:04:22 -0700</bug_when>
    <thetext>I am using CSS code like the following:

@keyframes foo {
  0% {
    transform: scale(0.3);
    opacity: 1;
  }
  50% {
    transform: scale(1);
    opacity: 0;
  }
  100% {
    transform: scale(2);
    opacity: 0;
  }
}

This works fine, but when run through css-nano, some selectors are combined as so:

@keyframes foo {
  0% {
    transform: scale(0.3);
    opacity: 1;
  }
  50% {
    transform: scale(1);
  }
  50%,to {
    opacity: 0;
  }
  to {
    transform: scale(2);
  }
}

Looks like in this case the opacity rule is applied to 50% but not to 100%. This appears to work fine in other browsers I tested.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1199616</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2016-06-06 10:43:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/26652591&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1199735</commentid>
    <comment_count>2</comment_count>
      <attachid>280638</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-06-06 15:33:03 -0700</bug_when>
    <thetext>Created attachment 280638
Testcase</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1199752</commentid>
    <comment_count>3</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-06-06 15:59:38 -0700</bug_when>
    <thetext>KeyframeList::insert() is just replacing earlier keyframes with later ones having the same key, rather than merging.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1200501</commentid>
    <comment_count>4</comment_count>
      <attachid>280815</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2016-06-08 11:05:15 -0700</bug_when>
    <thetext>Created attachment 280815
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1200503</commentid>
    <comment_count>5</comment_count>
      <attachid>280815</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-06-08 11:09:53 -0700</bug_when>
    <thetext>Comment on attachment 280815
Patch

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

&gt; Source/WebCore/css/StyleResolver.cpp:525
&gt; +    const Vector&lt;Ref&lt;StyleKeyframe&gt;&gt;* keyframes = &amp;keyframesRule-&gt;keyframes();

auto?

&gt; Source/WebCore/css/StyleResolver.cpp:550
&gt; +                    Ref&lt;StyleKeyframe&gt; styleKeyframe = StyleKeyframe::create(MutableStyleProperties::create());

auto?

&gt; Source/WebCore/css/StyleResolver.cpp:552
&gt; +                    styleKeyframe.ptr()-&gt;mutableProperties().mergeAndOverrideOnConflict(originalKeyframe-&gt;properties());

Weird to call mergeAndOverrideOnConflict() when mutableProperties() is empty. Could we not have just passed the properties to MutableStyleProperties::create() ?

&gt; Source/WebCore/css/StyleResolver.cpp:566
&gt; +

No blank line.

&gt; LayoutTests/animations/duplicate-keys-expected.html:33
&gt; +    testRunner.waitUntilDone();
&gt; +    window.addEventListener(&quot;load&quot;, function () {
&gt; +        var box = document.querySelector(&quot;.box&quot;);
&gt; +        internals.pauseAnimationAtTimeOnElement(&quot;foo&quot;, 0.1, box);
&gt; +        testRunner.notifyDone();

You don&apos;t need to use waitUntilDone/notifyDone if the test finishes inside the load event.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1200522</commentid>
    <comment_count>6</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2016-06-08 11:45:25 -0700</bug_when>
    <thetext>Committed r201818: &lt;http://trac.webkit.org/changeset/201818&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>280638</attachid>
            <date>2016-06-06 15:33:03 -0700</date>
            <delta_ts>2016-06-06 15:33:03 -0700</delta_ts>
            <desc>Testcase</desc>
            <filename>combined-keyframes.html</filename>
            <type>text/html</type>
            <size>846</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+Cgo8aHRtbD4KPGhlYWQ+CiAgICA8c3R5bGU+CiAgICAgICAgLmJveCB7
CiAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CiAgICAgICAgICAgIHdpZHRoOiAwcHg7CiAgICAg
ICAgICAgIGJvcmRlci13aWR0aDogMDsKICAgICAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDUw
cHg7CiAgICAgICAgICAgIGJvcmRlci1yaWdodC13aWR0aDogNTBweDsKICAgICAgICAgICAgYm9y
ZGVyLXN0eWxlOiBzb2xpZDsKICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBibHVlOwogICAgICAg
ICAgICBhbmltYXRpb246IGZvbyAycyBmb3J3YXJkczsKICAgICAgICB9CiAgICAgICAgCiAgICAg
ICAgQGtleWZyYW1lcyBmb28gewogICAgICAgICAgMCUgewogICAgICAgICAgICBib3JkZXItbGVm
dC1jb2xvcjogb3JhbmdlOwogICAgICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6IGdyZWVuOwog
ICAgICAgICAgfQogICAgICAgICAgNTAlIHsKICAgICAgICAgICAgICBib3JkZXItbGVmdC1jb2xv
cjogcmVkOwogICAgICAgICAgfQogICAgICAgICAgNTAlLCB0byB7CiAgICAgICAgICAgICAgYm9y
ZGVyLXJpZ2h0LWNvbG9yOiBncmVlbjsKICAgICAgICAgIH0KICAgICAgICAgIHRvIHsKICAgICAg
ICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogb3JhbmdlOwogICAgICAgICAgfQogICAgICAgIH0K
ICAgICAgICAKICAgIDwvc3R5bGU+CjwvaGVhZD4KPGJvZHk+Cgo8cD5MZWZ0IHNpZGUgc2hvdWxk
IGdvIG9yYW5nZSAtPiByZWQsIHJpZ2h0IHNpZGUgc2hvdWxkIHN0YXkgZ3JlZW4gYXQgdGhlIGVu
ZC48L3A+CjxkaXYgY2xhc3M9ImJveCI+CjwvZGl2Pgo8L2JvZHk+CjwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>280815</attachid>
            <date>2016-06-08 11:05:15 -0700</date>
            <delta_ts>2016-06-08 11:46:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-158199-20160608110642.patch</filename>
            <type>text/plain</type>
            <size>11266</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAxNzU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWM2YWRmNThhNjFlNmQ1
M2UxMDEzMjVjZTU5MmQyZmQ4ZjY3ZTJjOC4uODg2ZWQxMTBmMmZmZGRlMTM3MmE2YjI1OWE5YzIw
ZGEyMzA1YWE1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDE2LTA2LTA4ICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBNdWx0aXBsZSBzZWxlY3RvcnMg
YnJlYWsga2V5ZnJhbWVzIGFuaW1hdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTU4MTk5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yNjY1MjU5
MT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJZiB3
ZSBjYW1lIGFjcm9zcyBhIGR1cGxpY2F0ZSBrZXkgZW50cnkgaW4gYSBrZXlmcmFtZSwgd2UKKyAg
ICAgICAgd2VyZSByZXBsYWNpbmcgdGhlIGV4aXN0aW5nIGVudHJ5LCBpbnN0ZWFkIG9mIG1lcmdp
bmcuCisKKyAgICAgICAgVGVzdDogYW5pbWF0aW9ucy9kdXBsaWNhdGUta2V5cy5odG1sCisKKyAg
ICAgICAgKiBjc3MvQ1NTS2V5ZnJhbWVSdWxlLmg6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZUtl
eWZyYW1lOjpzZXRLZXkpOiBBZGQgYSB3YXkgdG8gc2V0IHRoZSBrZXkgb2YgYSBydWxlCisgICAg
ICAgIGFzIGEgbnVtYmVyLCByYXRoZXIgdGhhbiBnb2luZyB0aHJvdWdoIGEgc3RyaW5nIGFuZCB0
aGUgQ1NTIHBhcnNlci4KKyAgICAgICAgKiBjc3MvU3R5bGVSZXNvbHZlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpTdHlsZVJlc29sdmVyOjprZXlmcmFtZVN0eWxlc0ZvckFuaW1hdGlvbik6IENo
ZWNrIGlmIHRoZSBydWxlCisgICAgICAgIGhhcyBkdXBsaWNhdGVzLCBhbmQgaWYgaXQgZG9lcywg
bWVyZ2UgYWxsIHRoZSBjb21tb24gZW50cmllcy4KKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUv
S2V5ZnJhbWVMaXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OktleWZyYW1lTGlzdDo6aW5zZXJ0
KTogTm93IHRoYXQgd2UndmUgcmVtb3ZlZCBkdXBsaWNhdGVzIGF0CisgICAgICAgIHRoZSBwcm9j
ZXNzaW5nIHRpbWUsIHdlIHNob3VsZCBuZXZlciBjb21lIGFjcm9zcyBhIGR1cGxpY2F0ZSB3aGls
ZQorICAgICAgICBidWlsZGluZyB0aGlzIGxpc3QuCisKIDIwMTYtMDYtMDcgIEJyZW50IEZ1bGdo
YW0gIDxiZnVsZ2hhbUBhcHBsZS5jb20+CiAKICAgICAgICAgQ1NQOiBDb250ZW50IFNlY3VyaXR5
IFBvbGljeSBkaXJlY3RpdmUsIHVwZ3JhZGUtaW5zZWN1cmUtcmVxdWVzdHMgKFVJUikKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NLZXlmcmFtZVJ1bGUuaCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NLZXlmcmFtZVJ1bGUuaAppbmRleCA2Mjg1YWU0NzBhODUxOTdlYzUwMjY4NzJj
OWYzNzZmMDBhYzQ4Y2NkLi5jODdjYjI4M2JjNjA0OGJmOGY4MTFmMWY0ZGU3ZDZmYjExNDZmMTlm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTS2V5ZnJhbWVSdWxlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NTU0tleWZyYW1lUnVsZS5oCkBAIC00Nyw2ICs0NywxMiBAQCBw
dWJsaWM6CiAKICAgICBTdHJpbmcga2V5VGV4dCgpIGNvbnN0OwogICAgIHZvaWQgc2V0S2V5VGV4
dChjb25zdCBTdHJpbmcmIHRleHQpIHsgbV9rZXlzID0gQ1NTUGFyc2VyOjpwYXJzZUtleWZyYW1l
U2VsZWN0b3IodGV4dCk7IH0KKyAgICB2b2lkIHNldEtleShkb3VibGUga2V5KQorICAgIHsKKyAg
ICAgICAgQVNTRVJUKG1fa2V5cy5pc0VtcHR5KCkpOworICAgICAgICBtX2tleXMuY2xlYXIoKTsK
KyAgICAgICAgbV9rZXlzLmFwcGVuZChrZXkpOworICAgIH0KIAogICAgIGNvbnN0IFZlY3Rvcjxk
b3VibGU+JiBrZXlzKCkgY29uc3QgeyByZXR1cm4gbV9rZXlzOyB9OwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
U3R5bGVSZXNvbHZlci5jcHAKaW5kZXggY2ZjYTA2YTUyMmY2NDg4OTNmN2NlZDdiNzU2OTU5YjFh
ZDMzNzk3OS4uZmY0MTU2MzZiNzJjZmI1MjEyMTZhMTcyZTcxMGQ5ZGUzNmI1ODQ4MCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcApAQCAtNTEwLDcgKzUxMCw3IEBAIHZvaWQgU3R5
bGVSZXNvbHZlcjo6a2V5ZnJhbWVTdHlsZXNGb3JBbmltYXRpb24oY29uc3QgRWxlbWVudCYgZWxl
bWVudCwgY29uc3QgUmVuCiB7CiAgICAgbGlzdC5jbGVhcigpOwogCi0gICAgLy8gR2V0IHRoZSBr
ZXlmcmFtZXNSdWxlIGZvciB0aGlzIG5hbWUKKyAgICAvLyBHZXQgdGhlIGtleWZyYW1lc1J1bGUg
Zm9yIHRoaXMgbmFtZS4KICAgICBpZiAobGlzdC5hbmltYXRpb25OYW1lKCkuaXNFbXB0eSgpKQog
ICAgICAgICByZXR1cm47CiAKQEAgLTUyMiwxMyArNTIyLDUzIEBAIHZvaWQgU3R5bGVSZXNvbHZl
cjo6a2V5ZnJhbWVTdHlsZXNGb3JBbmltYXRpb24oY29uc3QgRWxlbWVudCYgZWxlbWVudCwgY29u
c3QgUmVuCiAKICAgICBjb25zdCBTdHlsZVJ1bGVLZXlmcmFtZXMqIGtleWZyYW1lc1J1bGUgPSBp
dC0+dmFsdWUuZ2V0KCk7CiAKLSAgICAvLyBDb25zdHJ1Y3QgYW5kIHBvcHVsYXRlIHRoZSBzdHls
ZSBmb3IgZWFjaCBrZXlmcmFtZQotICAgIGZvciAoYXV0byYga2V5ZnJhbWUgOiBrZXlmcmFtZXNS
dWxlLT5rZXlmcmFtZXMoKSkgewotICAgICAgICAvLyBBcHBseSB0aGUgZGVjbGFyYXRpb24gdG8g
dGhlIHN0eWxlLiBUaGlzIGlzIGEgc2ltcGxpZmllZCB2ZXJzaW9uIG9mIHRoZSBsb2dpYyBpbiBz
dHlsZUZvckVsZW1lbnQKKyAgICBjb25zdCBWZWN0b3I8UmVmPFN0eWxlS2V5ZnJhbWU+Pioga2V5
ZnJhbWVzID0gJmtleWZyYW1lc1J1bGUtPmtleWZyYW1lcygpOworICAgIFZlY3RvcjxSZWY8U3R5
bGVLZXlmcmFtZT4+IG5ld0tleWZyYW1lc0lmTmVjZXNzYXJ5OworCisgICAgYm9vbCBoYXNEdXBs
aWNhdGVLZXlzOworICAgIEhhc2hTZXQ8ZG91YmxlPiBrZXlmcmFtZUtleXM7CisgICAgZm9yIChh
dXRvJiBrZXlmcmFtZSA6ICprZXlmcmFtZXMpIHsKKyAgICAgICAgZm9yIChhdXRvIGtleSA6IGtl
eWZyYW1lLT5rZXlzKCkpIHsKKyAgICAgICAgICAgIGlmICgha2V5ZnJhbWVLZXlzLmFkZChrZXkp
KSB7CisgICAgICAgICAgICAgICAgaGFzRHVwbGljYXRlS2V5cyA9IHRydWU7CisgICAgICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgaWYgKGhhc0R1
cGxpY2F0ZUtleXMpCisgICAgICAgICAgICBicmVhazsKKyAgICB9CisKKyAgICBpZiAoaGFzRHVw
bGljYXRlS2V5cykgeworICAgICAgICAvLyBNZXJnZSBkdXBsaWNhdGUga2V5IHRpbWVzLgorICAg
ICAgICBIYXNoTWFwPGRvdWJsZSwgUmVmUHRyPFN0eWxlS2V5ZnJhbWU+PiBrZXlmcmFtZXNNYXA7
CisKKyAgICAgICAgZm9yIChhdXRvJiBvcmlnaW5hbEtleWZyYW1lIDoga2V5ZnJhbWVzUnVsZS0+
a2V5ZnJhbWVzKCkpIHsKKyAgICAgICAgICAgIGZvciAoYXV0byBrZXkgOiBvcmlnaW5hbEtleWZy
YW1lLT5rZXlzKCkpIHsKKyAgICAgICAgICAgICAgICBpZiAoYXV0byBrZXlmcmFtZSA9IGtleWZy
YW1lc01hcC5nZXQoa2V5KSkKKyAgICAgICAgICAgICAgICAgICAga2V5ZnJhbWUtPm11dGFibGVQ
cm9wZXJ0aWVzKCkubWVyZ2VBbmRPdmVycmlkZU9uQ29uZmxpY3Qob3JpZ2luYWxLZXlmcmFtZS0+
cHJvcGVydGllcygpKTsKKyAgICAgICAgICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgICAgICAg
ICAgUmVmPFN0eWxlS2V5ZnJhbWU+IHN0eWxlS2V5ZnJhbWUgPSBTdHlsZUtleWZyYW1lOjpjcmVh
dGUoTXV0YWJsZVN0eWxlUHJvcGVydGllczo6Y3JlYXRlKCkpOworICAgICAgICAgICAgICAgICAg
ICBzdHlsZUtleWZyYW1lLnB0cigpLT5zZXRLZXkoa2V5KTsKKyAgICAgICAgICAgICAgICAgICAg
c3R5bGVLZXlmcmFtZS5wdHIoKS0+bXV0YWJsZVByb3BlcnRpZXMoKS5tZXJnZUFuZE92ZXJyaWRl
T25Db25mbGljdChvcmlnaW5hbEtleWZyYW1lLT5wcm9wZXJ0aWVzKCkpOworICAgICAgICAgICAg
ICAgICAgICBrZXlmcmFtZXNNYXAuc2V0KGtleSwgc3R5bGVLZXlmcmFtZS5wdHIoKSk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgZm9yIChh
dXRvJiBrZXlmcmFtZSA6IGtleWZyYW1lc01hcC52YWx1ZXMoKSkKKyAgICAgICAgICAgIG5ld0tl
eWZyYW1lc0lmTmVjZXNzYXJ5LmFwcGVuZCgqa2V5ZnJhbWUuZ2V0KCkpOworCisgICAgICAgIGtl
eWZyYW1lcyA9ICZuZXdLZXlmcmFtZXNJZk5lY2Vzc2FyeTsKKyAgICB9CisKKyAgICAvLyBDb25z
dHJ1Y3QgYW5kIHBvcHVsYXRlIHRoZSBzdHlsZSBmb3IgZWFjaCBrZXlmcmFtZS4KKyAgICBmb3Ig
KGF1dG8mIGtleWZyYW1lIDogKmtleWZyYW1lcykgeworCisgICAgICAgIC8vIEFwcGx5IHRoZSBk
ZWNsYXJhdGlvbiB0byB0aGUgc3R5bGUuIFRoaXMgaXMgYSBzaW1wbGlmaWVkIHZlcnNpb24gb2Yg
dGhlIGxvZ2ljIGluIHN0eWxlRm9yRWxlbWVudC4KICAgICAgICAgbV9zdGF0ZSA9IFN0YXRlKGVs
ZW1lbnQsIG51bGxwdHIpOwogCiAgICAgICAgIC8vIEFkZCB0aGlzIGtleWZyYW1lIHN0eWxlIHRv
IGFsbCB0aGUgaW5kaWNhdGVkIGtleSB0aW1lcwotICAgICAgICBmb3IgKGF1dG8mIGtleSA6IGtl
eWZyYW1lLT5rZXlzKCkpIHsKKyAgICAgICAgZm9yIChhdXRvIGtleSA6IGtleWZyYW1lLT5rZXlz
KCkpIHsKICAgICAgICAgICAgIEtleWZyYW1lVmFsdWUga2V5ZnJhbWVWYWx1ZSgwLCBudWxscHRy
KTsKICAgICAgICAgICAgIGtleWZyYW1lVmFsdWUuc2V0U3R5bGUoc3R5bGVGb3JLZXlmcmFtZShl
bGVtZW50U3R5bGUsIGtleWZyYW1lLnB0cigpLCBrZXlmcmFtZVZhbHVlKSk7CiAgICAgICAgICAg
ICBrZXlmcmFtZVZhbHVlLnNldEtleShrZXkpOwpAQCAtNTM2LDI1ICs1NzYsMjUgQEAgdm9pZCBT
dHlsZVJlc29sdmVyOjprZXlmcmFtZVN0eWxlc0ZvckFuaW1hdGlvbihjb25zdCBFbGVtZW50JiBl
bGVtZW50LCBjb25zdCBSZW4KICAgICAgICAgfQogICAgIH0KIAotICAgIC8vIElmIHRoZSAwJSBr
ZXlmcmFtZSBpcyBtaXNzaW5nLCBjcmVhdGUgaXQgKGJ1dCBvbmx5IGlmIHRoZXJlIGlzIGF0IGxl
YXN0IG9uZSBvdGhlciBrZXlmcmFtZSkKKyAgICAvLyBJZiB0aGUgMCUga2V5ZnJhbWUgaXMgbWlz
c2luZywgY3JlYXRlIGl0IChidXQgb25seSBpZiB0aGVyZSBpcyBhdCBsZWFzdCBvbmUgb3RoZXIg
a2V5ZnJhbWUpLgogICAgIGludCBpbml0aWFsTGlzdFNpemUgPSBsaXN0LnNpemUoKTsKICAgICBp
ZiAoaW5pdGlhbExpc3RTaXplID4gMCAmJiBsaXN0WzBdLmtleSgpKSB7CiAgICAgICAgIHN0YXRp
YyBTdHlsZUtleWZyYW1lKiB6ZXJvUGVyY2VudEtleWZyYW1lOwogICAgICAgICBpZiAoIXplcm9Q
ZXJjZW50S2V5ZnJhbWUpIHsKICAgICAgICAgICAgIHplcm9QZXJjZW50S2V5ZnJhbWUgPSAmU3R5
bGVLZXlmcmFtZTo6Y3JlYXRlKE11dGFibGVTdHlsZVByb3BlcnRpZXM6OmNyZWF0ZSgpKS5sZWFr
UmVmKCk7Ci0gICAgICAgICAgICB6ZXJvUGVyY2VudEtleWZyYW1lLT5zZXRLZXlUZXh0KCIwJSIp
OworICAgICAgICAgICAgemVyb1BlcmNlbnRLZXlmcmFtZS0+c2V0S2V5KDApOwogICAgICAgICB9
CiAgICAgICAgIEtleWZyYW1lVmFsdWUga2V5ZnJhbWVWYWx1ZSgwLCBudWxscHRyKTsKICAgICAg
ICAga2V5ZnJhbWVWYWx1ZS5zZXRTdHlsZShzdHlsZUZvcktleWZyYW1lKGVsZW1lbnRTdHlsZSwg
emVyb1BlcmNlbnRLZXlmcmFtZSwga2V5ZnJhbWVWYWx1ZSkpOwogICAgICAgICBsaXN0Lmluc2Vy
dChXVEZNb3ZlKGtleWZyYW1lVmFsdWUpKTsKICAgICB9CiAKLSAgICAvLyBJZiB0aGUgMTAwJSBr
ZXlmcmFtZSBpcyBtaXNzaW5nLCBjcmVhdGUgaXQgKGJ1dCBvbmx5IGlmIHRoZXJlIGlzIGF0IGxl
YXN0IG9uZSBvdGhlciBrZXlmcmFtZSkKKyAgICAvLyBJZiB0aGUgMTAwJSBrZXlmcmFtZSBpcyBt
aXNzaW5nLCBjcmVhdGUgaXQgKGJ1dCBvbmx5IGlmIHRoZXJlIGlzIGF0IGxlYXN0IG9uZSBvdGhl
ciBrZXlmcmFtZSkuCiAgICAgaWYgKGluaXRpYWxMaXN0U2l6ZSA+IDAgJiYgKGxpc3RbbGlzdC5z
aXplKCkgLSAxXS5rZXkoKSAhPSAxKSkgewogICAgICAgICBzdGF0aWMgU3R5bGVLZXlmcmFtZSog
aHVuZHJlZFBlcmNlbnRLZXlmcmFtZTsKICAgICAgICAgaWYgKCFodW5kcmVkUGVyY2VudEtleWZy
YW1lKSB7CiAgICAgICAgICAgICBodW5kcmVkUGVyY2VudEtleWZyYW1lID0gJlN0eWxlS2V5ZnJh
bWU6OmNyZWF0ZShNdXRhYmxlU3R5bGVQcm9wZXJ0aWVzOjpjcmVhdGUoKSkubGVha1JlZigpOwot
ICAgICAgICAgICAgaHVuZHJlZFBlcmNlbnRLZXlmcmFtZS0+c2V0S2V5VGV4dCgiMTAwJSIpOwor
ICAgICAgICAgICAgaHVuZHJlZFBlcmNlbnRLZXlmcmFtZS0+c2V0S2V5KDEpOwogICAgICAgICB9
CiAgICAgICAgIEtleWZyYW1lVmFsdWUga2V5ZnJhbWVWYWx1ZSgxLCBudWxscHRyKTsKICAgICAg
ICAga2V5ZnJhbWVWYWx1ZS5zZXRTdHlsZShzdHlsZUZvcktleWZyYW1lKGVsZW1lbnRTdHlsZSwg
aHVuZHJlZFBlcmNlbnRLZXlmcmFtZSwga2V5ZnJhbWVWYWx1ZSkpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0tleWZyYW1lTGlzdC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3R5bGUvS2V5ZnJhbWVMaXN0LmNwcAppbmRleCAwNzcxYzI1YjFiMGQ3
OTE3ODk3Y2ZiOGExM2VkN2I0ZTljYzM3YWNhLi43NjUyMzgwNWEyNWM5NDI2YWZlMDNjMzM5MWMw
ZTc4OTk4YTUxZDI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUv
S2V5ZnJhbWVMaXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvS2V5
ZnJhbWVMaXN0LmNwcApAQCAtNzgsMTIgKzc4LDEwIEBAIHZvaWQgS2V5ZnJhbWVMaXN0OjppbnNl
cnQoS2V5ZnJhbWVWYWx1ZSYmIGtleWZyYW1lKQogICAgICAgICByZXR1cm47CiAKICAgICBib29s
IGluc2VydGVkID0gZmFsc2U7Ci0gICAgYm9vbCByZXBsYWNlZCA9IGZhbHNlOwogICAgIHNpemVf
dCBpID0gMDsKICAgICBmb3IgKDsgaSA8IG1fa2V5ZnJhbWVzLnNpemUoKTsgKytpKSB7CiAgICAg
ICAgIGlmIChtX2tleWZyYW1lc1tpXS5rZXkoKSA9PSBrZXlmcmFtZS5rZXkoKSkgewotICAgICAg
ICAgICAgbV9rZXlmcmFtZXNbaV0gPSBXVEZNb3ZlKGtleWZyYW1lKTsKLSAgICAgICAgICAgIHJl
cGxhY2VkID0gdHJ1ZTsKKyAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAg
ICAgICAgYnJlYWs7CiAgICAgICAgIH0KIApAQCAtOTUsMTkgKzkzLDkgQEAgdm9pZCBLZXlmcmFt
ZUxpc3Q6Omluc2VydChLZXlmcmFtZVZhbHVlJiYga2V5ZnJhbWUpCiAgICAgICAgIH0KICAgICB9
CiAgICAgCi0gICAgaWYgKCFyZXBsYWNlZCAmJiAhaW5zZXJ0ZWQpCisgICAgaWYgKCFpbnNlcnRl
ZCkKICAgICAgICAgbV9rZXlmcmFtZXMuYXBwZW5kKFdURk1vdmUoa2V5ZnJhbWUpKTsKIAotICAg
IGlmIChyZXBsYWNlZCkgewotICAgICAgICAvLyBXZSBoYXZlIHRvIHJlYnVpbGQgdGhlIHByb3Bl
cnRpZXMgbGlzdCBmcm9tIHNjcmF0Y2guCi0gICAgICAgIG1fcHJvcGVydGllcy5jbGVhcigpOwot
ICAgICAgICBmb3IgKGF1dG8mIGtleWZyYW1lVmFsdWUgOiBtX2tleWZyYW1lcykgewotICAgICAg
ICAgICAgZm9yIChhdXRvJiBwcm9wZXJ0eSA6IGtleWZyYW1lVmFsdWUucHJvcGVydGllcygpKQot
ICAgICAgICAgICAgICAgIG1fcHJvcGVydGllcy5hZGQocHJvcGVydHkpOwotICAgICAgICB9Ci0g
ICAgICAgIHJldHVybjsKLSAgICB9Ci0KICAgICBmb3IgKGF1dG8mIHByb3BlcnR5IDogbV9rZXlm
cmFtZXNbaV0ucHJvcGVydGllcygpKQogICAgICAgICBtX3Byb3BlcnRpZXMuYWRkKHByb3BlcnR5
KTsKIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwppbmRleCAwYzcwZjEwMjdhZGFjYjUxNTVjOGE4YWQ2YWMzZDY2YzRkNTdiM2I3Li41
OGE2YTgxMTlkMzY1ODVlNDdlZTBiNjY1MDY5MDYwZjI3NmZkYjc5IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTQgQEAKKzIwMTYtMDYtMDggIERlYW4gSmFja3NvbiAgPGRpbm9AYXBwbGUuY29tPgorCisgICAg
ICAgIE11bHRpcGxlIHNlbGVjdG9ycyBicmVhayBrZXlmcmFtZXMgYW5pbWF0aW9uCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTgxOTkKKyAgICAgICAg
PHJkYXI6Ly9wcm9ibGVtLzI2NjUyNTkxPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogYW5pbWF0aW9ucy9kdXBsaWNhdGUta2V5cy1leHBlY3RlZC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBhbmltYXRpb25zL2R1cGxpY2F0ZS1rZXlzLmh0bWw6IEFk
ZGVkLgorCiAyMDE2LTA2LTA3ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgog
CiAgICAgICAgIENTUDogQ29udGVudCBTZWN1cml0eSBQb2xpY3kgZGlyZWN0aXZlLCB1cGdyYWRl
LWluc2VjdXJlLXJlcXVlc3RzIChVSVIpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hbmltYXRp
b25zL2R1cGxpY2F0ZS1rZXlzLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9hbmltYXRpb25z
L2R1cGxpY2F0ZS1rZXlzLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2I3YWI1ZjEzMTViNzA2
YWUwODBkMmNkOGZkY2ZhNzg1OWIwN2FkZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2FuaW1hdGlvbnMvZHVwbGljYXRlLWtleXMtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDQwIEBA
Cis8c3R5bGU+CisuYm94IHsKKyAgICBoZWlnaHQ6IDEwMHB4OworICAgIHdpZHRoOiAwcHg7Cisg
ICAgYm9yZGVyLXdpZHRoOiAwOworICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAyMDBweDsKKyAgICBi
b3JkZXItcmlnaHQtd2lkdGg6IDIwMHB4OworICAgIGJvcmRlci1zdHlsZTogc29saWQ7CisgICAg
Ym9yZGVyLWNvbG9yOiBibHVlOworICAgIGFuaW1hdGlvbjogZm9vIDIwMG1zIGZvcndhcmRzOwor
fQorQGtleWZyYW1lcyBmb28geworICAgIDAlIHsKKyAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6
IG9yYW5nZTsKKyAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiBncmVlbjsKKyAgICB9CisgICAg
NTAlIHsKKyAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHJlZDsKKyAgICB9CisgICAgdG8gewor
ICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogb3JhbmdlOworICAgICAgICBib3JkZXItcmlnaHQt
Y29sb3I6IGdyZWVuOworICAgIH0KK30KKworPC9zdHlsZT4KKzxzY3JpcHQ+CitpZiAod2luZG93
LnRlc3RSdW5uZXIpIHsKKyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAgICB3aW5k
b3cuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIGZ1bmN0aW9uICgpIHsKKyAgICAgICAgdmFyIGJv
eCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5ib3giKTsKKyAgICAgICAgaW50ZXJuYWxzLnBh
dXNlQW5pbWF0aW9uQXRUaW1lT25FbGVtZW50KCJmb28iLCAwLjEsIGJveCk7CisgICAgICAgIHRl
c3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgIH0sIGZhbHNlKTsKK30KKzwvc2NyaXB0PgorPHA+
TGVmdCBzaWRlIHNob3VsZCBnbyBvcmFuZ2UgLT4gcmVkIC0+IG9yYW5nZSwgcmlnaHQgc2lkZSBz
aG91bGQgc3RheSBncmVlbiBhdCB0aGUgZW5kLjwvcD4KKzxkaXYgY2xhc3M9ImJveCI+Cis8L2Rp
dj4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvYW5pbWF0aW9ucy9kdXBsaWNhdGUta2V5cy5o
dG1sIGIvTGF5b3V0VGVzdHMvYW5pbWF0aW9ucy9kdXBsaWNhdGUta2V5cy5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmE2NDJmZjMyODg1MTBhY2QyNTZiOWQzZDgxMDg1Y2Q3NzhhYTUzYTUKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9hbmltYXRpb25zL2R1cGxpY2F0ZS1rZXlzLmh0bWwKQEAgLTAs
MCArMSw0MiBAQAorPHN0eWxlPgorLmJveCB7CisgICAgaGVpZ2h0OiAxMDBweDsKKyAgICB3aWR0
aDogMHB4OworICAgIGJvcmRlci13aWR0aDogMDsKKyAgICBib3JkZXItbGVmdC13aWR0aDogMjAw
cHg7CisgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAyMDBweDsKKyAgICBib3JkZXItc3R5bGU6IHNv
bGlkOworICAgIGJvcmRlci1jb2xvcjogYmx1ZTsKKyAgICBhbmltYXRpb246IGZvbyAyMDBtcyBm
b3J3YXJkczsKK30KK0BrZXlmcmFtZXMgZm9vIHsKKyAgICAwJSB7CisgICAgICAgIGJvcmRlci1s
ZWZ0LWNvbG9yOiBvcmFuZ2U7CisgICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogZ3JlZW47Cisg
ICAgfQorICAgIDUwJSB7CisgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiByZWQ7CisgICAgfQor
ICAgIDUwJSwgdG8geworICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6IGdyZWVuOworICAgIH0K
KyAgICB0byB7CisgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiBvcmFuZ2U7CisgICAgfQorfQor
Cis8L3N0eWxlPgorPHNjcmlwdD4KK2lmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgIHRlc3RS
dW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgZnVuY3Rpb24gKCkgeworICAgICAgICB2YXIgYm94ID0gZG9jdW1lbnQucXVlcnlTZWxlY3Rv
cigiLmJveCIpOworICAgICAgICBpbnRlcm5hbHMucGF1c2VBbmltYXRpb25BdFRpbWVPbkVsZW1l
bnQoImZvbyIsIDAuMSwgYm94KTsKKyAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Cisg
ICAgfSwgZmFsc2UpOworfQorPC9zY3JpcHQ+Cis8cD5MZWZ0IHNpZGUgc2hvdWxkIGdvIG9yYW5n
ZSAtPiByZWQgLT4gb3JhbmdlLCByaWdodCBzaWRlIHNob3VsZCBzdGF5IGdyZWVuIGF0IHRoZSBl
bmQuPC9wPgorPGRpdiBjbGFzcz0iYm94Ij4KKzwvZGl2PgorCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>