<?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>195929</bug_id>
          
          <creation_ts>2019-03-18 19:17:19 -0700</creation_ts>
          <short_desc>RenderElement::startAnimation/animationFinished should take const Animation&amp;</short_desc>
          <delta_ts>2019-03-19 11:00: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>Layout and Rendering</component>
          <version>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1518088</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2019-03-18 19:17:19 -0700</bug_when>
    <thetext>instead of const Animation*</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1518089</commentid>
    <comment_count>1</comment_count>
      <attachid>365109</attachid>
    <who name="alan">zalan</who>
    <bug_when>2019-03-18 19:19:13 -0700</bug_when>
    <thetext>Created attachment 365109
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1518090</commentid>
    <comment_count>2</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2019-03-18 19:19:43 -0700</bug_when>
    <thetext>and this should be also applied all the way to the graphics layers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1518115</commentid>
    <comment_count>3</comment_count>
      <attachid>365109</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2019-03-18 20:43:54 -0700</bug_when>
    <thetext>Comment on attachment 365109
Patch

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

&gt; Source/WebCore/animation/KeyframeEffect.cpp:1322
&gt; +            if (!compositedRenderer-&gt;startAnimation(timeOffset, backingAnimationForCompositedRenderer().get(), m_blendingKeyframes)) {

Ok as-is. * instead of .get().

&gt; Source/WebCore/animation/KeyframeEffect.cpp:1336
&gt; +            compositedRenderer-&gt;animationFinished(m_blendingKeyframes.animationName(), backingAnimationForCompositedRenderer().get());

Ditto.

&gt; Source/WebCore/page/animation/KeyframeAnimation.cpp:295
&gt; -        return renderer-&gt;startAnimation(timeOffset, m_animation.ptr(), m_keyframes);
&gt; +        return renderer-&gt;startAnimation(timeOffset, m_animation.get(), m_keyframes);

Ditto.

&gt; Source/WebCore/page/animation/KeyframeAnimation.cpp:318
&gt; -        renderer-&gt;animationFinished(m_keyframes.animationName());
&gt; +        renderer-&gt;animationFinished(m_keyframes.animationName(), m_animation.get());

Ok as-is, but why? Animation is unused. Symmetry?😀  Seems unnecessary in my opinion.🤪

Also ok-as is with .get, could use *.

&gt; Source/WebCore/rendering/RenderElement.h:229
&gt; -    virtual bool startAnimation(double /* timeOffset */, const Animation*, const KeyframeList&amp;) { return false; }
&gt; +    virtual bool startAnimation(double /* timeOffset */, const Animation&amp;, const KeyframeList&amp;) { return false; }

Nice.

&gt; Source/WebCore/rendering/RenderElement.h:232
&gt; -    virtual void animationFinished(const String&amp; /* name */) { }
&gt; +    virtual void animationFinished(const String&amp; /* name */, const Animation&amp;) { }

Ok as-is. 😐

&gt; Source/WebCore/rendering/RenderLayerBacking.cpp:2793
&gt; -bool RenderLayerBacking::startAnimation(double timeOffset, const Animation* anim, const KeyframeList&amp; keyframes)
&gt; +bool RenderLayerBacking::startAnimation(double timeOffset, const Animation&amp; animation, const KeyframeList&amp; keyframes)

Nice.

&gt; Source/WebCore/rendering/RenderLayerBacking.cpp:2849
&gt; -    if (hasOpacity &amp;&amp; m_graphicsLayer-&gt;addAnimation(opacityVector, IntSize(), anim, keyframes.animationName(), timeOffset))
&gt; +    if (hasOpacity &amp;&amp; m_graphicsLayer-&gt;addAnimation(opacityVector, IntSize(), &amp;animation, keyframes.animationName(), timeOffset))

Ok as-is. Could modernize with IntSize { }.

&gt; Source/WebCore/rendering/RenderLayerBacking.cpp:2852
&gt; -    if (hasFilter &amp;&amp; m_graphicsLayer-&gt;addAnimation(filterVector, IntSize(), anim, keyframes.animationName(), timeOffset))
&gt; +    if (hasFilter &amp;&amp; m_graphicsLayer-&gt;addAnimation(filterVector, IntSize(), &amp;animation, keyframes.animationName(), timeOffset))

Ditto.

&gt; Source/WebCore/rendering/RenderLayerBacking.cpp:2856
&gt; -    if (hasBackdropFilter &amp;&amp; m_graphicsLayer-&gt;addAnimation(backdropFilterVector, IntSize(), anim, keyframes.animationName(), timeOffset))
&gt; +    if (hasBackdropFilter &amp;&amp; m_graphicsLayer-&gt;addAnimation(backdropFilterVector, IntSize(), &amp;animation, keyframes.animationName(), timeOffset))

Ditto.

&gt; Source/WebCore/rendering/RenderLayerBacking.h:197
&gt; -    bool startAnimation(double timeOffset, const Animation* anim, const KeyframeList&amp; keyframes);
&gt; +    bool startAnimation(double timeOffset, const Animation&amp;, const KeyframeList&amp; keyframes);

Ok as-is. No need for last parameter&apos;s name.

&gt; Source/WebCore/rendering/RenderLayerModelObject.h:76
&gt; +    bool startAnimation(double timeOffset, const Animation&amp;, const KeyframeList&amp; keyframes) override;

Ok as-is. No need for last parameter&apos;s name.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1518297</commentid>
    <comment_count>4</comment_count>
      <attachid>365169</attachid>
    <who name="alan">zalan</who>
    <bug_when>2019-03-19 09:20:49 -0700</bug_when>
    <thetext>Created attachment 365169
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1518375</commentid>
    <comment_count>5</comment_count>
      <attachid>365169</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-03-19 10:59:32 -0700</bug_when>
    <thetext>Comment on attachment 365169
Patch

Clearing flags on attachment: 365169

Committed r243151: &lt;https://trac.webkit.org/changeset/243151&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1518376</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-03-19 10:59:33 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1518377</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-03-19 11:00:24 -0700</bug_when>
    <thetext>&lt;rdar://problem/49025813&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>365109</attachid>
            <date>2019-03-18 19:19:13 -0700</date>
            <delta_ts>2019-03-19 09:20:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-195929-20190318191913.patch</filename>
            <type>text/plain</type>
            <size>10456</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQzMTIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTRlMTU3ZjJmOTA3MGQ5
NjYwNTY4YjY1MGJhNzI2MmNkZjhmYTM0Zi4uMjRiNDAyMjQyNTlhNTVjNDQ2YTFlMGQwOWIzMDk3
YTJkMDQ0MGJhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE5LTAzLTE4ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgUmVuZGVyRWxlbWVudDo6c3Rh
cnRBbmltYXRpb24vYW5pbWF0aW9uRmluaXNoZWQgc2hvdWxkIHRha2UgY29uc3QgQW5pbWF0aW9u
JgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk1OTI5
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBhbmlt
YXRpb24vS2V5ZnJhbWVFZmZlY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6S2V5ZnJhbWVFZmZl
Y3Q6OmFwcGx5UGVuZGluZ0FjY2VsZXJhdGVkQWN0aW9ucyk6CisgICAgICAgICogcGFnZS9hbmlt
YXRpb24vS2V5ZnJhbWVBbmltYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6S2V5ZnJhbWVB
bmltYXRpb246OnN0YXJ0QW5pbWF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OktleWZyYW1lQW5p
bWF0aW9uOjplbmRBbmltYXRpb24pOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJFbGVtZW50
Lmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJFbGVtZW50OjpzdGFydEFuaW1hdGlvbik6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJFbGVtZW50OjphbmltYXRpb25GaW5pc2hlZCk6CisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJMYXllckJhY2tpbmc6OnN0YXJ0QW5pbWF0aW9uKToKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyTGF5ZXJCYWNraW5nLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVy
TW9kZWxPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJNb2RlbE9iamVj
dDo6c3RhcnRBbmltYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJNb2RlbE9i
amVjdDo6YW5pbWF0aW9uRmluaXNoZWQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXll
ck1vZGVsT2JqZWN0Lmg6CisKIDIwMTktMDMtMTggIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtp
dC5vcmc+CiAKICAgICAgICAgUmVkdWNlIHRoZSBzaXplIG9mIE5vZGU6OmRlcmVmIGJ5IGVsaW1p
bmF0aW5nIGFuIGV4cGxpY2l0IHBhcmVudE5vZGUgY2hlY2sKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2FuaW1hdGlvbi9LZXlmcmFtZUVmZmVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hbmlt
YXRpb24vS2V5ZnJhbWVFZmZlY3QuY3BwCmluZGV4IDQzMDI5MTk5MzlkNTFjNTQwZDdmOTk4ODFh
ZTRlZTMwMTZjNWIzMWEuLjc3MWU5MDI0NmUyYWZiNTNlZTRiZDRmNGRlNzNmZWE3MGMzZDAyZmEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9LZXlmcmFtZUVmZmVjdC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0LmNwcApAQCAtMTMx
OSw3ICsxMzE5LDcgQEAgdm9pZCBLZXlmcmFtZUVmZmVjdDo6YXBwbHlQZW5kaW5nQWNjZWxlcmF0
ZWRBY3Rpb25zKCkKICAgICBmb3IgKGNvbnN0IGF1dG8mIGFjdGlvbiA6IHBlbmRpbmdBY2NlbGVy
YXRlZEFjdGlvbnMpIHsKICAgICAgICAgc3dpdGNoIChhY3Rpb24pIHsKICAgICAgICAgY2FzZSBB
Y2NlbGVyYXRlZEFjdGlvbjo6UGxheToKLSAgICAgICAgICAgIGlmICghY29tcG9zaXRlZFJlbmRl
cmVyLT5zdGFydEFuaW1hdGlvbih0aW1lT2Zmc2V0LCBiYWNraW5nQW5pbWF0aW9uRm9yQ29tcG9z
aXRlZFJlbmRlcmVyKCkucHRyKCksIG1fYmxlbmRpbmdLZXlmcmFtZXMpKSB7CisgICAgICAgICAg
ICBpZiAoIWNvbXBvc2l0ZWRSZW5kZXJlci0+c3RhcnRBbmltYXRpb24odGltZU9mZnNldCwgYmFj
a2luZ0FuaW1hdGlvbkZvckNvbXBvc2l0ZWRSZW5kZXJlcigpLmdldCgpLCBtX2JsZW5kaW5nS2V5
ZnJhbWVzKSkgewogICAgICAgICAgICAgICAgIG1fc2hvdWxkUnVuQWNjZWxlcmF0ZWQgPSBmYWxz
ZTsKICAgICAgICAgICAgICAgICBtX2xhc3RSZWNvcmRlZEFjY2VsZXJhdGVkQWN0aW9uID0gQWNj
ZWxlcmF0ZWRBY3Rpb246OlN0b3A7CiAgICAgICAgICAgICAgICAgYW5pbWF0aW9uKCktPmFjY2Vs
ZXJhdGVkU3RhdGVEaWRDaGFuZ2UoKTsKQEAgLTEzMzMsNyArMTMzMyw3IEBAIHZvaWQgS2V5ZnJh
bWVFZmZlY3Q6OmFwcGx5UGVuZGluZ0FjY2VsZXJhdGVkQWN0aW9ucygpCiAgICAgICAgICAgICBj
b21wb3NpdGVkUmVuZGVyZXItPmFuaW1hdGlvblNlZWtlZCh0aW1lT2Zmc2V0LCBtX2JsZW5kaW5n
S2V5ZnJhbWVzLmFuaW1hdGlvbk5hbWUoKSk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAg
Y2FzZSBBY2NlbGVyYXRlZEFjdGlvbjo6U3RvcDoKLSAgICAgICAgICAgIGNvbXBvc2l0ZWRSZW5k
ZXJlci0+YW5pbWF0aW9uRmluaXNoZWQobV9ibGVuZGluZ0tleWZyYW1lcy5hbmltYXRpb25OYW1l
KCkpOworICAgICAgICAgICAgY29tcG9zaXRlZFJlbmRlcmVyLT5hbmltYXRpb25GaW5pc2hlZCht
X2JsZW5kaW5nS2V5ZnJhbWVzLmFuaW1hdGlvbk5hbWUoKSwgYmFja2luZ0FuaW1hdGlvbkZvckNv
bXBvc2l0ZWRSZW5kZXJlcigpLmdldCgpKTsKICAgICAgICAgICAgIGlmICghbV90YXJnZXQtPmRv
Y3VtZW50KCkucmVuZGVyVHJlZUJlaW5nRGVzdHJveWVkKCkpCiAgICAgICAgICAgICAgICAgbV90
YXJnZXQtPmludmFsaWRhdGVTdHlsZUFuZExheWVyQ29tcG9zaXRpb24oKTsKICAgICAgICAgICAg
IGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vS2V5ZnJh
bWVBbmltYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vS2V5ZnJhbWVB
bmltYXRpb24uY3BwCmluZGV4IDUwMjZkZmQwYmVmMjhjN2Q4OGI1MmQyODMzMmQ5NzBhMDMzZWQ1
ODUuLjRhN2RmNmRhMjlkOGJmODRiZTUzMDZiN2VlNjI1MjMzNDA2MGY0NTggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0tleWZyYW1lQW5pbWF0aW9uLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9LZXlmcmFtZUFuaW1hdGlvbi5jcHAKQEAg
LTI5Miw3ICsyOTIsNyBAQCBib29sIEtleWZyYW1lQW5pbWF0aW9uOjpoYXNBbmltYXRpb25Gb3JQ
cm9wZXJ0eShDU1NQcm9wZXJ0eUlEIHByb3BlcnR5KSBjb25zdAogYm9vbCBLZXlmcmFtZUFuaW1h
dGlvbjo6c3RhcnRBbmltYXRpb24oZG91YmxlIHRpbWVPZmZzZXQpCiB7CiAgICAgaWYgKGF1dG8q
IHJlbmRlcmVyID0gdGhpcy0+cmVuZGVyZXIoKSkKLSAgICAgICAgcmV0dXJuIHJlbmRlcmVyLT5z
dGFydEFuaW1hdGlvbih0aW1lT2Zmc2V0LCBtX2FuaW1hdGlvbi5wdHIoKSwgbV9rZXlmcmFtZXMp
OworICAgICAgICByZXR1cm4gcmVuZGVyZXItPnN0YXJ0QW5pbWF0aW9uKHRpbWVPZmZzZXQsIG1f
YW5pbWF0aW9uLmdldCgpLCBtX2tleWZyYW1lcyk7CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCkBA
IC0zMTUsNyArMzE1LDcgQEAgdm9pZCBLZXlmcmFtZUFuaW1hdGlvbjo6ZW5kQW5pbWF0aW9uKGJv
b2wgZmlsbGluZ0ZvcndhcmRzKQogICAgICAgICByZXR1cm47CiAKICAgICBpZiAoYXV0byogcmVu
ZGVyZXIgPSB0aGlzLT5yZW5kZXJlcigpKQotICAgICAgICByZW5kZXJlci0+YW5pbWF0aW9uRmlu
aXNoZWQobV9rZXlmcmFtZXMuYW5pbWF0aW9uTmFtZSgpKTsKKyAgICAgICAgcmVuZGVyZXItPmFu
aW1hdGlvbkZpbmlzaGVkKG1fa2V5ZnJhbWVzLmFuaW1hdGlvbk5hbWUoKSwgbV9hbmltYXRpb24u
Z2V0KCkpOwogCiAgICAgLy8gUmVzdG9yZSB0aGUgb3JpZ2luYWwgKHVuYW5pbWF0ZWQpIHN0eWxl
CiAgICAgaWYgKCFmaWxsaW5nRm9yd2FyZHMgJiYgIXBhdXNlZCgpKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJFbGVtZW50LmgKaW5kZXggZGFlNTZkMzhmNGRkZTdmMjI2MjljYjIxNTc4
MWY0MWUyMjM2OTUzMC4uNjY2M2FlOGYwNzQ0MTYzMzI0ODJkZTYwNDY1ZWFlYjQ0M2UwZjA4MyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oCkBAIC0yMjYsMTAgKzIy
NiwxMCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHRyYW5zaXRpb25QYXVzZWQoZG91Ymxl
IC8qIHRpbWVPZmZzZXQgKi8sIENTU1Byb3BlcnR5SUQpIHsgfQogICAgIHZpcnR1YWwgdm9pZCB0
cmFuc2l0aW9uRmluaXNoZWQoQ1NTUHJvcGVydHlJRCkgeyB9CiAKLSAgICB2aXJ0dWFsIGJvb2wg
c3RhcnRBbmltYXRpb24oZG91YmxlIC8qIHRpbWVPZmZzZXQgKi8sIGNvbnN0IEFuaW1hdGlvbios
IGNvbnN0IEtleWZyYW1lTGlzdCYpIHsgcmV0dXJuIGZhbHNlOyB9CisgICAgdmlydHVhbCBib29s
IHN0YXJ0QW5pbWF0aW9uKGRvdWJsZSAvKiB0aW1lT2Zmc2V0ICovLCBjb25zdCBBbmltYXRpb24m
LCBjb25zdCBLZXlmcmFtZUxpc3QmKSB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgdm9p
ZCBhbmltYXRpb25QYXVzZWQoZG91YmxlIC8qIHRpbWVPZmZzZXQgKi8sIGNvbnN0IFN0cmluZyYg
LyogbmFtZSAqLykgeyB9CiAgICAgdmlydHVhbCB2b2lkIGFuaW1hdGlvblNlZWtlZChkb3VibGUg
LyogdGltZU9mZnNldCAqLywgY29uc3QgU3RyaW5nJiAvKiBuYW1lICovKSB7IH0KLSAgICB2aXJ0
dWFsIHZvaWQgYW5pbWF0aW9uRmluaXNoZWQoY29uc3QgU3RyaW5nJiAvKiBuYW1lICovKSB7IH0K
KyAgICB2aXJ0dWFsIHZvaWQgYW5pbWF0aW9uRmluaXNoZWQoY29uc3QgU3RyaW5nJiAvKiBuYW1l
ICovLCBjb25zdCBBbmltYXRpb24mKSB7IH0KIAogICAgIHZpcnR1YWwgdm9pZCBzdXNwZW5kQW5p
bWF0aW9ucyhNb25vdG9uaWNUaW1lID0gTW9ub3RvbmljVGltZSgpKSB7IH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcAppbmRleCA1NTBiYzE4
NTM5YTNkMzhhNjQwZTZiMDM5MjczNTU4NDBkZmJmYWM0Li5kMWFkNGJiZmFkNmY2MmM1YWU1ZDgw
NTdhMDIyOWYwMmFlZTIwYTZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXJCYWNraW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXJCYWNraW5nLmNwcApAQCAtMjc5MCw3ICsyNzkwLDcgQEAgdm9pZCBSZW5kZXJMYXll
ckJhY2tpbmc6OnZlcmlmeU5vdFBhaW50aW5nKCkKIH0KICNlbmRpZgogCi1ib29sIFJlbmRlckxh
eWVyQmFja2luZzo6c3RhcnRBbmltYXRpb24oZG91YmxlIHRpbWVPZmZzZXQsIGNvbnN0IEFuaW1h
dGlvbiogYW5pbSwgY29uc3QgS2V5ZnJhbWVMaXN0JiBrZXlmcmFtZXMpCitib29sIFJlbmRlckxh
eWVyQmFja2luZzo6c3RhcnRBbmltYXRpb24oZG91YmxlIHRpbWVPZmZzZXQsIGNvbnN0IEFuaW1h
dGlvbiYgYW5pbWF0aW9uLCBjb25zdCBLZXlmcmFtZUxpc3QmIGtleWZyYW1lcykKIHsKICAgICBi
b29sIGhhc09wYWNpdHkgPSBrZXlmcmFtZXMuY29udGFpbnNQcm9wZXJ0eShDU1NQcm9wZXJ0eU9w
YWNpdHkpOwogICAgIGJvb2wgaGFzVHJhbnNmb3JtID0gcmVuZGVyZXIoKS5pc0JveCgpICYmIGtl
eWZyYW1lcy5jb250YWluc1Byb3BlcnR5KENTU1Byb3BlcnR5VHJhbnNmb3JtKTsKQEAgLTI4NDMs
MTcgKzI4NDMsMTcgQEAgYm9vbCBSZW5kZXJMYXllckJhY2tpbmc6OnN0YXJ0QW5pbWF0aW9uKGRv
dWJsZSB0aW1lT2Zmc2V0LCBjb25zdCBBbmltYXRpb24qIGFuaW0KIAogICAgIGJvb2wgZGlkQW5p
bWF0ZSA9IGZhbHNlOwogCi0gICAgaWYgKGhhc1RyYW5zZm9ybSAmJiBtX2dyYXBoaWNzTGF5ZXIt
PmFkZEFuaW1hdGlvbih0cmFuc2Zvcm1WZWN0b3IsIHNuYXBwZWRJbnRSZWN0KHJlbmRlckJveCgp
LT5ib3JkZXJCb3hSZWN0KCkpLnNpemUoKSwgYW5pbSwga2V5ZnJhbWVzLmFuaW1hdGlvbk5hbWUo
KSwgdGltZU9mZnNldCkpCisgICAgaWYgKGhhc1RyYW5zZm9ybSAmJiBtX2dyYXBoaWNzTGF5ZXIt
PmFkZEFuaW1hdGlvbih0cmFuc2Zvcm1WZWN0b3IsIHNuYXBwZWRJbnRSZWN0KHJlbmRlckJveCgp
LT5ib3JkZXJCb3hSZWN0KCkpLnNpemUoKSwgJmFuaW1hdGlvbiwga2V5ZnJhbWVzLmFuaW1hdGlv
bk5hbWUoKSwgdGltZU9mZnNldCkpCiAgICAgICAgIGRpZEFuaW1hdGUgPSB0cnVlOwogCi0gICAg
aWYgKGhhc09wYWNpdHkgJiYgbV9ncmFwaGljc0xheWVyLT5hZGRBbmltYXRpb24ob3BhY2l0eVZl
Y3RvciwgSW50U2l6ZSgpLCBhbmltLCBrZXlmcmFtZXMuYW5pbWF0aW9uTmFtZSgpLCB0aW1lT2Zm
c2V0KSkKKyAgICBpZiAoaGFzT3BhY2l0eSAmJiBtX2dyYXBoaWNzTGF5ZXItPmFkZEFuaW1hdGlv
bihvcGFjaXR5VmVjdG9yLCBJbnRTaXplKCksICZhbmltYXRpb24sIGtleWZyYW1lcy5hbmltYXRp
b25OYW1lKCksIHRpbWVPZmZzZXQpKQogICAgICAgICBkaWRBbmltYXRlID0gdHJ1ZTsKIAotICAg
IGlmIChoYXNGaWx0ZXIgJiYgbV9ncmFwaGljc0xheWVyLT5hZGRBbmltYXRpb24oZmlsdGVyVmVj
dG9yLCBJbnRTaXplKCksIGFuaW0sIGtleWZyYW1lcy5hbmltYXRpb25OYW1lKCksIHRpbWVPZmZz
ZXQpKQorICAgIGlmIChoYXNGaWx0ZXIgJiYgbV9ncmFwaGljc0xheWVyLT5hZGRBbmltYXRpb24o
ZmlsdGVyVmVjdG9yLCBJbnRTaXplKCksICZhbmltYXRpb24sIGtleWZyYW1lcy5hbmltYXRpb25O
YW1lKCksIHRpbWVPZmZzZXQpKQogICAgICAgICBkaWRBbmltYXRlID0gdHJ1ZTsKIAogI2lmIEVO
QUJMRShGSUxURVJTX0xFVkVMXzIpCi0gICAgaWYgKGhhc0JhY2tkcm9wRmlsdGVyICYmIG1fZ3Jh
cGhpY3NMYXllci0+YWRkQW5pbWF0aW9uKGJhY2tkcm9wRmlsdGVyVmVjdG9yLCBJbnRTaXplKCks
IGFuaW0sIGtleWZyYW1lcy5hbmltYXRpb25OYW1lKCksIHRpbWVPZmZzZXQpKQorICAgIGlmICho
YXNCYWNrZHJvcEZpbHRlciAmJiBtX2dyYXBoaWNzTGF5ZXItPmFkZEFuaW1hdGlvbihiYWNrZHJv
cEZpbHRlclZlY3RvciwgSW50U2l6ZSgpLCAmYW5pbWF0aW9uLCBrZXlmcmFtZXMuYW5pbWF0aW9u
TmFtZSgpLCB0aW1lT2Zmc2V0KSkKICAgICAgICAgZGlkQW5pbWF0ZSA9IHRydWU7CiAjZW5kaWYK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2lu
Zy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5oCmluZGV4
IGZiZTJhNzBkOWVjZGU2MzdmZWE5NmQwZTNmNzA0NzVlYzdjYWU4ZTQuLmM4YWIwZDkxZmViYzZi
ZjcxNmMwZDg2NTUzYTllYTA2OTliOGExMzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGF5ZXJCYWNraW5nLmgKQEAgLTE5NCw3ICsxOTQsNyBAQCBwdWJsaWM6CiAgICAg
dm9pZCB0cmFuc2l0aW9uUGF1c2VkKGRvdWJsZSB0aW1lT2Zmc2V0LCBDU1NQcm9wZXJ0eUlEKTsK
ICAgICB2b2lkIHRyYW5zaXRpb25GaW5pc2hlZChDU1NQcm9wZXJ0eUlEKTsKIAotICAgIGJvb2wg
c3RhcnRBbmltYXRpb24oZG91YmxlIHRpbWVPZmZzZXQsIGNvbnN0IEFuaW1hdGlvbiogYW5pbSwg
Y29uc3QgS2V5ZnJhbWVMaXN0JiBrZXlmcmFtZXMpOworICAgIGJvb2wgc3RhcnRBbmltYXRpb24o
ZG91YmxlIHRpbWVPZmZzZXQsIGNvbnN0IEFuaW1hdGlvbiYsIGNvbnN0IEtleWZyYW1lTGlzdCYg
a2V5ZnJhbWVzKTsKICAgICB2b2lkIGFuaW1hdGlvblBhdXNlZChkb3VibGUgdGltZU9mZnNldCwg
Y29uc3QgU3RyaW5nJiBuYW1lKTsKICAgICB2b2lkIGFuaW1hdGlvblNlZWtlZChkb3VibGUgdGlt
ZU9mZnNldCwgY29uc3QgU3RyaW5nJiBuYW1lKTsKICAgICB2b2lkIGFuaW1hdGlvbkZpbmlzaGVk
KGNvbnN0IFN0cmluZyYgbmFtZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGF5ZXJNb2RlbE9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXJNb2RlbE9iamVjdC5jcHAKaW5kZXggNGMwMWU4ZTE2Yzc3N2Y5NTYyZGE5NDA3
MWVlOWUyNTA0ZjExZDJlYy4uMTY4NjIyNmUzM2ZkYjcwZWQ4ZGJjZDFjMTNiODRlMGNmOTQ1ZWE0
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyTW9kZWxP
YmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllck1vZGVs
T2JqZWN0LmNwcApAQCAtMzA0LDcgKzMwNCw3IEBAIHZvaWQgUmVuZGVyTGF5ZXJNb2RlbE9iamVj
dDo6dHJhbnNpdGlvbkZpbmlzaGVkKENTU1Byb3BlcnR5SUQgcHJvcGVydHlJZCkKICAgICBsYXll
cigpLT5iYWNraW5nKCktPnRyYW5zaXRpb25GaW5pc2hlZChwcm9wZXJ0eUlkKTsKIH0KIAotYm9v
bCBSZW5kZXJMYXllck1vZGVsT2JqZWN0OjpzdGFydEFuaW1hdGlvbihkb3VibGUgdGltZU9mZnNl
dCwgY29uc3QgQW5pbWF0aW9uKiBhbmltYXRpb24sIGNvbnN0IEtleWZyYW1lTGlzdCYga2V5ZnJh
bWVzKQorYm9vbCBSZW5kZXJMYXllck1vZGVsT2JqZWN0OjpzdGFydEFuaW1hdGlvbihkb3VibGUg
dGltZU9mZnNldCwgY29uc3QgQW5pbWF0aW9uJiBhbmltYXRpb24sIGNvbnN0IEtleWZyYW1lTGlz
dCYga2V5ZnJhbWVzKQogewogICAgIGlmICghbGF5ZXIoKSB8fCAhbGF5ZXIoKS0+YmFja2luZygp
KQogICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC0zMjUsNyArMzI1LDcgQEAgdm9pZCBSZW5kZXJM
YXllck1vZGVsT2JqZWN0OjphbmltYXRpb25TZWVrZWQoZG91YmxlIHRpbWVPZmZzZXQsIGNvbnN0
IFN0cmluZyYgbmEKICAgICBsYXllcigpLT5iYWNraW5nKCktPmFuaW1hdGlvblNlZWtlZCh0aW1l
T2Zmc2V0LCBuYW1lKTsKIH0KIAotdm9pZCBSZW5kZXJMYXllck1vZGVsT2JqZWN0OjphbmltYXRp
b25GaW5pc2hlZChjb25zdCBTdHJpbmcmIG5hbWUpCit2b2lkIFJlbmRlckxheWVyTW9kZWxPYmpl
Y3Q6OmFuaW1hdGlvbkZpbmlzaGVkKGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgQW5pbWF0aW9u
JikKIHsKICAgICBpZiAoIWxheWVyKCkgfHwgIWxheWVyKCktPmJhY2tpbmcoKSkKICAgICAgICAg
cmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVy
TW9kZWxPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllck1vZGVs
T2JqZWN0LmgKaW5kZXggYTZiMmE2NmVhZmJlZmZhYjllMDA4NGUyZTNlZTUyNzk2M2YzZWNlYS4u
YzExM2QzOTE5NDI2MzE1MWExODZlZmFmMzRmMzMwNGIwYzc4MWMyYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyTW9kZWxPYmplY3QuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJNb2RlbE9iamVjdC5oCkBAIC03MywxMCAr
NzMsMTAgQEAgcHVibGljOgogICAgIHZvaWQgdHJhbnNpdGlvblBhdXNlZChkb3VibGUgdGltZU9m
ZnNldCwgQ1NTUHJvcGVydHlJRCkgb3ZlcnJpZGU7CiAgICAgdm9pZCB0cmFuc2l0aW9uRmluaXNo
ZWQoQ1NTUHJvcGVydHlJRCkgb3ZlcnJpZGU7CiAKLSAgICBib29sIHN0YXJ0QW5pbWF0aW9uKGRv
dWJsZSB0aW1lT2Zmc2V0LCBjb25zdCBBbmltYXRpb24qLCBjb25zdCBLZXlmcmFtZUxpc3QmIGtl
eWZyYW1lcykgb3ZlcnJpZGU7CisgICAgYm9vbCBzdGFydEFuaW1hdGlvbihkb3VibGUgdGltZU9m
ZnNldCwgY29uc3QgQW5pbWF0aW9uJiwgY29uc3QgS2V5ZnJhbWVMaXN0JiBrZXlmcmFtZXMpIG92
ZXJyaWRlOwogICAgIHZvaWQgYW5pbWF0aW9uUGF1c2VkKGRvdWJsZSB0aW1lT2Zmc2V0LCBjb25z
dCBTdHJpbmcmIG5hbWUpIG92ZXJyaWRlOwogICAgIHZvaWQgYW5pbWF0aW9uU2Vla2VkKGRvdWJs
ZSB0aW1lT2Zmc2V0LCBjb25zdCBTdHJpbmcmIG5hbWUpIG92ZXJyaWRlOwotICAgIHZvaWQgYW5p
bWF0aW9uRmluaXNoZWQoY29uc3QgU3RyaW5nJiBuYW1lKSBvdmVycmlkZTsKKyAgICB2b2lkIGFu
aW1hdGlvbkZpbmlzaGVkKGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgQW5pbWF0aW9uJikgb3Zl
cnJpZGU7CiAKICAgICB2b2lkIHN1c3BlbmRBbmltYXRpb25zKE1vbm90b25pY1RpbWUgPSBNb25v
dG9uaWNUaW1lKCkpIG92ZXJyaWRlOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>365169</attachid>
            <date>2019-03-19 09:20:49 -0700</date>
            <delta_ts>2019-03-19 10:59:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-195929-20190319092049.patch</filename>
            <type>text/plain</type>
            <size>8710</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQzMTI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTU2MmI2MjlkYjQ2N2I0
NjRjNGY0M2M2YjY2NjMyYWQ5M2QwNjhkOS4uZWNkYjA1NjJmMDg2YTIxOWU3MzlmZjI5MGRiMDE3
YjVkYTI3NzY2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE5LTAzLTE4ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgUmVuZGVyRWxlbWVudDo6c3Rh
cnRBbmltYXRpb24gc2hvdWxkIHRha2UgY29uc3QgQW5pbWF0aW9uJgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk1OTI5CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgRGFuaWVsIEJhdGVzLgorCisgICAgICAgICogYW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OktleWZyYW1lRWZmZWN0OjphcHBseVBlbmRpbmdBY2Nl
bGVyYXRlZEFjdGlvbnMpOgorICAgICAgICAqIHBhZ2UvYW5pbWF0aW9uL0tleWZyYW1lQW5pbWF0
aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OktleWZyYW1lQW5pbWF0aW9uOjpzdGFydEFuaW1h
dGlvbik6CisgICAgICAgIChXZWJDb3JlOjpLZXlmcmFtZUFuaW1hdGlvbjo6ZW5kQW5pbWF0aW9u
KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyRWxlbWVudDo6c3RhcnRBbmltYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyRWxlbWVudDo6YW5pbWF0aW9uRmluaXNoZWQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJMYXllckJhY2tpbmcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5n
OjpzdGFydEFuaW1hdGlvbik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2lu
Zy5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllck1vZGVsT2JqZWN0LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyTW9kZWxPYmplY3Q6OnN0YXJ0QW5pbWF0aW9uKToK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyTW9kZWxPYmplY3Q6OmFuaW1hdGlvbkZpbmlz
aGVkKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJNb2RlbE9iamVjdC5oOgorCiAy
MDE5LTAzLTE4ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAg
ICAgIFNjcm9sbGluZyBzdGF0ZSBub2RlcyBzaG91bGQgaG9sZCByZWZlcmVuY2VzIHRvIEdyYXBo
aWNzTGF5ZXJzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vS2V5ZnJhbWVF
ZmZlY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0LmNwcApp
bmRleCA0MzAyOTE5OTM5ZDUxYzU0MGQ3Zjk5ODgxYWU0ZWUzMDE2YzViMzFhLi4yZWQ0NWFkMmYy
MDhjNjJhNTU2Y2VjNWY3YjQyNDE4MjU5NTNhZDYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9hbmltYXRpb24vS2V5ZnJhbWVFZmZlY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FuaW1h
dGlvbi9LZXlmcmFtZUVmZmVjdC5jcHAKQEAgLTEzMTksNyArMTMxOSw3IEBAIHZvaWQgS2V5ZnJh
bWVFZmZlY3Q6OmFwcGx5UGVuZGluZ0FjY2VsZXJhdGVkQWN0aW9ucygpCiAgICAgZm9yIChjb25z
dCBhdXRvJiBhY3Rpb24gOiBwZW5kaW5nQWNjZWxlcmF0ZWRBY3Rpb25zKSB7CiAgICAgICAgIHN3
aXRjaCAoYWN0aW9uKSB7CiAgICAgICAgIGNhc2UgQWNjZWxlcmF0ZWRBY3Rpb246OlBsYXk6Ci0g
ICAgICAgICAgICBpZiAoIWNvbXBvc2l0ZWRSZW5kZXJlci0+c3RhcnRBbmltYXRpb24odGltZU9m
ZnNldCwgYmFja2luZ0FuaW1hdGlvbkZvckNvbXBvc2l0ZWRSZW5kZXJlcigpLnB0cigpLCBtX2Js
ZW5kaW5nS2V5ZnJhbWVzKSkgeworICAgICAgICAgICAgaWYgKCFjb21wb3NpdGVkUmVuZGVyZXIt
PnN0YXJ0QW5pbWF0aW9uKHRpbWVPZmZzZXQsIGJhY2tpbmdBbmltYXRpb25Gb3JDb21wb3NpdGVk
UmVuZGVyZXIoKSwgbV9ibGVuZGluZ0tleWZyYW1lcykpIHsKICAgICAgICAgICAgICAgICBtX3No
b3VsZFJ1bkFjY2VsZXJhdGVkID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgbV9sYXN0UmVjb3Jk
ZWRBY2NlbGVyYXRlZEFjdGlvbiA9IEFjY2VsZXJhdGVkQWN0aW9uOjpTdG9wOwogICAgICAgICAg
ICAgICAgIGFuaW1hdGlvbigpLT5hY2NlbGVyYXRlZFN0YXRlRGlkQ2hhbmdlKCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9LZXlmcmFtZUFuaW1hdGlvbi5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9LZXlmcmFtZUFuaW1hdGlvbi5jcHAKaW5k
ZXggNTAyNmRmZDBiZWYyOGM3ZDg4YjUyZDI4MzMyZDk3MGEwMzNlZDU4NS4uNjA5NjkxOTM1ZDZm
NDE4MjlmNzY0ZWVlMjA1MDVhNmFmZmYzZWUzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9hbmltYXRpb24vS2V5ZnJhbWVBbmltYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvYW5pbWF0aW9uL0tleWZyYW1lQW5pbWF0aW9uLmNwcApAQCAtMjkyLDcgKzI5Miw3IEBA
IGJvb2wgS2V5ZnJhbWVBbmltYXRpb246Omhhc0FuaW1hdGlvbkZvclByb3BlcnR5KENTU1Byb3Bl
cnR5SUQgcHJvcGVydHkpIGNvbnN0CiBib29sIEtleWZyYW1lQW5pbWF0aW9uOjpzdGFydEFuaW1h
dGlvbihkb3VibGUgdGltZU9mZnNldCkKIHsKICAgICBpZiAoYXV0byogcmVuZGVyZXIgPSB0aGlz
LT5yZW5kZXJlcigpKQotICAgICAgICByZXR1cm4gcmVuZGVyZXItPnN0YXJ0QW5pbWF0aW9uKHRp
bWVPZmZzZXQsIG1fYW5pbWF0aW9uLnB0cigpLCBtX2tleWZyYW1lcyk7CisgICAgICAgIHJldHVy
biByZW5kZXJlci0+c3RhcnRBbmltYXRpb24odGltZU9mZnNldCwgbV9hbmltYXRpb24sIG1fa2V5
ZnJhbWVzKTsKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyRWxlbWVudC5oCmluZGV4IGRhZTU2ZDM4ZjRkZGU3ZjIyNjI5Y2IyMTU3ODFmNDFlMjIz
Njk1MzAuLmYyOGRkMjQ1ZDk1NWUxNmJlNGQ2NTYwOTI3OTg0NGMzMThhODM3MDUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaApAQCAtMjI2LDcgKzIyNiw3IEBAIHB1
YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgdHJhbnNpdGlvblBhdXNlZChkb3VibGUgLyogdGltZU9m
ZnNldCAqLywgQ1NTUHJvcGVydHlJRCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIHRyYW5zaXRpb25G
aW5pc2hlZChDU1NQcm9wZXJ0eUlEKSB7IH0KIAotICAgIHZpcnR1YWwgYm9vbCBzdGFydEFuaW1h
dGlvbihkb3VibGUgLyogdGltZU9mZnNldCAqLywgY29uc3QgQW5pbWF0aW9uKiwgY29uc3QgS2V5
ZnJhbWVMaXN0JikgeyByZXR1cm4gZmFsc2U7IH0KKyAgICB2aXJ0dWFsIGJvb2wgc3RhcnRBbmlt
YXRpb24oZG91YmxlIC8qIHRpbWVPZmZzZXQgKi8sIGNvbnN0IEFuaW1hdGlvbiYsIGNvbnN0IEtl
eWZyYW1lTGlzdCYpIHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCB2b2lkIGFuaW1hdGlv
blBhdXNlZChkb3VibGUgLyogdGltZU9mZnNldCAqLywgY29uc3QgU3RyaW5nJiAvKiBuYW1lICov
KSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgYW5pbWF0aW9uU2Vla2VkKGRvdWJsZSAvKiB0aW1lT2Zm
c2V0ICovLCBjb25zdCBTdHJpbmcmIC8qIG5hbWUgKi8pIHsgfQogICAgIHZpcnR1YWwgdm9pZCBh
bmltYXRpb25GaW5pc2hlZChjb25zdCBTdHJpbmcmIC8qIG5hbWUgKi8pIHsgfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcAppbmRleCAzNWU3MzY3
MjU4MGYyZjVlNjVlY2NkMjVhYzQzOWQ4NGY2N2ViNDkxLi5mZWZhZWEzZTU2ODY3ZTA0ZGI5N2E0
NDMyNDdjNGYxZGE5NTg0Y2E2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXJCYWNraW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXJCYWNraW5nLmNwcApAQCAtMjc4MSw3ICsyNzgxLDcgQEAgdm9pZCBSZW5kZXJMYXll
ckJhY2tpbmc6OnZlcmlmeU5vdFBhaW50aW5nKCkKIH0KICNlbmRpZgogCi1ib29sIFJlbmRlckxh
eWVyQmFja2luZzo6c3RhcnRBbmltYXRpb24oZG91YmxlIHRpbWVPZmZzZXQsIGNvbnN0IEFuaW1h
dGlvbiogYW5pbSwgY29uc3QgS2V5ZnJhbWVMaXN0JiBrZXlmcmFtZXMpCitib29sIFJlbmRlckxh
eWVyQmFja2luZzo6c3RhcnRBbmltYXRpb24oZG91YmxlIHRpbWVPZmZzZXQsIGNvbnN0IEFuaW1h
dGlvbiYgYW5pbWF0aW9uLCBjb25zdCBLZXlmcmFtZUxpc3QmIGtleWZyYW1lcykKIHsKICAgICBi
b29sIGhhc09wYWNpdHkgPSBrZXlmcmFtZXMuY29udGFpbnNQcm9wZXJ0eShDU1NQcm9wZXJ0eU9w
YWNpdHkpOwogICAgIGJvb2wgaGFzVHJhbnNmb3JtID0gcmVuZGVyZXIoKS5pc0JveCgpICYmIGtl
eWZyYW1lcy5jb250YWluc1Byb3BlcnR5KENTU1Byb3BlcnR5VHJhbnNmb3JtKTsKQEAgLTI4MzQs
MTcgKzI4MzQsMTcgQEAgYm9vbCBSZW5kZXJMYXllckJhY2tpbmc6OnN0YXJ0QW5pbWF0aW9uKGRv
dWJsZSB0aW1lT2Zmc2V0LCBjb25zdCBBbmltYXRpb24qIGFuaW0KIAogICAgIGJvb2wgZGlkQW5p
bWF0ZSA9IGZhbHNlOwogCi0gICAgaWYgKGhhc1RyYW5zZm9ybSAmJiBtX2dyYXBoaWNzTGF5ZXIt
PmFkZEFuaW1hdGlvbih0cmFuc2Zvcm1WZWN0b3IsIHNuYXBwZWRJbnRSZWN0KHJlbmRlckJveCgp
LT5ib3JkZXJCb3hSZWN0KCkpLnNpemUoKSwgYW5pbSwga2V5ZnJhbWVzLmFuaW1hdGlvbk5hbWUo
KSwgdGltZU9mZnNldCkpCisgICAgaWYgKGhhc1RyYW5zZm9ybSAmJiBtX2dyYXBoaWNzTGF5ZXIt
PmFkZEFuaW1hdGlvbih0cmFuc2Zvcm1WZWN0b3IsIHNuYXBwZWRJbnRSZWN0KHJlbmRlckJveCgp
LT5ib3JkZXJCb3hSZWN0KCkpLnNpemUoKSwgJmFuaW1hdGlvbiwga2V5ZnJhbWVzLmFuaW1hdGlv
bk5hbWUoKSwgdGltZU9mZnNldCkpCiAgICAgICAgIGRpZEFuaW1hdGUgPSB0cnVlOwogCi0gICAg
aWYgKGhhc09wYWNpdHkgJiYgbV9ncmFwaGljc0xheWVyLT5hZGRBbmltYXRpb24ob3BhY2l0eVZl
Y3RvciwgSW50U2l6ZSgpLCBhbmltLCBrZXlmcmFtZXMuYW5pbWF0aW9uTmFtZSgpLCB0aW1lT2Zm
c2V0KSkKKyAgICBpZiAoaGFzT3BhY2l0eSAmJiBtX2dyYXBoaWNzTGF5ZXItPmFkZEFuaW1hdGlv
bihvcGFjaXR5VmVjdG9yLCBJbnRTaXplIHsgfSwgJmFuaW1hdGlvbiwga2V5ZnJhbWVzLmFuaW1h
dGlvbk5hbWUoKSwgdGltZU9mZnNldCkpCiAgICAgICAgIGRpZEFuaW1hdGUgPSB0cnVlOwogCi0g
ICAgaWYgKGhhc0ZpbHRlciAmJiBtX2dyYXBoaWNzTGF5ZXItPmFkZEFuaW1hdGlvbihmaWx0ZXJW
ZWN0b3IsIEludFNpemUoKSwgYW5pbSwga2V5ZnJhbWVzLmFuaW1hdGlvbk5hbWUoKSwgdGltZU9m
ZnNldCkpCisgICAgaWYgKGhhc0ZpbHRlciAmJiBtX2dyYXBoaWNzTGF5ZXItPmFkZEFuaW1hdGlv
bihmaWx0ZXJWZWN0b3IsIEludFNpemUgeyB9LCAmYW5pbWF0aW9uLCBrZXlmcmFtZXMuYW5pbWF0
aW9uTmFtZSgpLCB0aW1lT2Zmc2V0KSkKICAgICAgICAgZGlkQW5pbWF0ZSA9IHRydWU7CiAKICNp
ZiBFTkFCTEUoRklMVEVSU19MRVZFTF8yKQotICAgIGlmIChoYXNCYWNrZHJvcEZpbHRlciAmJiBt
X2dyYXBoaWNzTGF5ZXItPmFkZEFuaW1hdGlvbihiYWNrZHJvcEZpbHRlclZlY3RvciwgSW50U2l6
ZSgpLCBhbmltLCBrZXlmcmFtZXMuYW5pbWF0aW9uTmFtZSgpLCB0aW1lT2Zmc2V0KSkKKyAgICBp
ZiAoaGFzQmFja2Ryb3BGaWx0ZXIgJiYgbV9ncmFwaGljc0xheWVyLT5hZGRBbmltYXRpb24oYmFj
a2Ryb3BGaWx0ZXJWZWN0b3IsIEludFNpemUgeyB9LCAmYW5pbWF0aW9uLCBrZXlmcmFtZXMuYW5p
bWF0aW9uTmFtZSgpLCB0aW1lT2Zmc2V0KSkKICAgICAgICAgZGlkQW5pbWF0ZSA9IHRydWU7CiAj
ZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVy
QmFja2luZy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5o
CmluZGV4IDAxYTZiZmE3ZGM3MzQ1ODMwOWVlZDBlNTEyNTZmNjA5YTEzMjk2OGIuLmU3YTQzMzQ1
OTg5MzU2ZDY1NDEyZmM2YWY5MWEwYWMwMDc0OTBmZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmgKQEAgLTE5NCw3ICsxOTQsNyBAQCBwdWJsaWM6
CiAgICAgdm9pZCB0cmFuc2l0aW9uUGF1c2VkKGRvdWJsZSB0aW1lT2Zmc2V0LCBDU1NQcm9wZXJ0
eUlEKTsKICAgICB2b2lkIHRyYW5zaXRpb25GaW5pc2hlZChDU1NQcm9wZXJ0eUlEKTsKIAotICAg
IGJvb2wgc3RhcnRBbmltYXRpb24oZG91YmxlIHRpbWVPZmZzZXQsIGNvbnN0IEFuaW1hdGlvbiog
YW5pbSwgY29uc3QgS2V5ZnJhbWVMaXN0JiBrZXlmcmFtZXMpOworICAgIGJvb2wgc3RhcnRBbmlt
YXRpb24oZG91YmxlIHRpbWVPZmZzZXQsIGNvbnN0IEFuaW1hdGlvbiYsIGNvbnN0IEtleWZyYW1l
TGlzdCYpOwogICAgIHZvaWQgYW5pbWF0aW9uUGF1c2VkKGRvdWJsZSB0aW1lT2Zmc2V0LCBjb25z
dCBTdHJpbmcmIG5hbWUpOwogICAgIHZvaWQgYW5pbWF0aW9uU2Vla2VkKGRvdWJsZSB0aW1lT2Zm
c2V0LCBjb25zdCBTdHJpbmcmIG5hbWUpOwogICAgIHZvaWQgYW5pbWF0aW9uRmluaXNoZWQoY29u
c3QgU3RyaW5nJiBuYW1lKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJMYXllck1vZGVsT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJMYXllck1vZGVsT2JqZWN0LmNwcAppbmRleCA0YzAxZThlMTZjNzc3Zjk1NjJkYTk0MDcxZWU5
ZTI1MDRmMTFkMmVjLi43MjVhNDdkYzIxZTFiZDhiZTgwODExMmViYjNjYTE2YWE2OTk3YTk4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJNb2RlbE9iamVj
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyTW9kZWxPYmpl
Y3QuY3BwCkBAIC0zMDQsNyArMzA0LDcgQEAgdm9pZCBSZW5kZXJMYXllck1vZGVsT2JqZWN0Ojp0
cmFuc2l0aW9uRmluaXNoZWQoQ1NTUHJvcGVydHlJRCBwcm9wZXJ0eUlkKQogICAgIGxheWVyKCkt
PmJhY2tpbmcoKS0+dHJhbnNpdGlvbkZpbmlzaGVkKHByb3BlcnR5SWQpOwogfQogCi1ib29sIFJl
bmRlckxheWVyTW9kZWxPYmplY3Q6OnN0YXJ0QW5pbWF0aW9uKGRvdWJsZSB0aW1lT2Zmc2V0LCBj
b25zdCBBbmltYXRpb24qIGFuaW1hdGlvbiwgY29uc3QgS2V5ZnJhbWVMaXN0JiBrZXlmcmFtZXMp
Citib29sIFJlbmRlckxheWVyTW9kZWxPYmplY3Q6OnN0YXJ0QW5pbWF0aW9uKGRvdWJsZSB0aW1l
T2Zmc2V0LCBjb25zdCBBbmltYXRpb24mIGFuaW1hdGlvbiwgY29uc3QgS2V5ZnJhbWVMaXN0JiBr
ZXlmcmFtZXMpCiB7CiAgICAgaWYgKCFsYXllcigpIHx8ICFsYXllcigpLT5iYWNraW5nKCkpCiAg
ICAgICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJMYXllck1vZGVsT2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXJNb2RlbE9iamVjdC5oCmluZGV4IGE2YjJhNjZlYWZiZWZmYWI5ZTAwODRlMmUzZWU1
Mjc5NjNmM2VjZWEuLmQ4NzkyNDI3OGJhYWRiOTg5OTEyNmE2YjVhZGVjOWYwM2M2ZWQ3YTQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllck1vZGVsT2JqZWN0
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyTW9kZWxPYmplY3Qu
aApAQCAtNzMsNyArNzMsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCB0cmFuc2l0aW9uUGF1c2VkKGRv
dWJsZSB0aW1lT2Zmc2V0LCBDU1NQcm9wZXJ0eUlEKSBvdmVycmlkZTsKICAgICB2b2lkIHRyYW5z
aXRpb25GaW5pc2hlZChDU1NQcm9wZXJ0eUlEKSBvdmVycmlkZTsKIAotICAgIGJvb2wgc3RhcnRB
bmltYXRpb24oZG91YmxlIHRpbWVPZmZzZXQsIGNvbnN0IEFuaW1hdGlvbiosIGNvbnN0IEtleWZy
YW1lTGlzdCYga2V5ZnJhbWVzKSBvdmVycmlkZTsKKyAgICBib29sIHN0YXJ0QW5pbWF0aW9uKGRv
dWJsZSB0aW1lT2Zmc2V0LCBjb25zdCBBbmltYXRpb24mLCBjb25zdCBLZXlmcmFtZUxpc3QmKSBv
dmVycmlkZTsKICAgICB2b2lkIGFuaW1hdGlvblBhdXNlZChkb3VibGUgdGltZU9mZnNldCwgY29u
c3QgU3RyaW5nJiBuYW1lKSBvdmVycmlkZTsKICAgICB2b2lkIGFuaW1hdGlvblNlZWtlZChkb3Vi
bGUgdGltZU9mZnNldCwgY29uc3QgU3RyaW5nJiBuYW1lKSBvdmVycmlkZTsKICAgICB2b2lkIGFu
aW1hdGlvbkZpbmlzaGVkKGNvbnN0IFN0cmluZyYgbmFtZSkgb3ZlcnJpZGU7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>