<?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>233868</bug_id>
          
          <creation_ts>2021-12-06 01:46:15 -0800</creation_ts>
          <short_desc>Clean up virtual methods on AnimationEffect</short_desc>
          <delta_ts>2021-12-06 09:21:30 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Animations</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>
          
          <blocked>233869</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Antoine Quint">graouts</reporter>
          <assigned_to name="Antoine Quint">graouts</assigned_to>
          <cc>dino</cc>
    
    <cc>graouts</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1820554</commentid>
    <comment_count>0</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2021-12-06 01:46:15 -0800</bug_when>
    <thetext>Clean up virtual methods on AnimationEffect</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1820556</commentid>
    <comment_count>1</comment_count>
      <attachid>446013</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2021-12-06 02:09:11 -0800</bug_when>
    <thetext>Created attachment 446013
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1820629</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-12-06 09:20:15 -0800</bug_when>
    <thetext>Committed r286544 (244876@main): &lt;https://commits.webkit.org/244876@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 446013.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1820632</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-12-06 09:21:30 -0800</bug_when>
    <thetext>&lt;rdar://problem/86107548&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>446013</attachid>
            <date>2021-12-06 02:09:11 -0800</date>
            <delta_ts>2021-12-06 09:20:16 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233868-20211206110909.patch</filename>
            <type>text/plain</type>
            <size>17294</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2NTM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmYzNDUxZjJlZjJkZDli
MTMyMjViMDM3NWViZjg4NzAzZTk4OTdjYi4uNTczNmE5OTUwNmY2YjEzNTJjOTg2YWU1NjJiYjFk
MDBjYjFiNTJmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU3IEBACisyMDIxLTEyLTA2ICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgorCisgICAgICAgIENsZWFuIHVwIHZpcnR1
YWwgbWV0aG9kcyBvbiBBbmltYXRpb25FZmZlY3QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMzg2OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFRvIHRoaXMgZGF5LCB0aGUgb25seSBjb25jcmV0ZSBzdWJj
bGFzcyBvZiBBbmltYXRpb25FZmZlY3QgaGFzIGJlZW4gS2V5ZnJhbWVFZmZlY3QuIFNvb24sIHdl
J2xsIGludHJvZHVjZQorICAgICAgICBhbm90aGVyIGNvbmNyZXRlIHN1YmNsYXNzIGZvciBjYWxs
YmFjay1iYXNlZCBhbmltYXRpb25zIGxldmVyYWdpbmcgdGhlIFdlYiBBbmltYXRpb25zIG1vZGU6
IEN1c3RvbUVmZmVjdC4gCisgICAgICAgIFRvIHByZXBhcmUgZm9yIHRoaXMgbmV3IGNsYXNzLCB3
ZSBjbGVhbiB1cCB0aGUgdmlydHVhbCBtZXRob2RzIG9uIEFuaW1hdGlvbkVmZmVjdCBzdWNoIHRo
YXQgdGhleSBtYWtlIGEKKyAgICAgICAgYml0IG1vcmUgc2Vuc2U6CisKKyAgICAgICAgLSBtdWNo
IG9mIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiB0aW1lVG9OZXh0VGljaygpIGlzIGJyb3VnaHQgZnJv
bSBLZXlmcmFtZUVmZmVjdCB0byBBbmltYXRpb25FZmZlY3QgdG8KKyAgICAgICAgYWNjb3VudCBm
b3IgdGhlIGNhc2VzIHdoaWNoIGFyZSBwdXJlbHkgYmFzZWQgb24gdGltaW5nIHByb3BlcnRpZXMg
c2hhcmVkIGJ5IGFueSBwb3RlbnRpYWwgQW5pbWF0aW9uRWZmZWN0CisgICAgICAgIHN1YmNsYXNz
LAorCisgICAgICAgIC0gd2UgYWRkIGEgbmV3IHRpY2tzQ29udGlub3VzbHlXaGlsZUFjdGl2ZSgp
IG1ldGhvZCB3aGljaCBhbGxvd3Mgc3ViY2xhc3NlcyB0byBpbmRpY2F0ZSB3aGV0aGVyIHRoZXkg
cmVxdWlyZQorICAgICAgICBjb250aW51b3VzIHNjaGVkdWxpbmcgd2hpbGUgYWN0aXZlLCB3aGlj
aCBpcyB0cnVlIGZvciBLZXlmcmFtZUVmZmVjdCB1bmxlc3MgaXQgaGFzIG5vIGtleWZyYW1lcywg
bm8gQ1NTCisgICAgICAgIHByb3BlcnRpZXMgc2V0IG9uIGl0cyBrZXlmcmFtZXMgb3IgaXMgcnVu
bmluZyBmdWxseSBhY2NlbGVyYXRlZCwKKworICAgICAgICAtIG11Y2ggb2YgdGhlIGltcGxlbWVu
dGF0aW9uIG9mIHNldEFuaW1hdGlvbigpIGlzIGJyb3VnaHQgZnJvbSBLZXlmcmFtZUVmZmVjdCB0
byBBbmltYXRpb25FZmZlY3Qgc2luY2UKKyAgICAgICAgdXBkYXRpbmcgdGhlIHJlbGV2YW5jZSBv
ZiB0aGUgYW5pbWF0aW9uIGJhc2VkIG9uIGEgY2hhbmdlIG9mIGVmZmVjdCBzaG91bGQgYXBwbHkg
dG8gYW55IEFuaW1hdGlvbkVmZmVjdCwKKworICAgICAgICAtIHRoZSBhcHBseSgpIGFuZCBpbnZh
bGlkYXRlKCkgbWV0aG9kcyBhcmUgbW92ZWQgZnJvbSBBbmltYXRpb25FZmZlY3QgdG8gS2V5ZnJh
bWVFZmZlY3QgYWxvbmUgc2luY2UgdGhleQorICAgICAgICByZWFsbHkgYXJlIHNwZWNpZmljIHRv
IEtleWZyYW1lRWZmZWN0J3MgaW50ZXJhY3Rpb24gd2l0aCBzdHlsZSByZXNvbHV0aW9uLAorCisg
ICAgICAgIC0gYWxsIHRoZSBvdGhlciB2aXJ0dWFsIG1ldGhvZHMgb24gQW5pbWF0aW9uRWZmZWN0
IGhhdmUgc3R1YiBpbXBsZW1lbnRhdGlvbnMgc3VjaCB0aGF0IG5ldyBzdWJjbGFzc2VzCisgICAg
ICAgIG9ubHkgbmVlZCB0byBvdmVycmlkZSB0aGVtIGFzIHJlcXVpcmVkOiBhbmltYXRpb25EaWRU
aWNrKCksIGFuaW1hdGlvbkRpZFBsYXkoKSwKKyAgICAgICAgYW5pbWF0aW9uRGlkQ2hhbmdlVGlt
aW5nUHJvcGVydGllcygpLCBhbmltYXRpb25XYXNDYW5jZWxlZCgpLCBhbmltYXRpb25TdXNwZW5z
aW9uU3RhdGVEaWRDaGFuZ2UoYm9vbCkKKyAgICAgICAgYW5kIGFuaW1hdGlvblRpbWVsaW5lRGlk
Q2hhbmdlKEFuaW1hdGlvblRpbWVsaW5lKikuCisKKyAgICAgICAgKiBhbmltYXRpb24vQW5pbWF0
aW9uRWZmZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFuaW1hdGlvbkVmZmVjdDo6c2V0QW5p
bWF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkFuaW1hdGlvbkVmZmVjdDo6dGltZVRvTmV4dFRp
Y2sgY29uc3QpOgorICAgICAgICAqIGFuaW1hdGlvbi9BbmltYXRpb25FZmZlY3QuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OkFuaW1hdGlvbkVmZmVjdDo6YW5pbWF0aW9uRGlkVGljayk6CisgICAgICAg
IChXZWJDb3JlOjpBbmltYXRpb25FZmZlY3Q6OmFuaW1hdGlvbkRpZFBsYXkpOgorICAgICAgICAo
V2ViQ29yZTo6QW5pbWF0aW9uRWZmZWN0OjphbmltYXRpb25EaWRDaGFuZ2VUaW1pbmdQcm9wZXJ0
aWVzKToKKyAgICAgICAgKFdlYkNvcmU6OkFuaW1hdGlvbkVmZmVjdDo6YW5pbWF0aW9uV2FzQ2Fu
Y2VsZWQpOgorICAgICAgICAoV2ViQ29yZTo6QW5pbWF0aW9uRWZmZWN0OjphbmltYXRpb25TdXNw
ZW5zaW9uU3RhdGVEaWRDaGFuZ2UpOgorICAgICAgICAoV2ViQ29yZTo6QW5pbWF0aW9uRWZmZWN0
OjphbmltYXRpb25UaW1lbGluZURpZENoYW5nZSk6CisgICAgICAgIChXZWJDb3JlOjpBbmltYXRp
b25FZmZlY3Q6OnRpY2tzQ29udGlub3VzbHlXaGlsZUFjdGl2ZSBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpBbmltYXRpb25FZmZlY3Q6OnNldEFuaW1hdGlvbik6IERlbGV0ZWQuCisgICAgICAg
IChXZWJDb3JlOjpBbmltYXRpb25FZmZlY3Q6OnRpbWVUb05leHRUaWNrIGNvbnN0KTogRGVsZXRl
ZC4KKyAgICAgICAgKiBhbmltYXRpb24vS2V5ZnJhbWVFZmZlY3QuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6S2V5ZnJhbWVFZmZlY3Q6OnNldEFuaW1hdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpL
ZXlmcmFtZUVmZmVjdDo6dGlja3NDb250aW5vdXNseVdoaWxlQWN0aXZlIGNvbnN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OktleWZyYW1lRWZmZWN0Ojp0aW1lVG9OZXh0VGljayBjb25zdCk6CisgICAg
ICAgICogYW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0Lmg6CisgICAgICAgICogYW5pbWF0aW9uL1dl
YkFuaW1hdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJBbmltYXRpb246OmludmFsaWRh
dGVFZmZlY3QpOgorICAgICAgICAoV2ViQ29yZTo6V2ViQW5pbWF0aW9uOjpyZXNvbHZlKToKKyAg
ICAgICAgKFdlYkNvcmU6OldlYkFuaW1hdGlvbjo6dGltZVRvTmV4dFRpY2sgY29uc3QpOgorCiAy
MDIxLTEyLTA0ICBBbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZD
XVtJRkNdIENvbXB1dGUgaXNGaXJzdEJveC9pc0xhc3RCb3ggZm9yIHRleHQgY29udGVudApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0FuaW1hdGlvbkVmZmVjdC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9hbmltYXRpb24vQW5pbWF0aW9uRWZmZWN0LmNwcAppbmRleCA4OWJkNDBh
NTgxZDU0YjQ4MDgyZDI5MDNkNzhlZTMyNDc4Y2FlMzAzLi4yMzliZDA0NWY4MGFlYThkY2RmMzFj
NWUwYzQzODhhMDJiNTI5NTUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24v
QW5pbWF0aW9uRWZmZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vQW5pbWF0
aW9uRWZmZWN0LmNwcApAQCAtNDMsNiArNDMsMTYgQEAgQW5pbWF0aW9uRWZmZWN0Ojp+QW5pbWF0
aW9uRWZmZWN0KCkKIHsKIH0KIAordm9pZCBBbmltYXRpb25FZmZlY3Q6OnNldEFuaW1hdGlvbihX
ZWJBbmltYXRpb24qIGFuaW1hdGlvbikKK3sKKyAgICBpZiAobV9hbmltYXRpb24gPT0gYW5pbWF0
aW9uKQorICAgICAgICByZXR1cm47CisKKyAgICBtX2FuaW1hdGlvbiA9IGFuaW1hdGlvbjsKKyAg
ICBpZiAoYW5pbWF0aW9uKQorICAgICAgICBhbmltYXRpb24tPnVwZGF0ZVJlbGV2YW5jZSgpOwor
fQorCiBFZmZlY3RUaW1pbmcgQW5pbWF0aW9uRWZmZWN0OjpnZXRCaW5kaW5nc1RpbWluZygpIGNv
bnN0CiB7CiAgICAgaWYgKGlzPERlY2xhcmF0aXZlQW5pbWF0aW9uPihhbmltYXRpb24oKSkpCkBA
IC01NTEsNCArNTYxLDM0IEBAIHN0ZDo6b3B0aW9uYWw8ZG91YmxlPiBBbmltYXRpb25FZmZlY3Q6
OnByb2dyZXNzVW50aWxOZXh0U3RlcChkb3VibGUgaXRlcmF0aW9uUHJvCiAgICAgcmV0dXJuIG5l
eHRTdGVwUHJvZ3Jlc3MgLSBpdGVyYXRpb25Qcm9ncmVzczsKIH0KIAorU2Vjb25kcyBBbmltYXRp
b25FZmZlY3Q6OnRpbWVUb05leHRUaWNrKEJhc2ljRWZmZWN0VGltaW5nIHRpbWluZykgY29uc3QK
K3sKKyAgICBzd2l0Y2ggKHRpbWluZy5waGFzZSkgeworICAgIGNhc2UgQW5pbWF0aW9uRWZmZWN0
UGhhc2U6OkJlZm9yZToKKyAgICAgICAgLy8gVGhlIGVmZmVjdCBpcyBpbiBpdHMgImJlZm9yZSIg
cGhhc2UsIGluIHRoaXMgY2FzZSB3ZSBjYW4gd2FpdCB1bnRpbCBpdCBlbnRlcnMgaXRzICJhY3Rp
dmUiIHBoYXNlLgorICAgICAgICByZXR1cm4gZGVsYXkoKSAtICp0aW1pbmcubG9jYWxUaW1lOwor
ICAgIGNhc2UgQW5pbWF0aW9uRWZmZWN0UGhhc2U6OkFjdGl2ZTogeworICAgICAgICBpZiAoIXRp
Y2tzQ29udGlub3VzbHlXaGlsZUFjdGl2ZSgpKQorICAgICAgICAgICAgcmV0dXJuIGVuZFRpbWUo
KSAtICp0aW1pbmcubG9jYWxUaW1lOworICAgICAgICBpZiAoYXV0byBpdGVyYXRpb25Qcm9ncmVz
cyA9IGdldENvbXB1dGVkVGltaW5nKCkuc2ltcGxlSXRlcmF0aW9uUHJvZ3Jlc3MpIHsKKyAgICAg
ICAgICAgIC8vIEluIGNhc2Ugd2UncmUgaW4gYSByYW5nZSB0aGF0IHVzZXMgYSBzdGVwcygpIHRp
bWluZyBmdW5jdGlvbiwgd2UgY2FuIGNvbXB1dGUgdGhlIHRpbWUgdW50aWwgdGhlIG5leHQgc3Rl
cCBzdGFydHMuCisgICAgICAgICAgICBpZiAoYXV0byBwcm9ncmVzc1VudGlsTmV4dFN0ZXAgPSB0
aGlzLT5wcm9ncmVzc1VudGlsTmV4dFN0ZXAoKml0ZXJhdGlvblByb2dyZXNzKSkKKyAgICAgICAg
ICAgICAgICByZXR1cm4gaXRlcmF0aW9uRHVyYXRpb24oKSAqICpwcm9ncmVzc1VudGlsTmV4dFN0
ZXA7CisgICAgICAgIH0KKyAgICAgICAgLy8gT3RoZXIgZWZmZWN0cyB0aGF0IGNvbnRpbnVvdXNs
eSB0aWNrIGluIHRoZSAiYWN0aXZlIiBwaGFzZSB3aWxsIG5lZWQgdG8gdXBkYXRlIHRoZWlyIGFu
aW1hdGVkCisgICAgICAgIC8vIHByb2dyZXNzIGF0IHRoZSBpbW1lZGlhdGUgbmV4dCBvcHBvcnR1
bml0eS4KKyAgICAgICAgcmV0dXJuIDBfczsKKyAgICB9CisgICAgY2FzZSBBbmltYXRpb25FZmZl
Y3RQaGFzZTo6QWZ0ZXI6CisgICAgICAgIC8vIFRoZSBlZmZlY3QgaXMgaW4gaXRzIGFmdGVyIHBo
YXNlLCB3aGljaCBtZWFucyBpdCB3aWxsIG5vIGxvbmdlciB1cGRhdGUgaXRzIHByb2dyZXNzLCBz
byBpdCBkb2Vucyd0IG5lZWQgYSB0aWNrLgorICAgICAgICByZXR1cm4gU2Vjb25kczo6aW5maW5p
dHkoKTsKKyAgICBjYXNlIEFuaW1hdGlvbkVmZmVjdFBoYXNlOjpJZGxlOgorICAgICAgICBBU1NF
UlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgcmV0dXJuIFNlY29uZHM6OmluZmluaXR5KCk7Cisg
ICAgfQorCisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIFNlY29uZHM6Omlu
ZmluaXR5KCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2FuaW1hdGlvbi9BbmltYXRpb25FZmZlY3QuaCBiL1NvdXJjZS9XZWJDb3JlL2Fu
aW1hdGlvbi9BbmltYXRpb25FZmZlY3QuaAppbmRleCBlYmNmZDlmNTdjM2UwOTc5ZjBjNzAxMDU5
YzVjY2E4MDczY2NhMGIwLi5iYzMyNjc5NDdmNDk1NmQ1ZDk5MTk2Mzk4MDhlODFiNTRiZjYyYzI0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vQW5pbWF0aW9uRWZmZWN0LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0FuaW1hdGlvbkVmZmVjdC5oCkBAIC00Nywx
MCArNDcsNiBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLW5hbWVzcGFjZSBTdHlsZSB7Ci1z
dHJ1Y3QgUmVzb2x1dGlvbkNvbnRleHQ7Ci19Ci0KIGNsYXNzIEFuaW1hdGlvbkVmZmVjdCA6IHB1
YmxpYyBSZWZDb3VudGVkPEFuaW1hdGlvbkVmZmVjdD4sIHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxB
bmltYXRpb25FZmZlY3Q+IHsKIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5BbmltYXRpb25FZmZlY3Qo
KTsKQEAgLTY1LDE3ICs2MSwxNSBAQCBwdWJsaWM6CiAgICAgRXhjZXB0aW9uT3I8dm9pZD4gYmlu
ZGluZ3NVcGRhdGVUaW1pbmcoc3RkOjpvcHRpb25hbDxPcHRpb25hbEVmZmVjdFRpbWluZz4pOwog
ICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHVwZGF0ZVRpbWluZyhzdGQ6Om9wdGlvbmFsPE9wdGlvbmFs
RWZmZWN0VGltaW5nPik7CiAKLSAgICB2aXJ0dWFsIHZvaWQgYXBwbHkoUmVuZGVyU3R5bGUmIHRh
cmdldFN0eWxlLCBjb25zdCBTdHlsZTo6UmVzb2x1dGlvbkNvbnRleHQmLCBzdGQ6Om9wdGlvbmFs
PFNlY29uZHM+ID0gc3RkOjpudWxsb3B0KSA9IDA7Ci0gICAgdmlydHVhbCB2b2lkIGludmFsaWRh
dGUoKSA9IDA7Ci0gICAgdmlydHVhbCB2b2lkIGFuaW1hdGlvbkRpZFRpY2soKSA9IDA7Ci0gICAg
dmlydHVhbCB2b2lkIGFuaW1hdGlvbkRpZFBsYXkoKSA9IDA7Ci0gICAgdmlydHVhbCB2b2lkIGFu
aW1hdGlvbkRpZENoYW5nZVRpbWluZ1Byb3BlcnRpZXMoKSA9IDA7Ci0gICAgdmlydHVhbCB2b2lk
IGFuaW1hdGlvbldhc0NhbmNlbGVkKCkgPSAwOwotICAgIHZpcnR1YWwgdm9pZCBhbmltYXRpb25T
dXNwZW5zaW9uU3RhdGVEaWRDaGFuZ2UoYm9vbCkgPSAwOwotICAgIHZpcnR1YWwgdm9pZCBhbmlt
YXRpb25UaW1lbGluZURpZENoYW5nZShBbmltYXRpb25UaW1lbGluZSopID0gMDsKKyAgICB2aXJ0
dWFsIHZvaWQgYW5pbWF0aW9uRGlkVGljaygpIHsgfTsKKyAgICB2aXJ0dWFsIHZvaWQgYW5pbWF0
aW9uRGlkUGxheSgpIHsgfTsKKyAgICB2aXJ0dWFsIHZvaWQgYW5pbWF0aW9uRGlkQ2hhbmdlVGlt
aW5nUHJvcGVydGllcygpIHsgfTsKKyAgICB2aXJ0dWFsIHZvaWQgYW5pbWF0aW9uV2FzQ2FuY2Vs
ZWQoKSB7IH07CisgICAgdmlydHVhbCB2b2lkIGFuaW1hdGlvblN1c3BlbnNpb25TdGF0ZURpZENo
YW5nZShib29sKSB7IH07CisgICAgdmlydHVhbCB2b2lkIGFuaW1hdGlvblRpbWVsaW5lRGlkQ2hh
bmdlKEFuaW1hdGlvblRpbWVsaW5lKikgeyB9OwogCiAgICAgV2ViQW5pbWF0aW9uKiBhbmltYXRp
b24oKSBjb25zdCB7IHJldHVybiBtX2FuaW1hdGlvbi5nZXQoKTsgfQotICAgIHZpcnR1YWwgdm9p
ZCBzZXRBbmltYXRpb24oV2ViQW5pbWF0aW9uKiBhbmltYXRpb24pIHsgbV9hbmltYXRpb24gPSBh
bmltYXRpb247IH0KKyAgICB2aXJ0dWFsIHZvaWQgc2V0QW5pbWF0aW9uKFdlYkFuaW1hdGlvbiop
OwogCiAgICAgU2Vjb25kcyBkZWxheSgpIGNvbnN0IHsgcmV0dXJuIG1fZGVsYXk7IH0KICAgICB2
b2lkIHNldERlbGF5KGNvbnN0IFNlY29uZHMmKTsKQEAgLTEwNiwxMSArMTAwLDEyIEBAIHB1Ymxp
YzoKIAogICAgIHZvaWQgdXBkYXRlU3RhdGljVGltaW5nUHJvcGVydGllcygpOwogCi0gICAgdmly
dHVhbCBTZWNvbmRzIHRpbWVUb05leHRUaWNrKCkgY29uc3QgeyByZXR1cm4gU2Vjb25kczo6aW5m
aW5pdHkoKTsgfQorICAgIHZpcnR1YWwgU2Vjb25kcyB0aW1lVG9OZXh0VGljayhCYXNpY0VmZmVj
dFRpbWluZykgY29uc3Q7CiAKIHByb3RlY3RlZDoKICAgICBleHBsaWNpdCBBbmltYXRpb25FZmZl
Y3QoKTsKIAorICAgIHZpcnR1YWwgYm9vbCB0aWNrc0NvbnRpbm91c2x5V2hpbGVBY3RpdmUoKSBj
b25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgc3RkOjpvcHRpb25hbDxkb3VibGU+
IHByb2dyZXNzVW50aWxOZXh0U3RlcChkb3VibGUpIGNvbnN0OwogCiBwcml2YXRlOgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2FuaW1hdGlvbi9LZXlmcmFtZUVmZmVjdC5jcHAKaW5kZXggZjhmZmFjNWM1MzFk
NzcxNjQ3YjAzMjAxY2RlYzc0OGJmYTE4NmRkNi4uYjBhZGUxYjUyMjcwYzY5ODU1Y2ZlMzVjMjM4
MTdhYmYzOTk1YjE2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0tleWZy
YW1lRWZmZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vS2V5ZnJhbWVFZmZl
Y3QuY3BwCkBAIC0xMTYyLDEzICsxMTYyLDggQEAgdm9pZCBLZXlmcmFtZUVmZmVjdDo6c2V0QW5p
bWF0aW9uKFdlYkFuaW1hdGlvbiogYW5pbWF0aW9uKQogewogICAgIGJvb2wgYW5pbWF0aW9uQ2hh
bmdlZCA9IGFuaW1hdGlvbiAhPSB0aGlzLT5hbmltYXRpb24oKTsKICAgICBBbmltYXRpb25FZmZl
Y3Q6OnNldEFuaW1hdGlvbihhbmltYXRpb24pOwotCi0gICAgaWYgKCFhbmltYXRpb25DaGFuZ2Vk
KQotICAgICAgICByZXR1cm47Ci0KLSAgICBpZiAoYW5pbWF0aW9uKQotICAgICAgICBhbmltYXRp
b24tPnVwZGF0ZVJlbGV2YW5jZSgpOwotICAgIHVwZGF0ZUVmZmVjdFN0YWNrTWVtYmVyc2hpcCgp
OworICAgIGlmIChhbmltYXRpb25DaGFuZ2VkKQorICAgICAgICB1cGRhdGVFZmZlY3RTdGFja01l
bWJlcnNoaXAoKTsKIH0KIAogY29uc3Qgc3RkOjpvcHRpb25hbDxjb25zdCBTdHlsZWFibGU+IEtl
eWZyYW1lRWZmZWN0Ojp0YXJnZXRTdHlsZWFibGUoKSBjb25zdApAQCAtMjEyMCw0NSArMjExNSwz
MCBAQCBzdGQ6Om9wdGlvbmFsPGRvdWJsZT4gS2V5ZnJhbWVFZmZlY3Q6OnByb2dyZXNzVW50aWxO
ZXh0U3RlcChkb3VibGUgaXRlcmF0aW9uUHJvZwogICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiB9
CiAKLVNlY29uZHMgS2V5ZnJhbWVFZmZlY3Q6OnRpbWVUb05leHRUaWNrKCkgY29uc3QKLXsKLSAg
ICBhdXRvIHRpbWluZyA9IGdldEJhc2ljVGltaW5nKCk7Ci0gICAgc3dpdGNoICh0aW1pbmcucGhh
c2UpIHsKLSAgICBjYXNlIEFuaW1hdGlvbkVmZmVjdFBoYXNlOjpCZWZvcmU6Ci0gICAgICAgIC8v
IFRoZSBlZmZlY3QgaXMgaW4gaXRzICJiZWZvcmUiIHBoYXNlLCBpbiB0aGlzIGNhc2Ugd2UgY2Fu
IHdhaXQgdW50aWwgaXQgZW50ZXJzIGl0cyAiYWN0aXZlIiBwaGFzZS4KLSAgICAgICAgcmV0dXJu
IGRlbGF5KCkgLSAqdGltaW5nLmxvY2FsVGltZTsKLSAgICBjYXNlIEFuaW1hdGlvbkVmZmVjdFBo
YXNlOjpBY3RpdmU6IHsKLSAgICAgICAgYXV0byBkb2VzTm90QWZmZWN0U3R5bGVzID0gbV9ibGVu
ZGluZ0tleWZyYW1lcy5pc0VtcHR5KCkgfHwgbV9ibGVuZGluZ0tleWZyYW1lcy5wcm9wZXJ0aWVz
KCkuaXNFbXB0eSgpOwotICAgICAgICBhdXRvIGNvbXBsZXRlbHlBY2NlbGVyYXRlZEFuZFJ1bm5p
bmcgPSBpc0NvbXBsZXRlbHlBY2NlbGVyYXRlZCgpICYmIGlzUnVubmluZ0FjY2VsZXJhdGVkKCk7
Ci0gICAgICAgIGlmIChkb2VzTm90QWZmZWN0U3R5bGVzIHx8IGNvbXBsZXRlbHlBY2NlbGVyYXRl
ZEFuZFJ1bm5pbmcpIHsKLSAgICAgICAgICAgIC8vIEluIHRoZSBjYXNlIG9mIGZ1bGx5IGFjY2Vs
ZXJhdGVkIHJ1bm5pbmcgZWZmZWN0cyBhbmQgZWZmZWN0cyB0aGF0IGRvbid0IGFjdHVhbGx5IHRh
cmdldCBhbnkgQ1NTIHByb3BlcnR5LAotICAgICAgICAgICAgLy8gd2UgZG8gbm90IGhhdmUgYSBu
ZWVkIHRvIGludmFsaWRhdGUgc3R5bGVzLgotICAgICAgICAgICAgaWYgKGlzPENTU0FuaW1hdGlv
bj4oYW5pbWF0aW9uKCkpKSB7Ci0gICAgICAgICAgICAgICAgLy8gSG93ZXZlciwgQ1NTIEFuaW1h
dGlvbnMgbmVlZCB0byB0cmlnZ2VyICJhbmltYXRpb25pdGVyYXRpb24iIGV2ZW50cywgaW4gdGhp
cyBjYXNlIHdlIG11c3Qgd2FpdCB1bnRpbCB0aGUgbmV4dCBpdGVyYXRpb24uCi0gICAgICAgICAg
ICAgICAgaWYgKGF1dG8gaXRlcmF0aW9uUHJvZ3Jlc3MgPSBnZXRDb21wdXRlZFRpbWluZygpLnNp
bXBsZUl0ZXJhdGlvblByb2dyZXNzKQotICAgICAgICAgICAgICAgICAgICByZXR1cm4gaXRlcmF0
aW9uRHVyYXRpb24oKSAqICgxIC0gKml0ZXJhdGlvblByb2dyZXNzKTsKLSAgICAgICAgICAgIH0K
LSAgICAgICAgICAgIC8vIE90aGVyIHJ1bm5pbmcgZWZmZWN0cyBpbiB0aGUgImFjdGl2ZSIgcGhh
c2UgY2FuIHdhaXQgdW50aWwgdGhleSBlbmQuCi0gICAgICAgICAgICByZXR1cm4gZW5kVGltZSgp
IC0gKnRpbWluZy5sb2NhbFRpbWU7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKGF1dG8gaXRlcmF0
aW9uUHJvZ3Jlc3MgPSBnZXRDb21wdXRlZFRpbWluZygpLnNpbXBsZUl0ZXJhdGlvblByb2dyZXNz
KSB7Ci0gICAgICAgICAgICAvLyBJbiBjYXNlIHdlJ3JlIGluIGEgcmFuZ2UgdGhhdCB1c2VzIGEg
c3RlcHMoKSB0aW1pbmcgZnVuY3Rpb24sIHdlIGNhbiBjb21wdXRlIHRoZSB0aW1lIHVudGlsIHRo
ZSBuZXh0IHN0ZXAgc3RhcnRzLgotICAgICAgICAgICAgaWYgKGF1dG8gcHJvZ3Jlc3NVbnRpbE5l
eHRTdGVwID0gdGhpcy0+cHJvZ3Jlc3NVbnRpbE5leHRTdGVwKCppdGVyYXRpb25Qcm9ncmVzcykp
Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGl0ZXJhdGlvbkR1cmF0aW9uKCkgKiAqcHJvZ3Jlc3NV
bnRpbE5leHRTdGVwOworYm9vbCBLZXlmcmFtZUVmZmVjdDo6dGlja3NDb250aW5vdXNseVdoaWxl
QWN0aXZlKCkgY29uc3QKK3sKKyAgICBhdXRvIGRvZXNOb3RBZmZlY3RTdHlsZXMgPSBtX2JsZW5k
aW5nS2V5ZnJhbWVzLmlzRW1wdHkoKSB8fCBtX2JsZW5kaW5nS2V5ZnJhbWVzLnByb3BlcnRpZXMo
KS5pc0VtcHR5KCk7CisgICAgaWYgKGRvZXNOb3RBZmZlY3RTdHlsZXMpCisgICAgICAgIHJldHVy
biBmYWxzZTsKKworICAgIGlmIChpc0NvbXBsZXRlbHlBY2NlbGVyYXRlZCgpICYmIGlzUnVubmlu
Z0FjY2VsZXJhdGVkKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIHJldHVybiB0cnVl
OworfQorCitTZWNvbmRzIEtleWZyYW1lRWZmZWN0Ojp0aW1lVG9OZXh0VGljayhCYXNpY0VmZmVj
dFRpbWluZyB0aW1pbmcpIGNvbnN0Cit7CisgICAgaWYgKHRpbWluZy5waGFzZSA9PSBBbmltYXRp
b25FZmZlY3RQaGFzZTo6QWN0aXZlKSB7CisgICAgICAgIC8vIENTUyBBbmltYXRpb25zIG5lZWQg
dG8gdHJpZ2dlciAiYW5pbWF0aW9uaXRlcmF0aW9uIiBldmVudHMgZXZlbiBpZiB0aGVyZSBpcyBu
byBuZWVkIHRvCisgICAgICAgIC8vIHVwZGF0ZSBzdHlsZXMgd2hpbGUgYW5pbWF0aW5nLCBzbyBp
ZiB3ZSdyZSBkZWFsaW5nIHdpdGggb25lIHdlIG11c3Qgd2FpdCB1bnRpbCB0aGUgbmV4dCBpdGVy
YXRpb24uCisgICAgICAgIGlmICghdGlja3NDb250aW5vdXNseVdoaWxlQWN0aXZlKCkgJiYgaXM8
Q1NTQW5pbWF0aW9uPihhbmltYXRpb24oKSkpIHsKKyAgICAgICAgICAgIGlmIChhdXRvIGl0ZXJh
dGlvblByb2dyZXNzID0gZ2V0Q29tcHV0ZWRUaW1pbmcoKS5zaW1wbGVJdGVyYXRpb25Qcm9ncmVz
cykKKyAgICAgICAgICAgICAgICByZXR1cm4gaXRlcmF0aW9uRHVyYXRpb24oKSAqICgxIC0gKml0
ZXJhdGlvblByb2dyZXNzKTsKICAgICAgICAgfQotICAgICAgICAvLyBPdGhlciBlZmZlY3RzIGlu
IHRoZSAiYWN0aXZlIiBwaGFzZSB3aWxsIG5lZWQgdG8gdXBkYXRlIHRoZWlyIGFuaW1hdGVkIHZh
bHVlIGF0IHRoZSBpbW1lZGlhdGUgbmV4dCBvcHBvcnR1bml0eS4KLSAgICAgICAgcmV0dXJuIDBf
czsKLSAgICB9Ci0gICAgY2FzZSBBbmltYXRpb25FZmZlY3RQaGFzZTo6QWZ0ZXI6Ci0gICAgICAg
IC8vIFRoZSBlZmZlY3QgaXMgaW4gaXRzIGFmdGVyIHBoYXNlLCB3aGljaCBtZWFucyBpdCB3aWxs
IG5vIGxvbmdlciB1cGRhdGUgaXRzIHZhbHVlLCBzbyBpdCBkb2Vucyd0IG5lZWQgYSB0aWNrLgot
ICAgICAgICByZXR1cm4gU2Vjb25kczo6aW5maW5pdHkoKTsKLSAgICBjYXNlIEFuaW1hdGlvbkVm
ZmVjdFBoYXNlOjpJZGxlOgotICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAg
cmV0dXJuIFNlY29uZHM6OmluZmluaXR5KCk7CiAgICAgfQogCi0gICAgQVNTRVJUX05PVF9SRUFD
SEVEKCk7Ci0gICAgcmV0dXJuIFNlY29uZHM6OmluZmluaXR5KCk7CisgICAgcmV0dXJuIEFuaW1h
dGlvbkVmZmVjdDo6dGltZVRvTmV4dFRpY2sodGltaW5nKTsKIH0KIAogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0tleWZyYW1lRWZm
ZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vS2V5ZnJhbWVFZmZlY3QuaAppbmRleCBm
ZWUzZDkxOTRkNmVhMTk0YzE1Y2UzZWMyOWQyODIyMThjZjkwMDE3Li40ZDY4NDQxYjg0NjFkNDg0
YmI3MWU5NDk0YTIyNGQ3ZmZhNTU3MThhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hbmlt
YXRpb24vS2V5ZnJhbWVFZmZlY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vS2V5
ZnJhbWVFZmZlY3QuaApAQCAtNDYsNiArNDYsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xh
c3MgRWxlbWVudDsKIGNsYXNzIEZpbHRlck9wZXJhdGlvbnM7CiAKK25hbWVzcGFjZSBTdHlsZSB7
CitzdHJ1Y3QgUmVzb2x1dGlvbkNvbnRleHQ7Cit9CisKIGNsYXNzIEtleWZyYW1lRWZmZWN0IDog
cHVibGljIEFuaW1hdGlvbkVmZmVjdAogICAgICwgcHVibGljIENTU1Byb3BlcnR5QmxlbmRpbmdD
bGllbnQgewogcHVibGljOgpAQCAtNTQsOCArNTgsNiBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFJl
ZjxLZXlmcmFtZUVmZmVjdD4gY3JlYXRlKGNvbnN0IEVsZW1lbnQmLCBQc2V1ZG9JZCk7CiAgICAg
fktleWZyYW1lRWZmZWN0KCkgeyB9CiAKLSAgICBib29sIGlzS2V5ZnJhbWVFZmZlY3QoKSBjb25z
dCBmaW5hbCB7IHJldHVybiB0cnVlOyB9Ci0KICAgICBzdHJ1Y3QgQmFzZVByb3BlcnR5SW5kZXhl
ZEtleWZyYW1lIHsKICAgICAgICAgc3RkOjp2YXJpYW50PHN0ZDo6bnVsbHB0cl90LCBWZWN0b3I8
c3RkOjpvcHRpb25hbDxkb3VibGU+PiwgZG91YmxlPiBvZmZzZXQgPSBWZWN0b3I8c3RkOjpvcHRp
b25hbDxkb3VibGU+PigpOwogICAgICAgICBzdGQ6OnZhcmlhbnQ8VmVjdG9yPFN0cmluZz4sIFN0
cmluZz4gZWFzaW5nID0gVmVjdG9yPFN0cmluZz4oKTsKQEAgLTEyMywyMiArMTI1LDE1IEBAIHB1
YmxpYzoKICAgICB2b2lkIHNldENvbXBvc2l0ZShDb21wb3NpdGVPcGVyYXRpb24gY29tcG9zaXRl
T3BlcmF0aW9uKSB7IG1fY29tcG9zaXRlT3BlcmF0aW9uID0gY29tcG9zaXRlT3BlcmF0aW9uOyB9
CiAKICAgICB2b2lkIGdldEFuaW1hdGVkU3R5bGUoc3RkOjp1bmlxdWVfcHRyPFJlbmRlclN0eWxl
PiYgYW5pbWF0ZWRTdHlsZSk7Ci0gICAgdm9pZCBhcHBseShSZW5kZXJTdHlsZSYgdGFyZ2V0U3R5
bGUsIGNvbnN0IFN0eWxlOjpSZXNvbHV0aW9uQ29udGV4dCYsIHN0ZDo6b3B0aW9uYWw8U2Vjb25k
cz4gPSBzdGQ6Om51bGxvcHQpIG92ZXJyaWRlOwotICAgIHZvaWQgaW52YWxpZGF0ZSgpIG92ZXJy
aWRlOwotICAgIHZvaWQgYW5pbWF0aW9uRGlkVGljaygpIGZpbmFsOwotICAgIHZvaWQgYW5pbWF0
aW9uRGlkUGxheSgpIGZpbmFsOwotICAgIHZvaWQgYW5pbWF0aW9uRGlkQ2hhbmdlVGltaW5nUHJv
cGVydGllcygpIGZpbmFsOwotICAgIHZvaWQgYW5pbWF0aW9uV2FzQ2FuY2VsZWQoKSBmaW5hbDsK
LSAgICB2b2lkIGFuaW1hdGlvblN1c3BlbnNpb25TdGF0ZURpZENoYW5nZShib29sKSBmaW5hbDsK
LSAgICB2b2lkIGFuaW1hdGlvblRpbWVsaW5lRGlkQ2hhbmdlKEFuaW1hdGlvblRpbWVsaW5lKikg
ZmluYWw7CisgICAgdm9pZCBhcHBseShSZW5kZXJTdHlsZSYgdGFyZ2V0U3R5bGUsIGNvbnN0IFN0
eWxlOjpSZXNvbHV0aW9uQ29udGV4dCYsIHN0ZDo6b3B0aW9uYWw8U2Vjb25kcz4gPSBzdGQ6Om51
bGxvcHQpOworICAgIHZvaWQgaW52YWxpZGF0ZSgpOworCiAgICAgdm9pZCBhbmltYXRpb25UaW1p
bmdEaWRDaGFuZ2UoKTsKICAgICB2b2lkIHRyYW5zZm9ybVJlbGF0ZWRQcm9wZXJ0eURpZENoYW5n
ZSgpOwogICAgIE9wdGlvblNldDxBY2NlbGVyYXRlZEFjdGlvbkFwcGxpY2F0aW9uUmVzdWx0PiBh
cHBseVBlbmRpbmdBY2NlbGVyYXRlZEFjdGlvbnMoKTsKIAogICAgIHZvaWQgd2lsbENoYW5nZVJl
bmRlcmVyKCk7CiAKLSAgICB2b2lkIHNldEFuaW1hdGlvbihXZWJBbmltYXRpb24qKSBmaW5hbDsK
LQogICAgIFJlbmRlckVsZW1lbnQqIHJlbmRlcmVyKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgY29u
c3QgUmVuZGVyU3R5bGUmIGN1cnJlbnRTdHlsZSgpIGNvbnN0IG92ZXJyaWRlOwogICAgIGJvb2wg
dHJpZ2dlcnNTdGFja2luZ0NvbnRleHQoKSBjb25zdCB7IHJldHVybiBtX3RyaWdnZXJzU3RhY2tp
bmdDb250ZXh0OyB9CkBAIC0yMDQsOCArMTk5LDYgQEAgcHJpdmF0ZToKICAgICB2b2lkIGNvbXB1
dGVDU1NUcmFuc2l0aW9uQmxlbmRpbmdLZXlmcmFtZXMoY29uc3QgUmVuZGVyU3R5bGUqIG9sZFN0
eWxlLCBjb25zdCBSZW5kZXJTdHlsZSYgbmV3U3R5bGUpOwogICAgIHZvaWQgY29tcHV0ZUFjY2Vs
ZXJhdGVkUHJvcGVydGllc1N0YXRlKCk7CiAgICAgdm9pZCBzZXRCbGVuZGluZ0tleWZyYW1lcyhL
ZXlmcmFtZUxpc3QmKTsKLSAgICBTZWNvbmRzIHRpbWVUb05leHRUaWNrKCkgY29uc3QgZmluYWw7
Ci0gICAgc3RkOjpvcHRpb25hbDxkb3VibGU+IHByb2dyZXNzVW50aWxOZXh0U3RlcChkb3VibGUp
IGNvbnN0IGZpbmFsOwogICAgIGJvb2wgaXNUYXJnZXRpbmdUcmFuc2Zvcm1SZWxhdGVkUHJvcGVy
dHkoKSBjb25zdDsKICAgICB2b2lkIGNoZWNrRm9yTWF0Y2hpbmdUcmFuc2Zvcm1GdW5jdGlvbkxp
c3RzKCk7CiAgICAgdm9pZCBjaGVja0Zvck1hdGNoaW5nRmlsdGVyRnVuY3Rpb25MaXN0cygpOwpA
QCAtMjE1LDYgKzIwOCwxOSBAQCBwcml2YXRlOgogICAgIHZvaWQgY2hlY2tGb3JNYXRjaGluZ0Jh
Y2tkcm9wRmlsdGVyRnVuY3Rpb25MaXN0cygpOwogI2VuZGlmCiAKKyAgICAvLyBBbmltYXRpb25F
ZmZlY3QKKyAgICBib29sIGlzS2V5ZnJhbWVFZmZlY3QoKSBjb25zdCBmaW5hbCB7IHJldHVybiB0
cnVlOyB9CisgICAgdm9pZCBhbmltYXRpb25EaWRUaWNrKCkgZmluYWw7CisgICAgdm9pZCBhbmlt
YXRpb25EaWRQbGF5KCkgZmluYWw7CisgICAgdm9pZCBhbmltYXRpb25EaWRDaGFuZ2VUaW1pbmdQ
cm9wZXJ0aWVzKCkgZmluYWw7CisgICAgdm9pZCBhbmltYXRpb25XYXNDYW5jZWxlZCgpIGZpbmFs
OworICAgIHZvaWQgYW5pbWF0aW9uU3VzcGVuc2lvblN0YXRlRGlkQ2hhbmdlKGJvb2wpIGZpbmFs
OworICAgIHZvaWQgYW5pbWF0aW9uVGltZWxpbmVEaWRDaGFuZ2UoQW5pbWF0aW9uVGltZWxpbmUq
KSBmaW5hbDsKKyAgICB2b2lkIHNldEFuaW1hdGlvbihXZWJBbmltYXRpb24qKSBmaW5hbDsKKyAg
ICBTZWNvbmRzIHRpbWVUb05leHRUaWNrKEJhc2ljRWZmZWN0VGltaW5nKSBjb25zdCBmaW5hbDsK
KyAgICBib29sIHRpY2tzQ29udGlub3VzbHlXaGlsZUFjdGl2ZSgpIGNvbnN0IGZpbmFsOworICAg
IHN0ZDo6b3B0aW9uYWw8ZG91YmxlPiBwcm9ncmVzc1VudGlsTmV4dFN0ZXAoZG91YmxlKSBjb25z
dCBmaW5hbDsKKwogICAgIEtleWZyYW1lTGlzdCBtX2JsZW5kaW5nS2V5ZnJhbWVzIHsgZW1wdHlT
dHJpbmcoKSB9OwogICAgIEhhc2hTZXQ8Q1NTUHJvcGVydHlJRD4gbV9hbmltYXRlZFByb3BlcnRp
ZXM7CiAgICAgVmVjdG9yPFBhcnNlZEtleWZyYW1lPiBtX3BhcnNlZEtleWZyYW1lczsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9XZWJBbmltYXRpb24uY3BwIGIvU291cmNl
L1dlYkNvcmUvYW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5jcHAKaW5kZXggMGZlMWM3YmE3OTIyYjAz
YzNhOWM1ZGYxMjBjMTJkN2VkNTMxMzgyMC4uYTUzNjcxYTlkZjhkNmRjNDYxZWFjNjQzY2M3ODU1
ZTU0YmY3NDVjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL1dlYkFuaW1h
dGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5jcHAK
QEAgLTc5Nyw4ICs3OTcsOCBAQCB2b2lkIFdlYkFuaW1hdGlvbjo6dGltaW5nRGlkQ2hhbmdlKERp
ZFNlZWsgZGlkU2VlaywgU3luY2hyb25vdXNseU5vdGlmeSBzeW5jaHJvbgogCiB2b2lkIFdlYkFu
aW1hdGlvbjo6aW52YWxpZGF0ZUVmZmVjdCgpCiB7Ci0gICAgaWYgKCFpc0VmZmVjdEludmFsaWRh
dGlvblN1c3BlbmRlZCgpICYmIG1fZWZmZWN0KQotICAgICAgICBtX2VmZmVjdC0+aW52YWxpZGF0
ZSgpOworICAgIGlmICghaXNFZmZlY3RJbnZhbGlkYXRpb25TdXNwZW5kZWQoKSAmJiBpczxLZXlm
cmFtZUVmZmVjdD4obV9lZmZlY3QpKQorICAgICAgICBkb3duY2FzdDxLZXlmcmFtZUVmZmVjdD4o
Km1fZWZmZWN0KS5pbnZhbGlkYXRlKCk7CiB9CiAKIHZvaWQgV2ViQW5pbWF0aW9uOjp1cGRhdGVG
aW5pc2hlZFN0YXRlKERpZFNlZWsgZGlkU2VlaywgU3luY2hyb25vdXNseU5vdGlmeSBzeW5jaHJv
bm91c2x5Tm90aWZ5KQpAQCAtMTIzNCw4ICsxMjM0LDggQEAgdm9pZCBXZWJBbmltYXRpb246OnJl
c29sdmUoUmVuZGVyU3R5bGUmIHRhcmdldFN0eWxlLCBjb25zdCBTdHlsZTo6UmVzb2x1dGlvbkNv
bnQKICAgICAgICAgdXBkYXRlRmluaXNoZWRTdGF0ZShEaWRTZWVrOjpObywgU3luY2hyb25vdXNs
eU5vdGlmeTo6WWVzKTsKICAgICBtX3Nob3VsZFNraXBVcGRhdGluZ0ZpbmlzaGVkU3RhdGVXaGVu
UmVzb2x2aW5nID0gZmFsc2U7CiAKLSAgICBpZiAobV9lZmZlY3QpCi0gICAgICAgIG1fZWZmZWN0
LT5hcHBseSh0YXJnZXRTdHlsZSwgcmVzb2x1dGlvbkNvbnRleHQsIHN0YXJ0VGltZSk7CisgICAg
aWYgKGlzPEtleWZyYW1lRWZmZWN0PihtX2VmZmVjdCkpCisgICAgICAgIGRvd25jYXN0PEtleWZy
YW1lRWZmZWN0PigqbV9lZmZlY3QpLmFwcGx5KHRhcmdldFN0eWxlLCByZXNvbHV0aW9uQ29udGV4
dCwgc3RhcnRUaW1lKTsKIH0KIAogdm9pZCBXZWJBbmltYXRpb246OnNldFN1c3BlbmRlZChib29s
IGlzU3VzcGVuZGVkKQpAQCAtMTQ1Myw3ICsxNDUzLDcgQEAgU2Vjb25kcyBXZWJBbmltYXRpb246
OnRpbWVUb05leHRUaWNrKCkgY29uc3QKICAgICAgICAgcmV0dXJuIFNlY29uZHM6OmluZmluaXR5
KCk7CiAKICAgICBBU1NFUlQoZWZmZWN0KCkpOwotICAgIHJldHVybiBlZmZlY3QoKS0+dGltZVRv
TmV4dFRpY2soKSAvIHBsYXliYWNrUmF0ZTsKKyAgICByZXR1cm4gZWZmZWN0KCktPnRpbWVUb05l
eHRUaWNrKGVmZmVjdCgpLT5nZXRCYXNpY1RpbWluZygpKSAvIHBsYXliYWNrUmF0ZTsKIH0KIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>