<?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>225329</bug_id>
          
          <creation_ts>2021-05-03 14:34:01 -0700</creation_ts>
          <short_desc>[GPUP] Use MonotonicTime for elapsed time</short_desc>
          <delta_ts>2021-05-04 11:44:03 -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>Media</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=225245</see_also>
          <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="Eric Carlson">eric.carlson</reporter>
          <assigned_to name="Eric Carlson">eric.carlson</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1756327</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2021-05-03 14:34:01 -0700</bug_when>
    <thetext>MediaPlayerPrivateRemote and RemoteMediaPlayerProxy should use MonotonicTime instead of WallTime</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1756328</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-05-03 14:34:11 -0700</bug_when>
    <thetext>&lt;rdar://problem/77472811&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1756333</commentid>
    <comment_count>2</comment_count>
      <attachid>427604</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2021-05-03 14:44:01 -0700</bug_when>
    <thetext>Created attachment 427604
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1756336</commentid>
    <comment_count>3</comment_count>
      <attachid>427604</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-05-03 15:04:05 -0700</bug_when>
    <thetext>Comment on attachment 427604
Patch

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

&gt; Source/WebKit/GPUProcess/media/RemoteMediaPlayerProxy.cpp:976
&gt; -    auto transmissionTime = MediaTime::createWithDouble((WallTime::now() - messageTime).value(), 1);
&gt; +    auto transmissionTime = MediaTime::createWithDouble((MonotonicTime::now() - messageTime).value(), 1);
&gt;      auto adjustedTaskTime = taskTime - transmissionTime;
&gt;      auto currentTime = m_player-&gt;currentTime();
&gt;      if (adjustedTaskTime &lt;= currentTime) {
&gt; -        completionHandler(currentTime, WallTime::now());
&gt; +        completionHandler(currentTime, MonotonicTime::now());

I hate seeing code that fetches current time more than once in the same function (time will have advanced slightly, plus it has cost). So compute &apos;now&apos; just once.

&gt; Source/WebKit/WebProcess/GPU/media/RemoteMediaPlayerState.h:40
&gt; +    MonotonicTime monotonicTime;

The name of the member says what it is, but not what it does.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1756352</commentid>
    <comment_count>4</comment_count>
      <attachid>427612</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2021-05-03 16:05:04 -0700</bug_when>
    <thetext>Created attachment 427612
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1756613</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-05-04 11:44:01 -0700</bug_when>
    <thetext>Committed r276973 (237302@main): &lt;https://commits.webkit.org/237302@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 427612.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>427604</attachid>
            <date>2021-05-03 14:44:01 -0700</date>
            <delta_ts>2021-05-03 16:05:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-225329-20210503144400.patch</filename>
            <type>text/plain</type>
            <size>17857</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2OTAyCjIwMjEtMDUtMDNUMTQ6NDM6MTksNTk0OiBbMHgx
MGIxOGVlMDBdIHdoaWxlIGNvbXB1dGluZyBzb2NrbmFtZTogZmFpbGVkIHRvIGNyZWF0ZSAvdXNy
L2xvY2FsL3Zhci9ydW4vd2F0Y2htYW4vZXJpYy1zdGF0ZTogTm8gc3VjaCBmaWxlIG9yIGRpcmVj
dG9yeQpXYXRjaG1hbjogY29tbWFuZCByZXR1cm5lZCBubyBvdXRwdXQuCkZhbGxpbmcgYmFjayB0
byBzY2FubmluZy4uLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBjYTU3ZGE0NGFhZWI1ZjY0ZmI1MTNmOGVhNmEwOTJh
ZWQxZTM4ZGQxLi5jNmE3YjhmNTE3OWQ4MDFmYzk2OGNlYzk5NzMwMjJhY2I1MjU2OGJkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDIxLTA1LTAzICBFcmljIENhcmxzb24gIDxlcmljLmNh
cmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIFtHUFVQXSBVc2UgTW9ub3RvbmljVGltZSBmb3Ig
ZWxhcHNlZCB0aW1lCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMjUzMjkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc3NDcyODExPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgbm8g
Y2hhbmdlIG9mIGJlaGF2aW9yLgorCisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVN
ZWRpYVBsYXllclByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFQbGF5ZXJQ
cm94eTo6bWVkaWFQbGF5ZXJQbGF5YmFja1N0YXRlQ2hhbmdlZCk6CisgICAgICAgIChXZWJLaXQ6
OlJlbW90ZU1lZGlhUGxheWVyUHJveHk6OnVwZGF0ZUNhY2hlZFN0YXRlKToKKyAgICAgICAgKFdl
YktpdDo6UmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6cGVyZm9ybVRhc2tBdE1lZGlhVGltZSk6Cisg
ICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhUGxheWVyUHJveHk6OnNldFZpZGVvUGxheWJhY2tN
ZXRyaWNzVXBkYXRlSW50ZXJ2YWwpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVBsYXll
clByb3h5OjptYXliZVVwZGF0ZUNhY2hlZFZpZGVvTWV0cmljcyk6CisgICAgICAgIChXZWJLaXQ6
OlJlbW90ZU1lZGlhUGxheWVyUHJveHk6OnVwZGF0ZUNhY2hlZFZpZGVvTWV0cmljcyk6CisgICAg
ICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5Lmg6CisgICAgICAg
ICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5Lm1lc3NhZ2VzLmluOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5j
cHA6CisgICAgICAgIChXZWJLaXQ6Ok1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6cGF1c2UpOgor
ICAgICAgICAoV2ViS2l0OjpNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OmN1cnJlbnRNZWRpYVRp
bWUgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnBs
YXliYWNrU3RhdGVDaGFuZ2VkKToKKyAgICAgICAgKFdlYktpdDo6TWVkaWFQbGF5ZXJQcml2YXRl
UmVtb3RlOjp1cGRhdGVDYWNoZWRTdGF0ZSk6CisgICAgICAgIChXZWJLaXQ6Ok1lZGlhUGxheWVy
UHJpdmF0ZVJlbW90ZTo6dmlkZW9QbGF5YmFja1F1YWxpdHlNZXRyaWNzKToKKyAgICAgICAgKFdl
YktpdDo6TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpwZXJmb3JtVGFza0F0TWVkaWFUaW1lKToK
KyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUu
aDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1v
dGUubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlTWVk
aWFQbGF5ZXJTdGF0ZS5oOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVBsYXllclN0YXRl
OjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVBsYXllclN0YXRl
OjpkZWNvZGUpOgorCiAyMDIxLTA1LTAzICBBZGl0eWEgS2VlcnRoaSAgPGFrZWVydGhpQGFwcGxl
LmNvbT4KIAogICAgICAgICBbaU9TXSBDcmFzaCB3aGVuIHRhcHBpbmcgZmllbGRzIG9uIGN5Y2xl
LnRyYXZlbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90
ZU1lZGlhUGxheWVyUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1Jl
bW90ZU1lZGlhUGxheWVyUHJveHkuY3BwCmluZGV4IGRiNzgyMDczYTBmNTQ2Zjg1YWYzMzJmOWUx
ZDUyZjY0ZDg1MGVmODYuLjViN2E4ZjUyZGVjOWYxMzcyZmViMGRkMzgwMzYxZGUyMmNlNGZmMGQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBs
YXllclByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3Rl
TWVkaWFQbGF5ZXJQcm94eS5jcHAKQEAgLTQ2NSw3ICs0NjUsNyBAQCBib29sIFJlbW90ZU1lZGlh
UGxheWVyUHJveHk6Om1lZGlhUGxheWVySXNWaWRlbygpIGNvbnN0CiB2b2lkIFJlbW90ZU1lZGlh
UGxheWVyUHJveHk6Om1lZGlhUGxheWVyUGxheWJhY2tTdGF0ZUNoYW5nZWQoKQogewogICAgIG1f
Y2FjaGVkU3RhdGUucGF1c2VkID0gbV9wbGF5ZXItPnBhdXNlZCgpOwotICAgIG1fd2ViUHJvY2Vz
c0Nvbm5lY3Rpb24tPnNlbmQoTWVzc2FnZXM6Ok1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6UGxh
eWJhY2tTdGF0ZUNoYW5nZWQobV9jYWNoZWRTdGF0ZS5wYXVzZWQsIG1fcGxheWVyLT5jdXJyZW50
VGltZSgpLCBXYWxsVGltZTo6bm93KCkpLCBtX2lkKTsKKyAgICBtX3dlYlByb2Nlc3NDb25uZWN0
aW9uLT5zZW5kKE1lc3NhZ2VzOjpNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OlBsYXliYWNrU3Rh
dGVDaGFuZ2VkKG1fY2FjaGVkU3RhdGUucGF1c2VkLCBtX3BsYXllci0+Y3VycmVudFRpbWUoKSwg
TW9ub3RvbmljVGltZTo6bm93KCkpLCBtX2lkKTsKIH0KIAogdm9pZCBSZW1vdGVNZWRpYVBsYXll
clByb3h5OjptZWRpYVBsYXllckJ1ZmZlcmVkVGltZVJhbmdlc0NoYW5nZWQoKQpAQCAtODI1LDcg
KzgyNSw3IEBAIHZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6dGltZXJGaXJlZCgpCiAKIHZv
aWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6dXBkYXRlQ2FjaGVkU3RhdGUoKQogewotICAgIG1f
Y2FjaGVkU3RhdGUud2FsbFRpbWUgPSBXYWxsVGltZTo6bm93KCk7CisgICAgbV9jYWNoZWRTdGF0
ZS5tb25vdG9uaWNUaW1lID0gTW9ub3RvbmljVGltZTo6bm93KCk7CiAgICAgbV9jYWNoZWRTdGF0
ZS5jdXJyZW50VGltZSA9IG1fcGxheWVyLT5jdXJyZW50VGltZSgpOwogICAgIG1fY2FjaGVkU3Rh
dGUuZHVyYXRpb24gPSBtX3BsYXllci0+ZHVyYXRpb24oKTsKICAgICBtX2NhY2hlZFN0YXRlLm5l
dHdvcmtTdGF0ZSA9IG1fcGxheWVyLT5uZXR3b3JrU3RhdGUoKTsKQEAgLTk1OSw3ICs5NTksNyBA
QCB2b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6OnRyYWNrc0NoYW5nZWQoKQogICAgIG1fcGxh
eWVyLT50cmFja3NDaGFuZ2VkKCk7CiB9CiAKLXZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6
cGVyZm9ybVRhc2tBdE1lZGlhVGltZShjb25zdCBNZWRpYVRpbWUmIHRhc2tUaW1lLCBXYWxsVGlt
ZSBtZXNzYWdlVGltZSwgUGVyZm9ybVRhc2tBdE1lZGlhVGltZUNvbXBsZXRpb25IYW5kbGVyJiYg
Y29tcGxldGlvbkhhbmRsZXIpCit2b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6OnBlcmZvcm1U
YXNrQXRNZWRpYVRpbWUoY29uc3QgTWVkaWFUaW1lJiB0YXNrVGltZSwgTW9ub3RvbmljVGltZSBt
ZXNzYWdlVGltZSwgUGVyZm9ybVRhc2tBdE1lZGlhVGltZUNvbXBsZXRpb25IYW5kbGVyJiYgY29t
cGxldGlvbkhhbmRsZXIpCiB7CiAgICAgaWYgKG1fcGVyZm9ybVRhc2tBdE1lZGlhVGltZUNvbXBs
ZXRpb25IYW5kbGVyKSB7CiAgICAgICAgIC8vIEEgbWVkaWEgcGxheWVyIGlzIG9ubHkgZXhwZWN0
ZWQgdG8gdHJhY2sgb25lIHBlbmRpbmcgdGFzay1hdC10aW1lIGF0IG9uY2UgKGUuZy4gc2VlCkBA
IC05NjksMTEgKzk2OSwxMSBAQCB2b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6OnBlcmZvcm1U
YXNrQXRNZWRpYVRpbWUoY29uc3QgTWVkaWFUaW1lJiB0YXNrVGltZSwgVwogICAgICAgICBoYW5k
bGVyKFdURjo6bnVsbG9wdCwgV1RGOjpudWxsb3B0KTsKICAgICB9CiAKLSAgICBhdXRvIHRyYW5z
bWlzc2lvblRpbWUgPSBNZWRpYVRpbWU6OmNyZWF0ZVdpdGhEb3VibGUoKFdhbGxUaW1lOjpub3co
KSAtIG1lc3NhZ2VUaW1lKS52YWx1ZSgpLCAxKTsKKyAgICBhdXRvIHRyYW5zbWlzc2lvblRpbWUg
PSBNZWRpYVRpbWU6OmNyZWF0ZVdpdGhEb3VibGUoKE1vbm90b25pY1RpbWU6Om5vdygpIC0gbWVz
c2FnZVRpbWUpLnZhbHVlKCksIDEpOwogICAgIGF1dG8gYWRqdXN0ZWRUYXNrVGltZSA9IHRhc2tU
aW1lIC0gdHJhbnNtaXNzaW9uVGltZTsKICAgICBhdXRvIGN1cnJlbnRUaW1lID0gbV9wbGF5ZXIt
PmN1cnJlbnRUaW1lKCk7CiAgICAgaWYgKGFkanVzdGVkVGFza1RpbWUgPD0gY3VycmVudFRpbWUp
IHsKLSAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoY3VycmVudFRpbWUsIFdhbGxUaW1lOjpub3co
KSk7CisgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKGN1cnJlbnRUaW1lLCBNb25vdG9uaWNUaW1l
Ojpub3coKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTk4Myw3ICs5ODMsNyBAQCB2
b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6OnBlcmZvcm1UYXNrQXRNZWRpYVRpbWUoY29uc3Qg
TWVkaWFUaW1lJiB0YXNrVGltZSwgVwogICAgICAgICAgICAgcmV0dXJuOwogCiAgICAgICAgIGF1
dG8gY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKG1fcGVyZm9ybVRhc2tBdE1lZGlhVGltZUNv
bXBsZXRpb25IYW5kbGVyKTsKLSAgICAgICAgY29tcGxldGlvbkhhbmRsZXIobV9wbGF5ZXItPmN1
cnJlbnRUaW1lKCksIFdhbGxUaW1lOjpub3coKSk7CisgICAgICAgIGNvbXBsZXRpb25IYW5kbGVy
KG1fcGxheWVyLT5jdXJyZW50VGltZSgpLCBNb25vdG9uaWNUaW1lOjpub3coKSk7CiAgICAgfSwg
YWRqdXN0ZWRUYXNrVGltZSk7CiB9CiAKQEAgLTk5OSwxMiArOTk5LDEyIEBAIHZvaWQgUmVtb3Rl
TWVkaWFQbGF5ZXJQcm94eTo6c2V0VmlkZW9QbGF5YmFja01ldHJpY3NVcGRhdGVJbnRlcnZhbChk
b3VibGUgaW50ZXJ2CiAKICAgICB1cGRhdGVDYWNoZWRWaWRlb01ldHJpY3MoKTsKICAgICBtX3Zp
ZGVvUGxheWJhY2tNZXRyaWNzVXBkYXRlSW50ZXJ2YWwgPSBTZWNvbmRzKGludGVydmFsKTsKLSAg
ICBtX25leHRQbGF5YmFja1F1YWxpdHlNZXRyaWNzVXBkYXRlVGltZSA9IFdhbGxUaW1lOjpub3co
KSArIFNlY29uZHMoaW50ZXJ2YWwpIC0gbWV0cmljc0FkdmFuY2VVcGRhdGU7CisgICAgbV9uZXh0
UGxheWJhY2tRdWFsaXR5TWV0cmljc1VwZGF0ZVRpbWUgPSBNb25vdG9uaWNUaW1lOjpub3coKSAr
IFNlY29uZHMoaW50ZXJ2YWwpIC0gbWV0cmljc0FkdmFuY2VVcGRhdGU7CiB9CiAKIHZvaWQgUmVt
b3RlTWVkaWFQbGF5ZXJQcm94eTo6bWF5YmVVcGRhdGVDYWNoZWRWaWRlb01ldHJpY3MoKQogewot
ICAgIGlmIChtX2NhY2hlZFN0YXRlLnBhdXNlZCB8fCAhbV92aWRlb1BsYXliYWNrTWV0cmljc1Vw
ZGF0ZUludGVydmFsIHx8IFdhbGxUaW1lOjpub3coKSA8IG1fbmV4dFBsYXliYWNrUXVhbGl0eU1l
dHJpY3NVcGRhdGVUaW1lKQorICAgIGlmIChtX2NhY2hlZFN0YXRlLnBhdXNlZCB8fCAhbV92aWRl
b1BsYXliYWNrTWV0cmljc1VwZGF0ZUludGVydmFsIHx8IE1vbm90b25pY1RpbWU6Om5vdygpIDwg
bV9uZXh0UGxheWJhY2tRdWFsaXR5TWV0cmljc1VwZGF0ZVRpbWUpCiAgICAgICAgIHJldHVybjsK
IAogICAgIHVwZGF0ZUNhY2hlZFZpZGVvTWV0cmljcygpOwpAQCAtMTAxMyw3ICsxMDEzLDcgQEAg
dm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5OjptYXliZVVwZGF0ZUNhY2hlZFZpZGVvTWV0cmlj
cygpCiB2b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6OnVwZGF0ZUNhY2hlZFZpZGVvTWV0cmlj
cygpCiB7CiAgICAgQUxXQVlTX0xPRyhMT0dJREVOVElGSUVSKTsKLSAgICBtX25leHRQbGF5YmFj
a1F1YWxpdHlNZXRyaWNzVXBkYXRlVGltZSA9IFdhbGxUaW1lOjpub3coKSArIG1fdmlkZW9QbGF5
YmFja01ldHJpY3NVcGRhdGVJbnRlcnZhbDsKKyAgICBtX25leHRQbGF5YmFja1F1YWxpdHlNZXRy
aWNzVXBkYXRlVGltZSA9IE1vbm90b25pY1RpbWU6Om5vdygpICsgbV92aWRlb1BsYXliYWNrTWV0
cmljc1VwZGF0ZUludGVydmFsOwogICAgIG1fY2FjaGVkU3RhdGUudmlkZW9NZXRyaWNzID0gbV9w
bGF5ZXItPnZpZGVvUGxheWJhY2tRdWFsaXR5TWV0cmljcygpOwogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5oIGIv
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuaApp
bmRleCA0MDM1NTFhNjQxMzQwZjdkZTM2OWM5YzJhYzY3MjRiMTc2M2M1ZGU0Li43NzBkN2ZjMjI0
OWJkY2M3YTRiYTE2OGRkOWJkOTdjNTdiZjFjMDIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmgKQEAgLTE4Niw4
ICsxODYsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCB2aWRlb1RyYWNrU2V0U2VsZWN0ZWQoY29uc3Qg
VHJhY2tQcml2YXRlUmVtb3RlSWRlbnRpZmllciYsIGJvb2wpOwogICAgIHZvaWQgdGV4dFRyYWNr
U2V0TW9kZShjb25zdCBUcmFja1ByaXZhdGVSZW1vdGVJZGVudGlmaWVyJiwgV2ViQ29yZTo6SW5i
YW5kVGV4dFRyYWNrUHJpdmF0ZTo6TW9kZSk7CiAKLSAgICB1c2luZyBQZXJmb3JtVGFza0F0TWVk
aWFUaW1lQ29tcGxldGlvbkhhbmRsZXIgPSBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKE9wdGlvbmFs
PE1lZGlhVGltZT4sIE9wdGlvbmFsPFdhbGxUaW1lPik+OwotICAgIHZvaWQgcGVyZm9ybVRhc2tB
dE1lZGlhVGltZShjb25zdCBNZWRpYVRpbWUmLCBXYWxsVGltZSwgUGVyZm9ybVRhc2tBdE1lZGlh
VGltZUNvbXBsZXRpb25IYW5kbGVyJiYpOworICAgIHVzaW5nIFBlcmZvcm1UYXNrQXRNZWRpYVRp
bWVDb21wbGV0aW9uSGFuZGxlciA9IENvbXBsZXRpb25IYW5kbGVyPHZvaWQoT3B0aW9uYWw8TWVk
aWFUaW1lPiwgT3B0aW9uYWw8TW9ub3RvbmljVGltZT4pPjsKKyAgICB2b2lkIHBlcmZvcm1UYXNr
QXRNZWRpYVRpbWUoY29uc3QgTWVkaWFUaW1lJiwgTW9ub3RvbmljVGltZSwgUGVyZm9ybVRhc2tB
dE1lZGlhVGltZUNvbXBsZXRpb25IYW5kbGVyJiYpOwogICAgIHZvaWQgd291bGRUYWludE9yaWdp
bihzdHJ1Y3QgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhLCBDb21wbGV0aW9uSGFuZGxlcjx2
b2lkKE9wdGlvbmFsPGJvb2w+KT4mJik7CiAKICAgICB2b2lkIHNldFZpZGVvUGxheWJhY2tNZXRy
aWNzVXBkYXRlSW50ZXJ2YWwoZG91YmxlKTsKQEAgLTMyOSw3ICszMjksNyBAQCBwcml2YXRlOgog
I2VuZGlmCiAKICAgICBTZWNvbmRzIG1fdmlkZW9QbGF5YmFja01ldHJpY3NVcGRhdGVJbnRlcnZh
bDsKLSAgICBXYWxsVGltZSBtX25leHRQbGF5YmFja1F1YWxpdHlNZXRyaWNzVXBkYXRlVGltZTsK
KyAgICBNb25vdG9uaWNUaW1lIG1fbmV4dFBsYXliYWNrUXVhbGl0eU1ldHJpY3NVcGRhdGVUaW1l
OwogCiAgICAgV2ViQ29yZTo6SW50U2l6ZSBtX3ZpZGVvSW5saW5lU2l6ZTsKICAgICBmbG9hdCBt
X3ZpZGVvQ29udGVudFNjYWxlIHsgMS4wIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJj
ZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5Lm1lc3NhZ2Vz
LmluCmluZGV4IDVkOTYyZDQwMzAyZjU1OTI1ZGJmY2Q0ZjI0ZDEwNDFjNWVhODdhYWYuLmRlMDY2
MzIwMDY4YzY2M2ViZjQyYzE0OTg3MzM5ZmNhMWI0ZGEwMWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5Lm1lc3NhZ2VzLmlu
CisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclBy
b3h5Lm1lc3NhZ2VzLmluCkBAIC0xMDUsNyArMTA1LDcgQEAgbWVzc2FnZXMgLT4gUmVtb3RlTWVk
aWFQbGF5ZXJQcm94eSBOb3RSZWZDb3VudGVkIHsKICAgICBWaWRlb1RyYWNrU2V0U2VsZWN0ZWQo
V2ViS2l0OjpUcmFja1ByaXZhdGVSZW1vdGVJZGVudGlmaWVyIGlkZW50aWZpZXIsIGJvb2wgc2Vs
ZWN0ZWQpCiAgICAgVGV4dFRyYWNrU2V0TW9kZShXZWJLaXQ6OlRyYWNrUHJpdmF0ZVJlbW90ZUlk
ZW50aWZpZXIgaWRlbnRpZmllciwgZW51bTp1aW50OF90IFdlYkNvcmU6OkluYmFuZFRleHRUcmFj
a1ByaXZhdGU6Ok1vZGUgbW9kZSkKIAotICAgIFBlcmZvcm1UYXNrQXRNZWRpYVRpbWUoTWVkaWFU
aW1lIG1lZGlhVGltZSwgV2FsbFRpbWUgbWVzc2FnZVRpbWUpIC0+IChPcHRpb25hbDxNZWRpYVRp
bWU+IG1lZGlhVGltZSwgT3B0aW9uYWw8V2FsbFRpbWU+IHdhbGxUaW1lKSBBc3luYworICAgIFBl
cmZvcm1UYXNrQXRNZWRpYVRpbWUoTWVkaWFUaW1lIG1lZGlhVGltZSwgTW9ub3RvbmljVGltZSBt
ZXNzYWdlVGltZSkgLT4gKE9wdGlvbmFsPE1lZGlhVGltZT4gbWVkaWFUaW1lLCBPcHRpb25hbDxN
b25vdG9uaWNUaW1lPiBtb25vdG9uaWNUaW1lKSBBc3luYwogICAgIFdvdWxkVGFpbnRPcmlnaW4o
c3RydWN0IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YSBvcmlnaW4pIC0+IChPcHRpb25hbDxi
b29sPiB3b3VsZFRhaW50KSBTeW5jaHJvbm91cwogCiAgICAgU2V0VmlkZW9QbGF5YmFja01ldHJp
Y3NVcGRhdGVJbnRlcnZhbChkb3VibGUgaW50ZXJ2YWwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5jcHAgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90
ZS5jcHAKaW5kZXggNzBlMjEyODQwZTU5ZWRjMTdjYzJmZWU3YjBjNmEyNWYwMGE0OGM1Ni4uYjRi
MmM0M2M4MGE0MDQ1ZmI5MDJiY2I5YzQzODBjYzZiOTAwN2EzNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2
YXRlUmVtb3RlLmNwcApAQCAtMjAzLDkgKzIwMyw5IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRl
UmVtb3RlOjpwbGF5KCkKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpwYXVzZSgpCiB7
CiAgICAgbV9jYWNoZWRTdGF0ZS5wYXVzZWQgPSB0cnVlOwotICAgIGF1dG8gbm93ID0gV2FsbFRp
bWU6Om5vdygpOwotICAgIG1fY2FjaGVkU3RhdGUuY3VycmVudFRpbWUgKz0gTWVkaWFUaW1lOjpj
cmVhdGVXaXRoRG91YmxlKG1fcmF0ZSAqIChub3cgLSBtX2NhY2hlZFN0YXRlLndhbGxUaW1lKS52
YWx1ZSgpKTsKLSAgICBtX2NhY2hlZFN0YXRlLndhbGxUaW1lID0gbm93OworICAgIGF1dG8gbm93
ID0gTW9ub3RvbmljVGltZTo6bm93KCk7CisgICAgbV9jYWNoZWRTdGF0ZS5jdXJyZW50VGltZSAr
PSBNZWRpYVRpbWU6OmNyZWF0ZVdpdGhEb3VibGUobV9yYXRlICogKG5vdyAtIG1fY2FjaGVkU3Rh
dGUubW9ub3RvbmljVGltZSkudmFsdWUoKSk7CisgICAgbV9jYWNoZWRTdGF0ZS5tb25vdG9uaWNU
aW1lID0gbm93OwogICAgIGNvbm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVNZWRpYVBs
YXllclByb3h5OjpQYXVzZSgpLCBtX2lkKTsKIH0KIApAQCAtMjU0LDcgKzI1NCw3IEBAIE1lZGlh
VGltZSBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OmN1cnJlbnRNZWRpYVRpbWUoKSBjb25zdAog
ICAgIGlmIChtX2NhY2hlZFN0YXRlLnBhdXNlZCB8fCAhbV9jYWNoZWRTdGF0ZS5jdXJyZW50VGlt
ZSkKICAgICAgICAgcmV0dXJuIG1fY2FjaGVkU3RhdGUuY3VycmVudFRpbWU7CiAKLSAgICByZXR1
cm4gbV9jYWNoZWRTdGF0ZS5jdXJyZW50VGltZSArIE1lZGlhVGltZTo6Y3JlYXRlV2l0aERvdWJs
ZShtX3JhdGUgKiAoV2FsbFRpbWU6Om5vdygpIC0gbV9jYWNoZWRTdGF0ZS53YWxsVGltZSkuc2Vj
b25kcygpKTsKKyAgICByZXR1cm4gbV9jYWNoZWRTdGF0ZS5jdXJyZW50VGltZSArIE1lZGlhVGlt
ZTo6Y3JlYXRlV2l0aERvdWJsZShtX3JhdGUgKiAoTW9ub3RvbmljVGltZTo6bm93KCkgLSBtX2Nh
Y2hlZFN0YXRlLm1vbm90b25pY1RpbWUpLnNlY29uZHMoKSk7CiB9CiAKIHZvaWQgTWVkaWFQbGF5
ZXJQcml2YXRlUmVtb3RlOjpzZWVrKGNvbnN0IE1lZGlhVGltZSYgdGltZSkKQEAgLTM0OCwxMSAr
MzQ4LDExIEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpyYXRlQ2hhbmdlZChkb3Vi
bGUgcmF0ZSkKICAgICBtX3BsYXllci0+cmF0ZUNoYW5nZWQoKTsKIH0KIAotdm9pZCBNZWRpYVBs
YXllclByaXZhdGVSZW1vdGU6OnBsYXliYWNrU3RhdGVDaGFuZ2VkKGJvb2wgcGF1c2VkLCBNZWRp
YVRpbWUmJiBtZWRpYVRpbWUsIFdhbGxUaW1lJiYgd2FsbFRpbWUpCit2b2lkIE1lZGlhUGxheWVy
UHJpdmF0ZVJlbW90ZTo6cGxheWJhY2tTdGF0ZUNoYW5nZWQoYm9vbCBwYXVzZWQsIE1lZGlhVGlt
ZSYmIG1lZGlhVGltZSwgTW9ub3RvbmljVGltZSYmIG1vbm90b25pY1RpbWUpCiB7CiAgICAgbV9j
YWNoZWRTdGF0ZS5wYXVzZWQgPSBwYXVzZWQ7CiAgICAgbV9jYWNoZWRTdGF0ZS5jdXJyZW50VGlt
ZSA9IG1lZGlhVGltZTsKLSAgICBtX2NhY2hlZFN0YXRlLndhbGxUaW1lID0gd2FsbFRpbWU7Cisg
ICAgbV9jYWNoZWRTdGF0ZS5tb25vdG9uaWNUaW1lID0gbW9ub3RvbmljVGltZTsKICAgICBtX3Bs
YXllci0+cGxheWJhY2tTdGF0ZUNoYW5nZWQoKTsKIH0KIApAQCAtNDI3LDcgKzQyNyw3IEBAIHZv
aWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjp1cGRhdGVDYWNoZWRTdGF0ZShSZW1vdGVNZWRp
YVBsYXllclN0YXRlJiYgc3RhdGUpCiB7CiAgICAgY29uc3QgU2Vjb25kcyBwbGF5YmFja1F1YWxp
dHlNZXRyaWNzVGltZW91dCA9IDMwX3M7CiAKLSAgICBtX2NhY2hlZFN0YXRlLndhbGxUaW1lID0g
c3RhdGUud2FsbFRpbWU7CisgICAgbV9jYWNoZWRTdGF0ZS5tb25vdG9uaWNUaW1lID0gc3RhdGUu
bW9ub3RvbmljVGltZTsKICAgICBtX2NhY2hlZFN0YXRlLmN1cnJlbnRUaW1lID0gc3RhdGUuY3Vy
cmVudFRpbWU7CiAgICAgbV9jYWNoZWRTdGF0ZS5kdXJhdGlvbiA9IHN0YXRlLmR1cmF0aW9uOwog
ICAgIG1fY2FjaGVkU3RhdGUubWluVGltZVNlZWthYmxlID0gc3RhdGUubWluVGltZVNlZWthYmxl
OwpAQCAtNDUzLDcgKzQ1Myw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjp1cGRh
dGVDYWNoZWRTdGF0ZShSZW1vdGVNZWRpYVBsYXllclN0YXRlJiYgc3RhdGUpCiAKICAgICBpZiAo
c3RhdGUudmlkZW9NZXRyaWNzKQogICAgICAgICBtX2NhY2hlZFN0YXRlLnZpZGVvTWV0cmljcyA9
IHN0YXRlLnZpZGVvTWV0cmljczsKLSAgICBpZiAobV92aWRlb1BsYXliYWNrTWV0cmljc1VwZGF0
ZUludGVydmFsICYmIChXYWxsVGltZTo6bm93KCkgLSBtX2xhc3RQbGF5YmFja1F1YWxpdHlNZXRy
aWNzUXVlcnlUaW1lKSA+IHBsYXliYWNrUXVhbGl0eU1ldHJpY3NUaW1lb3V0KQorICAgIGlmICht
X3ZpZGVvUGxheWJhY2tNZXRyaWNzVXBkYXRlSW50ZXJ2YWwgJiYgKE1vbm90b25pY1RpbWU6Om5v
dygpIC0gbV9sYXN0UGxheWJhY2tRdWFsaXR5TWV0cmljc1F1ZXJ5VGltZSkgPiBwbGF5YmFja1F1
YWxpdHlNZXRyaWNzVGltZW91dCkKICAgICAgICAgdXBkYXRlVmlkZW9QbGF5YmFja01ldHJpY3NV
cGRhdGVJbnRlcnZhbCgwX3MpOwogCiAgICAgbV9jYWNoZWRTdGF0ZS5oYXNDbG9zZWRDYXB0aW9u
cyA9IHN0YXRlLmhhc0Nsb3NlZENhcHRpb25zOwpAQCAtMTE4Myw3ICsxMTgzLDcgQEAgT3B0aW9u
YWw8VmlkZW9QbGF5YmFja1F1YWxpdHlNZXRyaWNzPiBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6
OnZpZGVvUGxheWJhY2tRdWEKIHsKICAgICBjb25zdCBTZWNvbmRzIG1heGltdW1QbGF5YmFja1F1
YWxpdHlNZXRyaWNzU2FtcGxlVGltZURlbHRhID0gMC4yNV9zOwogCi0gICAgYXV0byBub3cgPSBX
YWxsVGltZTo6bm93KCk7CisgICAgYXV0byBub3cgPSBNb25vdG9uaWNUaW1lOjpub3coKTsKICAg
ICBhdXRvIHRpbWVTaW5jZUxhc3RRdWVyeSA9IG5vdyAtIG1fbGFzdFBsYXliYWNrUXVhbGl0eU1l
dHJpY3NRdWVyeVRpbWU7CiAgICAgaWYgKCFtX3ZpZGVvUGxheWJhY2tNZXRyaWNzVXBkYXRlSW50
ZXJ2YWwpCiAgICAgICAgIHVwZGF0ZVZpZGVvUGxheWJhY2tNZXRyaWNzVXBkYXRlSW50ZXJ2YWwo
MV9zKTsKQEAgLTEyMjAsMTYgKzEyMjAsMTYgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1v
dGU6OmFwcGxpY2F0aW9uRGlkQmVjb21lQWN0aXZlKCkKIAogYm9vbCBNZWRpYVBsYXllclByaXZh
dGVSZW1vdGU6OnBlcmZvcm1UYXNrQXRNZWRpYVRpbWUoV1RGOjpGdW5jdGlvbjx2b2lkKCk+JiYg
Y29tcGxldGlvbkhhbmRsZXIsIGNvbnN0IE1lZGlhVGltZSYgbWVkaWFUaW1lKQogewotICAgIGF1
dG8gYXN5bmNSZXBseUhhbmRsZXIgPSBbd2Vha1RoaXMgPSBtYWtlV2Vha1B0cigqdGhpcyksIHRo
aXMsIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildKE9wdGlv
bmFsPE1lZGlhVGltZT4gY3VycmVudFRpbWUsIE9wdGlvbmFsPFdhbGxUaW1lPiB3YWxsVGltZSkg
bXV0YWJsZSB7Ci0gICAgICAgIGlmICghd2Vha1RoaXMgfHwgIWN1cnJlbnRUaW1lIHx8ICF3YWxs
VGltZSkKKyAgICBhdXRvIGFzeW5jUmVwbHlIYW5kbGVyID0gW3dlYWtUaGlzID0gbWFrZVdlYWtQ
dHIoKnRoaXMpLCB0aGlzLCBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhh
bmRsZXIpXShPcHRpb25hbDxNZWRpYVRpbWU+IGN1cnJlbnRUaW1lLCBPcHRpb25hbDxNb25vdG9u
aWNUaW1lPiBtb25vdG9uaWNUaW1lKSBtdXRhYmxlIHsKKyAgICAgICAgaWYgKCF3ZWFrVGhpcyB8
fCAhY3VycmVudFRpbWUgfHwgIW1vbm90b25pY1RpbWUpCiAgICAgICAgICAgICByZXR1cm47CiAK
ICAgICAgICAgbV9jYWNoZWRTdGF0ZS5jdXJyZW50VGltZSA9ICpjdXJyZW50VGltZTsKLSAgICAg
ICAgbV9jYWNoZWRTdGF0ZS53YWxsVGltZSA9ICp3YWxsVGltZTsKKyAgICAgICAgbV9jYWNoZWRT
dGF0ZS5tb25vdG9uaWNUaW1lID0gKm1vbm90b25pY1RpbWU7CiAgICAgICAgIGNvbXBsZXRpb25I
YW5kbGVyKCk7CiAgICAgfTsKIAotICAgIGNvbm5lY3Rpb24oKS5zZW5kV2l0aEFzeW5jUmVwbHko
TWVzc2FnZXM6OlJlbW90ZU1lZGlhUGxheWVyUHJveHk6OlBlcmZvcm1UYXNrQXRNZWRpYVRpbWUo
bWVkaWFUaW1lLCBXYWxsVGltZTo6bm93KCkpLCBXVEZNb3ZlKGFzeW5jUmVwbHlIYW5kbGVyKSwg
bV9pZCk7CisgICAgY29ubmVjdGlvbigpLnNlbmRXaXRoQXN5bmNSZXBseShNZXNzYWdlczo6UmVt
b3RlTWVkaWFQbGF5ZXJQcm94eTo6UGVyZm9ybVRhc2tBdE1lZGlhVGltZShtZWRpYVRpbWUsIE1v
bm90b25pY1RpbWU6Om5vdygpKSwgV1RGTW92ZShhc3luY1JlcGx5SGFuZGxlciksIG1faWQpOwog
CiAgICAgcmV0dXJuIHRydWU7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5oIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuaAppbmRleCBiNWM0
OWM2OTAzMzY1ZjFjNTRkZGYzYjExNmUyZjdjNDRjY2M4NDNhLi41ODI0MWI2M2E3MTIzZGU2MjA3
MGI4NjIwZTI4ZjhiODIwMzk3YzFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmgKQEAgLTk5
LDcgKzk5LDcgQEAgcHVibGljOgogICAgIHZvaWQgdGltZUNoYW5nZWQoUmVtb3RlTWVkaWFQbGF5
ZXJTdGF0ZSYmKTsKICAgICB2b2lkIGR1cmF0aW9uQ2hhbmdlZChSZW1vdGVNZWRpYVBsYXllclN0
YXRlJiYpOwogICAgIHZvaWQgcmF0ZUNoYW5nZWQoZG91YmxlKTsKLSAgICB2b2lkIHBsYXliYWNr
U3RhdGVDaGFuZ2VkKGJvb2wsIE1lZGlhVGltZSYmLCBXYWxsVGltZSYmKTsKKyAgICB2b2lkIHBs
YXliYWNrU3RhdGVDaGFuZ2VkKGJvb2wsIE1lZGlhVGltZSYmLCBNb25vdG9uaWNUaW1lJiYpOwog
ICAgIHZvaWQgZW5naW5lRmFpbGVkVG9Mb2FkKGxvbmcpOwogICAgIHZvaWQgdXBkYXRlQ2FjaGVk
U3RhdGUoUmVtb3RlTWVkaWFQbGF5ZXJTdGF0ZSYmKTsKICAgICB2b2lkIGNoYXJhY3RlcmlzdGlj
Q2hhbmdlZChSZW1vdGVNZWRpYVBsYXllclN0YXRlJiYpOwpAQCAtNDE1LDcgKzQxNSw3IEBAIHBy
aXZhdGU6CiAgICAgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhIG1fZG9jdW1lbnRTZWN1cml0
eU9yaWdpbjsKICAgICBtdXRhYmxlIEhhc2hNYXA8V2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRh
LCBPcHRpb25hbDxib29sPj4gbV93b3VsZFRhaW50T3JpZ2luQ2FjaGU7CiAKLSAgICBXYWxsVGlt
ZSBtX2xhc3RQbGF5YmFja1F1YWxpdHlNZXRyaWNzUXVlcnlUaW1lOworICAgIE1vbm90b25pY1Rp
bWUgbV9sYXN0UGxheWJhY2tRdWFsaXR5TWV0cmljc1F1ZXJ5VGltZTsKICAgICBTZWNvbmRzIG1f
dmlkZW9QbGF5YmFja01ldHJpY3NVcGRhdGVJbnRlcnZhbDsKICAgICBkb3VibGUgbV92b2x1bWUg
eyAxIH07CiAgICAgZG91YmxlIG1fcmF0ZSB7IDEgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLm1lc3NhZ2Vz
LmluIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZh
dGVSZW1vdGUubWVzc2FnZXMuaW4KaW5kZXggNjgzMDk5MzI1ZmNlNzYxMzNjZGI0ODEwYjZiOTNm
NjBkNGVhNzU3Ni4uN2Q1NjhjY2M0MjMyNWZhZTU2YTJhNzhjMTQ3NTI4NmJlNzI0MjgxOCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclBy
aXZhdGVSZW1vdGUubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQ
VS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUubWVzc2FnZXMuaW4KQEAgLTMyLDcgKzMy
LDcgQEAgbWVzc2FnZXMgLT4gTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlIE5vdFJlZkNvdW50ZWQg
ewogICAgIFRpbWVDaGFuZ2VkKHN0cnVjdCBXZWJLaXQ6OlJlbW90ZU1lZGlhUGxheWVyU3RhdGUg
c3RhdGUpCiAgICAgRHVyYXRpb25DaGFuZ2VkKHN0cnVjdCBXZWJLaXQ6OlJlbW90ZU1lZGlhUGxh
eWVyU3RhdGUgc3RhdGUpCiAgICAgUmF0ZUNoYW5nZWQoZG91YmxlIHJhdGUpCi0gICAgUGxheWJh
Y2tTdGF0ZUNoYW5nZWQoYm9vbCBwYXVzZWQsIE1lZGlhVGltZSBtZWRpYVRpbWUsIFdhbGxUaW1l
IHdhbGxUaW1lKQorICAgIFBsYXliYWNrU3RhdGVDaGFuZ2VkKGJvb2wgcGF1c2VkLCBNZWRpYVRp
bWUgbWVkaWFUaW1lLCBNb25vdG9uaWNUaW1lIG1vbm90b25pY1RpbWUpCiAgICAgRW5naW5lRmFp
bGVkVG9Mb2FkKGludCBwbGF0Zm9ybUVycm9yQ29kZSkKICAgICBVcGRhdGVDYWNoZWRTdGF0ZShz
dHJ1Y3QgV2ViS2l0OjpSZW1vdGVNZWRpYVBsYXllclN0YXRlIHN0YXRlKQogICAgIENoYXJhY3Rl
cmlzdGljQ2hhbmdlZChzdHJ1Y3QgV2ViS2l0OjpSZW1vdGVNZWRpYVBsYXllclN0YXRlIHN0YXRl
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVN
ZWRpYVBsYXllclN0YXRlLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1Jl
bW90ZU1lZGlhUGxheWVyU3RhdGUuaAppbmRleCBlNjBlNjQ2OTI4NWNlMzAwNjQ0Y2IwMzc0ZjZk
NTJlZTUwMmI3ODdkLi44ZDQwNGNlOWY1MjBiMjc4ODI2YjU0OTY5NmYzMDhlMTVkZmE0YmI2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZU1lZGlh
UGxheWVyU3RhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1Jl
bW90ZU1lZGlhUGxheWVyU3RhdGUuaApAQCAtMzIsMTIgKzMyLDEyIEBACiAjaW5jbHVkZSA8V2Vi
Q29yZS9QbGF0Zm9ybVRpbWVSYW5nZXMuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1ZpZGVvUGxheWJh
Y2tRdWFsaXR5TWV0cmljcy5oPgogI2luY2x1ZGUgPHd0Zi9NZWRpYVRpbWUuaD4KLSNpbmNsdWRl
IDx3dGYvV2FsbFRpbWUuaD4KKyNpbmNsdWRlIDx3dGYvTW9ub3RvbmljVGltZS5oPgogCiBuYW1l
c3BhY2UgV2ViS2l0IHsKIAogc3RydWN0IFJlbW90ZU1lZGlhUGxheWVyU3RhdGUgewotICAgIFdh
bGxUaW1lIHdhbGxUaW1lOworICAgIE1vbm90b25pY1RpbWUgbW9ub3RvbmljVGltZTsKICAgICBN
ZWRpYVRpbWUgY3VycmVudFRpbWU7CiAgICAgTWVkaWFUaW1lIGR1cmF0aW9uOwogICAgIE1lZGlh
VGltZSBtaW5UaW1lU2Vla2FibGU7CkBAIC03Miw3ICs3Miw3IEBAIHN0cnVjdCBSZW1vdGVNZWRp
YVBsYXllclN0YXRlIHsKICAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPgogICAgIHZvaWQgZW5j
b2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0CiAgICAgewotICAgICAgICBlbmNvZGVyIDw8IHdh
bGxUaW1lOworICAgICAgICBlbmNvZGVyIDw8IG1vbm90b25pY1RpbWU7CiAgICAgICAgIGVuY29k
ZXIgPDwgY3VycmVudFRpbWU7CiAgICAgICAgIGVuY29kZXIgPDwgZHVyYXRpb247CiAgICAgICAg
IGVuY29kZXIgPDwgbWluVGltZVNlZWthYmxlOwpAQCAtMTA4LDkgKzEwOCw5IEBAIHN0cnVjdCBS
ZW1vdGVNZWRpYVBsYXllclN0YXRlIHsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgRGVjb2Rlcj4KICAg
ICBzdGF0aWMgT3B0aW9uYWw8UmVtb3RlTWVkaWFQbGF5ZXJTdGF0ZT4gZGVjb2RlKERlY29kZXIm
IGRlY29kZXIpCiAgICAgewotICAgICAgICBPcHRpb25hbDxXYWxsVGltZT4gd2FsbFRpbWU7Ci0g
ICAgICAgIGRlY29kZXIgPj4gd2FsbFRpbWU7Ci0gICAgICAgIGlmICghd2FsbFRpbWUpCisgICAg
ICAgIE9wdGlvbmFsPE1vbm90b25pY1RpbWU+IG1vbm90b25pY1RpbWU7CisgICAgICAgIGRlY29k
ZXIgPj4gbW9ub3RvbmljVGltZTsKKyAgICAgICAgaWYgKCFtb25vdG9uaWNUaW1lKQogICAgICAg
ICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKIAogICAgICAgICBPcHRpb25hbDxNZWRpYVRpbWU+
IGN1cnJlbnRUaW1lOwpAQCAtMjYwLDcgKzI2MCw3IEBAIHN0cnVjdCBSZW1vdGVNZWRpYVBsYXll
clN0YXRlIHsKICAgICAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiAKICAgICAgICAgcmV0
dXJuIHt7Ci0gICAgICAgICAgICBXVEZNb3ZlKCp3YWxsVGltZSksCisgICAgICAgICAgICBXVEZN
b3ZlKCptb25vdG9uaWNUaW1lKSwKICAgICAgICAgICAgIFdURk1vdmUoKmN1cnJlbnRUaW1lKSwK
ICAgICAgICAgICAgIFdURk1vdmUoKmR1cmF0aW9uKSwKICAgICAgICAgICAgIFdURk1vdmUoKm1p
blRpbWVTZWVrYWJsZSksCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>427612</attachid>
            <date>2021-05-03 16:05:04 -0700</date>
            <delta_ts>2021-05-04 11:44:02 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-225329-20210503160503.patch</filename>
            <type>text/plain</type>
            <size>17744</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2OTI3CjIwMjEtMDUtMDNUMTY6MDQ6MzYsODAwOiBbMHgx
MTZmODFlMDBdIHdoaWxlIGNvbXB1dGluZyBzb2NrbmFtZTogZmFpbGVkIHRvIGNyZWF0ZSAvdXNy
L2xvY2FsL3Zhci9ydW4vd2F0Y2htYW4vZXJpYy1zdGF0ZTogTm8gc3VjaCBmaWxlIG9yIGRpcmVj
dG9yeQpXYXRjaG1hbjogY29tbWFuZCByZXR1cm5lZCBubyBvdXRwdXQuCkZhbGxpbmcgYmFjayB0
byBzY2FubmluZy4uLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA1YTRiNjEyNmM1MjY1ZWNjZWI2NzFhMmRmMzlkMjY2
MGE0MjY4NzBiLi5kNDY5MzgwMzA2MDU0ZTRlNjI2ZmIzYWE5OTk3NzdlNjZmMzUyN2RkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDIxLTA1LTAzICBFcmljIENhcmxzb24gIDxlcmljLmNh
cmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIFtHUFVQXSBVc2UgTW9ub3RvbmljVGltZSBmb3Ig
ZWxhcHNlZCB0aW1lCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMjUzMjkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc3NDcyODExPgorCisgICAgICAg
IFJldmlld2VkIGJ5IFNpbW9uIEZyYXNlci4KKworICAgICAgICBObyBuZXcgdGVzdHMsIG5vIGNo
YW5nZSBvZiBiZWhhdmlvci4KKworICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVk
aWFQbGF5ZXJQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhUGxheWVyUHJv
eHk6Om1lZGlhUGxheWVyUGxheWJhY2tTdGF0ZUNoYW5nZWQpOgorICAgICAgICAoV2ViS2l0OjpS
ZW1vdGVNZWRpYVBsYXllclByb3h5Ojp1cGRhdGVDYWNoZWRTdGF0ZSk6CisgICAgICAgIChXZWJL
aXQ6OlJlbW90ZU1lZGlhUGxheWVyUHJveHk6OnBlcmZvcm1UYXNrQXRNZWRpYVRpbWUpOgorICAg
ICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVBsYXllclByb3h5OjpzZXRWaWRlb1BsYXliYWNrTWV0
cmljc1VwZGF0ZUludGVydmFsKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFQbGF5ZXJQ
cm94eTo6bWF5YmVVcGRhdGVDYWNoZWRWaWRlb01ldHJpY3MpOgorICAgICAgICAoV2ViS2l0OjpS
ZW1vdGVNZWRpYVBsYXllclByb3h5Ojp1cGRhdGVDYWNoZWRWaWRlb01ldHJpY3MpOgorICAgICAg
ICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5oOgorICAgICAgICAq
IEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5tZXNzYWdlcy5pbjoKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnBhdXNlKToKKyAg
ICAgICAgKFdlYktpdDo6TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpjdXJyZW50TWVkaWFUaW1l
IGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpwbGF5
YmFja1N0YXRlQ2hhbmdlZCk6CisgICAgICAgIChXZWJLaXQ6Ok1lZGlhUGxheWVyUHJpdmF0ZVJl
bW90ZTo6dXBkYXRlQ2FjaGVkU3RhdGUpOgorICAgICAgICAoV2ViS2l0OjpNZWRpYVBsYXllclBy
aXZhdGVSZW1vdGU6OnZpZGVvUGxheWJhY2tRdWFsaXR5TWV0cmljcyk6CisgICAgICAgIChXZWJL
aXQ6Ok1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6cGVyZm9ybVRhc2tBdE1lZGlhVGltZSk6Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmg6
CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3Rl
Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZU1lZGlh
UGxheWVyU3RhdGUuaDoKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFQbGF5ZXJTdGF0ZTo6
ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFQbGF5ZXJTdGF0ZTo6
ZGVjb2RlKToKKwogMjAyMS0wNS0wMyAgWmhlbmNoYW8gTGkgIDx6aGVuY2hhb19saUBhcHBsZS5j
b20+CiAKICAgICAgICAgQWRkIG1hY09TIFNhZmFyaSBzYW5kYm94IGV4Y2VwdGlvbiBmb3IgY29t
LmFwcGxlLkNGTmV0d29yayBwcmVmZXJlbmNlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9H
UFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuY3BwIGIvU291cmNlL1dlYktp
dC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuY3BwCmluZGV4IGRiNzgy
MDczYTBmNTQ2Zjg1YWYzMzJmOWUxZDUyZjY0ZDg1MGVmODYuLmM1MDI5M2E0MDczMTgzYjVlNTcx
NmU2Njc5M2U0MWVkNzE3ZWI0MDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vz
cy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5jcHAKQEAgLTQ2NSw3ICs0NjUs
NyBAQCBib29sIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6Om1lZGlhUGxheWVySXNWaWRlbygpIGNv
bnN0CiB2b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6Om1lZGlhUGxheWVyUGxheWJhY2tTdGF0
ZUNoYW5nZWQoKQogewogICAgIG1fY2FjaGVkU3RhdGUucGF1c2VkID0gbV9wbGF5ZXItPnBhdXNl
ZCgpOwotICAgIG1fd2ViUHJvY2Vzc0Nvbm5lY3Rpb24tPnNlbmQoTWVzc2FnZXM6Ok1lZGlhUGxh
eWVyUHJpdmF0ZVJlbW90ZTo6UGxheWJhY2tTdGF0ZUNoYW5nZWQobV9jYWNoZWRTdGF0ZS5wYXVz
ZWQsIG1fcGxheWVyLT5jdXJyZW50VGltZSgpLCBXYWxsVGltZTo6bm93KCkpLCBtX2lkKTsKKyAg
ICBtX3dlYlByb2Nlc3NDb25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpNZWRpYVBsYXllclByaXZh
dGVSZW1vdGU6OlBsYXliYWNrU3RhdGVDaGFuZ2VkKG1fY2FjaGVkU3RhdGUucGF1c2VkLCBtX3Bs
YXllci0+Y3VycmVudFRpbWUoKSwgTW9ub3RvbmljVGltZTo6bm93KCkpLCBtX2lkKTsKIH0KIAog
dm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5OjptZWRpYVBsYXllckJ1ZmZlcmVkVGltZVJhbmdl
c0NoYW5nZWQoKQpAQCAtODI1LDcgKzgyNSw3IEBAIHZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94
eTo6dGltZXJGaXJlZCgpCiAKIHZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6dXBkYXRlQ2Fj
aGVkU3RhdGUoKQogewotICAgIG1fY2FjaGVkU3RhdGUud2FsbFRpbWUgPSBXYWxsVGltZTo6bm93
KCk7CisgICAgbV9jYWNoZWRTdGF0ZS50aW1lc3RhbXAgPSBNb25vdG9uaWNUaW1lOjpub3coKTsK
ICAgICBtX2NhY2hlZFN0YXRlLmN1cnJlbnRUaW1lID0gbV9wbGF5ZXItPmN1cnJlbnRUaW1lKCk7
CiAgICAgbV9jYWNoZWRTdGF0ZS5kdXJhdGlvbiA9IG1fcGxheWVyLT5kdXJhdGlvbigpOwogICAg
IG1fY2FjaGVkU3RhdGUubmV0d29ya1N0YXRlID0gbV9wbGF5ZXItPm5ldHdvcmtTdGF0ZSgpOwpA
QCAtOTU5LDcgKzk1OSw3IEBAIHZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6dHJhY2tzQ2hh
bmdlZCgpCiAgICAgbV9wbGF5ZXItPnRyYWNrc0NoYW5nZWQoKTsKIH0KIAotdm9pZCBSZW1vdGVN
ZWRpYVBsYXllclByb3h5OjpwZXJmb3JtVGFza0F0TWVkaWFUaW1lKGNvbnN0IE1lZGlhVGltZSYg
dGFza1RpbWUsIFdhbGxUaW1lIG1lc3NhZ2VUaW1lLCBQZXJmb3JtVGFza0F0TWVkaWFUaW1lQ29t
cGxldGlvbkhhbmRsZXImJiBjb21wbGV0aW9uSGFuZGxlcikKK3ZvaWQgUmVtb3RlTWVkaWFQbGF5
ZXJQcm94eTo6cGVyZm9ybVRhc2tBdE1lZGlhVGltZShjb25zdCBNZWRpYVRpbWUmIHRhc2tUaW1l
LCBNb25vdG9uaWNUaW1lIG1lc3NhZ2VUaW1lLCBQZXJmb3JtVGFza0F0TWVkaWFUaW1lQ29tcGxl
dGlvbkhhbmRsZXImJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKICAgICBpZiAobV9wZXJmb3JtVGFz
a0F0TWVkaWFUaW1lQ29tcGxldGlvbkhhbmRsZXIpIHsKICAgICAgICAgLy8gQSBtZWRpYSBwbGF5
ZXIgaXMgb25seSBleHBlY3RlZCB0byB0cmFjayBvbmUgcGVuZGluZyB0YXNrLWF0LXRpbWUgYXQg
b25jZSAoZS5nLiBzZWUKQEAgLTk2OSwxMSArOTY5LDEyIEBAIHZvaWQgUmVtb3RlTWVkaWFQbGF5
ZXJQcm94eTo6cGVyZm9ybVRhc2tBdE1lZGlhVGltZShjb25zdCBNZWRpYVRpbWUmIHRhc2tUaW1l
LCBXCiAgICAgICAgIGhhbmRsZXIoV1RGOjpudWxsb3B0LCBXVEY6Om51bGxvcHQpOwogICAgIH0K
IAotICAgIGF1dG8gdHJhbnNtaXNzaW9uVGltZSA9IE1lZGlhVGltZTo6Y3JlYXRlV2l0aERvdWJs
ZSgoV2FsbFRpbWU6Om5vdygpIC0gbWVzc2FnZVRpbWUpLnZhbHVlKCksIDEpOworICAgIGF1dG8g
bm93ID0gTW9ub3RvbmljVGltZTo6bm93KCk7CisgICAgYXV0byB0cmFuc21pc3Npb25UaW1lID0g
TWVkaWFUaW1lOjpjcmVhdGVXaXRoRG91YmxlKChub3cgLSBtZXNzYWdlVGltZSkudmFsdWUoKSwg
MSk7CiAgICAgYXV0byBhZGp1c3RlZFRhc2tUaW1lID0gdGFza1RpbWUgLSB0cmFuc21pc3Npb25U
aW1lOwogICAgIGF1dG8gY3VycmVudFRpbWUgPSBtX3BsYXllci0+Y3VycmVudFRpbWUoKTsKICAg
ICBpZiAoYWRqdXN0ZWRUYXNrVGltZSA8PSBjdXJyZW50VGltZSkgewotICAgICAgICBjb21wbGV0
aW9uSGFuZGxlcihjdXJyZW50VGltZSwgV2FsbFRpbWU6Om5vdygpKTsKKyAgICAgICAgY29tcGxl
dGlvbkhhbmRsZXIoY3VycmVudFRpbWUsIG5vdyk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAK
QEAgLTk4Myw3ICs5ODQsNyBAQCB2b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6OnBlcmZvcm1U
YXNrQXRNZWRpYVRpbWUoY29uc3QgTWVkaWFUaW1lJiB0YXNrVGltZSwgVwogICAgICAgICAgICAg
cmV0dXJuOwogCiAgICAgICAgIGF1dG8gY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKG1fcGVy
Zm9ybVRhc2tBdE1lZGlhVGltZUNvbXBsZXRpb25IYW5kbGVyKTsKLSAgICAgICAgY29tcGxldGlv
bkhhbmRsZXIobV9wbGF5ZXItPmN1cnJlbnRUaW1lKCksIFdhbGxUaW1lOjpub3coKSk7CisgICAg
ICAgIGNvbXBsZXRpb25IYW5kbGVyKG1fcGxheWVyLT5jdXJyZW50VGltZSgpLCBNb25vdG9uaWNU
aW1lOjpub3coKSk7CiAgICAgfSwgYWRqdXN0ZWRUYXNrVGltZSk7CiB9CiAKQEAgLTk5OSwxMiAr
MTAwMCwxMiBAQCB2b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6OnNldFZpZGVvUGxheWJhY2tN
ZXRyaWNzVXBkYXRlSW50ZXJ2YWwoZG91YmxlIGludGVydgogCiAgICAgdXBkYXRlQ2FjaGVkVmlk
ZW9NZXRyaWNzKCk7CiAgICAgbV92aWRlb1BsYXliYWNrTWV0cmljc1VwZGF0ZUludGVydmFsID0g
U2Vjb25kcyhpbnRlcnZhbCk7Ci0gICAgbV9uZXh0UGxheWJhY2tRdWFsaXR5TWV0cmljc1VwZGF0
ZVRpbWUgPSBXYWxsVGltZTo6bm93KCkgKyBTZWNvbmRzKGludGVydmFsKSAtIG1ldHJpY3NBZHZh
bmNlVXBkYXRlOworICAgIG1fbmV4dFBsYXliYWNrUXVhbGl0eU1ldHJpY3NVcGRhdGVUaW1lID0g
TW9ub3RvbmljVGltZTo6bm93KCkgKyBTZWNvbmRzKGludGVydmFsKSAtIG1ldHJpY3NBZHZhbmNl
VXBkYXRlOwogfQogCiB2b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6Om1heWJlVXBkYXRlQ2Fj
aGVkVmlkZW9NZXRyaWNzKCkKIHsKLSAgICBpZiAobV9jYWNoZWRTdGF0ZS5wYXVzZWQgfHwgIW1f
dmlkZW9QbGF5YmFja01ldHJpY3NVcGRhdGVJbnRlcnZhbCB8fCBXYWxsVGltZTo6bm93KCkgPCBt
X25leHRQbGF5YmFja1F1YWxpdHlNZXRyaWNzVXBkYXRlVGltZSkKKyAgICBpZiAobV9jYWNoZWRT
dGF0ZS5wYXVzZWQgfHwgIW1fdmlkZW9QbGF5YmFja01ldHJpY3NVcGRhdGVJbnRlcnZhbCB8fCBN
b25vdG9uaWNUaW1lOjpub3coKSA8IG1fbmV4dFBsYXliYWNrUXVhbGl0eU1ldHJpY3NVcGRhdGVU
aW1lKQogICAgICAgICByZXR1cm47CiAKICAgICB1cGRhdGVDYWNoZWRWaWRlb01ldHJpY3MoKTsK
QEAgLTEwMTMsNyArMTAxNCw3IEBAIHZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6bWF5YmVV
cGRhdGVDYWNoZWRWaWRlb01ldHJpY3MoKQogdm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5Ojp1
cGRhdGVDYWNoZWRWaWRlb01ldHJpY3MoKQogewogICAgIEFMV0FZU19MT0coTE9HSURFTlRJRklF
Uik7Ci0gICAgbV9uZXh0UGxheWJhY2tRdWFsaXR5TWV0cmljc1VwZGF0ZVRpbWUgPSBXYWxsVGlt
ZTo6bm93KCkgKyBtX3ZpZGVvUGxheWJhY2tNZXRyaWNzVXBkYXRlSW50ZXJ2YWw7CisgICAgbV9u
ZXh0UGxheWJhY2tRdWFsaXR5TWV0cmljc1VwZGF0ZVRpbWUgPSBNb25vdG9uaWNUaW1lOjpub3co
KSArIG1fdmlkZW9QbGF5YmFja01ldHJpY3NVcGRhdGVJbnRlcnZhbDsKICAgICBtX2NhY2hlZFN0
YXRlLnZpZGVvTWV0cmljcyA9IG1fcGxheWVyLT52aWRlb1BsYXliYWNrUXVhbGl0eU1ldHJpY3Mo
KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90
ZU1lZGlhUGxheWVyUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1v
dGVNZWRpYVBsYXllclByb3h5LmgKaW5kZXggNDAzNTUxYTY0MTM0MGY3ZGUzNjljOWMyYWM2NzI0
YjE3NjNjNWRlNC4uNzcwZDdmYzIyNDliZGNjN2E0YmExNjhkZDliZDk3YzU3YmYxYzAyMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVy
UHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQ
bGF5ZXJQcm94eS5oCkBAIC0xODYsOCArMTg2LDggQEAgcHVibGljOgogICAgIHZvaWQgdmlkZW9U
cmFja1NldFNlbGVjdGVkKGNvbnN0IFRyYWNrUHJpdmF0ZVJlbW90ZUlkZW50aWZpZXImLCBib29s
KTsKICAgICB2b2lkIHRleHRUcmFja1NldE1vZGUoY29uc3QgVHJhY2tQcml2YXRlUmVtb3RlSWRl
bnRpZmllciYsIFdlYkNvcmU6OkluYmFuZFRleHRUcmFja1ByaXZhdGU6Ok1vZGUpOwogCi0gICAg
dXNpbmcgUGVyZm9ybVRhc2tBdE1lZGlhVGltZUNvbXBsZXRpb25IYW5kbGVyID0gQ29tcGxldGlv
bkhhbmRsZXI8dm9pZChPcHRpb25hbDxNZWRpYVRpbWU+LCBPcHRpb25hbDxXYWxsVGltZT4pPjsK
LSAgICB2b2lkIHBlcmZvcm1UYXNrQXRNZWRpYVRpbWUoY29uc3QgTWVkaWFUaW1lJiwgV2FsbFRp
bWUsIFBlcmZvcm1UYXNrQXRNZWRpYVRpbWVDb21wbGV0aW9uSGFuZGxlciYmKTsKKyAgICB1c2lu
ZyBQZXJmb3JtVGFza0F0TWVkaWFUaW1lQ29tcGxldGlvbkhhbmRsZXIgPSBDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKE9wdGlvbmFsPE1lZGlhVGltZT4sIE9wdGlvbmFsPE1vbm90b25pY1RpbWU+KT47
CisgICAgdm9pZCBwZXJmb3JtVGFza0F0TWVkaWFUaW1lKGNvbnN0IE1lZGlhVGltZSYsIE1vbm90
b25pY1RpbWUsIFBlcmZvcm1UYXNrQXRNZWRpYVRpbWVDb21wbGV0aW9uSGFuZGxlciYmKTsKICAg
ICB2b2lkIHdvdWxkVGFpbnRPcmlnaW4oc3RydWN0IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0
YSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChPcHRpb25hbDxib29sPik+JiYpOwogCiAgICAgdm9p
ZCBzZXRWaWRlb1BsYXliYWNrTWV0cmljc1VwZGF0ZUludGVydmFsKGRvdWJsZSk7CkBAIC0zMjks
NyArMzI5LDcgQEAgcHJpdmF0ZToKICNlbmRpZgogCiAgICAgU2Vjb25kcyBtX3ZpZGVvUGxheWJh
Y2tNZXRyaWNzVXBkYXRlSW50ZXJ2YWw7Ci0gICAgV2FsbFRpbWUgbV9uZXh0UGxheWJhY2tRdWFs
aXR5TWV0cmljc1VwZGF0ZVRpbWU7CisgICAgTW9ub3RvbmljVGltZSBtX25leHRQbGF5YmFja1F1
YWxpdHlNZXRyaWNzVXBkYXRlVGltZTsKIAogICAgIFdlYkNvcmU6OkludFNpemUgbV92aWRlb0lu
bGluZVNpemU7CiAgICAgZmxvYXQgbV92aWRlb0NvbnRlbnRTY2FsZSB7IDEuMCB9OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJv
eHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVk
aWFQbGF5ZXJQcm94eS5tZXNzYWdlcy5pbgppbmRleCA1ZDk2MmQ0MDMwMmY1NTkyNWRiZmNkNGYy
NGQxMDQxYzVlYTg3YWFmLi5kZTA2NjMyMDA2OGM2NjNlYmY0MmMxNDk4NzMzOWZjYTFiNGRhMDFm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQ
bGF5ZXJQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVk
aWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5tZXNzYWdlcy5pbgpAQCAtMTA1LDcgKzEwNSw3IEBA
IG1lc3NhZ2VzIC0+IFJlbW90ZU1lZGlhUGxheWVyUHJveHkgTm90UmVmQ291bnRlZCB7CiAgICAg
VmlkZW9UcmFja1NldFNlbGVjdGVkKFdlYktpdDo6VHJhY2tQcml2YXRlUmVtb3RlSWRlbnRpZmll
ciBpZGVudGlmaWVyLCBib29sIHNlbGVjdGVkKQogICAgIFRleHRUcmFja1NldE1vZGUoV2ViS2l0
OjpUcmFja1ByaXZhdGVSZW1vdGVJZGVudGlmaWVyIGlkZW50aWZpZXIsIGVudW06dWludDhfdCBX
ZWJDb3JlOjpJbmJhbmRUZXh0VHJhY2tQcml2YXRlOjpNb2RlIG1vZGUpCiAKLSAgICBQZXJmb3Jt
VGFza0F0TWVkaWFUaW1lKE1lZGlhVGltZSBtZWRpYVRpbWUsIFdhbGxUaW1lIG1lc3NhZ2VUaW1l
KSAtPiAoT3B0aW9uYWw8TWVkaWFUaW1lPiBtZWRpYVRpbWUsIE9wdGlvbmFsPFdhbGxUaW1lPiB3
YWxsVGltZSkgQXN5bmMKKyAgICBQZXJmb3JtVGFza0F0TWVkaWFUaW1lKE1lZGlhVGltZSBtZWRp
YVRpbWUsIE1vbm90b25pY1RpbWUgbWVzc2FnZVRpbWUpIC0+IChPcHRpb25hbDxNZWRpYVRpbWU+
IG1lZGlhVGltZSwgT3B0aW9uYWw8TW9ub3RvbmljVGltZT4gbW9ub3RvbmljVGltZSkgQXN5bmMK
ICAgICBXb3VsZFRhaW50T3JpZ2luKHN0cnVjdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEg
b3JpZ2luKSAtPiAoT3B0aW9uYWw8Ym9vbD4gd291bGRUYWludCkgU3luY2hyb25vdXMKIAogICAg
IFNldFZpZGVvUGxheWJhY2tNZXRyaWNzVXBkYXRlSW50ZXJ2YWwoZG91YmxlIGludGVydmFsKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXll
clByaXZhdGVSZW1vdGUuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9N
ZWRpYVBsYXllclByaXZhdGVSZW1vdGUuY3BwCmluZGV4IDcwZTIxMjg0MGU1OWVkYzE3Y2MyZmVl
N2IwYzZhMjVmMDBhNDhjNTYuLjNkOGE5MDE3YmNiNjc0NWQyMmU0YWE3ZDk4NGFjMWM0MDZmZGE0
NmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQ
bGF5ZXJQcml2YXRlUmVtb3RlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BV
L21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5jcHAKQEAgLTIwMyw5ICsyMDMsOSBAQCB2
b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6cGxheSgpCiB2b2lkIE1lZGlhUGxheWVyUHJp
dmF0ZVJlbW90ZTo6cGF1c2UoKQogewogICAgIG1fY2FjaGVkU3RhdGUucGF1c2VkID0gdHJ1ZTsK
LSAgICBhdXRvIG5vdyA9IFdhbGxUaW1lOjpub3coKTsKLSAgICBtX2NhY2hlZFN0YXRlLmN1cnJl
bnRUaW1lICs9IE1lZGlhVGltZTo6Y3JlYXRlV2l0aERvdWJsZShtX3JhdGUgKiAobm93IC0gbV9j
YWNoZWRTdGF0ZS53YWxsVGltZSkudmFsdWUoKSk7Ci0gICAgbV9jYWNoZWRTdGF0ZS53YWxsVGlt
ZSA9IG5vdzsKKyAgICBhdXRvIG5vdyA9IE1vbm90b25pY1RpbWU6Om5vdygpOworICAgIG1fY2Fj
aGVkU3RhdGUuY3VycmVudFRpbWUgKz0gTWVkaWFUaW1lOjpjcmVhdGVXaXRoRG91YmxlKG1fcmF0
ZSAqIChub3cgLSBtX2NhY2hlZFN0YXRlLnRpbWVzdGFtcCkudmFsdWUoKSk7CisgICAgbV9jYWNo
ZWRTdGF0ZS50aW1lc3RhbXAgPSBub3c7CiAgICAgY29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6
OlJlbW90ZU1lZGlhUGxheWVyUHJveHk6OlBhdXNlKCksIG1faWQpOwogfQogCkBAIC0yNTQsNyAr
MjU0LDcgQEAgTWVkaWFUaW1lIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6Y3VycmVudE1lZGlh
VGltZSgpIGNvbnN0CiAgICAgaWYgKG1fY2FjaGVkU3RhdGUucGF1c2VkIHx8ICFtX2NhY2hlZFN0
YXRlLmN1cnJlbnRUaW1lKQogICAgICAgICByZXR1cm4gbV9jYWNoZWRTdGF0ZS5jdXJyZW50VGlt
ZTsKIAotICAgIHJldHVybiBtX2NhY2hlZFN0YXRlLmN1cnJlbnRUaW1lICsgTWVkaWFUaW1lOjpj
cmVhdGVXaXRoRG91YmxlKG1fcmF0ZSAqIChXYWxsVGltZTo6bm93KCkgLSBtX2NhY2hlZFN0YXRl
LndhbGxUaW1lKS5zZWNvbmRzKCkpOworICAgIHJldHVybiBtX2NhY2hlZFN0YXRlLmN1cnJlbnRU
aW1lICsgTWVkaWFUaW1lOjpjcmVhdGVXaXRoRG91YmxlKG1fcmF0ZSAqIChNb25vdG9uaWNUaW1l
Ojpub3coKSAtIG1fY2FjaGVkU3RhdGUudGltZXN0YW1wKS5zZWNvbmRzKCkpOwogfQogCiB2b2lk
IE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6c2Vlayhjb25zdCBNZWRpYVRpbWUmIHRpbWUpCkBA
IC0zNDgsMTEgKzM0OCwxMSBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6cmF0ZUNo
YW5nZWQoZG91YmxlIHJhdGUpCiAgICAgbV9wbGF5ZXItPnJhdGVDaGFuZ2VkKCk7CiB9CiAKLXZv
aWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpwbGF5YmFja1N0YXRlQ2hhbmdlZChib29sIHBh
dXNlZCwgTWVkaWFUaW1lJiYgbWVkaWFUaW1lLCBXYWxsVGltZSYmIHdhbGxUaW1lKQordm9pZCBN
ZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnBsYXliYWNrU3RhdGVDaGFuZ2VkKGJvb2wgcGF1c2Vk
LCBNZWRpYVRpbWUmJiBtZWRpYVRpbWUsIE1vbm90b25pY1RpbWUmJiB3YWxsVGltZSkKIHsKICAg
ICBtX2NhY2hlZFN0YXRlLnBhdXNlZCA9IHBhdXNlZDsKICAgICBtX2NhY2hlZFN0YXRlLmN1cnJl
bnRUaW1lID0gbWVkaWFUaW1lOwotICAgIG1fY2FjaGVkU3RhdGUud2FsbFRpbWUgPSB3YWxsVGlt
ZTsKKyAgICBtX2NhY2hlZFN0YXRlLnRpbWVzdGFtcCA9IHdhbGxUaW1lOwogICAgIG1fcGxheWVy
LT5wbGF5YmFja1N0YXRlQ2hhbmdlZCgpOwogfQogCkBAIC00MjcsNyArNDI3LDcgQEAgdm9pZCBN
ZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnVwZGF0ZUNhY2hlZFN0YXRlKFJlbW90ZU1lZGlhUGxh
eWVyU3RhdGUmJiBzdGF0ZSkKIHsKICAgICBjb25zdCBTZWNvbmRzIHBsYXliYWNrUXVhbGl0eU1l
dHJpY3NUaW1lb3V0ID0gMzBfczsKIAotICAgIG1fY2FjaGVkU3RhdGUud2FsbFRpbWUgPSBzdGF0
ZS53YWxsVGltZTsKKyAgICBtX2NhY2hlZFN0YXRlLnRpbWVzdGFtcCA9IHN0YXRlLnRpbWVzdGFt
cDsKICAgICBtX2NhY2hlZFN0YXRlLmN1cnJlbnRUaW1lID0gc3RhdGUuY3VycmVudFRpbWU7CiAg
ICAgbV9jYWNoZWRTdGF0ZS5kdXJhdGlvbiA9IHN0YXRlLmR1cmF0aW9uOwogICAgIG1fY2FjaGVk
U3RhdGUubWluVGltZVNlZWthYmxlID0gc3RhdGUubWluVGltZVNlZWthYmxlOwpAQCAtNDUzLDcg
KzQ1Myw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjp1cGRhdGVDYWNoZWRTdGF0
ZShSZW1vdGVNZWRpYVBsYXllclN0YXRlJiYgc3RhdGUpCiAKICAgICBpZiAoc3RhdGUudmlkZW9N
ZXRyaWNzKQogICAgICAgICBtX2NhY2hlZFN0YXRlLnZpZGVvTWV0cmljcyA9IHN0YXRlLnZpZGVv
TWV0cmljczsKLSAgICBpZiAobV92aWRlb1BsYXliYWNrTWV0cmljc1VwZGF0ZUludGVydmFsICYm
IChXYWxsVGltZTo6bm93KCkgLSBtX2xhc3RQbGF5YmFja1F1YWxpdHlNZXRyaWNzUXVlcnlUaW1l
KSA+IHBsYXliYWNrUXVhbGl0eU1ldHJpY3NUaW1lb3V0KQorICAgIGlmIChtX3ZpZGVvUGxheWJh
Y2tNZXRyaWNzVXBkYXRlSW50ZXJ2YWwgJiYgKE1vbm90b25pY1RpbWU6Om5vdygpIC0gbV9sYXN0
UGxheWJhY2tRdWFsaXR5TWV0cmljc1F1ZXJ5VGltZSkgPiBwbGF5YmFja1F1YWxpdHlNZXRyaWNz
VGltZW91dCkKICAgICAgICAgdXBkYXRlVmlkZW9QbGF5YmFja01ldHJpY3NVcGRhdGVJbnRlcnZh
bCgwX3MpOwogCiAgICAgbV9jYWNoZWRTdGF0ZS5oYXNDbG9zZWRDYXB0aW9ucyA9IHN0YXRlLmhh
c0Nsb3NlZENhcHRpb25zOwpAQCAtMTE4Myw3ICsxMTgzLDcgQEAgT3B0aW9uYWw8VmlkZW9QbGF5
YmFja1F1YWxpdHlNZXRyaWNzPiBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnZpZGVvUGxheWJh
Y2tRdWEKIHsKICAgICBjb25zdCBTZWNvbmRzIG1heGltdW1QbGF5YmFja1F1YWxpdHlNZXRyaWNz
U2FtcGxlVGltZURlbHRhID0gMC4yNV9zOwogCi0gICAgYXV0byBub3cgPSBXYWxsVGltZTo6bm93
KCk7CisgICAgYXV0byBub3cgPSBNb25vdG9uaWNUaW1lOjpub3coKTsKICAgICBhdXRvIHRpbWVT
aW5jZUxhc3RRdWVyeSA9IG5vdyAtIG1fbGFzdFBsYXliYWNrUXVhbGl0eU1ldHJpY3NRdWVyeVRp
bWU7CiAgICAgaWYgKCFtX3ZpZGVvUGxheWJhY2tNZXRyaWNzVXBkYXRlSW50ZXJ2YWwpCiAgICAg
ICAgIHVwZGF0ZVZpZGVvUGxheWJhY2tNZXRyaWNzVXBkYXRlSW50ZXJ2YWwoMV9zKTsKQEAgLTEy
MjAsMTYgKzEyMjAsMTYgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OmFwcGxpY2F0
aW9uRGlkQmVjb21lQWN0aXZlKCkKIAogYm9vbCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnBl
cmZvcm1UYXNrQXRNZWRpYVRpbWUoV1RGOjpGdW5jdGlvbjx2b2lkKCk+JiYgY29tcGxldGlvbkhh
bmRsZXIsIGNvbnN0IE1lZGlhVGltZSYgbWVkaWFUaW1lKQogewotICAgIGF1dG8gYXN5bmNSZXBs
eUhhbmRsZXIgPSBbd2Vha1RoaXMgPSBtYWtlV2Vha1B0cigqdGhpcyksIHRoaXMsIGNvbXBsZXRp
b25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildKE9wdGlvbmFsPE1lZGlhVGlt
ZT4gY3VycmVudFRpbWUsIE9wdGlvbmFsPFdhbGxUaW1lPiB3YWxsVGltZSkgbXV0YWJsZSB7Cisg
ICAgYXV0byBhc3luY1JlcGx5SGFuZGxlciA9IFt3ZWFrVGhpcyA9IG1ha2VXZWFrUHRyKCp0aGlz
KSwgdGhpcywgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0o
T3B0aW9uYWw8TWVkaWFUaW1lPiBjdXJyZW50VGltZSwgT3B0aW9uYWw8TW9ub3RvbmljVGltZT4g
d2FsbFRpbWUpIG11dGFibGUgewogICAgICAgICBpZiAoIXdlYWtUaGlzIHx8ICFjdXJyZW50VGlt
ZSB8fCAhd2FsbFRpbWUpCiAgICAgICAgICAgICByZXR1cm47CiAKICAgICAgICAgbV9jYWNoZWRT
dGF0ZS5jdXJyZW50VGltZSA9ICpjdXJyZW50VGltZTsKLSAgICAgICAgbV9jYWNoZWRTdGF0ZS53
YWxsVGltZSA9ICp3YWxsVGltZTsKKyAgICAgICAgbV9jYWNoZWRTdGF0ZS50aW1lc3RhbXAgPSAq
d2FsbFRpbWU7CiAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7CiAgICAgfTsKIAotICAgIGNv
bm5lY3Rpb24oKS5zZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6OlJlbW90ZU1lZGlhUGxheWVy
UHJveHk6OlBlcmZvcm1UYXNrQXRNZWRpYVRpbWUobWVkaWFUaW1lLCBXYWxsVGltZTo6bm93KCkp
LCBXVEZNb3ZlKGFzeW5jUmVwbHlIYW5kbGVyKSwgbV9pZCk7CisgICAgY29ubmVjdGlvbigpLnNl
bmRXaXRoQXN5bmNSZXBseShNZXNzYWdlczo6UmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6UGVyZm9y
bVRhc2tBdE1lZGlhVGltZShtZWRpYVRpbWUsIE1vbm90b25pY1RpbWU6Om5vdygpKSwgV1RGTW92
ZShhc3luY1JlcGx5SGFuZGxlciksIG1faWQpOwogCiAgICAgcmV0dXJuIHRydWU7CiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJp
dmF0ZVJlbW90ZS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBs
YXllclByaXZhdGVSZW1vdGUuaAppbmRleCBiNWM0OWM2OTAzMzY1ZjFjNTRkZGYzYjExNmUyZjdj
NDRjY2M4NDNhLi41ODI0MWI2M2E3MTIzZGU2MjA3MGI4NjIwZTI4ZjhiODIwMzk3YzFhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJp
dmF0ZVJlbW90ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVk
aWFQbGF5ZXJQcml2YXRlUmVtb3RlLmgKQEAgLTk5LDcgKzk5LDcgQEAgcHVibGljOgogICAgIHZv
aWQgdGltZUNoYW5nZWQoUmVtb3RlTWVkaWFQbGF5ZXJTdGF0ZSYmKTsKICAgICB2b2lkIGR1cmF0
aW9uQ2hhbmdlZChSZW1vdGVNZWRpYVBsYXllclN0YXRlJiYpOwogICAgIHZvaWQgcmF0ZUNoYW5n
ZWQoZG91YmxlKTsKLSAgICB2b2lkIHBsYXliYWNrU3RhdGVDaGFuZ2VkKGJvb2wsIE1lZGlhVGlt
ZSYmLCBXYWxsVGltZSYmKTsKKyAgICB2b2lkIHBsYXliYWNrU3RhdGVDaGFuZ2VkKGJvb2wsIE1l
ZGlhVGltZSYmLCBNb25vdG9uaWNUaW1lJiYpOwogICAgIHZvaWQgZW5naW5lRmFpbGVkVG9Mb2Fk
KGxvbmcpOwogICAgIHZvaWQgdXBkYXRlQ2FjaGVkU3RhdGUoUmVtb3RlTWVkaWFQbGF5ZXJTdGF0
ZSYmKTsKICAgICB2b2lkIGNoYXJhY3RlcmlzdGljQ2hhbmdlZChSZW1vdGVNZWRpYVBsYXllclN0
YXRlJiYpOwpAQCAtNDE1LDcgKzQxNSw3IEBAIHByaXZhdGU6CiAgICAgV2ViQ29yZTo6U2VjdXJp
dHlPcmlnaW5EYXRhIG1fZG9jdW1lbnRTZWN1cml0eU9yaWdpbjsKICAgICBtdXRhYmxlIEhhc2hN
YXA8V2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhLCBPcHRpb25hbDxib29sPj4gbV93b3VsZFRh
aW50T3JpZ2luQ2FjaGU7CiAKLSAgICBXYWxsVGltZSBtX2xhc3RQbGF5YmFja1F1YWxpdHlNZXRy
aWNzUXVlcnlUaW1lOworICAgIE1vbm90b25pY1RpbWUgbV9sYXN0UGxheWJhY2tRdWFsaXR5TWV0
cmljc1F1ZXJ5VGltZTsKICAgICBTZWNvbmRzIG1fdmlkZW9QbGF5YmFja01ldHJpY3NVcGRhdGVJ
bnRlcnZhbDsKICAgICBkb3VibGUgbV92b2x1bWUgeyAxIH07CiAgICAgZG91YmxlIG1fcmF0ZSB7
IDEgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVk
aWFQbGF5ZXJQcml2YXRlUmVtb3RlLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUubWVzc2FnZXMuaW4KaW5kZXgg
NjgzMDk5MzI1ZmNlNzYxMzNjZGI0ODEwYjZiOTNmNjBkNGVhNzU3Ni4uNzU0NTU3NjIzNGM4Nzhl
MDhmMjc1OTE2ZDhhN2Y4M2ZiZDZjZDk1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUubWVzc2FnZXMuaW4KKysr
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVS
ZW1vdGUubWVzc2FnZXMuaW4KQEAgLTMyLDcgKzMyLDcgQEAgbWVzc2FnZXMgLT4gTWVkaWFQbGF5
ZXJQcml2YXRlUmVtb3RlIE5vdFJlZkNvdW50ZWQgewogICAgIFRpbWVDaGFuZ2VkKHN0cnVjdCBX
ZWJLaXQ6OlJlbW90ZU1lZGlhUGxheWVyU3RhdGUgc3RhdGUpCiAgICAgRHVyYXRpb25DaGFuZ2Vk
KHN0cnVjdCBXZWJLaXQ6OlJlbW90ZU1lZGlhUGxheWVyU3RhdGUgc3RhdGUpCiAgICAgUmF0ZUNo
YW5nZWQoZG91YmxlIHJhdGUpCi0gICAgUGxheWJhY2tTdGF0ZUNoYW5nZWQoYm9vbCBwYXVzZWQs
IE1lZGlhVGltZSBtZWRpYVRpbWUsIFdhbGxUaW1lIHdhbGxUaW1lKQorICAgIFBsYXliYWNrU3Rh
dGVDaGFuZ2VkKGJvb2wgcGF1c2VkLCBNZWRpYVRpbWUgbWVkaWFUaW1lLCBNb25vdG9uaWNUaW1l
IHdhbGxUaW1lKQogICAgIEVuZ2luZUZhaWxlZFRvTG9hZChpbnQgcGxhdGZvcm1FcnJvckNvZGUp
CiAgICAgVXBkYXRlQ2FjaGVkU3RhdGUoc3RydWN0IFdlYktpdDo6UmVtb3RlTWVkaWFQbGF5ZXJT
dGF0ZSBzdGF0ZSkKICAgICBDaGFyYWN0ZXJpc3RpY0NoYW5nZWQoc3RydWN0IFdlYktpdDo6UmVt
b3RlTWVkaWFQbGF5ZXJTdGF0ZSBzdGF0ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJTdGF0ZS5oIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclN0YXRlLmgKaW5kZXggZTYw
ZTY0NjkyODVjZTMwMDY0NGNiMDM3NGY2ZDUyZWU1MDJiNzg3ZC4uYmY0ZjliNTJhZTRkZmZiODFl
MWJmZmI5ZWRlMWRmMmUwYWYyYWU5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclN0YXRlLmgKKysrIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclN0YXRlLmgKQEAgLTMyLDEy
ICszMiwxMiBAQAogI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1UaW1lUmFuZ2VzLmg+CiAjaW5j
bHVkZSA8V2ViQ29yZS9WaWRlb1BsYXliYWNrUXVhbGl0eU1ldHJpY3MuaD4KICNpbmNsdWRlIDx3
dGYvTWVkaWFUaW1lLmg+Ci0jaW5jbHVkZSA8d3RmL1dhbGxUaW1lLmg+CisjaW5jbHVkZSA8d3Rm
L01vbm90b25pY1RpbWUuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKIHN0cnVjdCBSZW1vdGVN
ZWRpYVBsYXllclN0YXRlIHsKLSAgICBXYWxsVGltZSB3YWxsVGltZTsKKyAgICBNb25vdG9uaWNU
aW1lIHRpbWVzdGFtcDsKICAgICBNZWRpYVRpbWUgY3VycmVudFRpbWU7CiAgICAgTWVkaWFUaW1l
IGR1cmF0aW9uOwogICAgIE1lZGlhVGltZSBtaW5UaW1lU2Vla2FibGU7CkBAIC03Miw3ICs3Miw3
IEBAIHN0cnVjdCBSZW1vdGVNZWRpYVBsYXllclN0YXRlIHsKICAgICB0ZW1wbGF0ZTxjbGFzcyBF
bmNvZGVyPgogICAgIHZvaWQgZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0CiAgICAgewot
ICAgICAgICBlbmNvZGVyIDw8IHdhbGxUaW1lOworICAgICAgICBlbmNvZGVyIDw8IHRpbWVzdGFt
cDsKICAgICAgICAgZW5jb2RlciA8PCBjdXJyZW50VGltZTsKICAgICAgICAgZW5jb2RlciA8PCBk
dXJhdGlvbjsKICAgICAgICAgZW5jb2RlciA8PCBtaW5UaW1lU2Vla2FibGU7CkBAIC0xMDgsOSAr
MTA4LDkgQEAgc3RydWN0IFJlbW90ZU1lZGlhUGxheWVyU3RhdGUgewogICAgIHRlbXBsYXRlIDxj
bGFzcyBEZWNvZGVyPgogICAgIHN0YXRpYyBPcHRpb25hbDxSZW1vdGVNZWRpYVBsYXllclN0YXRl
PiBkZWNvZGUoRGVjb2RlciYgZGVjb2RlcikKICAgICB7Ci0gICAgICAgIE9wdGlvbmFsPFdhbGxU
aW1lPiB3YWxsVGltZTsKLSAgICAgICAgZGVjb2RlciA+PiB3YWxsVGltZTsKLSAgICAgICAgaWYg
KCF3YWxsVGltZSkKKyAgICAgICAgT3B0aW9uYWw8TW9ub3RvbmljVGltZT4gdGltZXN0YW1wOwor
ICAgICAgICBkZWNvZGVyID4+IHRpbWVzdGFtcDsKKyAgICAgICAgaWYgKCF0aW1lc3RhbXApCiAg
ICAgICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwogCiAgICAgICAgIE9wdGlvbmFsPE1lZGlh
VGltZT4gY3VycmVudFRpbWU7CkBAIC0yNjAsNyArMjYwLDcgQEAgc3RydWN0IFJlbW90ZU1lZGlh
UGxheWVyU3RhdGUgewogICAgICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKIAogICAgICAg
ICByZXR1cm4ge3sKLSAgICAgICAgICAgIFdURk1vdmUoKndhbGxUaW1lKSwKKyAgICAgICAgICAg
IFdURk1vdmUoKnRpbWVzdGFtcCksCiAgICAgICAgICAgICBXVEZNb3ZlKCpjdXJyZW50VGltZSks
CiAgICAgICAgICAgICBXVEZNb3ZlKCpkdXJhdGlvbiksCiAgICAgICAgICAgICBXVEZNb3ZlKCpt
aW5UaW1lU2Vla2FibGUpLAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>