<?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>182793</bug_id>
          
          <creation_ts>2018-02-14 07:38:25 -0800</creation_ts>
          <short_desc>[JSC] Remove monotonicallyIncreasingTime and currentTime</short_desc>
          <delta_ts>2018-02-17 23:28:17 -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>New Bugs</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="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>achristensen</cc>
    
    <cc>bburg</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>joepeck</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1399056</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-02-14 07:38:25 -0800</bug_when>
    <thetext>[JSC] Remove monotonicallyIncreasingTime and currentTime</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1399057</commentid>
    <comment_count>1</comment_count>
      <attachid>333798</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-02-14 07:39:56 -0800</bug_when>
    <thetext>Created attachment 333798
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1399060</commentid>
    <comment_count>2</comment_count>
      <attachid>333798</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-02-14 07:46:09 -0800</bug_when>
    <thetext>Comment on attachment 333798
Patch

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

&gt; Source/JavaScriptCore/heap/Heap.cpp:1018
&gt; +        dataLog(&quot;=&gt; &quot;, capacity() / 1024, &quot;kb, &quot;, (after - before).milliseconds(), &quot;ms&quot;);

Use MonotonicTime for measuring duration for logging.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1399466</commentid>
    <comment_count>3</comment_count>
      <attachid>333798</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2018-02-15 08:34:16 -0800</bug_when>
    <thetext>Comment on attachment 333798
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1399610</commentid>
    <comment_count>4</comment_count>
      <attachid>333798</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-02-15 14:10:46 -0800</bug_when>
    <thetext>Comment on attachment 333798
Patch

Thank you!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1399622</commentid>
    <comment_count>5</comment_count>
      <attachid>333798</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-02-15 14:34:22 -0800</bug_when>
    <thetext>Comment on attachment 333798
Patch

Clearing flags on attachment: 333798

Committed r228533: &lt;https://trac.webkit.org/changeset/228533&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1399623</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-02-15 14:34:23 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1399624</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-02-15 14:35:29 -0800</bug_when>
    <thetext>&lt;rdar://problem/37584287&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1399646</commentid>
    <comment_count>8</comment_count>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2018-02-15 15:33:40 -0800</bug_when>
    <thetext>Nice!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1400207</commentid>
    <comment_count>9</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-02-17 23:28:17 -0800</bug_when>
    <thetext>(In reply to Brian Burg from comment #8)
&gt; Nice!

Yay ;)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>333798</attachid>
            <date>2018-02-14 07:39:56 -0800</date>
            <delta_ts>2018-02-15 14:34:22 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-182793-20180215003955.patch</filename>
            <type>text/plain</type>
            <size>34432</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI4NDU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA3
NmUxYWNmMmJiZWMyOTM0ZWUyNGNjM2E2YTIzY2M4OTcwM2IzNzZhLi5lOGM0ODVmZTE2ZGMzMTc0
MzE4ZWZhZTEwZDlmNWEyNTI0M2MxMGRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw3NCBAQAorMjAxOC0wMi0xNCAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWls
LmNvbT4KKworICAgICAgICBbSlNDXSBSZW1vdmUgbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1l
IGFuZCBjdXJyZW50VGltZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTgyNzkzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgV2Ugd291bGQgbGlrZSB0byBkcm9wIG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGlt
ZSBhbmQgY3VycmVudFRpbWUgZnJvbSBvdXIgdHJlZSBieQorICAgICAgICByZXBsYWNpbmcgdGhl
bSB3aXRoIE1vbm90b25pY1RpbWUgYW5kIFdhbGxUaW1lLCB3aGljaCBhcmUgd2VsbC10eXBlZCBh
bHRlcm5hdGl2ZXMsCisgICAgICAgIGNvbXBhcmVkIHRvIGRvdWJsZS4KKyAgICAgICAgVGhpcyBw
YXRjaCByZW1vdmVzIG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSBhbmQgY3VycmVudFRpbWUg
aW4gSlNDLgorCisgICAgICAgICogYjMvdGVzdGIzLmNwcDoKKyAgICAgICAgKEpTQzo6QjM6OnRl
c3RDb21wbGV4KToKKyAgICAgICAgKiBkZmcvREZHUGhhc2UuaDoKKyAgICAgICAgKEpTQzo6REZH
OjpydW5BbmRMb2cpOgorICAgICAgICAqIGRmZy9ERkdQbGFuLmNwcDoKKyAgICAgICAgKEpTQzo6
REZHOjpQbGFuOjpjb21waWxlSW5UaHJlYWQpOgorICAgICAgICAoSlNDOjpERkc6OlBsYW46OmNv
bXBpbGVJblRocmVhZEltcGwpOgorICAgICAgICAqIGRmZy9ERkdQbGFuLmg6CisgICAgICAgICog
ZHluYmVuY2guY3BwOgorICAgICAgICAoSlNDOjpiZW5jaG1hcmtJbXBsKToKKyAgICAgICAgKiBo
ZWFwL0Jsb2NrRGlyZWN0b3J5LmNwcDoKKyAgICAgICAgKEpTQzo6QmxvY2tEaXJlY3Rvcnk6Omlz
UGFnZWRPdXQpOgorICAgICAgICAqIGhlYXAvQmxvY2tEaXJlY3RvcnkuaDoKKyAgICAgICAgKiBo
ZWFwL0Z1bGxHQ0FjdGl2aXR5Q2FsbGJhY2suY3BwOgorICAgICAgICAoSlNDOjpGdWxsR0NBY3Rp
dml0eUNhbGxiYWNrOjpkb0NvbGxlY3Rpb24pOgorICAgICAgICAqIGhlYXAvSGVhcC5jcHA6Cisg
ICAgICAgIChKU0M6OkhlYXA6OmlzUGFnZWRPdXQpOgorICAgICAgICAoSlNDOjpIZWFwOjpzd2Vl
cFN5bmNocm9ub3VzbHkpOgorICAgICAgICAqIGhlYXAvSGVhcC5oOgorICAgICAgICAqIGhlYXAv
TWFya2VkU3BhY2UuY3BwOgorICAgICAgICAoSlNDOjpNYXJrZWRTcGFjZTo6aXNQYWdlZE91dCk6
CisgICAgICAgICogaGVhcC9NYXJrZWRTcGFjZS5oOgorICAgICAgICAqIGluc3BlY3Rvci9hZ2Vu
dHMvSW5zcGVjdG9yQ29uc29sZUFnZW50LmNwcDoKKyAgICAgICAgKEluc3BlY3Rvcjo6SW5zcGVj
dG9yQ29uc29sZUFnZW50OjpzdGFydFRpbWluZyk6CisgICAgICAgIChJbnNwZWN0b3I6Okluc3Bl
Y3RvckNvbnNvbGVBZ2VudDo6c3RvcFRpbWluZyk6CisgICAgICAgICogaW5zcGVjdG9yL2FnZW50
cy9JbnNwZWN0b3JDb25zb2xlQWdlbnQuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvYWdlbnRzL0lu
c3BlY3RvclJ1bnRpbWVBZ2VudC5jcHA6CisgICAgICAgIChJbnNwZWN0b3I6Okluc3BlY3RvclJ1
bnRpbWVBZ2VudDo6Z2V0UnVudGltZVR5cGVzRm9yVmFyaWFibGVzQXRPZmZzZXRzKToKKyAgICAg
ICAgKiBqaXQvSklULmNwcDoKKyAgICAgICAgKEpTQzo6SklUOjpjb21waWxlV2l0aG91dExpbmtp
bmcpOgorICAgICAgICAoSlNDOjpKSVQ6OmNvbXBpbGVUaW1lU3RhdHMpOgorICAgICAgICAqIGpp
dC9KSVQuaDoKKyAgICAgICAgKiBqc2MuY3BwOgorICAgICAgICAoU3RvcFdhdGNoOjpzdGFydCk6
CisgICAgICAgIChTdG9wV2F0Y2g6OnN0b3ApOgorICAgICAgICAoU3RvcFdhdGNoOjpnZXRFbGFw
c2VkTVMpOgorICAgICAgICAoZnVuY3Rpb25QcmVjaXNlVGltZSk6CisgICAgICAgIChydW5KU0Mp
OgorICAgICAgICAqIHByb2ZpbGVyL1Byb2ZpbGVyRGF0YWJhc2UuY3BwOgorICAgICAgICAoSlND
OjpQcm9maWxlcjo6RGF0YWJhc2U6OmxvZ0V2ZW50KToKKyAgICAgICAgKiBwcm9maWxlci9Qcm9m
aWxlckV2ZW50LmNwcDoKKyAgICAgICAgKEpTQzo6UHJvZmlsZXI6OkV2ZW50Ojp0b0pTIGNvbnN0
KToKKyAgICAgICAgKiBwcm9maWxlci9Qcm9maWxlckV2ZW50Lmg6CisgICAgICAgIChKU0M6OlBy
b2ZpbGVyOjpFdmVudDo6RXZlbnQpOgorICAgICAgICAoSlNDOjpQcm9maWxlcjo6RXZlbnQ6OnRp
bWUgY29uc3QpOgorICAgICAgICAqIHJ1bnRpbWUvQ29kZUNhY2hlLmNwcDoKKyAgICAgICAgKEpT
Qzo6Q29kZUNhY2hlTWFwOjpwcnVuZVNsb3dDYXNlKToKKyAgICAgICAgKiBydW50aW1lL0NvZGVD
YWNoZS5oOgorICAgICAgICAoSlNDOjpDb2RlQ2FjaGVNYXA6OkNvZGVDYWNoZU1hcCk6CisgICAg
ICAgIChKU0M6OkNvZGVDYWNoZU1hcDo6cHJ1bmUpOgorICAgICAgICAqIHJ1bnRpbWUvRGF0ZUNv
bnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6Y2FsbERhdGUpOgorICAgICAgICAqIHJ1bnRp
bWUvVHlwZVByb2ZpbGVyTG9nLmNwcDoKKyAgICAgICAgKEpTQzo6VHlwZVByb2ZpbGVyTG9nOjpw
cm9jZXNzTG9nRW50cmllcyk6CisgICAgICAgICogdGVzdFJlZ0V4cC5jcHA6CisgICAgICAgIChT
dG9wV2F0Y2g6OnN0YXJ0KToKKyAgICAgICAgKFN0b3BXYXRjaDo6c3RvcCk6CisgICAgICAgIChT
dG9wV2F0Y2g6OmdldEVsYXBzZWRNUyk6CisKIDIwMTgtMDItMTMgIFNhYW0gQmFyYXRpICA8c2Jh
cmF0aUBhcHBsZS5jb20+CiAKICAgICAgICAgcHV0RGlyZWN0SW5kZXhTbG93T3JCZXlvbmRWZWN0
b3JMZW5ndGggbmVlZHMgdG8gY29udmVydCB0byBkaWN0aW9uYXJ5IGluZGV4aW5nIG1vZGUgYWx3
YXlzIGlmIGF0dHJpYnV0ZXMgYXJlIHByZXNlbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9iMy90ZXN0YjMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL3Rlc3RiMy5j
cHAKaW5kZXggMGRmM2NhMTFiN2IxYWZmNDQ3MDIwMTUxZjhjOTIxODExZTk5M2RjMC4uNjFlOWVi
ZGZjODNmYzg4MGEyYjUzZWYyNzZiMGYzYTZjN2FkZjhmZiAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2IzL3Rlc3RiMy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Iz
L3Rlc3RiMy5jcHAKQEAgLTc5NjMsNyArNzk2Myw3IEBAIHZvaWQgdGVzdEJyYW5jaDhXaXRoTG9h
ZDhaSW5kZXgoKQogCiB2b2lkIHRlc3RDb21wbGV4KHVuc2lnbmVkIG51bVZhcnMsIHVuc2lnbmVk
IG51bUNvbnN0cnVjdHMpCiB7Ci0gICAgZG91YmxlIGJlZm9yZSA9IG1vbm90b25pY2FsbHlJbmNy
ZWFzaW5nVGltZU1TKCk7CisgICAgTW9ub3RvbmljVGltZSBiZWZvcmUgPSBNb25vdG9uaWNUaW1l
Ojpub3coKTsKICAgICAKICAgICBQcm9jZWR1cmUgcHJvYzsKICAgICBCYXNpY0Jsb2NrKiBjdXJy
ZW50ID0gcHJvYy5hZGRCbG9jaygpOwpAQCAtODA5Miw4ICs4MDkyLDggQEAgdm9pZCB0ZXN0Q29t
cGxleCh1bnNpZ25lZCBudW1WYXJzLCB1bnNpZ25lZCBudW1Db25zdHJ1Y3RzKQogCiAgICAgY29t
cGlsZVByb2MocHJvYyk7CiAKLSAgICBkb3VibGUgYWZ0ZXIgPSBtb25vdG9uaWNhbGx5SW5jcmVh
c2luZ1RpbWVNUygpOwotICAgIGRhdGFMb2codG9DU3RyaW5nKCIgICAgVGhhdCB0b29rICIsIGFm
dGVyIC0gYmVmb3JlLCAiIG1zLlxuIikpOworICAgIE1vbm90b25pY1RpbWUgYWZ0ZXIgPSBNb25v
dG9uaWNUaW1lOjpub3coKTsKKyAgICBkYXRhTG9nKHRvQ1N0cmluZygiICAgIFRoYXQgdG9vayAi
LCAoYWZ0ZXIgLSBiZWZvcmUpLm1pbGxpc2Vjb25kcygpLCAiIG1zLlxuIikpOwogfQogCiB2b2lk
IHRlc3RTaW1wbGVQYXRjaHBvaW50KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHUGhhc2UuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUGhhc2UuaApp
bmRleCAwZmNmYzVmYTViYzAzNzZjZjI1ZDM1ZjQ0NTFhZGZjNWFiZTgzZWNkLi4yZDYxODBiZWU4
YjAzMWRjYjRiZmVhNzE5YzExZDQzNDgyZDViYmIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR1BoYXNlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdQaGFzZS5oCkBAIC03NiwxNiArNzYsMTYgQEAgY2xhc3MgUGhhc2UgewogdGVtcGxhdGU8dHlw
ZW5hbWUgUGhhc2VUeXBlPgogYm9vbCBydW5BbmRMb2coUGhhc2VUeXBlJiBwaGFzZSkKIHsKLSAg
ICBkb3VibGUgYmVmb3JlID0gMDsKKyAgICBNb25vdG9uaWNUaW1lIGJlZm9yZSB7IH07CiAKICAg
ICBpZiAoVU5MSUtFTFkoT3B0aW9uczo6cmVwb3J0REZHUGhhc2VUaW1lcygpKSkKLSAgICAgICAg
YmVmb3JlID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lTVMoKTsKKyAgICAgICAgYmVmb3Jl
ID0gTW9ub3RvbmljVGltZTo6bm93KCk7CiAKICAgICBib29sIHJlc3VsdCA9IHBoYXNlLnJ1bigp
OwogCiAgICAgaWYgKFVOTElLRUxZKE9wdGlvbnM6OnJlcG9ydERGR1BoYXNlVGltZXMoKSkpIHsK
LSAgICAgICAgZG91YmxlIGFmdGVyID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lTVMoKTsK
LSAgICAgICAgZGF0YUxvZ0YoIlBoYXNlICVzIHRvb2sgJS40ZiBtc1xuIiwgcGhhc2UubmFtZSgp
LCBhZnRlciAtIGJlZm9yZSk7CisgICAgICAgIE1vbm90b25pY1RpbWUgYWZ0ZXIgPSBNb25vdG9u
aWNUaW1lOjpub3coKTsKKyAgICAgICAgZGF0YUxvZ0YoIlBoYXNlICVzIHRvb2sgJS40ZiBtc1xu
IiwgcGhhc2UubmFtZSgpLCAoYWZ0ZXIgLSBiZWZvcmUpLm1pbGxpc2Vjb25kcygpKTsKICAgICB9
CiAgICAgaWYgKHJlc3VsdCAmJiBsb2dDb21waWxhdGlvbkNoYW5nZXMocGhhc2UuZ3JhcGgoKS5t
X3BsYW4ubW9kZSkpCiAgICAgICAgIGRhdGFMb2dGKCJQaGFzZSAlcyBjaGFuZ2VkIHRoZSBJUi5c
biIsIHBoYXNlLm5hbWUoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR1BsYW4uY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQbGFuLmNwcAppbmRl
eCBhZDk1NDI4ODQ2NTI1YTJiNGE3YTc3MGNkZWM3ZGRkNzk5NjVmMWJiLi5hNTcxNDcxYTY2YjQx
ZTBhNjM0ZmRlMGZlNTI2M2ZmYTQwZTRiNGFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR1BsYW4uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
UGxhbi5jcHAKQEAgLTkyLDEwICs5MiwxMCBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAotZXh0ZXJu
IGRvdWJsZSB0b3RhbERGR0NvbXBpbGVUaW1lOwotZXh0ZXJuIGRvdWJsZSB0b3RhbEZUTENvbXBp
bGVUaW1lOwotZXh0ZXJuIGRvdWJsZSB0b3RhbEZUTERGR0NvbXBpbGVUaW1lOwotZXh0ZXJuIGRv
dWJsZSB0b3RhbEZUTEIzQ29tcGlsZVRpbWU7CitleHRlcm4gU2Vjb25kcyB0b3RhbERGR0NvbXBp
bGVUaW1lOworZXh0ZXJuIFNlY29uZHMgdG90YWxGVExDb21waWxlVGltZTsKK2V4dGVybiBTZWNv
bmRzIHRvdGFsRlRMREZHQ29tcGlsZVRpbWU7CitleHRlcm4gU2Vjb25kcyB0b3RhbEZUTEIzQ29t
cGlsZVRpbWU7CiAKIH0KIApAQCAtMTczLDEwICsxNzMsMTAgQEAgdm9pZCBQbGFuOjpjb21waWxl
SW5UaHJlYWQoVGhyZWFkRGF0YSogdGhyZWFkRGF0YSkKIHsKICAgICB0aGlzLT50aHJlYWREYXRh
ID0gdGhyZWFkRGF0YTsKICAgICAKLSAgICBkb3VibGUgYmVmb3JlID0gMDsKKyAgICBNb25vdG9u
aWNUaW1lIGJlZm9yZSB7IH07CiAgICAgQ1N0cmluZyBjb2RlQmxvY2tOYW1lOwogICAgIGlmIChV
TkxJS0VMWShjb21wdXRlQ29tcGlsZVRpbWVzKCkpKQotICAgICAgICBiZWZvcmUgPSBtb25vdG9u
aWNhbGx5SW5jcmVhc2luZ1RpbWVNUygpOworICAgICAgICBiZWZvcmUgPSBNb25vdG9uaWNUaW1l
Ojpub3coKTsKICAgICBpZiAoVU5MSUtFTFkocmVwb3J0Q29tcGlsZVRpbWVzKCkpKQogICAgICAg
ICBjb2RlQmxvY2tOYW1lID0gdG9DU3RyaW5nKCpjb2RlQmxvY2spOwogICAgIApAQCAtMTkwLDkg
KzE5MCw5IEBAIHZvaWQgUGxhbjo6Y29tcGlsZUluVGhyZWFkKFRocmVhZERhdGEqIHRocmVhZERh
dGEpCiAgICAgUkVMRUFTRV9BU1NFUlQocGF0aCA9PSBDYW5jZWxQYXRoIHx8IGZpbmFsaXplcik7
CiAgICAgUkVMRUFTRV9BU1NFUlQoKHBhdGggPT0gQ2FuY2VsUGF0aCkgPT0gKHN0YWdlID09IENh
bmNlbGxlZCkpOwogICAgIAotICAgIGRvdWJsZSBhZnRlciA9IDA7CisgICAgTW9ub3RvbmljVGlt
ZSBhZnRlciB7IH07CiAgICAgaWYgKFVOTElLRUxZKGNvbXB1dGVDb21waWxlVGltZXMoKSkpIHsK
LSAgICAgICAgYWZ0ZXIgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWVNUygpOworICAgICAg
ICBhZnRlciA9IE1vbm90b25pY1RpbWU6Om5vdygpOwogICAgIAogICAgICAgICBpZiAoT3B0aW9u
czo6cmVwb3J0VG90YWxDb21waWxlVGltZXMoKSkgewogICAgICAgICAgICAgaWYgKGlzRlRMKG1v
ZGUpKSB7CkBAIC0yMjMsMTQgKzIyMywxNCBAQCB2b2lkIFBsYW46OmNvbXBpbGVJblRocmVhZChU
aHJlYWREYXRhKiB0aHJlYWREYXRhKQogICAgIH0KICAgICBpZiAoY29kZUJsb2NrKSB7IC8vIGNv
ZGVCbG9jayB3aWxsIGJlIG51bGwgaWYgdGhlIGNvbXBpbGF0aW9uIHdhcyBjYW5jZWxsZWQuCiAg
ICAgICAgIGlmIChwYXRoID09IEZUTFBhdGgpCi0gICAgICAgICAgICBDT0RFQkxPQ0tfTE9HX0VW
RU5UKGNvZGVCbG9jaywgImZ0bENvbXBpbGUiLCAoInRvb2sgIiwgYWZ0ZXIgLSBiZWZvcmUsICIg
bXMgKERGRzogIiwgbV90aW1lQmVmb3JlRlRMIC0gYmVmb3JlLCAiLCBCMzogIiwgYWZ0ZXIgLSBt
X3RpbWVCZWZvcmVGVEwsICIpIHdpdGggIiwgcGF0aE5hbWUpKTsKKyAgICAgICAgICAgIENPREVC
TE9DS19MT0dfRVZFTlQoY29kZUJsb2NrLCAiZnRsQ29tcGlsZSIsICgidG9vayAiLCAoYWZ0ZXIg
LSBiZWZvcmUpLm1pbGxpc2Vjb25kcygpLCAiIG1zIChERkc6ICIsIChtX3RpbWVCZWZvcmVGVEwg
LSBiZWZvcmUpLm1pbGxpc2Vjb25kcygpLCAiLCBCMzogIiwgKGFmdGVyIC0gbV90aW1lQmVmb3Jl
RlRMKS5taWxsaXNlY29uZHMoKSwgIikgd2l0aCAiLCBwYXRoTmFtZSkpOwogICAgICAgICBlbHNl
Ci0gICAgICAgICAgICBDT0RFQkxPQ0tfTE9HX0VWRU5UKGNvZGVCbG9jaywgImRmZ0NvbXBpbGUi
LCAoInRvb2sgIiwgYWZ0ZXIgLSBiZWZvcmUsICIgbXMgd2l0aCAiLCBwYXRoTmFtZSkpOworICAg
ICAgICAgICAgQ09ERUJMT0NLX0xPR19FVkVOVChjb2RlQmxvY2ssICJkZmdDb21waWxlIiwgKCJ0
b29rICIsIChhZnRlciAtIGJlZm9yZSkubWlsbGlzZWNvbmRzKCksICIgbXMgd2l0aCAiLCBwYXRo
TmFtZSkpOwogICAgIH0KICAgICBpZiAoVU5MSUtFTFkocmVwb3J0Q29tcGlsZVRpbWVzKCkpKSB7
Ci0gICAgICAgIGRhdGFMb2coIk9wdGltaXplZCAiLCBjb2RlQmxvY2tOYW1lLCAiIHVzaW5nICIs
IG1vZGUsICIgd2l0aCAiLCBwYXRoTmFtZSwgIiBpbnRvICIsIGZpbmFsaXplciA/IGZpbmFsaXpl
ci0+Y29kZVNpemUoKSA6IDAsICIgYnl0ZXMgaW4gIiwgYWZ0ZXIgLSBiZWZvcmUsICIgbXMiKTsK
KyAgICAgICAgZGF0YUxvZygiT3B0aW1pemVkICIsIGNvZGVCbG9ja05hbWUsICIgdXNpbmcgIiwg
bW9kZSwgIiB3aXRoICIsIHBhdGhOYW1lLCAiIGludG8gIiwgZmluYWxpemVyID8gZmluYWxpemVy
LT5jb2RlU2l6ZSgpIDogMCwgIiBieXRlcyBpbiAiLCAoYWZ0ZXIgLSBiZWZvcmUpLm1pbGxpc2Vj
b25kcygpLCAiIG1zIik7CiAgICAgICAgIGlmIChwYXRoID09IEZUTFBhdGgpCi0gICAgICAgICAg
ICBkYXRhTG9nKCIgKERGRzogIiwgbV90aW1lQmVmb3JlRlRMIC0gYmVmb3JlLCAiLCBCMzogIiwg
YWZ0ZXIgLSBtX3RpbWVCZWZvcmVGVEwsICIpIik7CisgICAgICAgICAgICBkYXRhTG9nKCIgKERG
RzogIiwgKG1fdGltZUJlZm9yZUZUTCAtIGJlZm9yZSkubWlsbGlzZWNvbmRzKCksICIsIEIzOiAi
LCAoYWZ0ZXIgLSBtX3RpbWVCZWZvcmVGVEwpLm1pbGxpc2Vjb25kcygpLCAiKSIpOwogICAgICAg
ICBkYXRhTG9nKCIuXG4iKTsKICAgICB9CiB9CkBAIC00OTEsNyArNDkxLDcgQEAgUGxhbjo6Q29t
cGlsYXRpb25QYXRoIFBsYW46OmNvbXBpbGVJblRocmVhZEltcGwoKQogICAgICAgICBGVEw6Omxv
d2VyREZHVG9CMyhzdGF0ZSk7CiAgICAgICAgIAogICAgICAgICBpZiAoVU5MSUtFTFkoY29tcHV0
ZUNvbXBpbGVUaW1lcygpKSkKLSAgICAgICAgICAgIG1fdGltZUJlZm9yZUZUTCA9IG1vbm90b25p
Y2FsbHlJbmNyZWFzaW5nVGltZU1TKCk7CisgICAgICAgICAgICBtX3RpbWVCZWZvcmVGVEwgPSBN
b25vdG9uaWNUaW1lOjpub3coKTsKICAgICAgICAgCiAgICAgICAgIGlmIChPcHRpb25zOjpiM0Fs
d2F5c0ZhaWxzQmVmb3JlQ29tcGlsZSgpKSB7CiAgICAgICAgICAgICBGVEw6OmZhaWwoc3RhdGUp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQbGFuLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1BsYW4uaAppbmRleCAyZTIzNzAyMGVkYWEzZTNiNWNk
ZGNhYTEzM2ViODdlNGUzMzEzMjZmLi5hODY4NTk3N2E2MGRkZDJjM2IzY2QwMTllZDdkZWU2OWVj
YTNhOTBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1BsYW4uaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1BsYW4uaApAQCAtMTI1LDcgKzEyNSw3
IEBAIHN0cnVjdCBQbGFuIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPFBsYW4+IHsKICAg
ICBib29sIGlzU3RpbGxWYWxpZCgpOwogICAgIHZvaWQgcmVhbGx5QWRkKENvbW1vbkRhdGEqKTsK
IAotICAgIGRvdWJsZSBtX3RpbWVCZWZvcmVGVEw7CisgICAgTW9ub3RvbmljVGltZSBtX3RpbWVC
ZWZvcmVGVEw7CiB9OwogCiAjZW5kaWYgLy8gRU5BQkxFKERGR19KSVQpCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZHluYmVuY2guY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2R5bmJlbmNoLmNwcAppbmRleCAxNjA2NWRiODM1MzgwOWUzZWVlNGZjZDNkNzA0NTdiYmVhYzNh
OWJlLi5mNzk5MDY4YTRjODUxNmJhZDAxYWNhZTkyOGEwNDg1ZGZjZmI1M2QxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZHluYmVuY2guY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9keW5iZW5jaC5jcHAKQEAgLTYwLDEwICs2MCwxMCBAQCBORVZFUl9JTkxJTkUgdm9p
ZCBiZW5jaG1hcmtJbXBsKGNvbnN0IGNoYXIqIG5hbWUsIHVuc2lnbmVkIGl0ZXJhdGlvbkNvdW50
LCBjb25zdAogICAgIGlmIChyZXF1ZXN0ZWRJdGVyYXRpb25Db3VudCkKICAgICAgICAgaXRlcmF0
aW9uQ291bnQgPSByZXF1ZXN0ZWRJdGVyYXRpb25Db3VudDsKICAgICAKLSAgICBkb3VibGUgYmVm
b3JlID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lTVMoKTsKKyAgICBNb25vdG9uaWNUaW1l
IGJlZm9yZSA9IE1vbm90b25pY1RpbWU6Om5vdygpOwogICAgIGNhbGxiYWNrKGl0ZXJhdGlvbkNv
dW50KTsKLSAgICBkb3VibGUgYWZ0ZXIgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWVNUygp
OwotICAgIGRhdGFMb2cobmFtZSwgIjogIiwgYWZ0ZXIgLSBiZWZvcmUsICIgbXMuXG4iKTsKKyAg
ICBNb25vdG9uaWNUaW1lIGFmdGVyID0gTW9ub3RvbmljVGltZTo6bm93KCk7CisgICAgZGF0YUxv
ZyhuYW1lLCAiOiAiLCAoYWZ0ZXIgLSBiZWZvcmUpLm1pbGxpc2Vjb25kcygpLCAiIG1zLlxuIik7
CiB9CiAKIH0gLy8gYW5vbnltb3VzIG5hbWVzcGFjZQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2hlYXAvQmxvY2tEaXJlY3RvcnkuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2hlYXAvQmxvY2tEaXJlY3RvcnkuY3BwCmluZGV4IDg0NDYwNzdiNmJiODQ3MjU5MDM5YzRlMmU2
NmI5OWEwZGVhNGEwZjguLmNkODEyNGQ1ZWZiMDg2MjNiZDYzYTFiZmI0YWJjMTQxYjUxN2ZkYzkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0Jsb2NrRGlyZWN0b3J5LmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9CbG9ja0RpcmVjdG9yeS5jcHAKQEAg
LTU2LDcgKzU2LDcgQEAgdm9pZCBCbG9ja0RpcmVjdG9yeTo6c2V0U3Vic3BhY2UoU3Vic3BhY2Uq
IHN1YnNwYWNlKQogICAgIG1fc3Vic3BhY2UgPSBzdWJzcGFjZTsKIH0KIAotYm9vbCBCbG9ja0Rp
cmVjdG9yeTo6aXNQYWdlZE91dChkb3VibGUgZGVhZGxpbmUpCitib29sIEJsb2NrRGlyZWN0b3J5
Ojppc1BhZ2VkT3V0KE1vbm90b25pY1RpbWUgZGVhZGxpbmUpCiB7CiAgICAgdW5zaWduZWQgaXRl
cnNTaW5jZUxhc3RUaW1lQ2hlY2sgPSAwOwogICAgIGZvciAoYXV0byogYmxvY2sgOiBtX2Jsb2Nr
cykgewpAQCAtNjQsNyArNjQsNyBAQCBib29sIEJsb2NrRGlyZWN0b3J5Ojppc1BhZ2VkT3V0KGRv
dWJsZSBkZWFkbGluZSkKICAgICAgICAgICAgIGhvbGRMb2NrKGJsb2NrLT5ibG9jaygpLmxvY2so
KSk7CiAgICAgICAgICsraXRlcnNTaW5jZUxhc3RUaW1lQ2hlY2s7CiAgICAgICAgIGlmIChpdGVy
c1NpbmNlTGFzdFRpbWVDaGVjayA+PSBIZWFwOjpzX3RpbWVDaGVja1Jlc29sdXRpb24pIHsKLSAg
ICAgICAgICAgIGRvdWJsZSBjdXJyZW50VGltZSA9IFdURjo6bW9ub3RvbmljYWxseUluY3JlYXNp
bmdUaW1lKCk7CisgICAgICAgICAgICBNb25vdG9uaWNUaW1lIGN1cnJlbnRUaW1lID0gTW9ub3Rv
bmljVGltZTo6bm93KCk7CiAgICAgICAgICAgICBpZiAoY3VycmVudFRpbWUgPiBkZWFkbGluZSkK
ICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgIGl0ZXJzU2luY2VMYXN0
VGltZUNoZWNrID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0Js
b2NrRGlyZWN0b3J5LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9CbG9ja0RpcmVjdG9y
eS5oCmluZGV4IGU3OGRiNTZlOWYwZWFjZDViZWJkNzc5Nzk2N2IzMTA3NmM2ZWZkYmMuLjU5NjBm
NTMwNTEyYzY3YjYzODQ1ZTY1ZGU3NTAwNjA0NTQwMDU3ZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9oZWFwL0Jsb2NrRGlyZWN0b3J5LmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2hlYXAvQmxvY2tEaXJlY3RvcnkuaApAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUg
Ik1hcmtlZEJsb2NrLmgiCiAjaW5jbHVkZSA8d3RmL0RhdGFMb2cuaD4KICNpbmNsdWRlIDx3dGYv
RmFzdEJpdFZlY3Rvci5oPgorI2luY2x1ZGUgPHd0Zi9Nb25vdG9uaWNUaW1lLmg+CiAjaW5jbHVk
ZSA8d3RmL1NoYXJlZFRhc2suaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKQEAgLTExMiw3
ICsxMTMsNyBAQCBjbGFzcyBCbG9ja0RpcmVjdG9yeSB7CiAgICAgdm9pZCBhZGRCbG9jayhNYXJr
ZWRCbG9jazo6SGFuZGxlKik7CiAgICAgdm9pZCByZW1vdmVCbG9jayhNYXJrZWRCbG9jazo6SGFu
ZGxlKik7CiAKLSAgICBib29sIGlzUGFnZWRPdXQoZG91YmxlIGRlYWRsaW5lKTsKKyAgICBib29s
IGlzUGFnZWRPdXQoTW9ub3RvbmljVGltZSBkZWFkbGluZSk7CiAgICAgCiAgICAgTG9jayYgYml0
dmVjdG9yTG9jaygpIHsgcmV0dXJuIG1fYml0dmVjdG9yTG9jazsgfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9GdWxsR0NBY3Rpdml0eUNhbGxiYWNrLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0Z1bGxHQ0FjdGl2aXR5Q2FsbGJhY2suY3BwCmluZGV4
IGZmZDYzYjA3MzVlNDEzNjc5YzlkODhiNjViMmZiMGZmMzEwZDViMzAuLmQ5OThhMjlkNTI2YjZm
MTc1NjgzMWJmYjM3NWRjNzJjZjYxM2JjNzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9oZWFwL0Z1bGxHQ0FjdGl2aXR5Q2FsbGJhY2suY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9oZWFwL0Z1bGxHQ0FjdGl2aXR5Q2FsbGJhY2suY3BwCkBAIC0zMSw3ICszMSw3IEBA
CiBuYW1lc3BhY2UgSlNDIHsKIAogI2lmICFQTEFURk9STShJT1MpCi1jb25zdCBkb3VibGUgcGFn
aW5nVGltZU91dCA9IDAuMTsgLy8gVGltZSBpbiBzZWNvbmRzIHRvIGFsbG93IG9wcG9ydHVuaXN0
aWMgdGltZXIgdG8gaXRlcmF0ZSBvdmVyIGFsbCBibG9ja3MgdG8gc2VlIGlmIHRoZSBIZWFwIGlz
IHBhZ2VkIG91dC4KK2NvbnN0IGNvbnN0ZXhwciBTZWNvbmRzIHBhZ2luZ1RpbWVPdXQgeyAxMDBf
bXMgfTsgLy8gVGltZSBpbiBzZWNvbmRzIHRvIGFsbG93IG9wcG9ydHVuaXN0aWMgdGltZXIgdG8g
aXRlcmF0ZSBvdmVyIGFsbCBibG9ja3MgdG8gc2VlIGlmIHRoZSBIZWFwIGlzIHBhZ2VkIG91dC4K
ICNlbmRpZgogCiBGdWxsR0NBY3Rpdml0eUNhbGxiYWNrOjpGdWxsR0NBY3Rpdml0eUNhbGxiYWNr
KEhlYXAqIGhlYXApCkBAIC00NSwxMCArNDUsMTAgQEAgdm9pZCBGdWxsR0NBY3Rpdml0eUNhbGxi
YWNrOjpkb0NvbGxlY3Rpb24oKQogICAgIG1fZGlkR0NSZWNlbnRseSA9IGZhbHNlOwogCiAjaWYg
IVBMQVRGT1JNKElPUykKLSAgICBkb3VibGUgc3RhcnRUaW1lID0gV1RGOjptb25vdG9uaWNhbGx5
SW5jcmVhc2luZ1RpbWUoKTsKKyAgICBNb25vdG9uaWNUaW1lIHN0YXJ0VGltZSA9IE1vbm90b25p
Y1RpbWU6Om5vdygpOwogICAgIGlmIChoZWFwLmlzUGFnZWRPdXQoc3RhcnRUaW1lICsgcGFnaW5n
VGltZU91dCkpIHsKICAgICAgICAgY2FuY2VsKCk7Ci0gICAgICAgIGhlYXAuaW5jcmVhc2VMYXN0
RnVsbEdDTGVuZ3RoKFNlY29uZHMocGFnaW5nVGltZU91dCkpOworICAgICAgICBoZWFwLmluY3Jl
YXNlTGFzdEZ1bGxHQ0xlbmd0aChwYWdpbmdUaW1lT3V0KTsKICAgICAgICAgcmV0dXJuOwogICAg
IH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSGVhcC5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9IZWFwLmNwcAppbmRleCAxY2QwNDFlMDY2
ODA0NTQ1ZDFjZmIwOWE4N2QwYzA4Y2M2YWQ5MjkzLi5kZDFlNTczNDZhODAzMDBhZjgzNGRlNDRl
Mjc5Y2M3ZDk1ZjY4OThiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9I
ZWFwLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9IZWFwLmNwcApAQCAtMTk2
LDcgKzE5Niw3IEBAIGNsYXNzIFRpbWluZ1Njb3BlIHsKICAgICAgICAgLCBtX25hbWUobmFtZSkK
ICAgICB7CiAgICAgICAgIGlmIChtZWFzdXJlUGhhc2VUaW1pbmcoKSkKLSAgICAgICAgICAgIG1f
YmVmb3JlID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lTVMoKTsKKyAgICAgICAgICAgIG1f
YmVmb3JlID0gTW9ub3RvbmljVGltZTo6bm93KCk7CiAgICAgfQogICAgIAogICAgIFRpbWluZ1Nj
b3BlKEhlYXAmIGhlYXAsIGNvbnN0IGNoYXIqIG5hbWUpCkBAIC0yMTcsMTYgKzIxNywxNiBAQCBj
bGFzcyBUaW1pbmdTY29wZSB7CiAgICAgflRpbWluZ1Njb3BlKCkKICAgICB7CiAgICAgICAgIGlm
IChtZWFzdXJlUGhhc2VUaW1pbmcoKSkgewotICAgICAgICAgICAgZG91YmxlIGFmdGVyID0gbW9u
b3RvbmljYWxseUluY3JlYXNpbmdUaW1lTVMoKTsKLSAgICAgICAgICAgIGRvdWJsZSB0aW1pbmcg
PSBhZnRlciAtIG1fYmVmb3JlOworICAgICAgICAgICAgTW9ub3RvbmljVGltZSBhZnRlciA9IE1v
bm90b25pY1RpbWU6Om5vdygpOworICAgICAgICAgICAgU2Vjb25kcyB0aW1pbmcgPSBhZnRlciAt
IG1fYmVmb3JlOwogICAgICAgICAgICAgU2ltcGxlU3RhdHMmIHN0YXRzID0gdGltaW5nU3RhdHMo
bV9uYW1lLCAqbV9zY29wZSk7Ci0gICAgICAgICAgICBzdGF0cy5hZGQodGltaW5nKTsKLSAgICAg
ICAgICAgIGRhdGFMb2coIltHQzoiLCAqbV9zY29wZSwgIl0gIiwgbV9uYW1lLCAiIHRvb2s6ICIs
IHRpbWluZywgIm1zIChhdmVyYWdlICIsIHN0YXRzLm1lYW4oKSwgIm1zKS5cbiIpOworICAgICAg
ICAgICAgc3RhdHMuYWRkKHRpbWluZy5taWxsaXNlY29uZHMoKSk7CisgICAgICAgICAgICBkYXRh
TG9nKCJbR0M6IiwgKm1fc2NvcGUsICJdICIsIG1fbmFtZSwgIiB0b29rOiAiLCB0aW1pbmcubWls
bGlzZWNvbmRzKCksICJtcyAoYXZlcmFnZSAiLCBzdGF0cy5tZWFuKCksICJtcykuXG4iKTsKICAg
ICAgICAgfQogICAgIH0KIHByaXZhdGU6CiAgICAgc3RkOjpvcHRpb25hbDxDb2xsZWN0aW9uU2Nv
cGU+IG1fc2NvcGU7Ci0gICAgZG91YmxlIG1fYmVmb3JlOworICAgIE1vbm90b25pY1RpbWUgbV9i
ZWZvcmU7CiAgICAgY29uc3QgY2hhciogbV9uYW1lOwogfTsKIApAQCAtMzYyLDcgKzM2Miw3IEBA
IEhlYXA6On5IZWFwKCkKICAgICAgICAgV2Vha0Jsb2NrOjpkZXN0cm95KCp0aGlzLCBibG9jayk7
CiB9CiAKLWJvb2wgSGVhcDo6aXNQYWdlZE91dChkb3VibGUgZGVhZGxpbmUpCitib29sIEhlYXA6
OmlzUGFnZWRPdXQoTW9ub3RvbmljVGltZSBkZWFkbGluZSkKIHsKICAgICByZXR1cm4gbV9vYmpl
Y3RTcGFjZS5pc1BhZ2VkT3V0KGRlYWRsaW5lKTsKIH0KQEAgLTEwMDYsMTYgKzEwMDYsMTYgQEAg
dm9pZCBIZWFwOjphZGRUb1JlbWVtYmVyZWRTZXQoY29uc3QgSlNDZWxsKiBjb25zdENlbGwpCiAK
IHZvaWQgSGVhcDo6c3dlZXBTeW5jaHJvbm91c2x5KCkKIHsKLSAgICBkb3VibGUgYmVmb3JlID0g
MDsKKyAgICBNb25vdG9uaWNUaW1lIGJlZm9yZSB7IH07CiAgICAgaWYgKE9wdGlvbnM6OmxvZ0dD
KCkpIHsKICAgICAgICAgZGF0YUxvZygiRnVsbCBzd2VlcDogIiwgY2FwYWNpdHkoKSAvIDEwMjQs
ICJrYiAiKTsKLSAgICAgICAgYmVmb3JlID0gY3VycmVudFRpbWVNUygpOworICAgICAgICBiZWZv
cmUgPSBNb25vdG9uaWNUaW1lOjpub3coKTsKICAgICB9CiAgICAgbV9vYmplY3RTcGFjZS5zd2Vl
cCgpOwogICAgIG1fb2JqZWN0U3BhY2Uuc2hyaW5rKCk7CiAgICAgaWYgKE9wdGlvbnM6OmxvZ0dD
KCkpIHsKLSAgICAgICAgZG91YmxlIGFmdGVyID0gY3VycmVudFRpbWVNUygpOwotICAgICAgICBk
YXRhTG9nKCI9PiAiLCBjYXBhY2l0eSgpIC8gMTAyNCwgImtiLCAiLCBhZnRlciAtIGJlZm9yZSwg
Im1zIik7CisgICAgICAgIE1vbm90b25pY1RpbWUgYWZ0ZXIgPSBNb25vdG9uaWNUaW1lOjpub3co
KTsKKyAgICAgICAgZGF0YUxvZygiPT4gIiwgY2FwYWNpdHkoKSAvIDEwMjQsICJrYiwgIiwgKGFm
dGVyIC0gYmVmb3JlKS5taWxsaXNlY29uZHMoKSwgIm1zIik7CiAgICAgfQogfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9IZWFwLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaGVhcC9IZWFwLmgKaW5kZXggYTA4NDcxYjNmMmEzYmQyZTI0ZGU1N2M0YTdmMjA3MWIy
MmJiYTk4MC4uNWI1MWRhNWVlNmNlODE4NDUxZWRiYTAzZjIyNTFkNjdhMTYyNzI3YyAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSGVhcC5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9oZWFwL0hlYXAuaApAQCAtMjU3LDcgKzI1Nyw3IEBAIGNsYXNzIEhlYXAgewog
ICAgIHZvaWQgZGVsZXRlQWxsVW5saW5rZWRDb2RlQmxvY2tzKERlbGV0ZUFsbENvZGVFZmZvcnQp
OwogCiAgICAgdm9pZCBkaWRBbGxvY2F0ZShzaXplX3QpOwotICAgIGJvb2wgaXNQYWdlZE91dChk
b3VibGUgZGVhZGxpbmUpOworICAgIGJvb2wgaXNQYWdlZE91dChNb25vdG9uaWNUaW1lIGRlYWRs
aW5lKTsKICAgICAKICAgICBjb25zdCBKSVRTdHViUm91dGluZVNldCYgaml0U3R1YlJvdXRpbmVz
KCkgeyByZXR1cm4gKm1faml0U3R1YlJvdXRpbmVzOyB9CiAgICAgCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaGVhcC9NYXJrZWRTcGFjZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaGVhcC9NYXJrZWRTcGFjZS5jcHAKaW5kZXggZTQ5YjgwY2JiN2E2YzA1YTVhMmIzZTI3
ODA4YjQ0NGY5YmEwMzQ1NS4uOTcyMTY2NDRmNTY2OTU3NmMwM2ZhZjUzNGExMDM2NzBkYjM0MTkx
ZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvTWFya2VkU3BhY2UuY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL01hcmtlZFNwYWNlLmNwcApAQCAtMzQ3
LDcgKzM0Nyw3IEBAIHZvaWQgTWFya2VkU3BhY2U6OnJlc3VtZUFsbG9jYXRpbmcoKQogICAgIC8v
IE5vdGhpbmcgdG8gZG8gZm9yIExhcmdlQWxsb2NhdGlvbnMuCiB9CiAKLWJvb2wgTWFya2VkU3Bh
Y2U6OmlzUGFnZWRPdXQoZG91YmxlIGRlYWRsaW5lKQorYm9vbCBNYXJrZWRTcGFjZTo6aXNQYWdl
ZE91dChNb25vdG9uaWNUaW1lIGRlYWRsaW5lKQogewogICAgIGJvb2wgcmVzdWx0ID0gZmFsc2U7
CiAgICAgZm9yRWFjaERpcmVjdG9yeSgKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9oZWFwL01hcmtlZFNwYWNlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9NYXJrZWRT
cGFjZS5oCmluZGV4IDljZDdlNzY1ZDNhYTIxZjI0MzNiNjg0ZjdmOTA2ZmEwZWY1MjE3MzEuLjU3
NzQxMjgyYmNlYzQyZjVjYTI0ZmE2MWI5ZGVhYTQ1ZWE4MzlkNTQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9oZWFwL01hcmtlZFNwYWNlLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2hlYXAvTWFya2VkU3BhY2UuaApAQCAtMTQyLDcgKzE0Miw3IEBAIGNsYXNzIE1hcmtl
ZFNwYWNlIHsKICAgICBzaXplX3Qgc2l6ZSgpOwogICAgIHNpemVfdCBjYXBhY2l0eSgpOwogCi0g
ICAgYm9vbCBpc1BhZ2VkT3V0KGRvdWJsZSBkZWFkbGluZSk7CisgICAgYm9vbCBpc1BhZ2VkT3V0
KE1vbm90b25pY1RpbWUgZGVhZGxpbmUpOwogICAgIAogICAgIEhlYXBWZXJzaW9uIG1hcmtpbmdW
ZXJzaW9uKCkgY29uc3QgeyByZXR1cm4gbV9tYXJraW5nVmVyc2lvbjsgfQogICAgIEhlYXBWZXJz
aW9uIG5ld2x5QWxsb2NhdGVkVmVyc2lvbigpIGNvbnN0IHsgcmV0dXJuIG1fbmV3bHlBbGxvY2F0
ZWRWZXJzaW9uOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L2FnZW50cy9JbnNwZWN0b3JDb25zb2xlQWdlbnQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQ29uc29sZUFnZW50LmNwcAppbmRleCA1YzNiZjdk
NmYyMjZkMjE3MzZjYjE0NzhkNDM3M2QzZDkzN2JlNjQ5Li4xOTQxMTc1YTAwZWE3MTE1NzY1ZGY2
ODQ4YzM1ZjMwMDIzNGFlYmYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5z
cGVjdG9yL2FnZW50cy9JbnNwZWN0b3JDb25zb2xlQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckNvbnNvbGVBZ2VudC5jcHAKQEAg
LTEzOCw3ICsxMzgsNyBAQCB2b2lkIEluc3BlY3RvckNvbnNvbGVBZ2VudDo6c3RhcnRUaW1pbmco
Y29uc3QgU3RyaW5nJiB0aXRsZSkKICAgICBpZiAodGl0bGUuaXNOdWxsKCkpCiAgICAgICAgIHJl
dHVybjsKIAotICAgIGF1dG8gcmVzdWx0ID0gbV90aW1lcy5hZGQodGl0bGUsIG1vbm90b25pY2Fs
bHlJbmNyZWFzaW5nVGltZSgpKTsKKyAgICBhdXRvIHJlc3VsdCA9IG1fdGltZXMuYWRkKHRpdGxl
LCBNb25vdG9uaWNUaW1lOjpub3coKSk7CiAKICAgICBpZiAoIXJlc3VsdC5pc05ld0VudHJ5KSB7
CiAgICAgICAgIC8vIEZJWE1FOiBTZW5kIGFuIGVudW0gdG8gdGhlIGZyb250ZW5kIGZvciBsb2Nh
bGl6YXRpb24/CkBAIC0xNjEsMTEgKzE2MSwxMSBAQCB2b2lkIEluc3BlY3RvckNvbnNvbGVBZ2Vu
dDo6c3RvcFRpbWluZyhjb25zdCBTdHJpbmcmIHRpdGxlLCBSZWY8U2NyaXB0Q2FsbFN0YWNrPgog
ICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgZG91YmxlIHN0YXJ0VGltZSA9IGl0LT52YWx1
ZTsKKyAgICBNb25vdG9uaWNUaW1lIHN0YXJ0VGltZSA9IGl0LT52YWx1ZTsKICAgICBtX3RpbWVz
LnJlbW92ZShpdCk7CiAKLSAgICBkb3VibGUgZWxhcHNlZCA9IG1vbm90b25pY2FsbHlJbmNyZWFz
aW5nVGltZSgpIC0gc3RhcnRUaW1lOwotICAgIFN0cmluZyBtZXNzYWdlID0gdGl0bGUgKyBTdHJp
bmc6OmZvcm1hdCgiOiAlLjNmbXMiLCBlbGFwc2VkICogMTAwMCk7CisgICAgU2Vjb25kcyBlbGFw
c2VkID0gTW9ub3RvbmljVGltZTo6bm93KCkgLSBzdGFydFRpbWU7CisgICAgU3RyaW5nIG1lc3Nh
Z2UgPSB0aXRsZSArIFN0cmluZzo6Zm9ybWF0KCI6ICUuM2ZtcyIsIGVsYXBzZWQubWlsbGlzZWNv
bmRzKCkpOwogICAgIGFkZE1lc3NhZ2VUb0NvbnNvbGUoc3RkOjptYWtlX3VuaXF1ZTxDb25zb2xl
TWVzc2FnZT4oTWVzc2FnZVNvdXJjZTo6Q29uc29sZUFQSSwgTWVzc2FnZVR5cGU6OlRpbWluZywg
TWVzc2FnZUxldmVsOjpEZWJ1ZywgbWVzc2FnZSwgV1RGTW92ZShjYWxsU3RhY2spKSk7CiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3Bl
Y3RvckNvbnNvbGVBZ2VudC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2Vu
dHMvSW5zcGVjdG9yQ29uc29sZUFnZW50LmgKaW5kZXggYTFjZjZhMjU0M2M2MDJlNjA1MzJjZmM1
ODg2ZjUzMzE5YmU2MzZiOC4uZjFiY2M2YTEyMDAyOWQxMjk2MjA2NzIyMmI4ZWI4MDBhYzBkN2Qw
OSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5z
cGVjdG9yQ29uc29sZUFnZW50LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rv
ci9hZ2VudHMvSW5zcGVjdG9yQ29uc29sZUFnZW50LmgKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNs
dWRlICJJbnNwZWN0b3JGcm9udGVuZERpc3BhdGNoZXJzLmgiCiAjaW5jbHVkZSA8d3RmL0Zvcndh
cmQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgorI2luY2x1ZGUgPHd0Zi9Nb25vdG9uaWNU
aW1lLmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rv
ci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KQEAgLTg2LDcgKzg3LDcgQEAg
Y2xhc3MgSlNfRVhQT1JUX1BSSVZBVEUgSW5zcGVjdG9yQ29uc29sZUFnZW50IDogcHVibGljIElu
c3BlY3RvckFnZW50QmFzZSwgcHVibGkKICAgICBWZWN0b3I8c3RkOjp1bmlxdWVfcHRyPENvbnNv
bGVNZXNzYWdlPj4gbV9jb25zb2xlTWVzc2FnZXM7CiAgICAgaW50IG1fZXhwaXJlZENvbnNvbGVN
ZXNzYWdlQ291bnQgeyAwIH07CiAgICAgSGFzaE1hcDxTdHJpbmcsIHVuc2lnbmVkPiBtX2NvdW50
czsKLSAgICBIYXNoTWFwPFN0cmluZywgZG91YmxlPiBtX3RpbWVzOworICAgIEhhc2hNYXA8U3Ry
aW5nLCBNb25vdG9uaWNUaW1lPiBtX3RpbWVzOwogICAgIGJvb2wgbV9lbmFibGVkIHsgZmFsc2Ug
fTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdl
bnRzL0luc3BlY3RvclJ1bnRpbWVBZ2VudC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5z
cGVjdG9yL2FnZW50cy9JbnNwZWN0b3JSdW50aW1lQWdlbnQuY3BwCmluZGV4IGIwN2FhNzRkZGZl
N2JkNDJlZGIwYjZhN2Y2YzVhZjA0MjJmNThkZTEuLjk1NDMyMmQ5NjgwMDU0ZTJiYmUyMDM5N2Qw
NzE4MTgwN2U1NWEzNWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0
b3IvYWdlbnRzL0luc3BlY3RvclJ1bnRpbWVBZ2VudC5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yUnVudGltZUFnZW50LmNwcApAQCAtMjg2
LDcgKzI4Niw3IEBAIHZvaWQgSW5zcGVjdG9yUnVudGltZUFnZW50OjpnZXRSdW50aW1lVHlwZXNG
b3JWYXJpYWJsZXNBdE9mZnNldHMoRXJyb3JTdHJpbmcmIGVyCiAgICAgICAgIHJldHVybjsKICAg
ICB9CiAKLSAgICBkb3VibGUgc3RhcnQgPSBjdXJyZW50VGltZU1TKCk7CisgICAgTW9ub3Rvbmlj
VGltZSBzdGFydCA9IE1vbm90b25pY1RpbWU6Om5vdygpOwogICAgIG1fdm0udHlwZVByb2ZpbGVy
TG9nKCktPnByb2Nlc3NMb2dFbnRyaWVzKEFTQ0lJTGl0ZXJhbCgiVXNlciBRdWVyeSIpKTsKIAog
ICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbG9jYXRpb25zLmxlbmd0aCgpOyBpKyspIHsKQEAg
LTMzMSw5ICszMzEsOSBAQCB2b2lkIEluc3BlY3RvclJ1bnRpbWVBZ2VudDo6Z2V0UnVudGltZVR5
cGVzRm9yVmFyaWFibGVzQXRPZmZzZXRzKEVycm9yU3RyaW5nJiBlcgogICAgICAgICB0eXBlRGVz
Y3JpcHRpb25zLT5hZGRJdGVtKFdURk1vdmUoZGVzY3JpcHRpb24pKTsKICAgICB9CiAKLSAgICBk
b3VibGUgZW5kID0gY3VycmVudFRpbWVNUygpOworICAgIE1vbm90b25pY1RpbWUgZW5kID0gTW9u
b3RvbmljVGltZTo6bm93KCk7CiAgICAgaWYgKHZlcmJvc2UpCi0gICAgICAgIGRhdGFMb2dGKCJJ
bnNwZWN0b3I6OmdldFJ1bnRpbWVUeXBlc0ZvclZhcmlhYmxlc0F0T2Zmc2V0cyB0b29rICVsZm1z
XG4iLCBlbmQgLSBzdGFydCk7CisgICAgICAgIGRhdGFMb2dGKCJJbnNwZWN0b3I6OmdldFJ1bnRp
bWVUeXBlc0ZvclZhcmlhYmxlc0F0T2Zmc2V0cyB0b29rICVsZm1zXG4iLCAoZW5kIC0gc3RhcnQp
Lm1pbGxpc2Vjb25kcygpKTsKIH0KIAogdm9pZCBJbnNwZWN0b3JSdW50aW1lQWdlbnQ6OndpbGxE
ZXN0cm95RnJvbnRlbmRBbmRCYWNrZW5kKERpc2Nvbm5lY3RSZWFzb24gcmVhc29uKQpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9KSVQuY3BwCmluZGV4IDc3ZDQwYTcyMTJlNGNhMDYwODk5MTU0NWE0YzQ1ZDM0
MWU5MzAzYjIuLmY0OTMyNjY0YzIzNWU0OWRkMDM0MWNmMjMwOGU0YTE5YWFjYmFlOWYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L0pJVC5jcHAKQEAgLTU4LDExICs1OCwxMSBAQCB1c2luZyBuYW1lc3Bh
Y2Ugc3RkOwogCiBuYW1lc3BhY2UgSlNDIHsKIAotZG91YmxlIHRvdGFsQmFzZWxpbmVDb21waWxl
VGltZTsKLWRvdWJsZSB0b3RhbERGR0NvbXBpbGVUaW1lOwotZG91YmxlIHRvdGFsRlRMQ29tcGls
ZVRpbWU7Ci1kb3VibGUgdG90YWxGVExERkdDb21waWxlVGltZTsKLWRvdWJsZSB0b3RhbEZUTEIz
Q29tcGlsZVRpbWU7CitTZWNvbmRzIHRvdGFsQmFzZWxpbmVDb21waWxlVGltZTsKK1NlY29uZHMg
dG90YWxERkdDb21waWxlVGltZTsKK1NlY29uZHMgdG90YWxGVExDb21waWxlVGltZTsKK1NlY29u
ZHMgdG90YWxGVExERkdDb21waWxlVGltZTsKK1NlY29uZHMgdG90YWxGVExCM0NvbXBpbGVUaW1l
OwogCiB2b2lkIGN0aVBhdGNoQ2FsbEJ5UmV0dXJuQWRkcmVzcyhSZXR1cm5BZGRyZXNzUHRyIHJl
dHVybkFkZHJlc3MsIEZ1bmN0aW9uUHRyIG5ld0NhbGxlZUZ1bmN0aW9uKQogewpAQCAtNTg5LDkg
KzU4OSw5IEBAIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZVNsb3dDYXNlcygpCiAKIHZvaWQgSklU
Ojpjb21waWxlV2l0aG91dExpbmtpbmcoSklUQ29tcGlsYXRpb25FZmZvcnQgZWZmb3J0KQogewot
ICAgIGRvdWJsZSBiZWZvcmUgPSAwOworICAgIE1vbm90b25pY1RpbWUgYmVmb3JlIHsgfTsKICAg
ICBpZiAoVU5MSUtFTFkoY29tcHV0ZUNvbXBpbGVUaW1lcygpKSkKLSAgICAgICAgYmVmb3JlID0g
bW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lTVMoKTsKKyAgICAgICAgYmVmb3JlID0gTW9ub3Rv
bmljVGltZTo6bm93KCk7CiAgICAgCiAgICAgewogICAgICAgICBDb25jdXJyZW50SlNMb2NrZXIg
bG9ja2VyKG1fY29kZUJsb2NrLT5tX2xvY2spOwpAQCAtNzQ1LDkgKzc0NSw5IEBAIHZvaWQgSklU
Ojpjb21waWxlV2l0aG91dExpbmtpbmcoSklUQ29tcGlsYXRpb25FZmZvcnQgZWZmb3J0KQogCiAg
ICAgbV9saW5rQnVmZmVyID0gc3RkOjp1bmlxdWVfcHRyPExpbmtCdWZmZXI+KG5ldyBMaW5rQnVm
ZmVyKCp0aGlzLCBtX2NvZGVCbG9jaywgZWZmb3J0KSk7CiAKLSAgICBkb3VibGUgYWZ0ZXIgPSAw
OworICAgIE1vbm90b25pY1RpbWUgYWZ0ZXIgeyB9OwogICAgIGlmIChVTkxJS0VMWShjb21wdXRl
Q29tcGlsZVRpbWVzKCkpKSB7Ci0gICAgICAgIGFmdGVyID0gbW9ub3RvbmljYWxseUluY3JlYXNp
bmdUaW1lTVMoKTsKKyAgICAgICAgYWZ0ZXIgPSBNb25vdG9uaWNUaW1lOjpub3coKTsKIAogICAg
ICAgICBpZiAoT3B0aW9uczo6cmVwb3J0VG90YWxDb21waWxlVGltZXMoKSkKICAgICAgICAgICAg
IHRvdGFsQmFzZWxpbmVDb21waWxlVGltZSArPSBhZnRlciAtIGJlZm9yZTsKQEAgLTc1NSw3ICs3
NTUsNyBAQCB2b2lkIEpJVDo6Y29tcGlsZVdpdGhvdXRMaW5raW5nKEpJVENvbXBpbGF0aW9uRWZm
b3J0IGVmZm9ydCkKICAgICBpZiAoVU5MSUtFTFkocmVwb3J0Q29tcGlsZVRpbWVzKCkpKSB7CiAg
ICAgICAgIENTdHJpbmcgY29kZUJsb2NrTmFtZSA9IHRvQ1N0cmluZygqbV9jb2RlQmxvY2spOwog
ICAgICAgICAKLSAgICAgICAgZGF0YUxvZygiT3B0aW1pemVkICIsIGNvZGVCbG9ja05hbWUsICIg
d2l0aCBCYXNlbGluZSBKSVQgaW50byAiLCBtX2xpbmtCdWZmZXItPnNpemUoKSwgIiBieXRlcyBp
biAiLCBhZnRlciAtIGJlZm9yZSwgIiBtcy5cbiIpOworICAgICAgICBkYXRhTG9nKCJPcHRpbWl6
ZWQgIiwgY29kZUJsb2NrTmFtZSwgIiB3aXRoIEJhc2VsaW5lIEpJVCBpbnRvICIsIG1fbGlua0J1
ZmZlci0+c2l6ZSgpLCAiIGJ5dGVzIGluICIsIChhZnRlciAtIGJlZm9yZSkubWlsbGlzZWNvbmRz
KCksICIgbXMuXG4iKTsKICAgICB9CiB9CiAKQEAgLTk2NCw5ICs5NjQsOSBAQCBib29sIEpJVDo6
Y29tcHV0ZUNvbXBpbGVUaW1lcygpCiAgICAgcmV0dXJuIHJlcG9ydENvbXBpbGVUaW1lcygpIHx8
IE9wdGlvbnM6OnJlcG9ydFRvdGFsQ29tcGlsZVRpbWVzKCk7CiB9CiAKLUhhc2hNYXA8Q1N0cmlu
ZywgZG91YmxlPiBKSVQ6OmNvbXBpbGVUaW1lU3RhdHMoKQorSGFzaE1hcDxDU3RyaW5nLCBTZWNv
bmRzPiBKSVQ6OmNvbXBpbGVUaW1lU3RhdHMoKQogewotICAgIEhhc2hNYXA8Q1N0cmluZywgZG91
YmxlPiByZXN1bHQ7CisgICAgSGFzaE1hcDxDU3RyaW5nLCBTZWNvbmRzPiByZXN1bHQ7CiAgICAg
aWYgKE9wdGlvbnM6OnJlcG9ydFRvdGFsQ29tcGlsZVRpbWVzKCkpIHsKICAgICAgICAgcmVzdWx0
LmFkZCgiVG90YWwgQ29tcGlsZSBUaW1lIiwgdG90YWxCYXNlbGluZUNvbXBpbGVUaW1lICsgdG90
YWxERkdDb21waWxlVGltZSArIHRvdGFsRlRMQ29tcGlsZVRpbWUpOwogICAgICAgICByZXN1bHQu
YWRkKCJCYXNlbGluZSBDb21waWxlIFRpbWUiLCB0b3RhbEJhc2VsaW5lQ29tcGlsZVRpbWUpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvSklULmgKaW5kZXggYjYxODc0ZWU5OTc0YmZlYTU4MzI0ODdhOTY5YjU3
OTM3NTY5ZTkxMy4uNmQ0MzE3ZjAzMGJhYWUyMmRhOWJkNWUzOTJhM2RhZjNmOTYwMzEyYSAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L0pJVC5oCkBAIC0yNDksNyArMjQ5LDcgQEAgbmFtZXNwYWNlIEpTQyB7
CiAgICAgICAgIHN0YXRpYyB1bnNpZ25lZCBmcmFtZVJlZ2lzdGVyQ291bnRGb3IoQ29kZUJsb2Nr
Kik7CiAgICAgICAgIHN0YXRpYyBpbnQgc3RhY2tQb2ludGVyT2Zmc2V0Rm9yKENvZGVCbG9jayop
OwogCi0gICAgICAgIEpTX0VYUE9SVF9QUklWQVRFIHN0YXRpYyBIYXNoTWFwPENTdHJpbmcsIGRv
dWJsZT4gY29tcGlsZVRpbWVTdGF0cygpOworICAgICAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0
aWMgSGFzaE1hcDxDU3RyaW5nLCBTZWNvbmRzPiBjb21waWxlVGltZVN0YXRzKCk7CiAKICAgICBw
cml2YXRlOgogICAgICAgICB2b2lkIHByaXZhdGVDb21waWxlTWFpblBhc3MoKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2pzYy5jcHAKaW5kZXggMjJmN2RjN2FiNTZhZDYzNmU4NjRiMGZmYjhmZjMwNGU2YzU2MzY3My4u
YjlmOWU2Yzc0YmIxNTcyMWMyMDMxZDA0YzA2NmZmMWE1MDE1YzMyZiAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2pz
Yy5jcHAKQEAgLTgwLDEwICs4MCwxMCBAQAogI2luY2x1ZGUgPHRocmVhZD4KICNpbmNsdWRlIDx0
eXBlX3RyYWl0cz4KICNpbmNsdWRlIDx3dGYvQ29tbWFQcmludGVyLmg+Ci0jaW5jbHVkZSA8d3Rm
L0N1cnJlbnRUaW1lLmg+CiAjaW5jbHVkZSA8d3RmL01haW5UaHJlYWQuaD4KICNpbmNsdWRlIDx3
dGYvTmV2ZXJEZXN0cm95ZWQuaD4KICNpbmNsdWRlIDx3dGYvU3RyaW5nUHJpbnRTdHJlYW0uaD4K
KyNpbmNsdWRlIDx3dGYvV2FsbFRpbWUuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWls
ZGVyLmg+CiAKICNpZiBPUyhXSU5ET1dTKQpAQCAtNDA4LDIzICs0MDgsMjMgQEAgY2xhc3MgU3Rv
cFdhdGNoIHsKICAgICBsb25nIGdldEVsYXBzZWRNUygpOyAvLyBjYWxsIHN0b3AoKSBmaXJzdAog
CiBwcml2YXRlOgotICAgIGRvdWJsZSBtX3N0YXJ0VGltZTsKLSAgICBkb3VibGUgbV9zdG9wVGlt
ZTsKKyAgICBNb25vdG9uaWNUaW1lIG1fc3RhcnRUaW1lOworICAgIE1vbm90b25pY1RpbWUgbV9z
dG9wVGltZTsKIH07CiAKIHZvaWQgU3RvcFdhdGNoOjpzdGFydCgpCiB7Ci0gICAgbV9zdGFydFRp
bWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKKyAgICBtX3N0YXJ0VGltZSA9IE1v
bm90b25pY1RpbWU6Om5vdygpOwogfQogCiB2b2lkIFN0b3BXYXRjaDo6c3RvcCgpCiB7Ci0gICAg
bV9zdG9wVGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOworICAgIG1fc3RvcFRp
bWUgPSBNb25vdG9uaWNUaW1lOjpub3coKTsKIH0KIAogbG9uZyBTdG9wV2F0Y2g6OmdldEVsYXBz
ZWRNUygpCiB7Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PGxvbmc+KChtX3N0b3BUaW1lIC0gbV9z
dGFydFRpbWUpICogMTAwMCk7CisgICAgcmV0dXJuIChtX3N0b3BUaW1lIC0gbV9zdGFydFRpbWUp
Lm1pbGxpc2Vjb25kc0FzPGxvbmc+KCk7CiB9CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFZlY3Rvcj4K
QEAgLTEzNzUsNyArMTM3NSw3IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVuY3Rp
b25SZWFkbGluZShFeGVjU3RhdGUqIGV4ZWMpCiAKIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NB
TEwgZnVuY3Rpb25QcmVjaXNlVGltZShFeGVjU3RhdGUqKQogewotICAgIHJldHVybiBKU1ZhbHVl
OjplbmNvZGUoanNOdW1iZXIoY3VycmVudFRpbWUoKSkpOworICAgIHJldHVybiBKU1ZhbHVlOjpl
bmNvZGUoanNOdW1iZXIoV2FsbFRpbWU6Om5vdygpLnNlY29uZHNTaW5jZUVwb2NoKCkudmFsdWUo
KSkpOwogfQogCiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9uTmV2ZXJJbmxp
bmVGdW5jdGlvbihFeGVjU3RhdGUqIGV4ZWMpCkBAIC0yNjM3LDcgKzI2MzcsNyBAQCBpbnQgcnVu
SlNDKENvbW1hbmRMaW5lIG9wdGlvbnMsIGJvb2wgaXNXb3JrZXIsIGNvbnN0IEZ1bmMmIGZ1bmMp
CiAgICAgICAgICAgICBjb21waWxlVGltZUtleXMuYXBwZW5kKGVudHJ5LmtleSk7CiAgICAgICAg
IHN0ZDo6c29ydChjb21waWxlVGltZUtleXMuYmVnaW4oKSwgY29tcGlsZVRpbWVLZXlzLmVuZCgp
KTsKICAgICAgICAgZm9yIChDU3RyaW5nIGtleSA6IGNvbXBpbGVUaW1lS2V5cykKLSAgICAgICAg
ICAgIHByaW50ZigiJTQwczogJS4zbGYgbXNcbiIsIGtleS5kYXRhKCksIGNvbXBpbGVUaW1lU3Rh
dHMuZ2V0KGtleSkpOworICAgICAgICAgICAgcHJpbnRmKCIlNDBzOiAlLjNsZiBtc1xuIiwga2V5
LmRhdGEoKSwgY29tcGlsZVRpbWVTdGF0cy5nZXQoa2V5KS5taWxsaXNlY29uZHMoKSk7CiAgICAg
fQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9Q
cm9maWxlckRhdGFiYXNlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9Qcm9m
aWxlckRhdGFiYXNlLmNwcAppbmRleCA4YzhhNTNhMGFhOTNmOWM2ZWZkOTI1ZGJlOTE4ZmJmZWU2
MjkxNDVjLi5kMjgyM2I1YTQ2N2ZjNzBkNDI2NzY2OGVlZjQ5NTgxMDBlNmUxMTliIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcHJvZmlsZXIvUHJvZmlsZXJEYXRhYmFzZS5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVyL1Byb2ZpbGVyRGF0YWJhc2UuY3Bw
CkBAIC0xODEsNyArMTgxLDcgQEAgdm9pZCBEYXRhYmFzZTo6bG9nRXZlbnQoQ29kZUJsb2NrKiBj
b2RlQmxvY2ssIGNvbnN0IGNoYXIqIHN1bW1hcnksIGNvbnN0IENTdHJpbmcKICAgICAKICAgICBC
eXRlY29kZXMqIGJ5dGVjb2RlcyA9IGVuc3VyZUJ5dGVjb2Rlc0Zvcihsb2NrZXIsIGNvZGVCbG9j
ayk7CiAgICAgQ29tcGlsYXRpb24qIGNvbXBpbGF0aW9uID0gbV9jb21waWxhdGlvbk1hcC5nZXQo
Y29kZUJsb2NrKTsKLSAgICBtX2V2ZW50cy5hcHBlbmQoRXZlbnQoY3VycmVudFRpbWUoKSwgYnl0
ZWNvZGVzLCBjb21waWxhdGlvbiwgc3VtbWFyeSwgZGV0YWlsKSk7CisgICAgbV9ldmVudHMuYXBw
ZW5kKEV2ZW50KFdhbGxUaW1lOjpub3coKSwgYnl0ZWNvZGVzLCBjb21waWxhdGlvbiwgc3VtbWFy
eSwgZGV0YWlsKSk7CiB9CiAKIHZvaWQgRGF0YWJhc2U6OmFkZERhdGFiYXNlVG9BdEV4aXQoKQpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVyL1Byb2ZpbGVyRXZlbnQu
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVyL1Byb2ZpbGVyRXZlbnQuY3BwCmlu
ZGV4IDFhNzE5ZDdiMDhlMDJkYjBjYjkwYTA3ZGFkZjA3ZWJiNmMwOWQ3YjcuLjYzZjY4YjY4ZDA1
NjE4ZWM0OGEzZWJlYWE0NDZkNDE5NDNiNTQ5NmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9wcm9maWxlci9Qcm9maWxlckV2ZW50LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcHJvZmlsZXIvUHJvZmlsZXJFdmVudC5jcHAKQEAgLTQ5LDcgKzQ5LDcgQEAgSlNWYWx1
ZSBFdmVudDo6dG9KUyhFeGVjU3RhdGUqIGV4ZWMpIGNvbnN0CiAgICAgVk0mIHZtID0gZXhlYy0+
dm0oKTsKICAgICBKU09iamVjdCogcmVzdWx0ID0gY29uc3RydWN0RW1wdHlPYmplY3QoZXhlYyk7
CiAgICAgCi0gICAgcmVzdWx0LT5wdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPnRpbWUs
IGpzTnVtYmVyKG1fdGltZSkpOworICAgIHJlc3VsdC0+cHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0
eU5hbWVzLT50aW1lLCBqc051bWJlcihtX3RpbWUuc2Vjb25kc1NpbmNlRXBvY2goKS52YWx1ZSgp
KSk7CiAgICAgcmVzdWx0LT5wdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPmJ5dGVjb2Rl
c0lELCBqc051bWJlcihtX2J5dGVjb2Rlcy0+aWQoKSkpOwogICAgIGlmIChtX2NvbXBpbGF0aW9u
KQogICAgICAgICByZXN1bHQtPnB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+Y29tcGls
YXRpb25VSUQsIG1fY29tcGlsYXRpb24tPnVpZCgpLnRvSlMoZXhlYykpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVyL1Byb2ZpbGVyRXZlbnQuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9wcm9maWxlci9Qcm9maWxlckV2ZW50LmgKaW5kZXggMTFjYjZkYWIyZTQx
NDBmYzE3YTIyM2MxNTk5YTI4MTc5YTQ1NjBjYS4uZDJiNmRhNmVjMTEzYzJiODhmOWM0ODk5ZTg3
MmYxOWU1MzhiY2U3YSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVy
L1Byb2ZpbGVyRXZlbnQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcHJvZmlsZXIvUHJv
ZmlsZXJFdmVudC5oCkBAIC0yNyw2ICsyNyw3IEBACiAKICNpbmNsdWRlICJKU0NKU1ZhbHVlLmgi
CiAjaW5jbHVkZSA8d3RmL1ByaW50U3RyZWFtLmg+CisjaW5jbHVkZSA8d3RmL1dhbGxUaW1lLmg+
CiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogCiBuYW1lc3BhY2UgSlNDIHsgbmFtZXNw
YWNlIFByb2ZpbGVyIHsKQEAgLTQwLDcgKzQxLDcgQEAgY2xhc3MgRXZlbnQgewogICAgIHsKICAg
ICB9CiAgICAgCi0gICAgRXZlbnQoZG91YmxlIHRpbWUsIEJ5dGVjb2RlcyogYnl0ZWNvZGVzLCBD
b21waWxhdGlvbiogY29tcGlsYXRpb24sIGNvbnN0IGNoYXIqIHN1bW1hcnksIGNvbnN0IENTdHJp
bmcmIGRldGFpbCkKKyAgICBFdmVudChXYWxsVGltZSB0aW1lLCBCeXRlY29kZXMqIGJ5dGVjb2Rl
cywgQ29tcGlsYXRpb24qIGNvbXBpbGF0aW9uLCBjb25zdCBjaGFyKiBzdW1tYXJ5LCBjb25zdCBD
U3RyaW5nJiBkZXRhaWwpCiAgICAgICAgIDogbV90aW1lKHRpbWUpCiAgICAgICAgICwgbV9ieXRl
Y29kZXMoYnl0ZWNvZGVzKQogICAgICAgICAsIG1fY29tcGlsYXRpb24oY29tcGlsYXRpb24pCkBA
IC01NCw3ICs1NSw3IEBAIGNsYXNzIEV2ZW50IHsKICAgICAgICAgcmV0dXJuIG1fYnl0ZWNvZGVz
OwogICAgIH0KICAgICAKLSAgICBkb3VibGUgdGltZSgpIGNvbnN0IHsgcmV0dXJuIG1fdGltZTsg
fQorICAgIFdhbGxUaW1lIHRpbWUoKSBjb25zdCB7IHJldHVybiBtX3RpbWU7IH0KICAgICBCeXRl
Y29kZXMqIGJ5dGVjb2RlcygpIGNvbnN0IHsgcmV0dXJuIG1fYnl0ZWNvZGVzOyB9CiAgICAgQ29t
cGlsYXRpb24qIGNvbXBpbGF0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9jb21waWxhdGlvbjsgfQog
ICAgIGNvbnN0IGNoYXIqIHN1bW1hcnkoKSBjb25zdCB7IHJldHVybiBtX3N1bW1hcnk7IH0KQEAg
LTY0LDcgKzY1LDcgQEAgY2xhc3MgRXZlbnQgewogICAgIEpTVmFsdWUgdG9KUyhFeGVjU3RhdGUq
KSBjb25zdDsKICAgICAKIHByaXZhdGU6Ci0gICAgZG91YmxlIG1fdGltZSB7IDAgfTsKKyAgICBX
YWxsVGltZSBtX3RpbWUgeyB9OwogICAgIEJ5dGVjb2RlcyogbV9ieXRlY29kZXMgeyBudWxscHRy
IH07CiAgICAgQ29tcGlsYXRpb24qIG1fY29tcGlsYXRpb24geyBudWxscHRyIH07CiAgICAgY29u
c3QgY2hhciogbV9zdW1tYXJ5IHsgbnVsbHB0ciB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvQ29kZUNhY2hlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0NvZGVDYWNoZS5jcHAKaW5kZXggNmMxYzBjMDVjMjdlYjQzNGExNzZkMDQ1OTBkYzA3
NDgxZTFjNmM1NC4uYWQyNTQzOTE4N2NkMWQ0Yzg3MWFjMDhhZjE5ZmNlYjBkYTMyMmU4OCAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29kZUNhY2hlLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db2RlQ2FjaGUuY3BwCkBAIC0zMCwxMyAr
MzAsMTMgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKLWNvbnN0IGRvdWJsZSBDb2RlQ2FjaGVNYXA6
OndvcmtpbmdTZXRUaW1lID0gMTAuMDsKK2NvbnN0IFNlY29uZHMgQ29kZUNhY2hlTWFwOjp3b3Jr
aW5nU2V0VGltZSA9IDEwX3M7CiAKIHZvaWQgQ29kZUNhY2hlTWFwOjpwcnVuZVNsb3dDYXNlKCkK
IHsKICAgICBtX21pbkNhcGFjaXR5ID0gc3RkOjptYXgobV9zaXplIC0gbV9zaXplQXRMYXN0UHJ1
bmUsIHN0YXRpY19jYXN0PGludDY0X3Q+KDApKTsKICAgICBtX3NpemVBdExhc3RQcnVuZSA9IG1f
c2l6ZTsKLSAgICBtX3RpbWVBdExhc3RQcnVuZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGlt
ZSgpOworICAgIG1fdGltZUF0TGFzdFBydW5lID0gTW9ub3RvbmljVGltZTo6bm93KCk7CiAKICAg
ICBpZiAobV9jYXBhY2l0eSA8IG1fbWluQ2FwYWNpdHkpCiAgICAgICAgIG1fY2FwYWNpdHkgPSBt
X21pbkNhcGFjaXR5OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
Q29kZUNhY2hlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db2RlQ2FjaGUuaApp
bmRleCBiMDNiYjJkYzZjZmE2MzFmNWM3NTYyNTUzOGM3YmM0MGNmZWQ1ZjAyLi40ZmI1YmQxODQ3
ZmE2OWRiMjNiYzAyYzA0MDI5YjBiYjc3YjQxYzBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9Db2RlQ2FjaGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9Db2RlQ2FjaGUuaApAQCAtODMsNyArODMsNyBAQCBjbGFzcyBDb2RlQ2FjaGVNYXAg
ewogICAgIENvZGVDYWNoZU1hcCgpCiAgICAgICAgIDogbV9zaXplKDApCiAgICAgICAgICwgbV9z
aXplQXRMYXN0UHJ1bmUoMCkKLSAgICAgICAgLCBtX3RpbWVBdExhc3RQcnVuZShtb25vdG9uaWNh
bGx5SW5jcmVhc2luZ1RpbWUoKSkKKyAgICAgICAgLCBtX3RpbWVBdExhc3RQcnVuZShNb25vdG9u
aWNUaW1lOjpub3coKSkKICAgICAgICAgLCBtX21pbkNhcGFjaXR5KDApCiAgICAgICAgICwgbV9j
YXBhY2l0eSgwKQogICAgICAgICAsIG1fYWdlKDApCkBAIC0xNDksNyArMTQ5LDcgQEAgY2xhc3Mg
Q29kZUNhY2hlTWFwIHsKIHByaXZhdGU6CiAgICAgLy8gVGhpcyBjb25zdGFudCBmYWN0b3IgYmlh
c2VzIGNhY2hlIGNhcGFjaXR5IHRvd2FyZCBhbGxvd2luZyBhIG1pbmltdW0KICAgICAvLyB3b3Jr
aW5nIHNldCB0byBlbnRlciB0aGUgY2FjaGUgYmVmb3JlIGl0IHN0YXJ0cyBldmljdGluZy4KLSAg
ICBzdGF0aWMgY29uc3QgZG91YmxlIHdvcmtpbmdTZXRUaW1lOworICAgIHN0YXRpYyBjb25zdCBT
ZWNvbmRzIHdvcmtpbmdTZXRUaW1lOwogICAgIHN0YXRpYyBjb25zdCBpbnQ2NF90IHdvcmtpbmdT
ZXRNYXhCeXRlcyA9IDE2MDAwMDAwOwogICAgIHN0YXRpYyBjb25zdCBzaXplX3Qgd29ya2luZ1Nl
dE1heEVudHJpZXMgPSAyMDAwOwogCkBAIC0xNzEsNyArMTcxLDcgQEAgY2xhc3MgQ29kZUNhY2hl
TWFwIHsKICAgICAgICAgaWYgKG1fc2l6ZSA8PSBtX2NhcGFjaXR5ICYmIGNhblBydW5lUXVpY2ts
eSgpKQogICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgIGlmIChtb25vdG9uaWNhbGx5SW5j
cmVhc2luZ1RpbWUoKSAtIG1fdGltZUF0TGFzdFBydW5lIDwgd29ya2luZ1NldFRpbWUKKyAgICAg
ICAgaWYgKE1vbm90b25pY1RpbWU6Om5vdygpIC0gbV90aW1lQXRMYXN0UHJ1bmUgPCB3b3JraW5n
U2V0VGltZQogICAgICAgICAgICAgJiYgbV9zaXplIC0gbV9zaXplQXRMYXN0UHJ1bmUgPCB3b3Jr
aW5nU2V0TWF4Qnl0ZXMKICAgICAgICAgICAgICYmIGNhblBydW5lUXVpY2tseSgpKQogICAgICAg
ICAgICAgICAgIHJldHVybjsKQEAgLTE4Miw3ICsxODIsNyBAQCBjbGFzcyBDb2RlQ2FjaGVNYXAg
ewogICAgIE1hcFR5cGUgbV9tYXA7CiAgICAgaW50NjRfdCBtX3NpemU7CiAgICAgaW50NjRfdCBt
X3NpemVBdExhc3RQcnVuZTsKLSAgICBkb3VibGUgbV90aW1lQXRMYXN0UHJ1bmU7CisgICAgTW9u
b3RvbmljVGltZSBtX3RpbWVBdExhc3RQcnVuZTsKICAgICBpbnQ2NF90IG1fbWluQ2FwYWNpdHk7
CiAgICAgaW50NjRfdCBtX2NhcGFjaXR5OwogICAgIGludDY0X3QgbV9hZ2U7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlQ29uc3RydWN0b3IuY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZUNvbnN0cnVjdG9yLmNwcAppbmRleCA2Nzk5
NjVjYWM1YWEyOTE0MzUyNGRkMzk3NjhjYjhkNzJhOGIzMmEwLi42MWE1OTUyMmJmMzk1YWJmYmE0
MGFmN2U5ZDBhNzRjNGU0NTMzMzNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9EYXRlQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0RhdGVDb25zdHJ1Y3Rvci5jcHAKQEAgLTE2MSw3ICsxNjEsNyBAQCBzdGF0aWMgRW5j
b2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBjYWxsRGF0ZShFeGVjU3RhdGUqIGV4ZWMpCiB7CiAg
ICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKICAgICBHcmVnb3JpYW5EYXRlVGltZSB0czsKLSAgICBt
c1RvR3JlZ29yaWFuRGF0ZVRpbWUodm0sIGN1cnJlbnRUaW1lTVMoKSwgV1RGOjpMb2NhbFRpbWUs
IHRzKTsKKyAgICBtc1RvR3JlZ29yaWFuRGF0ZVRpbWUodm0sIFdhbGxUaW1lOjpub3coKS5zZWNv
bmRzU2luY2VFcG9jaCgpLm1pbGxpc2Vjb25kcygpLCBXVEY6OkxvY2FsVGltZSwgdHMpOwogICAg
IHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNOb250cml2aWFsU3RyaW5nKCZ2bSwgZm9ybWF0RGF0
ZVRpbWUodHMsIERhdGVUaW1lRm9ybWF0RGF0ZUFuZFRpbWUsIGZhbHNlKSkpOwogfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9UeXBlUHJvZmlsZXJMb2cuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVHlwZVByb2ZpbGVyTG9nLmNwcAppbmRl
eCA3MjdiYmI5MGFiYTgzZTdlZGNjNjlmNDcwMWMyOTI2YWZiNDZlZDdhLi5mZjBhNzYxNzM5NGE0
OWRkM2Q4ZmJhYzhjYmNhZTY4YWYzZTRmNWUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9UeXBlUHJvZmlsZXJMb2cuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1R5cGVQcm9maWxlckxvZy5jcHAKQEAgLTU3LDEwICs1NywxMCBAQCBUeXBl
UHJvZmlsZXJMb2c6On5UeXBlUHJvZmlsZXJMb2coKQogCiB2b2lkIFR5cGVQcm9maWxlckxvZzo6
cHJvY2Vzc0xvZ0VudHJpZXMoY29uc3QgU3RyaW5nJiByZWFzb24pCiB7Ci0gICAgZG91YmxlIGJl
Zm9yZSA9IDA7CisgICAgTW9ub3RvbmljVGltZSBiZWZvcmUgeyB9OwogICAgIGlmIChUeXBlUHJv
ZmlsZXJMb2dJbnRlcm5hbDo6dmVyYm9zZSkgewogICAgICAgICBkYXRhTG9nKCJQcm9jZXNzIGNh
bGxlcjonIiwgcmVhc29uLCAiJyIpOwotICAgICAgICBiZWZvcmUgPSBjdXJyZW50VGltZU1TKCk7
CisgICAgICAgIGJlZm9yZSA9IE1vbm90b25pY1RpbWU6Om5vdygpOwogICAgIH0KIAogICAgIEhh
c2hNYXA8U3RydWN0dXJlKiwgUmVmUHRyPFN0cnVjdHVyZVNoYXBlPj4gY2FjaGVkTW9ub1Byb3Rv
U2hhcGVzOwpAQCAtMTE0LDggKzExNCw4IEBAIHZvaWQgVHlwZVByb2ZpbGVyTG9nOjpwcm9jZXNz
TG9nRW50cmllcyhjb25zdCBTdHJpbmcmIHJlYXNvbikKICAgICBtX2N1cnJlbnRMb2dFbnRyeVB0
ciA9IG1fbG9nU3RhcnRQdHI7CiAKICAgICBpZiAoVHlwZVByb2ZpbGVyTG9nSW50ZXJuYWw6OnZl
cmJvc2UpIHsKLSAgICAgICAgZG91YmxlIGFmdGVyID0gY3VycmVudFRpbWVNUygpOwotICAgICAg
ICBkYXRhTG9nRigiIFByb2Nlc3NpbmcgdGhlIGxvZyB0b29rOiAnJWYnIG1zXG4iLCBhZnRlciAt
IGJlZm9yZSk7CisgICAgICAgIE1vbm90b25pY1RpbWUgYWZ0ZXIgPSBNb25vdG9uaWNUaW1lOjpu
b3coKTsKKyAgICAgICAgZGF0YUxvZ0YoIiBQcm9jZXNzaW5nIHRoZSBsb2cgdG9vazogJyVmJyBt
c1xuIiwgKGFmdGVyIC0gYmVmb3JlKS5taWxsaXNlY29uZHMoKSk7CiAgICAgfQogfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdFJlZ0V4cC5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvdGVzdFJlZ0V4cC5jcHAKaW5kZXggNjNlYzdmNjFiNWIwZGEzNmI0ZTFiZmVi
MmNhZmY3M2JkNTYyZDkxMC4uZTQzOGY1NjA0YjcwZDI2OThhYjNmNzk5NGE1NDAxYzljYmFiM2Fk
YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RSZWdFeHAuY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0UmVnRXhwLmNwcApAQCAtNzAsMjMgKzcwLDIzIEBA
IGNsYXNzIFN0b3BXYXRjaCB7CiAgICAgbG9uZyBnZXRFbGFwc2VkTVMoKTsgLy8gY2FsbCBzdG9w
KCkgZmlyc3QKIAogcHJpdmF0ZToKLSAgICBkb3VibGUgbV9zdGFydFRpbWU7Ci0gICAgZG91Ymxl
IG1fc3RvcFRpbWU7CisgICAgTW9ub3RvbmljVGltZSBtX3N0YXJ0VGltZTsKKyAgICBNb25vdG9u
aWNUaW1lIG1fc3RvcFRpbWU7CiB9OwogCiB2b2lkIFN0b3BXYXRjaDo6c3RhcnQoKQogewotICAg
IG1fc3RhcnRUaW1lID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7CisgICAgbV9zdGFy
dFRpbWUgPSBNb25vdG9uaWNUaW1lOjpub3coKTsKIH0KIAogdm9pZCBTdG9wV2F0Y2g6OnN0b3Ao
KQogewotICAgIG1fc3RvcFRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKKyAg
ICBtX3N0b3BUaW1lID0gTW9ub3RvbmljVGltZTo6bm93KCk7CiB9CiAKIGxvbmcgU3RvcFdhdGNo
OjpnZXRFbGFwc2VkTVMoKQogewotICAgIHJldHVybiBzdGF0aWNfY2FzdDxsb25nPigobV9zdG9w
VGltZSAtIG1fc3RhcnRUaW1lKSAqIDEwMDApOworICAgIHJldHVybiAobV9zdG9wVGltZSAtIG1f
c3RhcnRUaW1lKS5taWxsaXNlY29uZHNBczxsb25nPigpOwogfQogCiBzdHJ1Y3QgUmVnRXhwVGVz
dCB7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>