<?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>80514</bug_id>
          
          <creation_ts>2012-03-07 07:57:36 -0800</creation_ts>
          <short_desc>[chromium] Times in the cc should be expressed in seconds.</short_desc>
          <delta_ts>2012-03-19 19:16:09 -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>WebKit Misc.</component>
          <version>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>79537</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter>vollick</reporter>
          <assigned_to>vollick</assigned_to>
          <cc>cc-bugs</cc>
    
    <cc>jamesr</cc>
    
    <cc>nduca</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>572886</commentid>
    <comment_count>0</comment_count>
    <who name="">vollick</who>
    <bug_when>2012-03-07 07:57:36 -0800</bug_when>
    <thetext>Milliseconds are used a lot -- seconds should be used instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>573011</commentid>
    <comment_count>1</comment_count>
      <attachid>130647</attachid>
    <who name="">vollick</who>
    <bug_when>2012-03-07 10:49:01 -0800</bug_when>
    <thetext>Created attachment 130647
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>573031</commentid>
    <comment_count>2</comment_count>
      <attachid>130647</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-03-07 11:14:29 -0800</bug_when>
    <thetext>Comment on attachment 130647
Patch

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

&gt; Source/WebCore/platform/graphics/chromium/cc/CCDelayBasedTimeSource.cpp:36
&gt; +PassRefPtr&lt;CCDelayBasedTimeSource&gt; CCDelayBasedTimeSource::create(double interval, double dummy, CCThread* thread)

what&apos;s &quot;dummy&quot; for?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>573099</commentid>
    <comment_count>3</comment_count>
      <attachid>130666</attachid>
    <who name="">vollick</who>
    <bug_when>2012-03-07 12:06:40 -0800</bug_when>
    <thetext>Created attachment 130666
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>573101</commentid>
    <comment_count>4</comment_count>
    <who name="">vollick</who>
    <bug_when>2012-03-07 12:09:31 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 130647 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=130647&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/chromium/cc/CCDelayBasedTimeSource.cpp:36
&gt; &gt; +PassRefPtr&lt;CCDelayBasedTimeSource&gt; CCDelayBasedTimeSource::create(double interval, double dummy, CCThread* thread)
&gt; 
&gt; what&apos;s &quot;dummy&quot; for?

Sorry -- I was in the process of removing those (should be gone in the latest patch). I was just breaking signatures.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>574999</commentid>
    <comment_count>5</comment_count>
      <attachid>131060</attachid>
    <who name="">vollick</who>
    <bug_when>2012-03-09 10:36:15 -0800</bug_when>
    <thetext>Created attachment 131060
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>575106</commentid>
    <comment_count>6</comment_count>
      <attachid>131060</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-03-09 12:53:06 -0800</bug_when>
    <thetext>Comment on attachment 131060
Patch

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

Cool

&gt; Source/WebCore/platform/graphics/chromium/cc/CCDelayBasedTimeSource.cpp:96
&gt; +double CCDelayBasedTimeSource::monotonicallyIncreasingTime() const

we can probably just delete this function completely at this point</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>575112</commentid>
    <comment_count>7</comment_count>
    <who name="">vollick</who>
    <bug_when>2012-03-09 12:58:10 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 131060 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=131060&amp;action=review
&gt; 
&gt; Cool
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/chromium/cc/CCDelayBasedTimeSource.cpp:96
&gt; &gt; +double CCDelayBasedTimeSource::monotonicallyIncreasingTime() const
&gt; 
&gt; we can probably just delete this function completely at this point

I thought the same thing. The only reason I kept it around was because it is overridden in the test code to fake different monotonic times.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>579380</commentid>
    <comment_count>8</comment_count>
    <who name="">vollick</who>
    <bug_when>2012-03-15 07:50:28 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (In reply to comment #6)
&gt; &gt; (From update of attachment 131060 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=131060&amp;action=review
&gt; &gt; 
&gt; &gt; Cool
&gt; &gt; 
&gt; &gt; &gt; Source/WebCore/platform/graphics/chromium/cc/CCDelayBasedTimeSource.cpp:96
&gt; &gt; &gt; +double CCDelayBasedTimeSource::monotonicallyIncreasingTime() const
&gt; &gt; 
&gt; &gt; we can probably just delete this function completely at this point
&gt; 
&gt; I thought the same thing. The only reason I kept it around was because it is overridden in the test code to fake different monotonic times.

James, are you comfortable keeping this method around for testing purposes?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>581354</commentid>
    <comment_count>9</comment_count>
      <attachid>132467</attachid>
    <who name="">vollick</who>
    <bug_when>2012-03-17 12:22:55 -0700</bug_when>
    <thetext>Created attachment 132467
Patch

Freshened patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>582528</commentid>
    <comment_count>10</comment_count>
      <attachid>132467</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-03-19 17:39:25 -0700</bug_when>
    <thetext>Comment on attachment 132467
Patch

Still looks good.  Dunno if this will apply still, but worth a shot.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>582616</commentid>
    <comment_count>11</comment_count>
      <attachid>132467</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-19 19:16:05 -0700</bug_when>
    <thetext>Comment on attachment 132467
Patch

Clearing flags on attachment: 132467

Committed r111308: &lt;http://trac.webkit.org/changeset/111308&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>582617</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-19 19:16:09 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>130647</attachid>
            <date>2012-03-07 10:49:01 -0800</date>
            <delta_ts>2012-03-07 12:06:38 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80514-20120307134900.patch</filename>
            <type>text/plain</type>
            <size>28383</size>
            <attacher>vollick</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA5OTM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0RlbGF5QmFzZWRUaW1lU291cmNlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDRGVsYXlCYXNl
ZFRpbWVTb3VyY2UuY3BwCmluZGV4IGU3YjE5YTc2MDUwNGVmNzRjODQzNDA2MDUzYWY0MGM5MzMz
NDAzNTQuLmE0YzVkMDhiYTM5OTQ3MzFiNTg3YWQ3OTkwYWUzNDJlYjk5NjdiZDMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDRGVsYXlC
YXNlZFRpbWVTb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL2NjL0NDRGVsYXlCYXNlZFRpbWVTb3VyY2UuY3BwCkBAIC0zMywxNSArMzMsMTUg
QEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1QYXNzUmVmUHRyPENDRGVsYXlCYXNlZFRpbWVT
b3VyY2U+IENDRGVsYXlCYXNlZFRpbWVTb3VyY2U6OmNyZWF0ZShkb3VibGUgaW50ZXJ2YWxNcywg
Q0NUaHJlYWQqIHRocmVhZCkKK1Bhc3NSZWZQdHI8Q0NEZWxheUJhc2VkVGltZVNvdXJjZT4gQ0NE
ZWxheUJhc2VkVGltZVNvdXJjZTo6Y3JlYXRlKGRvdWJsZSBpbnRlcnZhbCwgZG91YmxlIGR1bW15
LCBDQ1RocmVhZCogdGhyZWFkKQogewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgQ0NEZWxheUJh
c2VkVGltZVNvdXJjZShpbnRlcnZhbE1zLCB0aHJlYWQpKTsKKyAgICByZXR1cm4gYWRvcHRSZWYo
bmV3IENDRGVsYXlCYXNlZFRpbWVTb3VyY2UoaW50ZXJ2YWwsIHRocmVhZCkpOwogfQogCi1DQ0Rl
bGF5QmFzZWRUaW1lU291cmNlOjpDQ0RlbGF5QmFzZWRUaW1lU291cmNlKGRvdWJsZSBpbnRlcnZh
bE1zLCBDQ1RocmVhZCogdGhyZWFkKQorQ0NEZWxheUJhc2VkVGltZVNvdXJjZTo6Q0NEZWxheUJh
c2VkVGltZVNvdXJjZShkb3VibGUgaW50ZXJ2YWwsIENDVGhyZWFkKiB0aHJlYWQpCiAgICAgOiBt
X2NsaWVudCgwKQogICAgICwgbV9oYXNUaWNrVGFyZ2V0KGZhbHNlKQotICAgICwgbV9pbnRlcnZh
bE1zKGludGVydmFsTXMpCisgICAgLCBtX2ludGVydmFsKGludGVydmFsKQogICAgICwgbV90aWNr
VGFyZ2V0KDApCiAgICAgLCBtX3N0YXRlKFNUQVRFX0lOQUNUSVZFKQogICAgICwgbV90aW1lcih0
aHJlYWQsIHRoaXMpCkBAIC02NCwzOCArNjQsMzggQEAgdm9pZCBDQ0RlbGF5QmFzZWRUaW1lU291
cmNlOjpzZXRBY3RpdmUoYm9vbCBhY3RpdmUpCiAgICAgICAgIC8vIGl0IHJ1bnMsIHdlIHVzZSB0
aGF0IHRvIGVzdGFibGlzaCB0aGUgdGltZWJhc2UsIGJlY29tZSB0cnVseSBhY3RpdmUsIGFuZAog
ICAgICAgICAvLyBmaXJlIHRoZSBmaXJzdCB0aWNrLgogICAgICAgICBtX3N0YXRlID0gU1RBVEVf
U1RBUlRJTkc7Ci0gICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3Rp
bWVyLnN0YXJ0T25lU2hvdCgwLCAwKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIG1f
c3RhdGUgPSBTVEFURV9BQ1RJVkU7CiAKLSAgICBkb3VibGUgbm93TXMgPSBtb25vdG9uaWNhbGx5
SW5jcmVhc2luZ1RpbWVNcygpOwotICAgIHBvc3ROZXh0VGlja1Rhc2sobm93TXMpOworICAgIGRv
dWJsZSBub3cgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKKyAgICBwb3N0TmV4dFRp
Y2tUYXNrKG5vdywgbm93KTsKIH0KIAogdm9pZCBDQ0RlbGF5QmFzZWRUaW1lU291cmNlOjpvblRp
bWVyRmlyZWQoKQogewogICAgIEFTU0VSVChtX3N0YXRlICE9IFNUQVRFX0lOQUNUSVZFKTsKIAot
ICAgIGRvdWJsZSBub3dNcyA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZU1zKCk7CisgICAg
ZG91YmxlIG5vdyA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwogCiAgICAgaWYgKG1f
c3RhdGUgPT0gU1RBVEVfU1RBUlRJTkcpIHsKICAgICAgICAgbV9oYXNUaWNrVGFyZ2V0ID0gdHJ1
ZTsKLSAgICAgICAgbV90aWNrVGFyZ2V0ID0gbm93TXM7CisgICAgICAgIG1fdGlja1RhcmdldCA9
IG5vdzsKICAgICAgICAgbV9zdGF0ZSA9IFNUQVRFX0FDVElWRTsKICAgICB9CiAKLSAgICBwb3N0
TmV4dFRpY2tUYXNrKG5vd01zKTsKKyAgICBwb3N0TmV4dFRpY2tUYXNrKG5vdywgbm93KTsKIAog
ICAgIC8vIEZpcmUgdGhlIHRpY2sKICAgICBpZiAobV9jbGllbnQpCiAgICAgICAgIG1fY2xpZW50
LT5vblRpbWVyVGljaygpOwogfQogCi1kb3VibGUgQ0NEZWxheUJhc2VkVGltZVNvdXJjZTo6bW9u
b3RvbmljYWxseUluY3JlYXNpbmdUaW1lTXMoKSBjb25zdAorZG91YmxlIENDRGVsYXlCYXNlZFRp
bWVTb3VyY2U6Om1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpIGNvbnN0CiB7Ci0gICAgcmV0
dXJuIFdURjo6bW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkgKiAxMDAwLjA7CisgICAgcmV0
dXJuIFdURjo6bW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7CiB9CiAKIC8vIFRoaXMgY29k
ZSB0cmllcyB0byBhY2hpZXZlIGFuIGF2ZXJhZ2UgdGljayByYXRlIGFzIGNsb3NlIHRvIG1faW50
ZXJ2YWxNcyBhcyBwb3NzaWJsZS4KQEAgLTE0MSwyMSArMTQxLDIzIEBAIGRvdWJsZSBDQ0RlbGF5
QmFzZWRUaW1lU291cmNlOjptb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWVNcygpIGNvbnN0CiAv
LwogLy8gRm9yIHRoZSByZWFsbHkgbGF0ZSBkZWxheSwgd2Ugd2UgbW92ZSB0byB0aGUgbmV4dCBs
b2dpY2FsIHRpY2suIFRoZSB0aW1lYmFzZSBpcyBub3QgcmVzZXQuCiAvLyAgICAgIG5vdz0zNyAg
IHRpY2tUYXJnZXQ9MTYuNjY3ICBuZXdUYXJnZXQ9NTAuMDAwICAtLT4gdGljaygpLCBwb3N0RGVs
YXllZFRhc2soZmxvb3IoNTAuMDAwLTM3KSkgLS0+IHBvc3REZWxheWVkVGFzaygxMykKLXZvaWQg
Q0NEZWxheUJhc2VkVGltZVNvdXJjZTo6cG9zdE5leHRUaWNrVGFzayhkb3VibGUgbm93TXMpCisv
LworLy8gTm90ZSwgdGhhdCBpbiB0aGUgYWJvdmUgZGlzY3Vzc2lvbiwgdGltZXMgYXJlIGV4cHJl
c3NlZCBpbiBtaWxsaXNlY29uZHMsIGJ1dCBpbiB0aGUgY29kZSwgc2Vjb25kcyBhcmUgdXNlZC4K
K3ZvaWQgQ0NEZWxheUJhc2VkVGltZVNvdXJjZTo6cG9zdE5leHRUaWNrVGFzayhkb3VibGUgbm93
LCBkb3VibGUgZHVtbXkpCiB7Ci0gICAgaW50IG51bUludGVydmFsc0VsYXBzZWQgPSBzdGF0aWNf
Y2FzdDxpbnQ+KGZsb29yKChub3dNcyAtIG1fdGlja1RhcmdldCkgLyBtX2ludGVydmFsTXMpKTsK
LSAgICBkb3VibGUgbGFzdEVmZmVjdGl2ZVRpY2sgPSBtX3RpY2tUYXJnZXQgKyBtX2ludGVydmFs
TXMgKiBudW1JbnRlcnZhbHNFbGFwc2VkOwotICAgIGRvdWJsZSBuZXdUaWNrVGFyZ2V0ID0gbGFz
dEVmZmVjdGl2ZVRpY2sgKyBtX2ludGVydmFsTXM7Ci0KLSAgICBsb25nIGxvbmcgZGVsYXkgPSBz
dGF0aWNfY2FzdDxsb25nIGxvbmc+KG5ld1RpY2tUYXJnZXQgLSBub3dNcyk7Ci0gICAgaWYgKCFk
ZWxheSkgewotICAgICAgICBuZXdUaWNrVGFyZ2V0ID0gbmV3VGlja1RhcmdldCArIG1faW50ZXJ2
YWxNczsKLSAgICAgICAgZGVsYXkgPSBzdGF0aWNfY2FzdDxsb25nIGxvbmc+KG5ld1RpY2tUYXJn
ZXQgLSBub3dNcyk7CisgICAgaW50IG51bUludGVydmFsc0VsYXBzZWQgPSBzdGF0aWNfY2FzdDxp
bnQ+KGZsb29yKChub3cgLSBtX3RpY2tUYXJnZXQpIC8gbV9pbnRlcnZhbCkpOworICAgIGRvdWJs
ZSBsYXN0RWZmZWN0aXZlVGljayA9IG1fdGlja1RhcmdldCArIG1faW50ZXJ2YWwgKiBudW1JbnRl
cnZhbHNFbGFwc2VkOworICAgIGRvdWJsZSBuZXdUaWNrVGFyZ2V0ID0gbGFzdEVmZmVjdGl2ZVRp
Y2sgKyBtX2ludGVydmFsOworCisgICAgbG9uZyBsb25nIGRlbGF5TXMgPSBzdGF0aWNfY2FzdDxs
b25nIGxvbmc+KChuZXdUaWNrVGFyZ2V0IC0gbm93KSAqIDEwMDAuMCk7CisgICAgaWYgKCFkZWxh
eU1zKSB7CisgICAgICAgIG5ld1RpY2tUYXJnZXQgPSBuZXdUaWNrVGFyZ2V0ICsgbV9pbnRlcnZh
bDsKKyAgICAgICAgZGVsYXlNcyA9IHN0YXRpY19jYXN0PGxvbmcgbG9uZz4oKG5ld1RpY2tUYXJn
ZXQgLSBub3cpICogMTAwMC4wKTsKICAgICB9CiAKICAgICAvLyBQb3N0IGFub3RoZXIgdGFzayAq
YmVmb3JlKiB0aGUgdGljayBhbmQgdXBkYXRlIHN0YXRlCi0gICAgQVNTRVJUKG5ld1RpY2tUYXJn
ZXQgPiBub3dNcyk7Ci0gICAgbV90aW1lci5zdGFydE9uZVNob3QoZGVsYXkpOworICAgIEFTU0VS
VChuZXdUaWNrVGFyZ2V0ID4gbm93KTsKKyAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChkZWxheU1z
IC8gMTAwMC4wLCAwKTsKICAgICBtX3RpY2tUYXJnZXQgPSBuZXdUaWNrVGFyZ2V0OwogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9D
Q0RlbGF5QmFzZWRUaW1lU291cmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9jYy9DQ0RlbGF5QmFzZWRUaW1lU291cmNlLmgKaW5kZXggYTQxYWFkNGQ4NDI5
MjY4YjIyMDhhNTBjOGE0MjU4ZTc4YmNhYmU3My4uZTc0ZjU1YWYwMDViOWYzNDAyYmI1YTMwOTVm
ZTZhZmYxNWI1ZWJiNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vY2MvQ0NEZWxheUJhc2VkVGltZVNvdXJjZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDRGVsYXlCYXNlZFRpbWVTb3VyY2Uu
aApAQCAtMzgsNyArMzgsNyBAQCBjbGFzcyBDQ1RocmVhZDsKIC8vIGluIGZhY2Ugb2YgbWlsbGlz
ZWNvbmQtcHJlY2lzaW9uIGRlbGF5ZWQgY2FsbGJhY2tzIGFuZCByYW5kb20gcXVldWVpbmcgZGVs
YXlzLgogY2xhc3MgQ0NEZWxheUJhc2VkVGltZVNvdXJjZSA6IHB1YmxpYyBDQ1RpbWVTb3VyY2Us
IENDVGltZXJDbGllbnQgewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPENDRGVsYXlC
YXNlZFRpbWVTb3VyY2U+IGNyZWF0ZShkb3VibGUgaW50ZXJ2YWxNcywgQ0NUaHJlYWQqKTsKKyAg
ICBzdGF0aWMgUGFzc1JlZlB0cjxDQ0RlbGF5QmFzZWRUaW1lU291cmNlPiBjcmVhdGUoZG91Ymxl
IGludGVydmFsLCBkb3VibGUgZHVtbXksIENDVGhyZWFkKik7CiAKICAgICB2aXJ0dWFsIH5DQ0Rl
bGF5QmFzZWRUaW1lU291cmNlKCkgeyB9CiAKQEAgLTUxLDExICs1MSwxMSBAQCBwdWJsaWM6CiAg
ICAgdmlydHVhbCB2b2lkIG9uVGltZXJGaXJlZCgpOwogCiAgICAgLy8gVmlydHVhbCBmb3IgdGVz
dGluZy4KLSAgICB2aXJ0dWFsIGRvdWJsZSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWVNcygp
IGNvbnN0OworICAgIHZpcnR1YWwgZG91YmxlIG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgp
IGNvbnN0OwogCiBwcm90ZWN0ZWQ6Ci0gICAgQ0NEZWxheUJhc2VkVGltZVNvdXJjZShkb3VibGUg
aW50ZXJ2YWxNcywgQ0NUaHJlYWQqKTsKLSAgICB2b2lkIHBvc3ROZXh0VGlja1Rhc2soZG91Ymxl
IG5vd01zKTsKKyAgICBDQ0RlbGF5QmFzZWRUaW1lU291cmNlKGRvdWJsZSBpbnRlcnZhbCwgQ0NU
aHJlYWQqKTsKKyAgICB2b2lkIHBvc3ROZXh0VGlja1Rhc2soZG91YmxlIG5vdywgZG91YmxlIGR1
bW15KTsKIAogICAgIGVudW0gU3RhdGUgewogICAgICAgICBTVEFURV9JTkFDVElWRSwKQEAgLTY0
LDcgKzY0LDcgQEAgcHJvdGVjdGVkOgogICAgIH07CiAgICAgQ0NUaW1lU291cmNlQ2xpZW50KiBt
X2NsaWVudDsKICAgICBib29sIG1faGFzVGlja1RhcmdldDsKLSAgICBkb3VibGUgbV9pbnRlcnZh
bE1zOworICAgIGRvdWJsZSBtX2ludGVydmFsOwogICAgIGRvdWJsZSBtX3RpY2tUYXJnZXQ7CiAg
ICAgU3RhdGUgbV9zdGF0ZTsKICAgICBDQ1RocmVhZCogbV90aHJlYWQ7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1RocmVhZFByb3h5
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVGhy
ZWFkUHJveHkuY3BwCmluZGV4IDRiM2QyYmQzMmQyM2IzMmQ2M2NmYjBiNjgzZDRkZmUyOTBlY2Yy
ZTEuLmIxNmQzNGQ3M2I0MmZiZDdlOGQxNWI3NDliMTNhYzMwYzBmZjFhMjcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVGhyZWFkUHJv
eHkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2Nj
L0NDVGhyZWFkUHJveHkuY3BwCkBAIC01ODksOCArNTg5LDggQEAgdm9pZCBDQ1RocmVhZFByb3h5
Ojppbml0aWFsaXplSW1wbE9uSW1wbFRocmVhZChDQ0NvbXBsZXRpb25FdmVudCogY29tcGxldGlv
bikKICAgICBUUkFDRV9FVkVOVCgiQ0NUaHJlYWRQcm94eTo6aW5pdGlhbGl6ZUltcGxPbkltcGxU
aHJlYWQiLCB0aGlzLCAwKTsKICAgICBBU1NFUlQoaXNJbXBsVGhyZWFkKCkpOwogICAgIG1fbGF5
ZXJUcmVlSG9zdEltcGwgPSBtX2xheWVyVHJlZUhvc3QtPmNyZWF0ZUxheWVyVHJlZUhvc3RJbXBs
KHRoaXMpOwotICAgIGNvbnN0IGRvdWJsZSBkaXNwbGF5UmVmcmVzaEludGVydmFsTXMgPSAxMDAw
LjAgLyA2MC4wOwotICAgIE93blB0cjxDQ0ZyYW1lUmF0ZUNvbnRyb2xsZXI+IGZyYW1lUmF0ZUNv
bnRyb2xsZXIgPSBhZG9wdFB0cihuZXcgQ0NGcmFtZVJhdGVDb250cm9sbGVyKENDRGVsYXlCYXNl
ZFRpbWVTb3VyY2U6OmNyZWF0ZShkaXNwbGF5UmVmcmVzaEludGVydmFsTXMsIENDUHJveHk6Omlt
cGxUaHJlYWQoKSkpKTsKKyAgICBjb25zdCBkb3VibGUgZGlzcGxheVJlZnJlc2hJbnRlcnZhbCA9
IDEuMCAvIDYwLjA7CisgICAgT3duUHRyPENDRnJhbWVSYXRlQ29udHJvbGxlcj4gZnJhbWVSYXRl
Q29udHJvbGxlciA9IGFkb3B0UHRyKG5ldyBDQ0ZyYW1lUmF0ZUNvbnRyb2xsZXIoQ0NEZWxheUJh
c2VkVGltZVNvdXJjZTo6Y3JlYXRlKGRpc3BsYXlSZWZyZXNoSW50ZXJ2YWwsIDAsIENDUHJveHk6
OmltcGxUaHJlYWQoKSkpKTsKICAgICBtX3NjaGVkdWxlck9uSW1wbFRocmVhZCA9IENDU2NoZWR1
bGVyOjpjcmVhdGUodGhpcywgZnJhbWVSYXRlQ29udHJvbGxlci5yZWxlYXNlKCkpOwogICAgIG1f
c2NoZWR1bGVyT25JbXBsVGhyZWFkLT5zZXRWaXNpYmxlKG1fbGF5ZXJUcmVlSG9zdEltcGwtPnZp
c2libGUoKSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL2NjL0NDVGltZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vY2MvQ0NUaW1lci5jcHAKaW5kZXggOWZjYzYxMzA1YzE5ODllZWViN2E3ZmNk
NTY5NWJiMmMyMGI4NmRlZC4uYjEyZDY1N2JmZTdkODEzMDc3ZDJmZjFkMmIyNDllYzM1OWUyYTYz
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
Y2MvQ0NUaW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vY2MvQ0NUaW1lci5jcHAKQEAgLTc2LDEyICs3NiwxMiBAQCBDQ1RpbWVyOjp+Q0NUaW1l
cigpCiAgICAgc3RvcCgpOwogfQogCi12b2lkIENDVGltZXI6OnN0YXJ0T25lU2hvdChkb3VibGUg
aW50ZXJ2YWxNcykKK3ZvaWQgQ0NUaW1lcjo6c3RhcnRPbmVTaG90KGRvdWJsZSBpbnRlcnZhbCwg
ZG91YmxlIGR1bW15KQogewogICAgIHN0b3AoKTsKIAogICAgIG1fdGFzayA9IG5ldyBDQ1RpbWVy
VGFzayh0aGlzKTsKLSAgICBtX3RocmVhZC0+cG9zdERlbGF5ZWRUYXNrKGFkb3B0UHRyKG1fdGFz
ayksIGludGVydmFsTXMpOworICAgIG1fdGhyZWFkLT5wb3N0RGVsYXllZFRhc2soYWRvcHRQdHIo
bV90YXNrKSwgaW50ZXJ2YWwgKiAxMDAwLjApOwogfQogCiB2b2lkIENDVGltZXI6OnN0b3AoKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2Mv
Q0NUaW1lci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2Mv
Q0NUaW1lci5oCmluZGV4IGI4ZGI1ZTE4OTM4ZjA4ZjUyYTExY2E3MTBiYzJhZTNkZDJjMzc3YjEu
LjNhZjgyY2U5NzIzNDg5ZjQyNzk4NDdjZjA0YjQxOGI4NTU5NmMxNmQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVGltZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1RpbWVyLmgK
QEAgLTUwLDcgKzUwLDcgQEAgcHVibGljOgogICAgIH5DQ1RpbWVyKCk7CiAKICAgICAvLyBJZiBh
IHByZXZpb3VzIHRhc2sgaXMgcGVuZGluZywgaXQgd2lsbCBiZSByZXBsYWNlZCB3aXRoIHRoZSBu
ZXcgb25lLgotICAgIHZvaWQgc3RhcnRPbmVTaG90KGRvdWJsZSBpbnRlcnZhbE1zKTsKKyAgICB2
b2lkIHN0YXJ0T25lU2hvdChkb3VibGUgaW50ZXJ2YWwsIGRvdWJsZSBkdW1teSk7CiAgICAgdm9p
ZCBzdG9wKCk7CiAKICAgICBib29sIGlzQWN0aXZlKCkgY29uc3QgeyByZXR1cm4gbV90YXNrOyB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDRGVsYXlCYXNlZFRp
bWVTb3VyY2VUZXN0LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NEZWxheUJh
c2VkVGltZVNvdXJjZVRlc3QuY3BwCmluZGV4IDg2N2Q1NmVhODdkMjI4Yjk0OWQxMTIxMThiMjFm
YTM3Mjc4Yzg3MmQuLjkzZTg0YTRhZmIxMGY2ZTM2ZGU2ODVmZjNmOWFmNDZlMzU4OTVlZWMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NEZWxheUJhc2VkVGltZVNv
dXJjZVRlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NEZWxheUJh
c2VkVGltZVNvdXJjZVRlc3QuY3BwCkBAIC00MSwxNSArNDEsMTUgQEAgVEVTVChDQ0RlbGF5QmFz
ZWRUaW1lU291cmNlVGVzdCwgVGFza1Bvc3RlZEFuZFRpY2tDYWxsZWQpCiB7CiAgICAgRmFrZUND
VGhyZWFkIHRocmVhZDsKICAgICBGYWtlQ0NUaW1lU291cmNlQ2xpZW50IGNsaWVudDsKLSAgICBS
ZWZQdHI8RmFrZUNDRGVsYXlCYXNlZFRpbWVTb3VyY2U+IHRpbWVyID0gRmFrZUNDRGVsYXlCYXNl
ZFRpbWVTb3VyY2U6OmNyZWF0ZSgxMDAwLjAgLyA2MC4wLCAmdGhyZWFkKTsKKyAgICBSZWZQdHI8
RmFrZUNDRGVsYXlCYXNlZFRpbWVTb3VyY2U+IHRpbWVyID0gRmFrZUNDRGVsYXlCYXNlZFRpbWVT
b3VyY2U6OmNyZWF0ZSgxLjAgLyA2MC4wLCAmdGhyZWFkKTsKICAgICB0aW1lci0+c2V0Q2xpZW50
KCZjbGllbnQpOwogCi0gICAgdGltZXItPnNldE1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZU1z
KDApOworICAgIHRpbWVyLT5zZXRNb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoMCk7CiAgICAg
dGltZXItPnNldEFjdGl2ZSh0cnVlKTsKICAgICBFWFBFQ1RfVFJVRSh0aW1lci0+YWN0aXZlKCkp
OwogICAgIEVYUEVDVF9UUlVFKHRocmVhZC5oYXNQZW5kaW5nVGFzaygpKTsKIAotICAgIHRpbWVy
LT5zZXRNb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWVNcygxNik7CisgICAgdGltZXItPnNldE1v
bm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgwLjAxNik7CiAgICAgdGhyZWFkLnJ1blBlbmRpbmdU
YXNrKCk7CiAgICAgRVhQRUNUX1RSVUUodGltZXItPmFjdGl2ZSgpKTsKICAgICBFWFBFQ1RfVFJV
RShjbGllbnQudGlja0NhbGxlZCgpKTsKQEAgLTU5LDcgKzU5LDcgQEAgVEVTVChDQ0RlbGF5QmFz
ZWRUaW1lU291cmNlLCBUaWNrTm90Q2FsbGVkV2l0aFRhc2tQb3N0ZWQpCiB7CiAgICAgRmFrZUND
VGhyZWFkIHRocmVhZDsKICAgICBGYWtlQ0NUaW1lU291cmNlQ2xpZW50IGNsaWVudDsKLSAgICBS
ZWZQdHI8RmFrZUNDRGVsYXlCYXNlZFRpbWVTb3VyY2U+IHRpbWVyID0gRmFrZUNDRGVsYXlCYXNl
ZFRpbWVTb3VyY2U6OmNyZWF0ZSgxMDAwLjAgLyA2MC4wLCAmdGhyZWFkKTsKKyAgICBSZWZQdHI8
RmFrZUNDRGVsYXlCYXNlZFRpbWVTb3VyY2U+IHRpbWVyID0gRmFrZUNDRGVsYXlCYXNlZFRpbWVT
b3VyY2U6OmNyZWF0ZSgxLjAgLyA2MC4wLCAmdGhyZWFkKTsKICAgICB0aW1lci0+c2V0Q2xpZW50
KCZjbGllbnQpOwogICAgIHRpbWVyLT5zZXRBY3RpdmUodHJ1ZSk7CiAgICAgRVhQRUNUX1RSVUUo
dGhyZWFkLmhhc1BlbmRpbmdUYXNrKCkpOwpAQCAtNzIsNyArNzIsNyBAQCBURVNUKENDRGVsYXlC
YXNlZFRpbWVTb3VyY2UsIFN0YXJ0VHdpY2VFbnF1ZXVlc09uZVRhc2spCiB7CiAgICAgRmFrZUND
VGhyZWFkIHRocmVhZDsKICAgICBGYWtlQ0NUaW1lU291cmNlQ2xpZW50IGNsaWVudDsKLSAgICBS
ZWZQdHI8RmFrZUNDRGVsYXlCYXNlZFRpbWVTb3VyY2U+IHRpbWVyID0gRmFrZUNDRGVsYXlCYXNl
ZFRpbWVTb3VyY2U6OmNyZWF0ZSgxMDAwLjAgLyA2MC4wLCAmdGhyZWFkKTsKKyAgICBSZWZQdHI8
RmFrZUNDRGVsYXlCYXNlZFRpbWVTb3VyY2U+IHRpbWVyID0gRmFrZUNDRGVsYXlCYXNlZFRpbWVT
b3VyY2U6OmNyZWF0ZSgxLjAgLyA2MC4wLCAmdGhyZWFkKTsKICAgICB0aW1lci0+c2V0Q2xpZW50
KCZjbGllbnQpOwogICAgIHRpbWVyLT5zZXRBY3RpdmUodHJ1ZSk7CiAgICAgRVhQRUNUX1RSVUUo
dGhyZWFkLmhhc1BlbmRpbmdUYXNrKCkpOwpAQCAtODUsNyArODUsNyBAQCBURVNUKENDRGVsYXlC
YXNlZFRpbWVTb3VyY2UsIFN0YXJ0V2hlblJ1bm5pbmdEb2VzbnRUaWNrKQogewogICAgIEZha2VD
Q1RocmVhZCB0aHJlYWQ7CiAgICAgRmFrZUNDVGltZVNvdXJjZUNsaWVudCBjbGllbnQ7Ci0gICAg
UmVmUHRyPEZha2VDQ0RlbGF5QmFzZWRUaW1lU291cmNlPiB0aW1lciA9IEZha2VDQ0RlbGF5QmFz
ZWRUaW1lU291cmNlOjpjcmVhdGUoMTAwMC4wIC8gNjAuMCwgJnRocmVhZCk7CisgICAgUmVmUHRy
PEZha2VDQ0RlbGF5QmFzZWRUaW1lU291cmNlPiB0aW1lciA9IEZha2VDQ0RlbGF5QmFzZWRUaW1l
U291cmNlOjpjcmVhdGUoMS4wIC8gNjAuMCwgJnRocmVhZCk7CiAgICAgdGltZXItPnNldENsaWVu
dCgmY2xpZW50KTsKICAgICB0aW1lci0+c2V0QWN0aXZlKHRydWUpOwogICAgIHRocmVhZC5ydW5Q
ZW5kaW5nVGFzaygpOwpAQCAtMTAwLDE5ICsxMDAsMTkgQEAgVEVTVChDQ0RlbGF5QmFzZWRUaW1l
U291cmNlLCBOZXh0RGVsYXlTYW5lV2hlbkV4YWN0bHlPblJlcXVlc3RlZFRpbWUpCiB7CiAgICAg
RmFrZUNDVGhyZWFkIHRocmVhZDsKICAgICBGYWtlQ0NUaW1lU291cmNlQ2xpZW50IGNsaWVudDsK
LSAgICBkb3VibGUgaW50ZXJ2YWwgPSAxMDAwLjAgLyA2MC4wOworICAgIGRvdWJsZSBpbnRlcnZh
bCA9IDEuMCAvIDYwLjA7CiAgICAgUmVmUHRyPEZha2VDQ0RlbGF5QmFzZWRUaW1lU291cmNlPiB0
aW1lciA9IEZha2VDQ0RlbGF5QmFzZWRUaW1lU291cmNlOjpjcmVhdGUoaW50ZXJ2YWwsICZ0aHJl
YWQpOwogICAgIHRpbWVyLT5zZXRDbGllbnQoJmNsaWVudCk7CiAgICAgdGltZXItPnNldEFjdGl2
ZSh0cnVlKTsKICAgICAvLyBSdW4gdGhlIGZpcnN0IHRhc2ssIGFzIHRoYXQgYWN0aXZhdGVzIHRo
ZSB0aW1lciBhbmQgcGlja3MgdXAgYSB0aW1lYmFzZS4KICAgICB0aHJlYWQucnVuUGVuZGluZ1Rh
c2soKTsKIAotICAgIEVYUEVDVF9FUSgxNiwgdGhyZWFkLnBlbmRpbmdEZWxheSgpKTsKKyAgICBF
WFBFQ1RfRVEoMTYsIHRocmVhZC5wZW5kaW5nRGVsYXlNcygpKTsKIAotICAgIHRpbWVyLT5zZXRN
b25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWVNcyhpbnRlcnZhbCk7CisgICAgdGltZXItPnNldE1v
bm90b25pY2FsbHlJbmNyZWFzaW5nVGltZShpbnRlcnZhbCk7CiAgICAgdGhyZWFkLnJ1blBlbmRp
bmdUYXNrKCk7CiAKLSAgICBFWFBFQ1RfRVEoMTYsIHRocmVhZC5wZW5kaW5nRGVsYXkoKSk7Cisg
ICAgRVhQRUNUX0VRKDE2LCB0aHJlYWQucGVuZGluZ0RlbGF5TXMoKSk7CiB9CiAKIC8vIEF0IDYw
SHosIHdoZW4gdGhlIHRpY2sgcmV0dXJucyBhdCBzbGlnaHRseSBhZnRlciB0aGUgcmVxdWVzdGVk
IG5leHQgdGltZSwgbWFrZSBzdXJlCkBAIC0xMjEsMTkgKzEyMSwxOSBAQCBURVNUKENDRGVsYXlC
YXNlZFRpbWVTb3VyY2UsIE5leHREZWxheVNhbmVXaGVuU2xpZ2h0bHlBZnRlclJlcXVlc3RlZFRp
bWUpCiB7CiAgICAgRmFrZUNDVGhyZWFkIHRocmVhZDsKICAgICBGYWtlQ0NUaW1lU291cmNlQ2xp
ZW50IGNsaWVudDsKLSAgICBkb3VibGUgaW50ZXJ2YWwgPSAxMDAwLjAgLyA2MC4wOworICAgIGRv
dWJsZSBpbnRlcnZhbCA9IDEuMCAvIDYwLjA7CiAgICAgUmVmUHRyPEZha2VDQ0RlbGF5QmFzZWRU
aW1lU291cmNlPiB0aW1lciA9IEZha2VDQ0RlbGF5QmFzZWRUaW1lU291cmNlOjpjcmVhdGUoaW50
ZXJ2YWwsICZ0aHJlYWQpOwogICAgIHRpbWVyLT5zZXRDbGllbnQoJmNsaWVudCk7CiAgICAgdGlt
ZXItPnNldEFjdGl2ZSh0cnVlKTsKICAgICAvLyBSdW4gdGhlIGZpcnN0IHRhc2ssIGFzIHRoYXQg
YWN0aXZhdGVzIHRoZSB0aW1lciBhbmQgcGlja3MgdXAgYSB0aW1lYmFzZS4KICAgICB0aHJlYWQu
cnVuUGVuZGluZ1Rhc2soKTsKIAotICAgIEVYUEVDVF9FUSgxNiwgdGhyZWFkLnBlbmRpbmdEZWxh
eSgpKTsKKyAgICBFWFBFQ1RfRVEoMTYsIHRocmVhZC5wZW5kaW5nRGVsYXlNcygpKTsKIAotICAg
IHRpbWVyLT5zZXRNb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWVNcyhpbnRlcnZhbCArIDAuMDAw
MSk7CisgICAgdGltZXItPnNldE1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZShpbnRlcnZhbCAr
IDAuMDAwMDAwMSk7CiAgICAgdGhyZWFkLnJ1blBlbmRpbmdUYXNrKCk7CiAKLSAgICBFWFBFQ1Rf
RVEoMTYsIHRocmVhZC5wZW5kaW5nRGVsYXkoKSk7CisgICAgRVhQRUNUX0VRKDE2LCB0aHJlYWQu
cGVuZGluZ0RlbGF5TXMoKSk7CiB9CiAKIC8vIEF0IDYwSHosIHdoZW4gdGhlIHRpY2sgcmV0dXJu
cyBhdCBleGFjdGx5IDIqaW50ZXJ2YWwgYWZ0ZXIgdGhlIHJlcXVlc3RlZCBuZXh0IHRpbWUsIG1h
a2Ugc3VyZQpAQCAtMTQyLDE5ICsxNDIsMTkgQEAgVEVTVChDQ0RlbGF5QmFzZWRUaW1lU291cmNl
LCBOZXh0RGVsYXlTYW5lV2hlbkV4YWN0bHlUd2ljZUFmdGVyUmVxdWVzdGVkVGltZSkKIHsKICAg
ICBGYWtlQ0NUaHJlYWQgdGhyZWFkOwogICAgIEZha2VDQ1RpbWVTb3VyY2VDbGllbnQgY2xpZW50
OwotICAgIGRvdWJsZSBpbnRlcnZhbCA9IDEwMDAuMCAvIDYwLjA7CisgICAgZG91YmxlIGludGVy
dmFsID0gMS4wIC8gNjAuMDsKICAgICBSZWZQdHI8RmFrZUNDRGVsYXlCYXNlZFRpbWVTb3VyY2U+
IHRpbWVyID0gRmFrZUNDRGVsYXlCYXNlZFRpbWVTb3VyY2U6OmNyZWF0ZShpbnRlcnZhbCwgJnRo
cmVhZCk7CiAgICAgdGltZXItPnNldENsaWVudCgmY2xpZW50KTsKICAgICB0aW1lci0+c2V0QWN0
aXZlKHRydWUpOwogICAgIC8vIFJ1biB0aGUgZmlyc3QgdGFzaywgYXMgdGhhdCBhY3RpdmF0ZXMg
dGhlIHRpbWVyIGFuZCBwaWNrcyB1cCBhIHRpbWViYXNlLgogICAgIHRocmVhZC5ydW5QZW5kaW5n
VGFzaygpOwogCi0gICAgRVhQRUNUX0VRKDE2LCB0aHJlYWQucGVuZGluZ0RlbGF5KCkpOworICAg
IEVYUEVDVF9FUSgxNiwgdGhyZWFkLnBlbmRpbmdEZWxheU1zKCkpOwogCi0gICAgdGltZXItPnNl
dE1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZU1zKDIqaW50ZXJ2YWwpOworICAgIHRpbWVyLT5z
ZXRNb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoMippbnRlcnZhbCk7CiAgICAgdGhyZWFkLnJ1
blBlbmRpbmdUYXNrKCk7CiAKLSAgICBFWFBFQ1RfRVEoMTYsIHRocmVhZC5wZW5kaW5nRGVsYXko
KSk7CisgICAgRVhQRUNUX0VRKDE2LCB0aHJlYWQucGVuZGluZ0RlbGF5TXMoKSk7CiB9CiAKIC8v
IEF0IDYwSHosIHdoZW4gdGhlIHRpY2sgcmV0dXJucyBhdCAyKmludGVydmFsIGFuZCBhIGJpdCBh
ZnRlciB0aGUgcmVxdWVzdGVkIG5leHQgdGltZSwgbWFrZSBzdXJlCkBAIC0xNjMsMTkgKzE2Mywx
OSBAQCBURVNUKENDRGVsYXlCYXNlZFRpbWVTb3VyY2UsIE5leHREZWxheVNhbmVXaGVuU2xpZ2h0
bHlBZnRlclR3aWNlUmVxdWVzdGVkVGltZSkKIHsKICAgICBGYWtlQ0NUaHJlYWQgdGhyZWFkOwog
ICAgIEZha2VDQ1RpbWVTb3VyY2VDbGllbnQgY2xpZW50OwotICAgIGRvdWJsZSBpbnRlcnZhbCA9
IDEwMDAuMCAvIDYwLjA7CisgICAgZG91YmxlIGludGVydmFsID0gMS4wIC8gNjAuMDsKICAgICBS
ZWZQdHI8RmFrZUNDRGVsYXlCYXNlZFRpbWVTb3VyY2U+IHRpbWVyID0gRmFrZUNDRGVsYXlCYXNl
ZFRpbWVTb3VyY2U6OmNyZWF0ZShpbnRlcnZhbCwgJnRocmVhZCk7CiAgICAgdGltZXItPnNldENs
aWVudCgmY2xpZW50KTsKICAgICB0aW1lci0+c2V0QWN0aXZlKHRydWUpOwogICAgIC8vIFJ1biB0
aGUgZmlyc3QgdGFzaywgYXMgdGhhdCBhY3RpdmF0ZXMgdGhlIHRpbWVyIGFuZCBwaWNrcyB1cCBh
IHRpbWViYXNlLgogICAgIHRocmVhZC5ydW5QZW5kaW5nVGFzaygpOwogCi0gICAgRVhQRUNUX0VR
KDE2LCB0aHJlYWQucGVuZGluZ0RlbGF5KCkpOworICAgIEVYUEVDVF9FUSgxNiwgdGhyZWFkLnBl
bmRpbmdEZWxheU1zKCkpOwogCi0gICAgdGltZXItPnNldE1vbm90b25pY2FsbHlJbmNyZWFzaW5n
VGltZU1zKDIqaW50ZXJ2YWwgKyAwLjAwMDEpOworICAgIHRpbWVyLT5zZXRNb25vdG9uaWNhbGx5
SW5jcmVhc2luZ1RpbWUoMippbnRlcnZhbCArIDAuMDAwMDAwMSk7CiAgICAgdGhyZWFkLnJ1blBl
bmRpbmdUYXNrKCk7CiAKLSAgICBFWFBFQ1RfRVEoMTYsIHRocmVhZC5wZW5kaW5nRGVsYXkoKSk7
CisgICAgRVhQRUNUX0VRKDE2LCB0aHJlYWQucGVuZGluZ0RlbGF5TXMoKSk7CiB9CiAKIC8vIEF0
IDYwSHosIHdoZW4gdGhlIHRpY2sgcmV0dXJucyBoYWxmd2F5IHRvIHRoZSBuZXh0IGZyYW1lIHRp
bWUsIG1ha2Ugc3VyZQpAQCAtMTg0LDE5ICsxODQsMTkgQEAgVEVTVChDQ0RlbGF5QmFzZWRUaW1l
U291cmNlLCBOZXh0RGVsYXlTYW5lV2hlbkhhbGZBZnRlclJlcXVlc3RlZFRpbWUpCiB7CiAgICAg
RmFrZUNDVGhyZWFkIHRocmVhZDsKICAgICBGYWtlQ0NUaW1lU291cmNlQ2xpZW50IGNsaWVudDsK
LSAgICBkb3VibGUgaW50ZXJ2YWwgPSAxMDAwLjAgLyA2MC4wOworICAgIGRvdWJsZSBpbnRlcnZh
bCA9IDEuMCAvIDYwLjA7CiAgICAgUmVmUHRyPEZha2VDQ0RlbGF5QmFzZWRUaW1lU291cmNlPiB0
aW1lciA9IEZha2VDQ0RlbGF5QmFzZWRUaW1lU291cmNlOjpjcmVhdGUoaW50ZXJ2YWwsICZ0aHJl
YWQpOwogICAgIHRpbWVyLT5zZXRDbGllbnQoJmNsaWVudCk7CiAgICAgdGltZXItPnNldEFjdGl2
ZSh0cnVlKTsKICAgICAvLyBSdW4gdGhlIGZpcnN0IHRhc2ssIGFzIHRoYXQgYWN0aXZhdGVzIHRo
ZSB0aW1lciBhbmQgcGlja3MgdXAgYSB0aW1lYmFzZS4KICAgICB0aHJlYWQucnVuUGVuZGluZ1Rh
c2soKTsKIAotICAgIEVYUEVDVF9FUSgxNiwgdGhyZWFkLnBlbmRpbmdEZWxheSgpKTsKKyAgICBF
WFBFQ1RfRVEoMTYsIHRocmVhZC5wZW5kaW5nRGVsYXlNcygpKTsKIAotICAgIHRpbWVyLT5zZXRN
b25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWVNcyhpbnRlcnZhbCArIGludGVydmFsICogMC41KTsK
KyAgICB0aW1lci0+c2V0TW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKGludGVydmFsICsgaW50
ZXJ2YWwgKiAwLjUpOwogICAgIHRocmVhZC5ydW5QZW5kaW5nVGFzaygpOwogCi0gICAgRVhQRUNU
X0VRKDgsIHRocmVhZC5wZW5kaW5nRGVsYXkoKSk7CisgICAgRVhQRUNUX0VRKDgsIHRocmVhZC5w
ZW5kaW5nRGVsYXlNcygpKTsKIH0KIAogCkBAIC0yMDYsMzEgKzIwNiwzMSBAQCBURVNUKENDRGVs
YXlCYXNlZFRpbWVTb3VyY2VUZXN0LCBBY2hpZXZlc1RhcmdldFJhdGVXaXRoTm9Ob2lzZSkKIAog
ICAgIEZha2VDQ1RocmVhZCB0aHJlYWQ7CiAgICAgRmFrZUNDVGltZVNvdXJjZUNsaWVudCBjbGll
bnQ7Ci0gICAgUmVmUHRyPEZha2VDQ0RlbGF5QmFzZWRUaW1lU291cmNlPiB0aW1lciA9IEZha2VD
Q0RlbGF5QmFzZWRUaW1lU291cmNlOjpjcmVhdGUoMTAwMC4wIC8gNjAuMCwgJnRocmVhZCk7Cisg
ICAgUmVmUHRyPEZha2VDQ0RlbGF5QmFzZWRUaW1lU291cmNlPiB0aW1lciA9IEZha2VDQ0RlbGF5
QmFzZWRUaW1lU291cmNlOjpjcmVhdGUoMS4wIC8gNjAuMCwgJnRocmVhZCk7CiAgICAgdGltZXIt
PnNldENsaWVudCgmY2xpZW50KTsKICAgICB0aW1lci0+c2V0QWN0aXZlKHRydWUpOwogCiAgICAg
ZG91YmxlIHRvdGFsRnJhbWVUaW1lID0gMDsKICAgICBmb3IgKGludCBpID0gMDsgaSA8IG51bUl0
ZXJhdGlvbnM7ICsraSkgewotICAgICAgICBsb25nIGxvbmcgZGVsYXkgPSB0aHJlYWQucGVuZGlu
Z0RlbGF5KCk7CisgICAgICAgIGxvbmcgbG9uZyBkZWxheU1zID0gdGhyZWFkLnBlbmRpbmdEZWxh
eU1zKCk7CiAKICAgICAgICAgLy8gYWNjdW11bGF0ZSB0aGUgImRlbGF5IgotICAgICAgICB0b3Rh
bEZyYW1lVGltZSArPSBkZWxheTsKKyAgICAgICAgdG90YWxGcmFtZVRpbWUgKz0gZGVsYXlNcyAv
IDEwMDAuMDsKIAogICAgICAgICAvLyBSdW4gdGhlIGNhbGxiYWNrIGV4YWN0bHkgd2hlbiBhc2tl
ZAotICAgICAgICBkb3VibGUgbm93ID0gdGltZXItPm1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGlt
ZU1zKCkgKyBkZWxheTsKLSAgICAgICAgdGltZXItPnNldE1vbm90b25pY2FsbHlJbmNyZWFzaW5n
VGltZU1zKG5vdyk7CisgICAgICAgIGRvdWJsZSBub3cgPSB0aW1lci0+bW9ub3RvbmljYWxseUlu
Y3JlYXNpbmdUaW1lKCkgKyBkZWxheU1zIC8gMTAwMC4wOworICAgICAgICB0aW1lci0+c2V0TW9u
b3RvbmljYWxseUluY3JlYXNpbmdUaW1lKG5vdyk7CiAgICAgICAgIHRocmVhZC5ydW5QZW5kaW5n
VGFzaygpOwogICAgIH0KICAgICBkb3VibGUgYXZlcmFnZUludGVydmFsID0gdG90YWxGcmFtZVRp
bWUgLyBzdGF0aWNfY2FzdDxkb3VibGU+KG51bUl0ZXJhdGlvbnMpOwotICAgIEVYUEVDVF9ORUFS
KDEwMDAuMCAvIDYwLjAsIGF2ZXJhZ2VJbnRlcnZhbCwgMC4xKTsKKyAgICBFWFBFQ1RfTkVBUigx
LjAgLyA2MC4wLCBhdmVyYWdlSW50ZXJ2YWwsIDAuMSk7CiB9CiAKIFRFU1QoQ0NEZWxheUJhc2Vk
VGltZVNvdXJjZSwgVGVzdERlYWN0aXZhdGVXaGlsZVBlbmRpbmcpCiB7CiAgICAgRmFrZUNDVGhy
ZWFkIHRocmVhZDsKICAgICBGYWtlQ0NUaW1lU291cmNlQ2xpZW50IGNsaWVudDsKLSAgICBSZWZQ
dHI8RmFrZUNDRGVsYXlCYXNlZFRpbWVTb3VyY2U+IHRpbWVyID0gRmFrZUNDRGVsYXlCYXNlZFRp
bWVTb3VyY2U6OmNyZWF0ZSgxMDAwLjAgLyA2MC4wLCAmdGhyZWFkKTsKKyAgICBSZWZQdHI8RmFr
ZUNDRGVsYXlCYXNlZFRpbWVTb3VyY2U+IHRpbWVyID0gRmFrZUNDRGVsYXlCYXNlZFRpbWVTb3Vy
Y2U6OmNyZWF0ZSgxLjAgLyA2MC4wLCAmdGhyZWFkKTsKICAgICB0aW1lci0+c2V0Q2xpZW50KCZj
bGllbnQpOwogICAgIHRpbWVyLT5zZXRBY3RpdmUodHJ1ZSk7IC8vIFNob3VsZCBwb3N0IGEgdGFz
ay4KICAgICB0aW1lci0+c2V0QWN0aXZlKGZhbHNlKTsKQEAgLTI0MiwxMiArMjQyLDEyIEBAIFRF
U1QoQ0NEZWxheUJhc2VkVGltZVNvdXJjZSwgVGVzdERlYWN0aXZhdGVBbmRSZWFjdGl2YXRlQmVm
b3JlTmV4dFRpY2tUaW1lKQogewogICAgIEZha2VDQ1RocmVhZCB0aHJlYWQ7CiAgICAgRmFrZUND
VGltZVNvdXJjZUNsaWVudCBjbGllbnQ7Ci0gICAgUmVmUHRyPEZha2VDQ0RlbGF5QmFzZWRUaW1l
U291cmNlPiB0aW1lciA9IEZha2VDQ0RlbGF5QmFzZWRUaW1lU291cmNlOjpjcmVhdGUoMTAwMC4w
IC8gNjAuMCwgJnRocmVhZCk7CisgICAgUmVmUHRyPEZha2VDQ0RlbGF5QmFzZWRUaW1lU291cmNl
PiB0aW1lciA9IEZha2VDQ0RlbGF5QmFzZWRUaW1lU291cmNlOjpjcmVhdGUoMS4wIC8gNjAuMCwg
JnRocmVhZCk7CiAgICAgdGltZXItPnNldENsaWVudCgmY2xpZW50KTsKIAogICAgIC8vIFNob3Vs
ZCBydW4gdGhlIGFjdGl2YXRlIHRhc2ssIGFuZCBwaWNrIHVwIGEgbmV3IHRpbWViYXNlLgogICAg
IHRpbWVyLT5zZXRBY3RpdmUodHJ1ZSk7Ci0gICAgdGltZXItPnNldE1vbm90b25pY2FsbHlJbmNy
ZWFzaW5nVGltZU1zKDApOworICAgIHRpbWVyLT5zZXRNb25vdG9uaWNhbGx5SW5jcmVhc2luZ1Rp
bWUoMCk7CiAgICAgdGhyZWFkLnJ1blBlbmRpbmdUYXNrKCk7CiAKICAgICAvLyBTdG9wIHRoZSB0
aW1lcgpAQCAtMjU4LDIxICsyNTgsMjEgQEAgVEVTVChDQ0RlbGF5QmFzZWRUaW1lU291cmNlLCBU
ZXN0RGVhY3RpdmF0ZUFuZFJlYWN0aXZhdGVCZWZvcmVOZXh0VGlja1RpbWUpCiAKICAgICAvLyBT
dGFydCB0aGUgdGltZXIgYWdhaW4sIGJ1dCBiZWZvcmUgdGhlIG5leHQgdGljayB0aW1lIHRoZSB0
aW1lciBwcmV2aW91c2x5CiAgICAgLy8gcGxhbm5lZCBvbiB1c2luZy4gVGhhdCBzYW1lIHRpY2sg
dGltZSBzaG91bGQgc3RpbGwgYmUgdGFyZ2V0ZWQuCi0gICAgdGltZXItPnNldE1vbm90b25pY2Fs
bHlJbmNyZWFzaW5nVGltZU1zKDQpOworICAgIHRpbWVyLT5zZXRNb25vdG9uaWNhbGx5SW5jcmVh
c2luZ1RpbWUoMC4wMDQpOwogICAgIHRpbWVyLT5zZXRBY3RpdmUodHJ1ZSk7Ci0gICAgRVhQRUNU
X0VRKDEyLCB0aHJlYWQucGVuZGluZ0RlbGF5KCkpOworICAgIEVYUEVDVF9FUSgxMiwgdGhyZWFk
LnBlbmRpbmdEZWxheU1zKCkpOwogfQogCiBURVNUKENDRGVsYXlCYXNlZFRpbWVTb3VyY2UsIFRl
c3REZWFjdGl2YXRlQW5kUmVhY3RpdmF0ZUFmdGVyTmV4dFRpY2tUaW1lKQogewogICAgIEZha2VD
Q1RocmVhZCB0aHJlYWQ7CiAgICAgRmFrZUNDVGltZVNvdXJjZUNsaWVudCBjbGllbnQ7Ci0gICAg
UmVmUHRyPEZha2VDQ0RlbGF5QmFzZWRUaW1lU291cmNlPiB0aW1lciA9IEZha2VDQ0RlbGF5QmFz
ZWRUaW1lU291cmNlOjpjcmVhdGUoMTAwMC4wIC8gNjAuMCwgJnRocmVhZCk7CisgICAgUmVmUHRy
PEZha2VDQ0RlbGF5QmFzZWRUaW1lU291cmNlPiB0aW1lciA9IEZha2VDQ0RlbGF5QmFzZWRUaW1l
U291cmNlOjpjcmVhdGUoMS4wIC8gNjAuMCwgJnRocmVhZCk7CiAgICAgdGltZXItPnNldENsaWVu
dCgmY2xpZW50KTsKIAogICAgIC8vIFNob3VsZCBydW4gdGhlIGFjdGl2YXRlIHRhc2ssIGFuZCBw
aWNrIHVwIGEgbmV3IHRpbWViYXNlLgogICAgIHRpbWVyLT5zZXRBY3RpdmUodHJ1ZSk7Ci0gICAg
dGltZXItPnNldE1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZU1zKDApOworICAgIHRpbWVyLT5z
ZXRNb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoMCk7CiAgICAgdGhyZWFkLnJ1blBlbmRpbmdU
YXNrKCk7CiAKICAgICAvLyBTdG9wIHRoZSB0aW1lcgpAQCAtMjgzLDkgKzI4Myw5IEBAIFRFU1Qo
Q0NEZWxheUJhc2VkVGltZVNvdXJjZSwgVGVzdERlYWN0aXZhdGVBbmRSZWFjdGl2YXRlQWZ0ZXJO
ZXh0VGlja1RpbWUpCiAKICAgICAvLyBTdGFydCB0aGUgdGltZXIgYWdhaW4sIGJ1dCBiZWZvcmUg
dGhlIG5leHQgdGljayB0aW1lIHRoZSB0aW1lciBwcmV2aW91c2x5CiAgICAgLy8gcGxhbm5lZCBv
biB1c2luZy4gVGhhdCBzYW1lIHRpY2sgdGltZSBzaG91bGQgc3RpbGwgYmUgdGFyZ2V0ZWQuCi0g
ICAgdGltZXItPnNldE1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZU1zKDIwKTsKKyAgICB0aW1l
ci0+c2V0TW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKDAuMDIpOwogICAgIHRpbWVyLT5zZXRB
Y3RpdmUodHJ1ZSk7Ci0gICAgRVhQRUNUX0VRKDEzLCB0aHJlYWQucGVuZGluZ0RlbGF5KCkpOwor
ICAgIEVYUEVDVF9FUSgxMywgdGhyZWFkLnBlbmRpbmdEZWxheU1zKCkpOwogfQogCiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDRnJhbWVSYXRlQ29udHJvbGxl
clRlc3QuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ0ZyYW1lUmF0ZUNvbnRy
b2xsZXJUZXN0LmNwcAppbmRleCBhZTQzZDQxYzFjZTAzYWI3MWVjNzBiMGM3NTdiMWVhMzc2ZDBh
MGU3Li5mZWQ1ZmYwY2ZjMzFjNmY2MzJiNzhmMTQwNjIwNGIxNTE2YzhjODQ3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDRnJhbWVSYXRlQ29udHJvbGxlclRlc3Qu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NGcmFtZVJhdGVDb250cm9s
bGVyVGVzdC5jcHAKQEAgLTUzLDcgKzUzLDcgQEAgVEVTVChDQ0ZyYW1lUmF0ZUNvbnRyb2xsZXJU
ZXN0LCBUZXN0RnJhbWVUaHJvdHRsaW5nX0ltbWVkaWF0ZUFjaykKIHsKICAgICBGYWtlQ0NUaHJl
YWQgdGhyZWFkOwogICAgIEZha2VDQ0ZyYW1lUmF0ZUNvbnRyb2xsZXJDbGllbnQgY2xpZW50Owot
ICAgIFJlZlB0cjxGYWtlQ0NEZWxheUJhc2VkVGltZVNvdXJjZT4gdGltZVNvdXJjZSA9IEZha2VD
Q0RlbGF5QmFzZWRUaW1lU291cmNlOjpjcmVhdGUoMTAwMC4wIC8gNjAuMCwgJnRocmVhZCk7Cisg
ICAgUmVmUHRyPEZha2VDQ0RlbGF5QmFzZWRUaW1lU291cmNlPiB0aW1lU291cmNlID0gRmFrZUND
RGVsYXlCYXNlZFRpbWVTb3VyY2U6OmNyZWF0ZSgxLjAgLyA2MC4wLCAmdGhyZWFkKTsKICAgICBD
Q0ZyYW1lUmF0ZUNvbnRyb2xsZXIgY29udHJvbGxlcih0aW1lU291cmNlKTsKIAogICAgIGNvbnRy
b2xsZXIuc2V0Q2xpZW50KCZjbGllbnQpOwpAQCAtNjIsOCArNjIsOCBAQCBURVNUKENDRnJhbWVS
YXRlQ29udHJvbGxlclRlc3QsIFRlc3RGcmFtZVRocm90dGxpbmdfSW1tZWRpYXRlQWNrKQogICAg
IGRvdWJsZSBlbGFwc2VkID0gMDsgLy8gTXVjayBhcm91bmQgd2l0aCB0aW1lIGEgYml0CiAKICAg
ICAvLyBUcmlnZ2VyIG9uZSBmcmFtZSwgbWFrZSBzdXJlIHRoZSB2c3luYyBjYWxsYmFjayBpcyBj
YWxsZWQKLSAgICBlbGFwc2VkICs9IHRocmVhZC5wZW5kaW5nRGVsYXkoKTsKLSAgICB0aW1lU291
cmNlLT5zZXRNb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWVNcyhlbGFwc2VkKTsKKyAgICBlbGFw
c2VkICs9IHRocmVhZC5wZW5kaW5nRGVsYXlNcygpIC8gMTAwMC4wOworICAgIHRpbWVTb3VyY2Ut
PnNldE1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZShlbGFwc2VkKTsKICAgICB0aHJlYWQucnVu
UGVuZGluZ1Rhc2soKTsKICAgICBFWFBFQ1RfVFJVRShjbGllbnQuZnJhbWVCZWd1bigpKTsKICAg
ICBjbGllbnQucmVzZXQoKTsKQEAgLTcyLDEzICs3MiwxMyBAQCBURVNUKENDRnJhbWVSYXRlQ29u
dHJvbGxlclRlc3QsIFRlc3RGcmFtZVRocm90dGxpbmdfSW1tZWRpYXRlQWNrKQogICAgIGNvbnRy
b2xsZXIuZGlkQmVnaW5GcmFtZSgpOwogCiAgICAgLy8gVGVsbCB0aGUgY29udHJvbGxlciB0aGUg
ZnJhbWUgZW5kZWQgNW1zIGxhdGVyCi0gICAgdGltZVNvdXJjZS0+c2V0TW9ub3RvbmljYWxseUlu
Y3JlYXNpbmdUaW1lTXModGltZVNvdXJjZS0+bW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lTXMo
KSArIDUpOworICAgIHRpbWVTb3VyY2UtPnNldE1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSh0
aW1lU291cmNlLT5tb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSArIDAuMDA1KTsKICAgICBj
b250cm9sbGVyLmRpZEZpbmlzaEZyYW1lKCk7CiAKICAgICAvLyBUcmlnZ2VyIGFub3RoZXIgZnJh
bWUsIG1ha2Ugc3VyZSB2c3luYyBydW5zIGFnYWluCi0gICAgZWxhcHNlZCArPSB0aHJlYWQucGVu
ZGluZ0RlbGF5KCk7Ci0gICAgRVhQRUNUX1RSVUUoZWxhcHNlZCA+PSB0aW1lU291cmNlLT5tb25v
dG9uaWNhbGx5SW5jcmVhc2luZ1RpbWVNcygpKTsgLy8gU2FuaXR5IGNoZWNrIHRoYXQgcHJldmlv
dXMgY29kZSBkaWRuJ3QgbW92ZSB0aW1lIGJhY2t3YXJkLgotICAgIHRpbWVTb3VyY2UtPnNldE1v
bm90b25pY2FsbHlJbmNyZWFzaW5nVGltZU1zKGVsYXBzZWQpOworICAgIGVsYXBzZWQgKz0gdGhy
ZWFkLnBlbmRpbmdEZWxheU1zKCkgLyAxMDAwLjA7CisgICAgRVhQRUNUX1RSVUUoZWxhcHNlZCA+
PSB0aW1lU291cmNlLT5tb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSk7IC8vIFNhbml0eSBj
aGVjayB0aGF0IHByZXZpb3VzIGNvZGUgZGlkbid0IG1vdmUgdGltZSBiYWNrd2FyZC4KKyAgICB0
aW1lU291cmNlLT5zZXRNb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoZWxhcHNlZCk7CiAgICAg
dGhyZWFkLnJ1blBlbmRpbmdUYXNrKCk7CiAgICAgRVhQRUNUX1RSVUUoY2xpZW50LmZyYW1lQmVn
dW4oKSk7CiB9CkBAIC04Nyw3ICs4Nyw3IEBAIFRFU1QoQ0NGcmFtZVJhdGVDb250cm9sbGVyVGVz
dCwgVGVzdEZyYW1lVGhyb3R0bGluZ19Ud29GcmFtZXNJbkZsaWdodCkKIHsKICAgICBGYWtlQ0NU
aHJlYWQgdGhyZWFkOwogICAgIEZha2VDQ0ZyYW1lUmF0ZUNvbnRyb2xsZXJDbGllbnQgY2xpZW50
OwotICAgIFJlZlB0cjxGYWtlQ0NEZWxheUJhc2VkVGltZVNvdXJjZT4gdGltZVNvdXJjZSA9IEZh
a2VDQ0RlbGF5QmFzZWRUaW1lU291cmNlOjpjcmVhdGUoMTAwMC4wIC8gNjAuMCwgJnRocmVhZCk7
CisgICAgUmVmUHRyPEZha2VDQ0RlbGF5QmFzZWRUaW1lU291cmNlPiB0aW1lU291cmNlID0gRmFr
ZUNDRGVsYXlCYXNlZFRpbWVTb3VyY2U6OmNyZWF0ZSgxLjAgLyA2MC4wLCAmdGhyZWFkKTsKICAg
ICBDQ0ZyYW1lUmF0ZUNvbnRyb2xsZXIgY29udHJvbGxlcih0aW1lU291cmNlKTsKIAogICAgIGNv
bnRyb2xsZXIuc2V0Q2xpZW50KCZjbGllbnQpOwpAQCAtOTcsOCArOTcsOCBAQCBURVNUKENDRnJh
bWVSYXRlQ29udHJvbGxlclRlc3QsIFRlc3RGcmFtZVRocm90dGxpbmdfVHdvRnJhbWVzSW5GbGln
aHQpCiAgICAgZG91YmxlIGVsYXBzZWQgPSAwOyAvLyBNdWNrIGFyb3VuZCB3aXRoIHRpbWUgYSBi
aXQKIAogICAgIC8vIFRyaWdnZXIgb25lIGZyYW1lLCBtYWtlIHN1cmUgdGhlIHZzeW5jIGNhbGxi
YWNrIGlzIGNhbGxlZAotICAgIGVsYXBzZWQgKz0gdGhyZWFkLnBlbmRpbmdEZWxheSgpOwotICAg
IHRpbWVTb3VyY2UtPnNldE1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZU1zKGVsYXBzZWQpOwor
ICAgIGVsYXBzZWQgKz0gdGhyZWFkLnBlbmRpbmdEZWxheU1zKCkgLyAxMDAwLjA7CisgICAgdGlt
ZVNvdXJjZS0+c2V0TW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKGVsYXBzZWQpOwogICAgIHRo
cmVhZC5ydW5QZW5kaW5nVGFzaygpOwogICAgIEVYUEVDVF9UUlVFKGNsaWVudC5mcmFtZUJlZ3Vu
KCkpOwogICAgIGNsaWVudC5yZXNldCgpOwpAQCAtMTA3LDkgKzEwNyw5IEBAIFRFU1QoQ0NGcmFt
ZVJhdGVDb250cm9sbGVyVGVzdCwgVGVzdEZyYW1lVGhyb3R0bGluZ19Ud29GcmFtZXNJbkZsaWdo
dCkKICAgICBjb250cm9sbGVyLmRpZEJlZ2luRnJhbWUoKTsKIAogICAgIC8vIFRyaWdnZXIgYW5v
dGhlciBmcmFtZSwgbWFrZSBzdXJlIHZzeW5jIGNhbGxiYWNrIHJ1bnMgYWdhaW4KLSAgICBlbGFw
c2VkICs9IHRocmVhZC5wZW5kaW5nRGVsYXkoKTsKLSAgICBFWFBFQ1RfVFJVRShlbGFwc2VkID49
IHRpbWVTb3VyY2UtPm1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZU1zKCkpOyAvLyBTYW5pdHkg
Y2hlY2sgdGhhdCBwcmV2aW91cyBjb2RlIGRpZG4ndCBtb3ZlIHRpbWUgYmFja3dhcmQuCi0gICAg
dGltZVNvdXJjZS0+c2V0TW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lTXMoZWxhcHNlZCk7Cisg
ICAgZWxhcHNlZCArPSB0aHJlYWQucGVuZGluZ0RlbGF5TXMoKSAvIDEwMDAuMDsKKyAgICBFWFBF
Q1RfVFJVRShlbGFwc2VkID49IHRpbWVTb3VyY2UtPm1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGlt
ZSgpKTsgLy8gU2FuaXR5IGNoZWNrIHRoYXQgcHJldmlvdXMgY29kZSBkaWRuJ3QgbW92ZSB0aW1l
IGJhY2t3YXJkLgorICAgIHRpbWVTb3VyY2UtPnNldE1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGlt
ZShlbGFwc2VkKTsKICAgICB0aHJlYWQucnVuUGVuZGluZ1Rhc2soKTsKICAgICBFWFBFQ1RfVFJV
RShjbGllbnQuZnJhbWVCZWd1bigpKTsKICAgICBjbGllbnQucmVzZXQoKTsKQEAgLTExOCwyMyAr
MTE4LDIzIEBAIFRFU1QoQ0NGcmFtZVJhdGVDb250cm9sbGVyVGVzdCwgVGVzdEZyYW1lVGhyb3R0
bGluZ19Ud29GcmFtZXNJbkZsaWdodCkKICAgICBjb250cm9sbGVyLmRpZEJlZ2luRnJhbWUoKTsK
IAogICAgIC8vIFRyaWdnZXIgYW5vdGhlciBmcmFtZS4gU2luY2UgdHdvIGZyYW1lcyBhcmUgcGVu
ZGluZywgd2Ugc2hvdWxkIG5vdCBkcmF3LgotICAgIGVsYXBzZWQgKz0gdGhyZWFkLnBlbmRpbmdE
ZWxheSgpOwotICAgIEVYUEVDVF9UUlVFKGVsYXBzZWQgPj0gdGltZVNvdXJjZS0+bW9ub3Rvbmlj
YWxseUluY3JlYXNpbmdUaW1lTXMoKSk7IC8vIFNhbml0eSBjaGVjayB0aGF0IHByZXZpb3VzIGNv
ZGUgZGlkbid0IG1vdmUgdGltZSBiYWNrd2FyZC4KLSAgICB0aW1lU291cmNlLT5zZXRNb25vdG9u
aWNhbGx5SW5jcmVhc2luZ1RpbWVNcyhlbGFwc2VkKTsKKyAgICBlbGFwc2VkICs9IHRocmVhZC5w
ZW5kaW5nRGVsYXlNcygpIC8gMTAwMC4wOworICAgIEVYUEVDVF9UUlVFKGVsYXBzZWQgPj0gdGlt
ZVNvdXJjZS0+bW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkpOyAvLyBTYW5pdHkgY2hlY2sg
dGhhdCBwcmV2aW91cyBjb2RlIGRpZG4ndCBtb3ZlIHRpbWUgYmFja3dhcmQuCisgICAgdGltZVNv
dXJjZS0+c2V0TW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKGVsYXBzZWQpOwogICAgIHRocmVh
ZC5ydW5QZW5kaW5nVGFzaygpOwogICAgIEVYUEVDVF9GQUxTRShjbGllbnQuZnJhbWVCZWd1bigp
KTsKIAogICAgIC8vIFRlbGwgdGhlIGNvbnRyb2xsZXIgdGhlIGZpcnN0IGZyYW1lIGVuZGVkIDVt
cyBsYXRlcgotICAgIHRpbWVTb3VyY2UtPnNldE1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZU1z
KHRpbWVTb3VyY2UtPm1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZU1zKCkgKyA1KTsKKyAgICB0
aW1lU291cmNlLT5zZXRNb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUodGltZVNvdXJjZS0+bW9u
b3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkgKyAwLjAwNSk7CiAgICAgY29udHJvbGxlci5kaWRG
aW5pc2hGcmFtZSgpOwogCiAgICAgLy8gVGljayBzaG91bGQgbm90IGhhdmUgYmVlbiBjYWxsZWQK
ICAgICBFWFBFQ1RfRkFMU0UoY2xpZW50LmZyYW1lQmVndW4oKSk7CiAKICAgICAvLyBUcmlnZ2Vy
IHlldCBhbm90aGVyIGZyYW1lLiBTaW5jZSBvbmUgZnJhbWVzIGlzIHBlbmRpbmcsIGFub3RoZXIg
dnN5bmMgY2FsbGJhY2sgc2hvdWxkIHJ1bi4KLSAgICBlbGFwc2VkICs9IHRocmVhZC5wZW5kaW5n
RGVsYXkoKTsKLSAgICBFWFBFQ1RfVFJVRShlbGFwc2VkID49IHRpbWVTb3VyY2UtPm1vbm90b25p
Y2FsbHlJbmNyZWFzaW5nVGltZU1zKCkpOyAvLyBTYW5pdHkgY2hlY2sgdGhhdCBwcmV2aW91cyBj
b2RlIGRpZG4ndCBtb3ZlIHRpbWUgYmFja3dhcmQuCi0gICAgdGltZVNvdXJjZS0+c2V0TW9ub3Rv
bmljYWxseUluY3JlYXNpbmdUaW1lTXMoZWxhcHNlZCk7CisgICAgZWxhcHNlZCArPSB0aHJlYWQu
cGVuZGluZ0RlbGF5TXMoKSAvIDEwMDAuMDsKKyAgICBFWFBFQ1RfVFJVRShlbGFwc2VkID49IHRp
bWVTb3VyY2UtPm1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpKTsgLy8gU2FuaXR5IGNoZWNr
IHRoYXQgcHJldmlvdXMgY29kZSBkaWRuJ3QgbW92ZSB0aW1lIGJhY2t3YXJkLgorICAgIHRpbWVT
b3VyY2UtPnNldE1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZShlbGFwc2VkKTsKICAgICB0aHJl
YWQucnVuUGVuZGluZ1Rhc2soKTsKICAgICBFWFBFQ1RfVFJVRShjbGllbnQuZnJhbWVCZWd1bigp
KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NTY2hlZHVs
ZXJUZXN0Q29tbW9uLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDU2NoZWR1bGVy
VGVzdENvbW1vbi5oCmluZGV4IDliNWUwMzgzZTJlZjQwNmUxZmYwNTZmNzhlZWNmZmNlMjRiM2Q4
MzguLjM5Y2Y5ZTQ5NjMzODA4OGRiZDY1NDVjMjUyZTFkNDFlYTAwYjk0MDUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NTY2hlZHVsZXJUZXN0Q29tbW9uLmgKKysr
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ1NjaGVkdWxlclRlc3RDb21tb24uaApA
QCAtNjEsNyArNjEsNyBAQCBwdWJsaWM6CiAgICAgICAgIHRhc2stPnBlcmZvcm1UYXNrKCk7CiAg
ICAgfQogCi0gICAgbG9uZyBsb25nIHBlbmRpbmdEZWxheSgpIGNvbnN0CisgICAgbG9uZyBsb25n
IHBlbmRpbmdEZWxheU1zKCkgY29uc3QKICAgICB7CiAgICAgICAgIEVYUEVDVF9UUlVFKGhhc1Bl
bmRpbmdUYXNrKCkpOwogICAgICAgICByZXR1cm4gbV9wZW5kaW5nVGFza0RlbGF5OwpAQCAtMTA3
LDIwICsxMDcsMjAgQEAgcHJvdGVjdGVkOgogCiBjbGFzcyBGYWtlQ0NEZWxheUJhc2VkVGltZVNv
dXJjZSA6IHB1YmxpYyBXZWJDb3JlOjpDQ0RlbGF5QmFzZWRUaW1lU291cmNlIHsKIHB1YmxpYzoK
LSAgICBzdGF0aWMgUGFzc1JlZlB0cjxGYWtlQ0NEZWxheUJhc2VkVGltZVNvdXJjZT4gY3JlYXRl
KGRvdWJsZSBpbnRlcnZhbE1zLCBXZWJDb3JlOjpDQ1RocmVhZCogdGhyZWFkKQorICAgIHN0YXRp
YyBQYXNzUmVmUHRyPEZha2VDQ0RlbGF5QmFzZWRUaW1lU291cmNlPiBjcmVhdGUoZG91YmxlIGlu
dGVydmFsLCBXZWJDb3JlOjpDQ1RocmVhZCogdGhyZWFkKQogICAgIHsKLSAgICAgICAgcmV0dXJu
IGFkb3B0UmVmKG5ldyBGYWtlQ0NEZWxheUJhc2VkVGltZVNvdXJjZShpbnRlcnZhbE1zLCB0aHJl
YWQpKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBGYWtlQ0NEZWxheUJhc2VkVGltZVNv
dXJjZShpbnRlcnZhbCwgdGhyZWFkKSk7CiAgICAgfQogCi0gICAgdm9pZCBzZXRNb25vdG9uaWNh
bGx5SW5jcmVhc2luZ1RpbWVNcyhkb3VibGUgdGltZSkgeyBtX21vbm90b25pY2FsbHlJbmNyZWFz
aW5nVGltZU1zID0gdGltZTsgfQotICAgIHZpcnR1YWwgZG91YmxlIG1vbm90b25pY2FsbHlJbmNy
ZWFzaW5nVGltZU1zKCkgY29uc3QgeyByZXR1cm4gbV9tb25vdG9uaWNhbGx5SW5jcmVhc2luZ1Rp
bWVNczsgfQorICAgIHZvaWQgc2V0TW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKGRvdWJsZSB0
aW1lKSB7IG1fbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lID0gdGltZTsgfQorICAgIHZpcnR1
YWwgZG91YmxlIG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpIGNvbnN0IHsgcmV0dXJuIG1f
bW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lOyB9CiAKIHByb3RlY3RlZDoKLSAgICBGYWtlQ0NE
ZWxheUJhc2VkVGltZVNvdXJjZShkb3VibGUgaW50ZXJ2YWxNcywgV2ViQ29yZTo6Q0NUaHJlYWQq
IHRocmVhZCkKLSAgICAgICAgOiBDQ0RlbGF5QmFzZWRUaW1lU291cmNlKGludGVydmFsTXMsIHRo
cmVhZCkKLSAgICAgICAgLCBtX21vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZU1zKDApIHsgfQor
ICAgIEZha2VDQ0RlbGF5QmFzZWRUaW1lU291cmNlKGRvdWJsZSBpbnRlcnZhbCwgV2ViQ29yZTo6
Q0NUaHJlYWQqIHRocmVhZCkKKyAgICAgICAgOiBDQ0RlbGF5QmFzZWRUaW1lU291cmNlKGludGVy
dmFsLCB0aHJlYWQpCisgICAgICAgICwgbV9tb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoMCkg
eyB9CiAKLSAgICBkb3VibGUgbV9tb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWVNczsKKyAgICBk
b3VibGUgbV9tb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWU7CiB9OwogCiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDVGltZXJUZXN0LmNwcCBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NUaW1lclRlc3QuY3BwCmluZGV4IDI5OGI2OTU2MjhmMTUw
MGQwODU1NTY0NjRjNjdkNGEyYjI0MzY3NDAuLjdkODQ1ODIwMmUwMjY2ODQ5NDMxYmNmZmQ5MzQy
ZmVkZjY0NzIwZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NU
aW1lclRlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NUaW1lclRl
c3QuY3BwCkBAIC01NCw3ICs1NCw3IEBAIHByb3RlY3RlZDoKIFRFU1RfRihDQ1RpbWVyVGVzdCwg
T25lU2hvdCkKIHsKICAgICBDQ1RpbWVyIHRpbWVyKCZtX3RocmVhZCwgdGhpcyk7Ci0gICAgdGlt
ZXIuc3RhcnRPbmVTaG90KDEpOworICAgIHRpbWVyLnN0YXJ0T25lU2hvdCgwLjAwMSwgMCk7CiAK
ICAgICBtX3RocmVhZC5ydW5QZW5kaW5nVGFzaygpOwogICAgIEVYUEVDVF9UUlVFKG1fZmxhZyk7
CkBAIC02NCw3ICs2NCw3IEBAIFRFU1RfRihDQ1RpbWVyVGVzdCwgT25lU2hvdCkKIFRFU1RfRihD
Q1RpbWVyVGVzdCwgU3RvcE1hbnVhbGx5KQogewogICAgIENDVGltZXIgdGltZXIoJm1fdGhyZWFk
LCB0aGlzKTsKLSAgICB0aW1lci5zdGFydE9uZVNob3QoMSk7CisgICAgdGltZXIuc3RhcnRPbmVT
aG90KDAuMDAxLCAwKTsKICAgICB0aW1lci5zdG9wKCk7CiAKICAgICBtX3RocmVhZC5ydW5QZW5k
aW5nVGFzaygpOwpAQCAtNzYsNyArNzYsNyBAQCBURVNUX0YoQ0NUaW1lclRlc3QsIFN0b3BCeVNj
b3BlKQogewogICAgIHsKICAgICAgICAgQ0NUaW1lciB0aW1lcigmbV90aHJlYWQsIHRoaXMpOwot
ICAgICAgICB0aW1lci5zdGFydE9uZVNob3QoMSk7CisgICAgICAgIHRpbWVyLnN0YXJ0T25lU2hv
dCgwLjAwMSwgMCk7CiAgICAgfQogCiAgICAgbV90aHJlYWQucnVuUGVuZGluZ1Rhc2soKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>130666</attachid>
            <date>2012-03-07 12:06:40 -0800</date>
            <delta_ts>2012-03-09 10:36:12 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80514-20120307150639.patch</filename>
            <type>text/plain</type>
            <size>28026</size>
            <attacher>vollick</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA5OTM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0RlbGF5QmFzZWRUaW1lU291cmNlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDRGVsYXlCYXNl
ZFRpbWVTb3VyY2UuY3BwCmluZGV4IGU3YjE5YTc2MDUwNGVmNzRjODQzNDA2MDUzYWY0MGM5MzMz
NDAzNTQuLjI4NzY0ODNlOWY4ZjZiYWZmOTUyNDU0NTYzNTc5ZDJhYzFlN2RmNDIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDRGVsYXlC
YXNlZFRpbWVTb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL2NjL0NDRGVsYXlCYXNlZFRpbWVTb3VyY2UuY3BwCkBAIC0zMywxNSArMzMsMTUg
QEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1QYXNzUmVmUHRyPENDRGVsYXlCYXNlZFRpbWVT
b3VyY2U+IENDRGVsYXlCYXNlZFRpbWVTb3VyY2U6OmNyZWF0ZShkb3VibGUgaW50ZXJ2YWxNcywg
Q0NUaHJlYWQqIHRocmVhZCkKK1Bhc3NSZWZQdHI8Q0NEZWxheUJhc2VkVGltZVNvdXJjZT4gQ0NE
ZWxheUJhc2VkVGltZVNvdXJjZTo6Y3JlYXRlKGRvdWJsZSBpbnRlcnZhbCwgQ0NUaHJlYWQqIHRo
cmVhZCkKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IENDRGVsYXlCYXNlZFRpbWVTb3VyY2Uo
aW50ZXJ2YWxNcywgdGhyZWFkKSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBDQ0RlbGF5QmFz
ZWRUaW1lU291cmNlKGludGVydmFsLCB0aHJlYWQpKTsKIH0KIAotQ0NEZWxheUJhc2VkVGltZVNv
dXJjZTo6Q0NEZWxheUJhc2VkVGltZVNvdXJjZShkb3VibGUgaW50ZXJ2YWxNcywgQ0NUaHJlYWQq
IHRocmVhZCkKK0NDRGVsYXlCYXNlZFRpbWVTb3VyY2U6OkNDRGVsYXlCYXNlZFRpbWVTb3VyY2Uo
ZG91YmxlIGludGVydmFsLCBDQ1RocmVhZCogdGhyZWFkKQogICAgIDogbV9jbGllbnQoMCkKICAg
ICAsIG1faGFzVGlja1RhcmdldChmYWxzZSkKLSAgICAsIG1faW50ZXJ2YWxNcyhpbnRlcnZhbE1z
KQorICAgICwgbV9pbnRlcnZhbChpbnRlcnZhbCkKICAgICAsIG1fdGlja1RhcmdldCgwKQogICAg
ICwgbV9zdGF0ZShTVEFURV9JTkFDVElWRSkKICAgICAsIG1fdGltZXIodGhyZWFkLCB0aGlzKQpA
QCAtNzAsMzIgKzcwLDMyIEBAIHZvaWQgQ0NEZWxheUJhc2VkVGltZVNvdXJjZTo6c2V0QWN0aXZl
KGJvb2wgYWN0aXZlKQogCiAgICAgbV9zdGF0ZSA9IFNUQVRFX0FDVElWRTsKIAotICAgIGRvdWJs
ZSBub3dNcyA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZU1zKCk7Ci0gICAgcG9zdE5leHRU
aWNrVGFzayhub3dNcyk7CisgICAgZG91YmxlIG5vdyA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5n
VGltZSgpOworICAgIHBvc3ROZXh0VGlja1Rhc2sobm93KTsKIH0KIAogdm9pZCBDQ0RlbGF5QmFz
ZWRUaW1lU291cmNlOjpvblRpbWVyRmlyZWQoKQogewogICAgIEFTU0VSVChtX3N0YXRlICE9IFNU
QVRFX0lOQUNUSVZFKTsKIAotICAgIGRvdWJsZSBub3dNcyA9IG1vbm90b25pY2FsbHlJbmNyZWFz
aW5nVGltZU1zKCk7CisgICAgZG91YmxlIG5vdyA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGlt
ZSgpOwogCiAgICAgaWYgKG1fc3RhdGUgPT0gU1RBVEVfU1RBUlRJTkcpIHsKICAgICAgICAgbV9o
YXNUaWNrVGFyZ2V0ID0gdHJ1ZTsKLSAgICAgICAgbV90aWNrVGFyZ2V0ID0gbm93TXM7CisgICAg
ICAgIG1fdGlja1RhcmdldCA9IG5vdzsKICAgICAgICAgbV9zdGF0ZSA9IFNUQVRFX0FDVElWRTsK
ICAgICB9CiAKLSAgICBwb3N0TmV4dFRpY2tUYXNrKG5vd01zKTsKKyAgICBwb3N0TmV4dFRpY2tU
YXNrKG5vdyk7CiAKICAgICAvLyBGaXJlIHRoZSB0aWNrCiAgICAgaWYgKG1fY2xpZW50KQogICAg
ICAgICBtX2NsaWVudC0+b25UaW1lclRpY2soKTsKIH0KIAotZG91YmxlIENDRGVsYXlCYXNlZFRp
bWVTb3VyY2U6Om1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZU1zKCkgY29uc3QKK2RvdWJsZSBD
Q0RlbGF5QmFzZWRUaW1lU291cmNlOjptb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSBjb25z
dAogewotICAgIHJldHVybiBXVEY6Om1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpICogMTAw
MC4wOworICAgIHJldHVybiBXVEY6Om1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwogfQog
CiAvLyBUaGlzIGNvZGUgdHJpZXMgdG8gYWNoaWV2ZSBhbiBhdmVyYWdlIHRpY2sgcmF0ZSBhcyBj
bG9zZSB0byBtX2ludGVydmFsTXMgYXMgcG9zc2libGUuCkBAIC0xNDEsMjEgKzE0MSwyMyBAQCBk
b3VibGUgQ0NEZWxheUJhc2VkVGltZVNvdXJjZTo6bW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1l
TXMoKSBjb25zdAogLy8KIC8vIEZvciB0aGUgcmVhbGx5IGxhdGUgZGVsYXksIHdlIHdlIG1vdmUg
dG8gdGhlIG5leHQgbG9naWNhbCB0aWNrLiBUaGUgdGltZWJhc2UgaXMgbm90IHJlc2V0LgogLy8g
ICAgICBub3c9MzcgICB0aWNrVGFyZ2V0PTE2LjY2NyAgbmV3VGFyZ2V0PTUwLjAwMCAgLS0+IHRp
Y2soKSwgcG9zdERlbGF5ZWRUYXNrKGZsb29yKDUwLjAwMC0zNykpIC0tPiBwb3N0RGVsYXllZFRh
c2soMTMpCi12b2lkIENDRGVsYXlCYXNlZFRpbWVTb3VyY2U6OnBvc3ROZXh0VGlja1Rhc2soZG91
YmxlIG5vd01zKQorLy8KKy8vIE5vdGUsIHRoYXQgaW4gdGhlIGFib3ZlIGRpc2N1c3Npb24sIHRp
bWVzIGFyZSBleHByZXNzZWQgaW4gbWlsbGlzZWNvbmRzLCBidXQgaW4gdGhlIGNvZGUsIHNlY29u
ZHMgYXJlIHVzZWQuCit2b2lkIENDRGVsYXlCYXNlZFRpbWVTb3VyY2U6OnBvc3ROZXh0VGlja1Rh
c2soZG91YmxlIG5vdykKIHsKLSAgICBpbnQgbnVtSW50ZXJ2YWxzRWxhcHNlZCA9IHN0YXRpY19j
YXN0PGludD4oZmxvb3IoKG5vd01zIC0gbV90aWNrVGFyZ2V0KSAvIG1faW50ZXJ2YWxNcykpOwot
ICAgIGRvdWJsZSBsYXN0RWZmZWN0aXZlVGljayA9IG1fdGlja1RhcmdldCArIG1faW50ZXJ2YWxN
cyAqIG51bUludGVydmFsc0VsYXBzZWQ7Ci0gICAgZG91YmxlIG5ld1RpY2tUYXJnZXQgPSBsYXN0
RWZmZWN0aXZlVGljayArIG1faW50ZXJ2YWxNczsKLQotICAgIGxvbmcgbG9uZyBkZWxheSA9IHN0
YXRpY19jYXN0PGxvbmcgbG9uZz4obmV3VGlja1RhcmdldCAtIG5vd01zKTsKLSAgICBpZiAoIWRl
bGF5KSB7Ci0gICAgICAgIG5ld1RpY2tUYXJnZXQgPSBuZXdUaWNrVGFyZ2V0ICsgbV9pbnRlcnZh
bE1zOwotICAgICAgICBkZWxheSA9IHN0YXRpY19jYXN0PGxvbmcgbG9uZz4obmV3VGlja1Rhcmdl
dCAtIG5vd01zKTsKKyAgICBpbnQgbnVtSW50ZXJ2YWxzRWxhcHNlZCA9IHN0YXRpY19jYXN0PGlu
dD4oZmxvb3IoKG5vdyAtIG1fdGlja1RhcmdldCkgLyBtX2ludGVydmFsKSk7CisgICAgZG91Ymxl
IGxhc3RFZmZlY3RpdmVUaWNrID0gbV90aWNrVGFyZ2V0ICsgbV9pbnRlcnZhbCAqIG51bUludGVy
dmFsc0VsYXBzZWQ7CisgICAgZG91YmxlIG5ld1RpY2tUYXJnZXQgPSBsYXN0RWZmZWN0aXZlVGlj
ayArIG1faW50ZXJ2YWw7CisKKyAgICBsb25nIGxvbmcgZGVsYXlNcyA9IHN0YXRpY19jYXN0PGxv
bmcgbG9uZz4oKG5ld1RpY2tUYXJnZXQgLSBub3cpICogMTAwMC4wKTsKKyAgICBpZiAoIWRlbGF5
TXMpIHsKKyAgICAgICAgbmV3VGlja1RhcmdldCA9IG5ld1RpY2tUYXJnZXQgKyBtX2ludGVydmFs
OworICAgICAgICBkZWxheU1zID0gc3RhdGljX2Nhc3Q8bG9uZyBsb25nPigobmV3VGlja1Rhcmdl
dCAtIG5vdykgKiAxMDAwLjApOwogICAgIH0KIAogICAgIC8vIFBvc3QgYW5vdGhlciB0YXNrICpi
ZWZvcmUqIHRoZSB0aWNrIGFuZCB1cGRhdGUgc3RhdGUKLSAgICBBU1NFUlQobmV3VGlja1Rhcmdl
dCA+IG5vd01zKTsKLSAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChkZWxheSk7CisgICAgQVNTRVJU
KG5ld1RpY2tUYXJnZXQgPiBub3cpOworICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KGRlbGF5TXMg
LyAxMDAwLjApOwogICAgIG1fdGlja1RhcmdldCA9IG5ld1RpY2tUYXJnZXQ7CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDRGVs
YXlCYXNlZFRpbWVTb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2No
cm9taXVtL2NjL0NDRGVsYXlCYXNlZFRpbWVTb3VyY2UuaAppbmRleCBhNDFhYWQ0ZDg0MjkyNjhi
MjIwOGE1MGM4YTQyNThlNzhiY2FiZTczLi5hNjhlOWRmNTZhNDM3OTMwY2U0MWUwYWEzZGE1MWUz
NzcwZTAyNGZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9jYy9DQ0RlbGF5QmFzZWRUaW1lU291cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NEZWxheUJhc2VkVGltZVNvdXJjZS5oCkBA
IC0zOCw3ICszOCw3IEBAIGNsYXNzIENDVGhyZWFkOwogLy8gaW4gZmFjZSBvZiBtaWxsaXNlY29u
ZC1wcmVjaXNpb24gZGVsYXllZCBjYWxsYmFja3MgYW5kIHJhbmRvbSBxdWV1ZWluZyBkZWxheXMu
CiBjbGFzcyBDQ0RlbGF5QmFzZWRUaW1lU291cmNlIDogcHVibGljIENDVGltZVNvdXJjZSwgQ0NU
aW1lckNsaWVudCB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8Q0NEZWxheUJhc2Vk
VGltZVNvdXJjZT4gY3JlYXRlKGRvdWJsZSBpbnRlcnZhbE1zLCBDQ1RocmVhZCopOworICAgIHN0
YXRpYyBQYXNzUmVmUHRyPENDRGVsYXlCYXNlZFRpbWVTb3VyY2U+IGNyZWF0ZShkb3VibGUgaW50
ZXJ2YWwsIENDVGhyZWFkKik7CiAKICAgICB2aXJ0dWFsIH5DQ0RlbGF5QmFzZWRUaW1lU291cmNl
KCkgeyB9CiAKQEAgLTUxLDExICs1MSwxMSBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIG9u
VGltZXJGaXJlZCgpOwogCiAgICAgLy8gVmlydHVhbCBmb3IgdGVzdGluZy4KLSAgICB2aXJ0dWFs
IGRvdWJsZSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWVNcygpIGNvbnN0OworICAgIHZpcnR1
YWwgZG91YmxlIG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpIGNvbnN0OwogCiBwcm90ZWN0
ZWQ6Ci0gICAgQ0NEZWxheUJhc2VkVGltZVNvdXJjZShkb3VibGUgaW50ZXJ2YWxNcywgQ0NUaHJl
YWQqKTsKLSAgICB2b2lkIHBvc3ROZXh0VGlja1Rhc2soZG91YmxlIG5vd01zKTsKKyAgICBDQ0Rl
bGF5QmFzZWRUaW1lU291cmNlKGRvdWJsZSBpbnRlcnZhbCwgQ0NUaHJlYWQqKTsKKyAgICB2b2lk
IHBvc3ROZXh0VGlja1Rhc2soZG91YmxlIG5vdyk7CiAKICAgICBlbnVtIFN0YXRlIHsKICAgICAg
ICAgU1RBVEVfSU5BQ1RJVkUsCkBAIC02NCw3ICs2NCw3IEBAIHByb3RlY3RlZDoKICAgICB9Owog
ICAgIENDVGltZVNvdXJjZUNsaWVudCogbV9jbGllbnQ7CiAgICAgYm9vbCBtX2hhc1RpY2tUYXJn
ZXQ7Ci0gICAgZG91YmxlIG1faW50ZXJ2YWxNczsKKyAgICBkb3VibGUgbV9pbnRlcnZhbDsKICAg
ICBkb3VibGUgbV90aWNrVGFyZ2V0OwogICAgIFN0YXRlIG1fc3RhdGU7CiAgICAgQ0NUaHJlYWQq
IG1fdGhyZWFkOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vY2MvQ0NUaHJlYWRQcm94eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9jYy9DQ1RocmVhZFByb3h5LmNwcAppbmRleCA0YjNkMmJkMzJkMjNi
MzJkNjNjZmIwYjY4M2Q0ZGZlMjkwZWNmMmUxLi5mMGMxOTQwNDllZjEyNmRhZGMyNDU4Y2NjODA0
Zjc1MWJjODc2MmYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9jYy9DQ1RocmVhZFByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1RocmVhZFByb3h5LmNwcApAQCAtNTg5LDggKzU4
OSw4IEBAIHZvaWQgQ0NUaHJlYWRQcm94eTo6aW5pdGlhbGl6ZUltcGxPbkltcGxUaHJlYWQoQ0ND
b21wbGV0aW9uRXZlbnQqIGNvbXBsZXRpb24pCiAgICAgVFJBQ0VfRVZFTlQoIkNDVGhyZWFkUHJv
eHk6OmluaXRpYWxpemVJbXBsT25JbXBsVGhyZWFkIiwgdGhpcywgMCk7CiAgICAgQVNTRVJUKGlz
SW1wbFRocmVhZCgpKTsKICAgICBtX2xheWVyVHJlZUhvc3RJbXBsID0gbV9sYXllclRyZWVIb3N0
LT5jcmVhdGVMYXllclRyZWVIb3N0SW1wbCh0aGlzKTsKLSAgICBjb25zdCBkb3VibGUgZGlzcGxh
eVJlZnJlc2hJbnRlcnZhbE1zID0gMTAwMC4wIC8gNjAuMDsKLSAgICBPd25QdHI8Q0NGcmFtZVJh
dGVDb250cm9sbGVyPiBmcmFtZVJhdGVDb250cm9sbGVyID0gYWRvcHRQdHIobmV3IENDRnJhbWVS
YXRlQ29udHJvbGxlcihDQ0RlbGF5QmFzZWRUaW1lU291cmNlOjpjcmVhdGUoZGlzcGxheVJlZnJl
c2hJbnRlcnZhbE1zLCBDQ1Byb3h5OjppbXBsVGhyZWFkKCkpKSk7CisgICAgY29uc3QgZG91Ymxl
IGRpc3BsYXlSZWZyZXNoSW50ZXJ2YWwgPSAxLjAgLyA2MC4wOworICAgIE93blB0cjxDQ0ZyYW1l
UmF0ZUNvbnRyb2xsZXI+IGZyYW1lUmF0ZUNvbnRyb2xsZXIgPSBhZG9wdFB0cihuZXcgQ0NGcmFt
ZVJhdGVDb250cm9sbGVyKENDRGVsYXlCYXNlZFRpbWVTb3VyY2U6OmNyZWF0ZShkaXNwbGF5UmVm
cmVzaEludGVydmFsLCBDQ1Byb3h5OjppbXBsVGhyZWFkKCkpKSk7CiAgICAgbV9zY2hlZHVsZXJP
bkltcGxUaHJlYWQgPSBDQ1NjaGVkdWxlcjo6Y3JlYXRlKHRoaXMsIGZyYW1lUmF0ZUNvbnRyb2xs
ZXIucmVsZWFzZSgpKTsKICAgICBtX3NjaGVkdWxlck9uSW1wbFRocmVhZC0+c2V0VmlzaWJsZSht
X2xheWVyVHJlZUhvc3RJbXBsLT52aXNpYmxlKCkpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1RpbWVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVGltZXIuY3BwCmluZGV4IDlm
Y2M2MTMwNWMxOTg5ZWVlYjdhN2ZjZDU2OTViYjJjMjBiODZkZWQuLjQ4ZGIwODZjNTE5MWRmOWFk
MWFiYzg5ZTVjNTNiMDg3ODc2MmVlMWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVGltZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVGltZXIuY3BwCkBAIC03NiwxMiArNzYs
MTIgQEAgQ0NUaW1lcjo6fkNDVGltZXIoKQogICAgIHN0b3AoKTsKIH0KIAotdm9pZCBDQ1RpbWVy
OjpzdGFydE9uZVNob3QoZG91YmxlIGludGVydmFsTXMpCit2b2lkIENDVGltZXI6OnN0YXJ0T25l
U2hvdChkb3VibGUgaW50ZXJ2YWwpCiB7CiAgICAgc3RvcCgpOwogCiAgICAgbV90YXNrID0gbmV3
IENDVGltZXJUYXNrKHRoaXMpOwotICAgIG1fdGhyZWFkLT5wb3N0RGVsYXllZFRhc2soYWRvcHRQ
dHIobV90YXNrKSwgaW50ZXJ2YWxNcyk7CisgICAgbV90aHJlYWQtPnBvc3REZWxheWVkVGFzayhh
ZG9wdFB0cihtX3Rhc2spLCBpbnRlcnZhbCAqIDEwMDAuMCk7CiB9CiAKIHZvaWQgQ0NUaW1lcjo6
c3RvcCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9jYy9DQ1RpbWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9jYy9DQ1RpbWVyLmgKaW5kZXggYjhkYjVlMTg5MzhmMDhmNTJhMTFjYTcxMGJjMmFlM2Rk
MmMzNzdiMS4uNGZmZDMyMzFlMDBmNjAzMjc3YmMzYmEyNDJkOTE4N2QyNjg3ZjU0ZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NUaW1l
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0ND
VGltZXIuaApAQCAtNTAsNyArNTAsNyBAQCBwdWJsaWM6CiAgICAgfkNDVGltZXIoKTsKIAogICAg
IC8vIElmIGEgcHJldmlvdXMgdGFzayBpcyBwZW5kaW5nLCBpdCB3aWxsIGJlIHJlcGxhY2VkIHdp
dGggdGhlIG5ldyBvbmUuCi0gICAgdm9pZCBzdGFydE9uZVNob3QoZG91YmxlIGludGVydmFsTXMp
OworICAgIHZvaWQgc3RhcnRPbmVTaG90KGRvdWJsZSBpbnRlcnZhbCk7CiAgICAgdm9pZCBzdG9w
KCk7CiAKICAgICBib29sIGlzQWN0aXZlKCkgY29uc3QgeyByZXR1cm4gbV90YXNrOyB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDRGVsYXlCYXNlZFRpbWVTb3Vy
Y2VUZXN0LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NEZWxheUJhc2VkVGlt
ZVNvdXJjZVRlc3QuY3BwCmluZGV4IDg2N2Q1NmVhODdkMjI4Yjk0OWQxMTIxMThiMjFmYTM3Mjc4
Yzg3MmQuLjkzZTg0YTRhZmIxMGY2ZTM2ZGU2ODVmZjNmOWFmNDZlMzU4OTVlZWMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NEZWxheUJhc2VkVGltZVNvdXJjZVRl
c3QuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NEZWxheUJhc2VkVGlt
ZVNvdXJjZVRlc3QuY3BwCkBAIC00MSwxNSArNDEsMTUgQEAgVEVTVChDQ0RlbGF5QmFzZWRUaW1l
U291cmNlVGVzdCwgVGFza1Bvc3RlZEFuZFRpY2tDYWxsZWQpCiB7CiAgICAgRmFrZUNDVGhyZWFk
IHRocmVhZDsKICAgICBGYWtlQ0NUaW1lU291cmNlQ2xpZW50IGNsaWVudDsKLSAgICBSZWZQdHI8
RmFrZUNDRGVsYXlCYXNlZFRpbWVTb3VyY2U+IHRpbWVyID0gRmFrZUNDRGVsYXlCYXNlZFRpbWVT
b3VyY2U6OmNyZWF0ZSgxMDAwLjAgLyA2MC4wLCAmdGhyZWFkKTsKKyAgICBSZWZQdHI8RmFrZUND
RGVsYXlCYXNlZFRpbWVTb3VyY2U+IHRpbWVyID0gRmFrZUNDRGVsYXlCYXNlZFRpbWVTb3VyY2U6
OmNyZWF0ZSgxLjAgLyA2MC4wLCAmdGhyZWFkKTsKICAgICB0aW1lci0+c2V0Q2xpZW50KCZjbGll
bnQpOwogCi0gICAgdGltZXItPnNldE1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZU1zKDApOwor
ICAgIHRpbWVyLT5zZXRNb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoMCk7CiAgICAgdGltZXIt
PnNldEFjdGl2ZSh0cnVlKTsKICAgICBFWFBFQ1RfVFJVRSh0aW1lci0+YWN0aXZlKCkpOwogICAg
IEVYUEVDVF9UUlVFKHRocmVhZC5oYXNQZW5kaW5nVGFzaygpKTsKIAotICAgIHRpbWVyLT5zZXRN
b25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWVNcygxNik7CisgICAgdGltZXItPnNldE1vbm90b25p
Y2FsbHlJbmNyZWFzaW5nVGltZSgwLjAxNik7CiAgICAgdGhyZWFkLnJ1blBlbmRpbmdUYXNrKCk7
CiAgICAgRVhQRUNUX1RSVUUodGltZXItPmFjdGl2ZSgpKTsKICAgICBFWFBFQ1RfVFJVRShjbGll
bnQudGlja0NhbGxlZCgpKTsKQEAgLTU5LDcgKzU5LDcgQEAgVEVTVChDQ0RlbGF5QmFzZWRUaW1l
U291cmNlLCBUaWNrTm90Q2FsbGVkV2l0aFRhc2tQb3N0ZWQpCiB7CiAgICAgRmFrZUNDVGhyZWFk
IHRocmVhZDsKICAgICBGYWtlQ0NUaW1lU291cmNlQ2xpZW50IGNsaWVudDsKLSAgICBSZWZQdHI8
RmFrZUNDRGVsYXlCYXNlZFRpbWVTb3VyY2U+IHRpbWVyID0gRmFrZUNDRGVsYXlCYXNlZFRpbWVT
b3VyY2U6OmNyZWF0ZSgxMDAwLjAgLyA2MC4wLCAmdGhyZWFkKTsKKyAgICBSZWZQdHI8RmFrZUND
RGVsYXlCYXNlZFRpbWVTb3VyY2U+IHRpbWVyID0gRmFrZUNDRGVsYXlCYXNlZFRpbWVTb3VyY2U6
OmNyZWF0ZSgxLjAgLyA2MC4wLCAmdGhyZWFkKTsKICAgICB0aW1lci0+c2V0Q2xpZW50KCZjbGll
bnQpOwogICAgIHRpbWVyLT5zZXRBY3RpdmUodHJ1ZSk7CiAgICAgRVhQRUNUX1RSVUUodGhyZWFk
Lmhhc1BlbmRpbmdUYXNrKCkpOwpAQCAtNzIsNyArNzIsNyBAQCBURVNUKENDRGVsYXlCYXNlZFRp
bWVTb3VyY2UsIFN0YXJ0VHdpY2VFbnF1ZXVlc09uZVRhc2spCiB7CiAgICAgRmFrZUNDVGhyZWFk
IHRocmVhZDsKICAgICBGYWtlQ0NUaW1lU291cmNlQ2xpZW50IGNsaWVudDsKLSAgICBSZWZQdHI8
RmFrZUNDRGVsYXlCYXNlZFRpbWVTb3VyY2U+IHRpbWVyID0gRmFrZUNDRGVsYXlCYXNlZFRpbWVT
b3VyY2U6OmNyZWF0ZSgxMDAwLjAgLyA2MC4wLCAmdGhyZWFkKTsKKyAgICBSZWZQdHI8RmFrZUND
RGVsYXlCYXNlZFRpbWVTb3VyY2U+IHRpbWVyID0gRmFrZUNDRGVsYXlCYXNlZFRpbWVTb3VyY2U6
OmNyZWF0ZSgxLjAgLyA2MC4wLCAmdGhyZWFkKTsKICAgICB0aW1lci0+c2V0Q2xpZW50KCZjbGll
bnQpOwogICAgIHRpbWVyLT5zZXRBY3RpdmUodHJ1ZSk7CiAgICAgRVhQRUNUX1RSVUUodGhyZWFk
Lmhhc1BlbmRpbmdUYXNrKCkpOwpAQCAtODUsNyArODUsNyBAQCBURVNUKENDRGVsYXlCYXNlZFRp
bWVTb3VyY2UsIFN0YXJ0V2hlblJ1bm5pbmdEb2VzbnRUaWNrKQogewogICAgIEZha2VDQ1RocmVh
ZCB0aHJlYWQ7CiAgICAgRmFrZUNDVGltZVNvdXJjZUNsaWVudCBjbGllbnQ7Ci0gICAgUmVmUHRy
PEZha2VDQ0RlbGF5QmFzZWRUaW1lU291cmNlPiB0aW1lciA9IEZha2VDQ0RlbGF5QmFzZWRUaW1l
U291cmNlOjpjcmVhdGUoMTAwMC4wIC8gNjAuMCwgJnRocmVhZCk7CisgICAgUmVmUHRyPEZha2VD
Q0RlbGF5QmFzZWRUaW1lU291cmNlPiB0aW1lciA9IEZha2VDQ0RlbGF5QmFzZWRUaW1lU291cmNl
OjpjcmVhdGUoMS4wIC8gNjAuMCwgJnRocmVhZCk7CiAgICAgdGltZXItPnNldENsaWVudCgmY2xp
ZW50KTsKICAgICB0aW1lci0+c2V0QWN0aXZlKHRydWUpOwogICAgIHRocmVhZC5ydW5QZW5kaW5n
VGFzaygpOwpAQCAtMTAwLDE5ICsxMDAsMTkgQEAgVEVTVChDQ0RlbGF5QmFzZWRUaW1lU291cmNl
LCBOZXh0RGVsYXlTYW5lV2hlbkV4YWN0bHlPblJlcXVlc3RlZFRpbWUpCiB7CiAgICAgRmFrZUND
VGhyZWFkIHRocmVhZDsKICAgICBGYWtlQ0NUaW1lU291cmNlQ2xpZW50IGNsaWVudDsKLSAgICBk
b3VibGUgaW50ZXJ2YWwgPSAxMDAwLjAgLyA2MC4wOworICAgIGRvdWJsZSBpbnRlcnZhbCA9IDEu
MCAvIDYwLjA7CiAgICAgUmVmUHRyPEZha2VDQ0RlbGF5QmFzZWRUaW1lU291cmNlPiB0aW1lciA9
IEZha2VDQ0RlbGF5QmFzZWRUaW1lU291cmNlOjpjcmVhdGUoaW50ZXJ2YWwsICZ0aHJlYWQpOwog
ICAgIHRpbWVyLT5zZXRDbGllbnQoJmNsaWVudCk7CiAgICAgdGltZXItPnNldEFjdGl2ZSh0cnVl
KTsKICAgICAvLyBSdW4gdGhlIGZpcnN0IHRhc2ssIGFzIHRoYXQgYWN0aXZhdGVzIHRoZSB0aW1l
ciBhbmQgcGlja3MgdXAgYSB0aW1lYmFzZS4KICAgICB0aHJlYWQucnVuUGVuZGluZ1Rhc2soKTsK
IAotICAgIEVYUEVDVF9FUSgxNiwgdGhyZWFkLnBlbmRpbmdEZWxheSgpKTsKKyAgICBFWFBFQ1Rf
RVEoMTYsIHRocmVhZC5wZW5kaW5nRGVsYXlNcygpKTsKIAotICAgIHRpbWVyLT5zZXRNb25vdG9u
aWNhbGx5SW5jcmVhc2luZ1RpbWVNcyhpbnRlcnZhbCk7CisgICAgdGltZXItPnNldE1vbm90b25p
Y2FsbHlJbmNyZWFzaW5nVGltZShpbnRlcnZhbCk7CiAgICAgdGhyZWFkLnJ1blBlbmRpbmdUYXNr
KCk7CiAKLSAgICBFWFBFQ1RfRVEoMTYsIHRocmVhZC5wZW5kaW5nRGVsYXkoKSk7CisgICAgRVhQ
RUNUX0VRKDE2LCB0aHJlYWQucGVuZGluZ0RlbGF5TXMoKSk7CiB9CiAKIC8vIEF0IDYwSHosIHdo
ZW4gdGhlIHRpY2sgcmV0dXJucyBhdCBzbGlnaHRseSBhZnRlciB0aGUgcmVxdWVzdGVkIG5leHQg
dGltZSwgbWFrZSBzdXJlCkBAIC0xMjEsMTkgKzEyMSwxOSBAQCBURVNUKENDRGVsYXlCYXNlZFRp
bWVTb3VyY2UsIE5leHREZWxheVNhbmVXaGVuU2xpZ2h0bHlBZnRlclJlcXVlc3RlZFRpbWUpCiB7
CiAgICAgRmFrZUNDVGhyZWFkIHRocmVhZDsKICAgICBGYWtlQ0NUaW1lU291cmNlQ2xpZW50IGNs
aWVudDsKLSAgICBkb3VibGUgaW50ZXJ2YWwgPSAxMDAwLjAgLyA2MC4wOworICAgIGRvdWJsZSBp
bnRlcnZhbCA9IDEuMCAvIDYwLjA7CiAgICAgUmVmUHRyPEZha2VDQ0RlbGF5QmFzZWRUaW1lU291
cmNlPiB0aW1lciA9IEZha2VDQ0RlbGF5QmFzZWRUaW1lU291cmNlOjpjcmVhdGUoaW50ZXJ2YWws
ICZ0aHJlYWQpOwogICAgIHRpbWVyLT5zZXRDbGllbnQoJmNsaWVudCk7CiAgICAgdGltZXItPnNl
dEFjdGl2ZSh0cnVlKTsKICAgICAvLyBSdW4gdGhlIGZpcnN0IHRhc2ssIGFzIHRoYXQgYWN0aXZh
dGVzIHRoZSB0aW1lciBhbmQgcGlja3MgdXAgYSB0aW1lYmFzZS4KICAgICB0aHJlYWQucnVuUGVu
ZGluZ1Rhc2soKTsKIAotICAgIEVYUEVDVF9FUSgxNiwgdGhyZWFkLnBlbmRpbmdEZWxheSgpKTsK
KyAgICBFWFBFQ1RfRVEoMTYsIHRocmVhZC5wZW5kaW5nRGVsYXlNcygpKTsKIAotICAgIHRpbWVy
LT5zZXRNb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWVNcyhpbnRlcnZhbCArIDAuMDAwMSk7Cisg
ICAgdGltZXItPnNldE1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZShpbnRlcnZhbCArIDAuMDAw
MDAwMSk7CiAgICAgdGhyZWFkLnJ1blBlbmRpbmdUYXNrKCk7CiAKLSAgICBFWFBFQ1RfRVEoMTYs
IHRocmVhZC5wZW5kaW5nRGVsYXkoKSk7CisgICAgRVhQRUNUX0VRKDE2LCB0aHJlYWQucGVuZGlu
Z0RlbGF5TXMoKSk7CiB9CiAKIC8vIEF0IDYwSHosIHdoZW4gdGhlIHRpY2sgcmV0dXJucyBhdCBl
eGFjdGx5IDIqaW50ZXJ2YWwgYWZ0ZXIgdGhlIHJlcXVlc3RlZCBuZXh0IHRpbWUsIG1ha2Ugc3Vy
ZQpAQCAtMTQyLDE5ICsxNDIsMTkgQEAgVEVTVChDQ0RlbGF5QmFzZWRUaW1lU291cmNlLCBOZXh0
RGVsYXlTYW5lV2hlbkV4YWN0bHlUd2ljZUFmdGVyUmVxdWVzdGVkVGltZSkKIHsKICAgICBGYWtl
Q0NUaHJlYWQgdGhyZWFkOwogICAgIEZha2VDQ1RpbWVTb3VyY2VDbGllbnQgY2xpZW50OwotICAg
IGRvdWJsZSBpbnRlcnZhbCA9IDEwMDAuMCAvIDYwLjA7CisgICAgZG91YmxlIGludGVydmFsID0g
MS4wIC8gNjAuMDsKICAgICBSZWZQdHI8RmFrZUNDRGVsYXlCYXNlZFRpbWVTb3VyY2U+IHRpbWVy
ID0gRmFrZUNDRGVsYXlCYXNlZFRpbWVTb3VyY2U6OmNyZWF0ZShpbnRlcnZhbCwgJnRocmVhZCk7
CiAgICAgdGltZXItPnNldENsaWVudCgmY2xpZW50KTsKICAgICB0aW1lci0+c2V0QWN0aXZlKHRy
dWUpOwogICAgIC8vIFJ1biB0aGUgZmlyc3QgdGFzaywgYXMgdGhhdCBhY3RpdmF0ZXMgdGhlIHRp
bWVyIGFuZCBwaWNrcyB1cCBhIHRpbWViYXNlLgogICAgIHRocmVhZC5ydW5QZW5kaW5nVGFzaygp
OwogCi0gICAgRVhQRUNUX0VRKDE2LCB0aHJlYWQucGVuZGluZ0RlbGF5KCkpOworICAgIEVYUEVD
VF9FUSgxNiwgdGhyZWFkLnBlbmRpbmdEZWxheU1zKCkpOwogCi0gICAgdGltZXItPnNldE1vbm90
b25pY2FsbHlJbmNyZWFzaW5nVGltZU1zKDIqaW50ZXJ2YWwpOworICAgIHRpbWVyLT5zZXRNb25v
dG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoMippbnRlcnZhbCk7CiAgICAgdGhyZWFkLnJ1blBlbmRp
bmdUYXNrKCk7CiAKLSAgICBFWFBFQ1RfRVEoMTYsIHRocmVhZC5wZW5kaW5nRGVsYXkoKSk7Cisg
ICAgRVhQRUNUX0VRKDE2LCB0aHJlYWQucGVuZGluZ0RlbGF5TXMoKSk7CiB9CiAKIC8vIEF0IDYw
SHosIHdoZW4gdGhlIHRpY2sgcmV0dXJucyBhdCAyKmludGVydmFsIGFuZCBhIGJpdCBhZnRlciB0
aGUgcmVxdWVzdGVkIG5leHQgdGltZSwgbWFrZSBzdXJlCkBAIC0xNjMsMTkgKzE2MywxOSBAQCBU
RVNUKENDRGVsYXlCYXNlZFRpbWVTb3VyY2UsIE5leHREZWxheVNhbmVXaGVuU2xpZ2h0bHlBZnRl
clR3aWNlUmVxdWVzdGVkVGltZSkKIHsKICAgICBGYWtlQ0NUaHJlYWQgdGhyZWFkOwogICAgIEZh
a2VDQ1RpbWVTb3VyY2VDbGllbnQgY2xpZW50OwotICAgIGRvdWJsZSBpbnRlcnZhbCA9IDEwMDAu
MCAvIDYwLjA7CisgICAgZG91YmxlIGludGVydmFsID0gMS4wIC8gNjAuMDsKICAgICBSZWZQdHI8
RmFrZUNDRGVsYXlCYXNlZFRpbWVTb3VyY2U+IHRpbWVyID0gRmFrZUNDRGVsYXlCYXNlZFRpbWVT
b3VyY2U6OmNyZWF0ZShpbnRlcnZhbCwgJnRocmVhZCk7CiAgICAgdGltZXItPnNldENsaWVudCgm
Y2xpZW50KTsKICAgICB0aW1lci0+c2V0QWN0aXZlKHRydWUpOwogICAgIC8vIFJ1biB0aGUgZmly
c3QgdGFzaywgYXMgdGhhdCBhY3RpdmF0ZXMgdGhlIHRpbWVyIGFuZCBwaWNrcyB1cCBhIHRpbWVi
YXNlLgogICAgIHRocmVhZC5ydW5QZW5kaW5nVGFzaygpOwogCi0gICAgRVhQRUNUX0VRKDE2LCB0
aHJlYWQucGVuZGluZ0RlbGF5KCkpOworICAgIEVYUEVDVF9FUSgxNiwgdGhyZWFkLnBlbmRpbmdE
ZWxheU1zKCkpOwogCi0gICAgdGltZXItPnNldE1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZU1z
KDIqaW50ZXJ2YWwgKyAwLjAwMDEpOworICAgIHRpbWVyLT5zZXRNb25vdG9uaWNhbGx5SW5jcmVh
c2luZ1RpbWUoMippbnRlcnZhbCArIDAuMDAwMDAwMSk7CiAgICAgdGhyZWFkLnJ1blBlbmRpbmdU
YXNrKCk7CiAKLSAgICBFWFBFQ1RfRVEoMTYsIHRocmVhZC5wZW5kaW5nRGVsYXkoKSk7CisgICAg
RVhQRUNUX0VRKDE2LCB0aHJlYWQucGVuZGluZ0RlbGF5TXMoKSk7CiB9CiAKIC8vIEF0IDYwSHos
IHdoZW4gdGhlIHRpY2sgcmV0dXJucyBoYWxmd2F5IHRvIHRoZSBuZXh0IGZyYW1lIHRpbWUsIG1h
a2Ugc3VyZQpAQCAtMTg0LDE5ICsxODQsMTkgQEAgVEVTVChDQ0RlbGF5QmFzZWRUaW1lU291cmNl
LCBOZXh0RGVsYXlTYW5lV2hlbkhhbGZBZnRlclJlcXVlc3RlZFRpbWUpCiB7CiAgICAgRmFrZUND
VGhyZWFkIHRocmVhZDsKICAgICBGYWtlQ0NUaW1lU291cmNlQ2xpZW50IGNsaWVudDsKLSAgICBk
b3VibGUgaW50ZXJ2YWwgPSAxMDAwLjAgLyA2MC4wOworICAgIGRvdWJsZSBpbnRlcnZhbCA9IDEu
MCAvIDYwLjA7CiAgICAgUmVmUHRyPEZha2VDQ0RlbGF5QmFzZWRUaW1lU291cmNlPiB0aW1lciA9
IEZha2VDQ0RlbGF5QmFzZWRUaW1lU291cmNlOjpjcmVhdGUoaW50ZXJ2YWwsICZ0aHJlYWQpOwog
ICAgIHRpbWVyLT5zZXRDbGllbnQoJmNsaWVudCk7CiAgICAgdGltZXItPnNldEFjdGl2ZSh0cnVl
KTsKICAgICAvLyBSdW4gdGhlIGZpcnN0IHRhc2ssIGFzIHRoYXQgYWN0aXZhdGVzIHRoZSB0aW1l
ciBhbmQgcGlja3MgdXAgYSB0aW1lYmFzZS4KICAgICB0aHJlYWQucnVuUGVuZGluZ1Rhc2soKTsK
IAotICAgIEVYUEVDVF9FUSgxNiwgdGhyZWFkLnBlbmRpbmdEZWxheSgpKTsKKyAgICBFWFBFQ1Rf
RVEoMTYsIHRocmVhZC5wZW5kaW5nRGVsYXlNcygpKTsKIAotICAgIHRpbWVyLT5zZXRNb25vdG9u
aWNhbGx5SW5jcmVhc2luZ1RpbWVNcyhpbnRlcnZhbCArIGludGVydmFsICogMC41KTsKKyAgICB0
aW1lci0+c2V0TW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKGludGVydmFsICsgaW50ZXJ2YWwg
KiAwLjUpOwogICAgIHRocmVhZC5ydW5QZW5kaW5nVGFzaygpOwogCi0gICAgRVhQRUNUX0VRKDgs
IHRocmVhZC5wZW5kaW5nRGVsYXkoKSk7CisgICAgRVhQRUNUX0VRKDgsIHRocmVhZC5wZW5kaW5n
RGVsYXlNcygpKTsKIH0KIAogCkBAIC0yMDYsMzEgKzIwNiwzMSBAQCBURVNUKENDRGVsYXlCYXNl
ZFRpbWVTb3VyY2VUZXN0LCBBY2hpZXZlc1RhcmdldFJhdGVXaXRoTm9Ob2lzZSkKIAogICAgIEZh
a2VDQ1RocmVhZCB0aHJlYWQ7CiAgICAgRmFrZUNDVGltZVNvdXJjZUNsaWVudCBjbGllbnQ7Ci0g
ICAgUmVmUHRyPEZha2VDQ0RlbGF5QmFzZWRUaW1lU291cmNlPiB0aW1lciA9IEZha2VDQ0RlbGF5
QmFzZWRUaW1lU291cmNlOjpjcmVhdGUoMTAwMC4wIC8gNjAuMCwgJnRocmVhZCk7CisgICAgUmVm
UHRyPEZha2VDQ0RlbGF5QmFzZWRUaW1lU291cmNlPiB0aW1lciA9IEZha2VDQ0RlbGF5QmFzZWRU
aW1lU291cmNlOjpjcmVhdGUoMS4wIC8gNjAuMCwgJnRocmVhZCk7CiAgICAgdGltZXItPnNldENs
aWVudCgmY2xpZW50KTsKICAgICB0aW1lci0+c2V0QWN0aXZlKHRydWUpOwogCiAgICAgZG91Ymxl
IHRvdGFsRnJhbWVUaW1lID0gMDsKICAgICBmb3IgKGludCBpID0gMDsgaSA8IG51bUl0ZXJhdGlv
bnM7ICsraSkgewotICAgICAgICBsb25nIGxvbmcgZGVsYXkgPSB0aHJlYWQucGVuZGluZ0RlbGF5
KCk7CisgICAgICAgIGxvbmcgbG9uZyBkZWxheU1zID0gdGhyZWFkLnBlbmRpbmdEZWxheU1zKCk7
CiAKICAgICAgICAgLy8gYWNjdW11bGF0ZSB0aGUgImRlbGF5IgotICAgICAgICB0b3RhbEZyYW1l
VGltZSArPSBkZWxheTsKKyAgICAgICAgdG90YWxGcmFtZVRpbWUgKz0gZGVsYXlNcyAvIDEwMDAu
MDsKIAogICAgICAgICAvLyBSdW4gdGhlIGNhbGxiYWNrIGV4YWN0bHkgd2hlbiBhc2tlZAotICAg
ICAgICBkb3VibGUgbm93ID0gdGltZXItPm1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZU1zKCkg
KyBkZWxheTsKLSAgICAgICAgdGltZXItPnNldE1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZU1z
KG5vdyk7CisgICAgICAgIGRvdWJsZSBub3cgPSB0aW1lci0+bW9ub3RvbmljYWxseUluY3JlYXNp
bmdUaW1lKCkgKyBkZWxheU1zIC8gMTAwMC4wOworICAgICAgICB0aW1lci0+c2V0TW9ub3Rvbmlj
YWxseUluY3JlYXNpbmdUaW1lKG5vdyk7CiAgICAgICAgIHRocmVhZC5ydW5QZW5kaW5nVGFzaygp
OwogICAgIH0KICAgICBkb3VibGUgYXZlcmFnZUludGVydmFsID0gdG90YWxGcmFtZVRpbWUgLyBz
dGF0aWNfY2FzdDxkb3VibGU+KG51bUl0ZXJhdGlvbnMpOwotICAgIEVYUEVDVF9ORUFSKDEwMDAu
MCAvIDYwLjAsIGF2ZXJhZ2VJbnRlcnZhbCwgMC4xKTsKKyAgICBFWFBFQ1RfTkVBUigxLjAgLyA2
MC4wLCBhdmVyYWdlSW50ZXJ2YWwsIDAuMSk7CiB9CiAKIFRFU1QoQ0NEZWxheUJhc2VkVGltZVNv
dXJjZSwgVGVzdERlYWN0aXZhdGVXaGlsZVBlbmRpbmcpCiB7CiAgICAgRmFrZUNDVGhyZWFkIHRo
cmVhZDsKICAgICBGYWtlQ0NUaW1lU291cmNlQ2xpZW50IGNsaWVudDsKLSAgICBSZWZQdHI8RmFr
ZUNDRGVsYXlCYXNlZFRpbWVTb3VyY2U+IHRpbWVyID0gRmFrZUNDRGVsYXlCYXNlZFRpbWVTb3Vy
Y2U6OmNyZWF0ZSgxMDAwLjAgLyA2MC4wLCAmdGhyZWFkKTsKKyAgICBSZWZQdHI8RmFrZUNDRGVs
YXlCYXNlZFRpbWVTb3VyY2U+IHRpbWVyID0gRmFrZUNDRGVsYXlCYXNlZFRpbWVTb3VyY2U6OmNy
ZWF0ZSgxLjAgLyA2MC4wLCAmdGhyZWFkKTsKICAgICB0aW1lci0+c2V0Q2xpZW50KCZjbGllbnQp
OwogICAgIHRpbWVyLT5zZXRBY3RpdmUodHJ1ZSk7IC8vIFNob3VsZCBwb3N0IGEgdGFzay4KICAg
ICB0aW1lci0+c2V0QWN0aXZlKGZhbHNlKTsKQEAgLTI0MiwxMiArMjQyLDEyIEBAIFRFU1QoQ0NE
ZWxheUJhc2VkVGltZVNvdXJjZSwgVGVzdERlYWN0aXZhdGVBbmRSZWFjdGl2YXRlQmVmb3JlTmV4
dFRpY2tUaW1lKQogewogICAgIEZha2VDQ1RocmVhZCB0aHJlYWQ7CiAgICAgRmFrZUNDVGltZVNv
dXJjZUNsaWVudCBjbGllbnQ7Ci0gICAgUmVmUHRyPEZha2VDQ0RlbGF5QmFzZWRUaW1lU291cmNl
PiB0aW1lciA9IEZha2VDQ0RlbGF5QmFzZWRUaW1lU291cmNlOjpjcmVhdGUoMTAwMC4wIC8gNjAu
MCwgJnRocmVhZCk7CisgICAgUmVmUHRyPEZha2VDQ0RlbGF5QmFzZWRUaW1lU291cmNlPiB0aW1l
ciA9IEZha2VDQ0RlbGF5QmFzZWRUaW1lU291cmNlOjpjcmVhdGUoMS4wIC8gNjAuMCwgJnRocmVh
ZCk7CiAgICAgdGltZXItPnNldENsaWVudCgmY2xpZW50KTsKIAogICAgIC8vIFNob3VsZCBydW4g
dGhlIGFjdGl2YXRlIHRhc2ssIGFuZCBwaWNrIHVwIGEgbmV3IHRpbWViYXNlLgogICAgIHRpbWVy
LT5zZXRBY3RpdmUodHJ1ZSk7Ci0gICAgdGltZXItPnNldE1vbm90b25pY2FsbHlJbmNyZWFzaW5n
VGltZU1zKDApOworICAgIHRpbWVyLT5zZXRNb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoMCk7
CiAgICAgdGhyZWFkLnJ1blBlbmRpbmdUYXNrKCk7CiAKICAgICAvLyBTdG9wIHRoZSB0aW1lcgpA
QCAtMjU4LDIxICsyNTgsMjEgQEAgVEVTVChDQ0RlbGF5QmFzZWRUaW1lU291cmNlLCBUZXN0RGVh
Y3RpdmF0ZUFuZFJlYWN0aXZhdGVCZWZvcmVOZXh0VGlja1RpbWUpCiAKICAgICAvLyBTdGFydCB0
aGUgdGltZXIgYWdhaW4sIGJ1dCBiZWZvcmUgdGhlIG5leHQgdGljayB0aW1lIHRoZSB0aW1lciBw
cmV2aW91c2x5CiAgICAgLy8gcGxhbm5lZCBvbiB1c2luZy4gVGhhdCBzYW1lIHRpY2sgdGltZSBz
aG91bGQgc3RpbGwgYmUgdGFyZ2V0ZWQuCi0gICAgdGltZXItPnNldE1vbm90b25pY2FsbHlJbmNy
ZWFzaW5nVGltZU1zKDQpOworICAgIHRpbWVyLT5zZXRNb25vdG9uaWNhbGx5SW5jcmVhc2luZ1Rp
bWUoMC4wMDQpOwogICAgIHRpbWVyLT5zZXRBY3RpdmUodHJ1ZSk7Ci0gICAgRVhQRUNUX0VRKDEy
LCB0aHJlYWQucGVuZGluZ0RlbGF5KCkpOworICAgIEVYUEVDVF9FUSgxMiwgdGhyZWFkLnBlbmRp
bmdEZWxheU1zKCkpOwogfQogCiBURVNUKENDRGVsYXlCYXNlZFRpbWVTb3VyY2UsIFRlc3REZWFj
dGl2YXRlQW5kUmVhY3RpdmF0ZUFmdGVyTmV4dFRpY2tUaW1lKQogewogICAgIEZha2VDQ1RocmVh
ZCB0aHJlYWQ7CiAgICAgRmFrZUNDVGltZVNvdXJjZUNsaWVudCBjbGllbnQ7Ci0gICAgUmVmUHRy
PEZha2VDQ0RlbGF5QmFzZWRUaW1lU291cmNlPiB0aW1lciA9IEZha2VDQ0RlbGF5QmFzZWRUaW1l
U291cmNlOjpjcmVhdGUoMTAwMC4wIC8gNjAuMCwgJnRocmVhZCk7CisgICAgUmVmUHRyPEZha2VD
Q0RlbGF5QmFzZWRUaW1lU291cmNlPiB0aW1lciA9IEZha2VDQ0RlbGF5QmFzZWRUaW1lU291cmNl
OjpjcmVhdGUoMS4wIC8gNjAuMCwgJnRocmVhZCk7CiAgICAgdGltZXItPnNldENsaWVudCgmY2xp
ZW50KTsKIAogICAgIC8vIFNob3VsZCBydW4gdGhlIGFjdGl2YXRlIHRhc2ssIGFuZCBwaWNrIHVw
IGEgbmV3IHRpbWViYXNlLgogICAgIHRpbWVyLT5zZXRBY3RpdmUodHJ1ZSk7Ci0gICAgdGltZXIt
PnNldE1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZU1zKDApOworICAgIHRpbWVyLT5zZXRNb25v
dG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoMCk7CiAgICAgdGhyZWFkLnJ1blBlbmRpbmdUYXNrKCk7
CiAKICAgICAvLyBTdG9wIHRoZSB0aW1lcgpAQCAtMjgzLDkgKzI4Myw5IEBAIFRFU1QoQ0NEZWxh
eUJhc2VkVGltZVNvdXJjZSwgVGVzdERlYWN0aXZhdGVBbmRSZWFjdGl2YXRlQWZ0ZXJOZXh0VGlj
a1RpbWUpCiAKICAgICAvLyBTdGFydCB0aGUgdGltZXIgYWdhaW4sIGJ1dCBiZWZvcmUgdGhlIG5l
eHQgdGljayB0aW1lIHRoZSB0aW1lciBwcmV2aW91c2x5CiAgICAgLy8gcGxhbm5lZCBvbiB1c2lu
Zy4gVGhhdCBzYW1lIHRpY2sgdGltZSBzaG91bGQgc3RpbGwgYmUgdGFyZ2V0ZWQuCi0gICAgdGlt
ZXItPnNldE1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZU1zKDIwKTsKKyAgICB0aW1lci0+c2V0
TW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKDAuMDIpOwogICAgIHRpbWVyLT5zZXRBY3RpdmUo
dHJ1ZSk7Ci0gICAgRVhQRUNUX0VRKDEzLCB0aHJlYWQucGVuZGluZ0RlbGF5KCkpOworICAgIEVY
UEVDVF9FUSgxMywgdGhyZWFkLnBlbmRpbmdEZWxheU1zKCkpOwogfQogCiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDRnJhbWVSYXRlQ29udHJvbGxlclRlc3Qu
Y3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ0ZyYW1lUmF0ZUNvbnRyb2xsZXJU
ZXN0LmNwcAppbmRleCBhZTQzZDQxYzFjZTAzYWI3MWVjNzBiMGM3NTdiMWVhMzc2ZDBhMGU3Li5m
ZWQ1ZmYwY2ZjMzFjNmY2MzJiNzhmMTQwNjIwNGIxNTE2YzhjODQ3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDRnJhbWVSYXRlQ29udHJvbGxlclRlc3QuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NGcmFtZVJhdGVDb250cm9sbGVyVGVz
dC5jcHAKQEAgLTUzLDcgKzUzLDcgQEAgVEVTVChDQ0ZyYW1lUmF0ZUNvbnRyb2xsZXJUZXN0LCBU
ZXN0RnJhbWVUaHJvdHRsaW5nX0ltbWVkaWF0ZUFjaykKIHsKICAgICBGYWtlQ0NUaHJlYWQgdGhy
ZWFkOwogICAgIEZha2VDQ0ZyYW1lUmF0ZUNvbnRyb2xsZXJDbGllbnQgY2xpZW50OwotICAgIFJl
ZlB0cjxGYWtlQ0NEZWxheUJhc2VkVGltZVNvdXJjZT4gdGltZVNvdXJjZSA9IEZha2VDQ0RlbGF5
QmFzZWRUaW1lU291cmNlOjpjcmVhdGUoMTAwMC4wIC8gNjAuMCwgJnRocmVhZCk7CisgICAgUmVm
UHRyPEZha2VDQ0RlbGF5QmFzZWRUaW1lU291cmNlPiB0aW1lU291cmNlID0gRmFrZUNDRGVsYXlC
YXNlZFRpbWVTb3VyY2U6OmNyZWF0ZSgxLjAgLyA2MC4wLCAmdGhyZWFkKTsKICAgICBDQ0ZyYW1l
UmF0ZUNvbnRyb2xsZXIgY29udHJvbGxlcih0aW1lU291cmNlKTsKIAogICAgIGNvbnRyb2xsZXIu
c2V0Q2xpZW50KCZjbGllbnQpOwpAQCAtNjIsOCArNjIsOCBAQCBURVNUKENDRnJhbWVSYXRlQ29u
dHJvbGxlclRlc3QsIFRlc3RGcmFtZVRocm90dGxpbmdfSW1tZWRpYXRlQWNrKQogICAgIGRvdWJs
ZSBlbGFwc2VkID0gMDsgLy8gTXVjayBhcm91bmQgd2l0aCB0aW1lIGEgYml0CiAKICAgICAvLyBU
cmlnZ2VyIG9uZSBmcmFtZSwgbWFrZSBzdXJlIHRoZSB2c3luYyBjYWxsYmFjayBpcyBjYWxsZWQK
LSAgICBlbGFwc2VkICs9IHRocmVhZC5wZW5kaW5nRGVsYXkoKTsKLSAgICB0aW1lU291cmNlLT5z
ZXRNb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWVNcyhlbGFwc2VkKTsKKyAgICBlbGFwc2VkICs9
IHRocmVhZC5wZW5kaW5nRGVsYXlNcygpIC8gMTAwMC4wOworICAgIHRpbWVTb3VyY2UtPnNldE1v
bm90b25pY2FsbHlJbmNyZWFzaW5nVGltZShlbGFwc2VkKTsKICAgICB0aHJlYWQucnVuUGVuZGlu
Z1Rhc2soKTsKICAgICBFWFBFQ1RfVFJVRShjbGllbnQuZnJhbWVCZWd1bigpKTsKICAgICBjbGll
bnQucmVzZXQoKTsKQEAgLTcyLDEzICs3MiwxMyBAQCBURVNUKENDRnJhbWVSYXRlQ29udHJvbGxl
clRlc3QsIFRlc3RGcmFtZVRocm90dGxpbmdfSW1tZWRpYXRlQWNrKQogICAgIGNvbnRyb2xsZXIu
ZGlkQmVnaW5GcmFtZSgpOwogCiAgICAgLy8gVGVsbCB0aGUgY29udHJvbGxlciB0aGUgZnJhbWUg
ZW5kZWQgNW1zIGxhdGVyCi0gICAgdGltZVNvdXJjZS0+c2V0TW9ub3RvbmljYWxseUluY3JlYXNp
bmdUaW1lTXModGltZVNvdXJjZS0+bW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lTXMoKSArIDUp
OworICAgIHRpbWVTb3VyY2UtPnNldE1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSh0aW1lU291
cmNlLT5tb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSArIDAuMDA1KTsKICAgICBjb250cm9s
bGVyLmRpZEZpbmlzaEZyYW1lKCk7CiAKICAgICAvLyBUcmlnZ2VyIGFub3RoZXIgZnJhbWUsIG1h
a2Ugc3VyZSB2c3luYyBydW5zIGFnYWluCi0gICAgZWxhcHNlZCArPSB0aHJlYWQucGVuZGluZ0Rl
bGF5KCk7Ci0gICAgRVhQRUNUX1RSVUUoZWxhcHNlZCA+PSB0aW1lU291cmNlLT5tb25vdG9uaWNh
bGx5SW5jcmVhc2luZ1RpbWVNcygpKTsgLy8gU2FuaXR5IGNoZWNrIHRoYXQgcHJldmlvdXMgY29k
ZSBkaWRuJ3QgbW92ZSB0aW1lIGJhY2t3YXJkLgotICAgIHRpbWVTb3VyY2UtPnNldE1vbm90b25p
Y2FsbHlJbmNyZWFzaW5nVGltZU1zKGVsYXBzZWQpOworICAgIGVsYXBzZWQgKz0gdGhyZWFkLnBl
bmRpbmdEZWxheU1zKCkgLyAxMDAwLjA7CisgICAgRVhQRUNUX1RSVUUoZWxhcHNlZCA+PSB0aW1l
U291cmNlLT5tb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSk7IC8vIFNhbml0eSBjaGVjayB0
aGF0IHByZXZpb3VzIGNvZGUgZGlkbid0IG1vdmUgdGltZSBiYWNrd2FyZC4KKyAgICB0aW1lU291
cmNlLT5zZXRNb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoZWxhcHNlZCk7CiAgICAgdGhyZWFk
LnJ1blBlbmRpbmdUYXNrKCk7CiAgICAgRVhQRUNUX1RSVUUoY2xpZW50LmZyYW1lQmVndW4oKSk7
CiB9CkBAIC04Nyw3ICs4Nyw3IEBAIFRFU1QoQ0NGcmFtZVJhdGVDb250cm9sbGVyVGVzdCwgVGVz
dEZyYW1lVGhyb3R0bGluZ19Ud29GcmFtZXNJbkZsaWdodCkKIHsKICAgICBGYWtlQ0NUaHJlYWQg
dGhyZWFkOwogICAgIEZha2VDQ0ZyYW1lUmF0ZUNvbnRyb2xsZXJDbGllbnQgY2xpZW50OwotICAg
IFJlZlB0cjxGYWtlQ0NEZWxheUJhc2VkVGltZVNvdXJjZT4gdGltZVNvdXJjZSA9IEZha2VDQ0Rl
bGF5QmFzZWRUaW1lU291cmNlOjpjcmVhdGUoMTAwMC4wIC8gNjAuMCwgJnRocmVhZCk7CisgICAg
UmVmUHRyPEZha2VDQ0RlbGF5QmFzZWRUaW1lU291cmNlPiB0aW1lU291cmNlID0gRmFrZUNDRGVs
YXlCYXNlZFRpbWVTb3VyY2U6OmNyZWF0ZSgxLjAgLyA2MC4wLCAmdGhyZWFkKTsKICAgICBDQ0Zy
YW1lUmF0ZUNvbnRyb2xsZXIgY29udHJvbGxlcih0aW1lU291cmNlKTsKIAogICAgIGNvbnRyb2xs
ZXIuc2V0Q2xpZW50KCZjbGllbnQpOwpAQCAtOTcsOCArOTcsOCBAQCBURVNUKENDRnJhbWVSYXRl
Q29udHJvbGxlclRlc3QsIFRlc3RGcmFtZVRocm90dGxpbmdfVHdvRnJhbWVzSW5GbGlnaHQpCiAg
ICAgZG91YmxlIGVsYXBzZWQgPSAwOyAvLyBNdWNrIGFyb3VuZCB3aXRoIHRpbWUgYSBiaXQKIAog
ICAgIC8vIFRyaWdnZXIgb25lIGZyYW1lLCBtYWtlIHN1cmUgdGhlIHZzeW5jIGNhbGxiYWNrIGlz
IGNhbGxlZAotICAgIGVsYXBzZWQgKz0gdGhyZWFkLnBlbmRpbmdEZWxheSgpOwotICAgIHRpbWVT
b3VyY2UtPnNldE1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZU1zKGVsYXBzZWQpOworICAgIGVs
YXBzZWQgKz0gdGhyZWFkLnBlbmRpbmdEZWxheU1zKCkgLyAxMDAwLjA7CisgICAgdGltZVNvdXJj
ZS0+c2V0TW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKGVsYXBzZWQpOwogICAgIHRocmVhZC5y
dW5QZW5kaW5nVGFzaygpOwogICAgIEVYUEVDVF9UUlVFKGNsaWVudC5mcmFtZUJlZ3VuKCkpOwog
ICAgIGNsaWVudC5yZXNldCgpOwpAQCAtMTA3LDkgKzEwNyw5IEBAIFRFU1QoQ0NGcmFtZVJhdGVD
b250cm9sbGVyVGVzdCwgVGVzdEZyYW1lVGhyb3R0bGluZ19Ud29GcmFtZXNJbkZsaWdodCkKICAg
ICBjb250cm9sbGVyLmRpZEJlZ2luRnJhbWUoKTsKIAogICAgIC8vIFRyaWdnZXIgYW5vdGhlciBm
cmFtZSwgbWFrZSBzdXJlIHZzeW5jIGNhbGxiYWNrIHJ1bnMgYWdhaW4KLSAgICBlbGFwc2VkICs9
IHRocmVhZC5wZW5kaW5nRGVsYXkoKTsKLSAgICBFWFBFQ1RfVFJVRShlbGFwc2VkID49IHRpbWVT
b3VyY2UtPm1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZU1zKCkpOyAvLyBTYW5pdHkgY2hlY2sg
dGhhdCBwcmV2aW91cyBjb2RlIGRpZG4ndCBtb3ZlIHRpbWUgYmFja3dhcmQuCi0gICAgdGltZVNv
dXJjZS0+c2V0TW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lTXMoZWxhcHNlZCk7CisgICAgZWxh
cHNlZCArPSB0aHJlYWQucGVuZGluZ0RlbGF5TXMoKSAvIDEwMDAuMDsKKyAgICBFWFBFQ1RfVFJV
RShlbGFwc2VkID49IHRpbWVTb3VyY2UtPm1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpKTsg
Ly8gU2FuaXR5IGNoZWNrIHRoYXQgcHJldmlvdXMgY29kZSBkaWRuJ3QgbW92ZSB0aW1lIGJhY2t3
YXJkLgorICAgIHRpbWVTb3VyY2UtPnNldE1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZShlbGFw
c2VkKTsKICAgICB0aHJlYWQucnVuUGVuZGluZ1Rhc2soKTsKICAgICBFWFBFQ1RfVFJVRShjbGll
bnQuZnJhbWVCZWd1bigpKTsKICAgICBjbGllbnQucmVzZXQoKTsKQEAgLTExOCwyMyArMTE4LDIz
IEBAIFRFU1QoQ0NGcmFtZVJhdGVDb250cm9sbGVyVGVzdCwgVGVzdEZyYW1lVGhyb3R0bGluZ19U
d29GcmFtZXNJbkZsaWdodCkKICAgICBjb250cm9sbGVyLmRpZEJlZ2luRnJhbWUoKTsKIAogICAg
IC8vIFRyaWdnZXIgYW5vdGhlciBmcmFtZS4gU2luY2UgdHdvIGZyYW1lcyBhcmUgcGVuZGluZywg
d2Ugc2hvdWxkIG5vdCBkcmF3LgotICAgIGVsYXBzZWQgKz0gdGhyZWFkLnBlbmRpbmdEZWxheSgp
OwotICAgIEVYUEVDVF9UUlVFKGVsYXBzZWQgPj0gdGltZVNvdXJjZS0+bW9ub3RvbmljYWxseUlu
Y3JlYXNpbmdUaW1lTXMoKSk7IC8vIFNhbml0eSBjaGVjayB0aGF0IHByZXZpb3VzIGNvZGUgZGlk
bid0IG1vdmUgdGltZSBiYWNrd2FyZC4KLSAgICB0aW1lU291cmNlLT5zZXRNb25vdG9uaWNhbGx5
SW5jcmVhc2luZ1RpbWVNcyhlbGFwc2VkKTsKKyAgICBlbGFwc2VkICs9IHRocmVhZC5wZW5kaW5n
RGVsYXlNcygpIC8gMTAwMC4wOworICAgIEVYUEVDVF9UUlVFKGVsYXBzZWQgPj0gdGltZVNvdXJj
ZS0+bW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkpOyAvLyBTYW5pdHkgY2hlY2sgdGhhdCBw
cmV2aW91cyBjb2RlIGRpZG4ndCBtb3ZlIHRpbWUgYmFja3dhcmQuCisgICAgdGltZVNvdXJjZS0+
c2V0TW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKGVsYXBzZWQpOwogICAgIHRocmVhZC5ydW5Q
ZW5kaW5nVGFzaygpOwogICAgIEVYUEVDVF9GQUxTRShjbGllbnQuZnJhbWVCZWd1bigpKTsKIAog
ICAgIC8vIFRlbGwgdGhlIGNvbnRyb2xsZXIgdGhlIGZpcnN0IGZyYW1lIGVuZGVkIDVtcyBsYXRl
cgotICAgIHRpbWVTb3VyY2UtPnNldE1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZU1zKHRpbWVT
b3VyY2UtPm1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZU1zKCkgKyA1KTsKKyAgICB0aW1lU291
cmNlLT5zZXRNb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUodGltZVNvdXJjZS0+bW9ub3Rvbmlj
YWxseUluY3JlYXNpbmdUaW1lKCkgKyAwLjAwNSk7CiAgICAgY29udHJvbGxlci5kaWRGaW5pc2hG
cmFtZSgpOwogCiAgICAgLy8gVGljayBzaG91bGQgbm90IGhhdmUgYmVlbiBjYWxsZWQKICAgICBF
WFBFQ1RfRkFMU0UoY2xpZW50LmZyYW1lQmVndW4oKSk7CiAKICAgICAvLyBUcmlnZ2VyIHlldCBh
bm90aGVyIGZyYW1lLiBTaW5jZSBvbmUgZnJhbWVzIGlzIHBlbmRpbmcsIGFub3RoZXIgdnN5bmMg
Y2FsbGJhY2sgc2hvdWxkIHJ1bi4KLSAgICBlbGFwc2VkICs9IHRocmVhZC5wZW5kaW5nRGVsYXko
KTsKLSAgICBFWFBFQ1RfVFJVRShlbGFwc2VkID49IHRpbWVTb3VyY2UtPm1vbm90b25pY2FsbHlJ
bmNyZWFzaW5nVGltZU1zKCkpOyAvLyBTYW5pdHkgY2hlY2sgdGhhdCBwcmV2aW91cyBjb2RlIGRp
ZG4ndCBtb3ZlIHRpbWUgYmFja3dhcmQuCi0gICAgdGltZVNvdXJjZS0+c2V0TW9ub3RvbmljYWxs
eUluY3JlYXNpbmdUaW1lTXMoZWxhcHNlZCk7CisgICAgZWxhcHNlZCArPSB0aHJlYWQucGVuZGlu
Z0RlbGF5TXMoKSAvIDEwMDAuMDsKKyAgICBFWFBFQ1RfVFJVRShlbGFwc2VkID49IHRpbWVTb3Vy
Y2UtPm1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpKTsgLy8gU2FuaXR5IGNoZWNrIHRoYXQg
cHJldmlvdXMgY29kZSBkaWRuJ3QgbW92ZSB0aW1lIGJhY2t3YXJkLgorICAgIHRpbWVTb3VyY2Ut
PnNldE1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZShlbGFwc2VkKTsKICAgICB0aHJlYWQucnVu
UGVuZGluZ1Rhc2soKTsKICAgICBFWFBFQ1RfVFJVRShjbGllbnQuZnJhbWVCZWd1bigpKTsKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NTY2hlZHVsZXJUZXN0
Q29tbW9uLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDU2NoZWR1bGVyVGVzdENv
bW1vbi5oCmluZGV4IDliNWUwMzgzZTJlZjQwNmUxZmYwNTZmNzhlZWNmZmNlMjRiM2Q4MzguLjM5
Y2Y5ZTQ5NjMzODA4OGRiZDY1NDVjMjUyZTFkNDFlYTAwYjk0MDUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NTY2hlZHVsZXJUZXN0Q29tbW9uLmgKKysrIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ1NjaGVkdWxlclRlc3RDb21tb24uaApAQCAtNjEs
NyArNjEsNyBAQCBwdWJsaWM6CiAgICAgICAgIHRhc2stPnBlcmZvcm1UYXNrKCk7CiAgICAgfQog
Ci0gICAgbG9uZyBsb25nIHBlbmRpbmdEZWxheSgpIGNvbnN0CisgICAgbG9uZyBsb25nIHBlbmRp
bmdEZWxheU1zKCkgY29uc3QKICAgICB7CiAgICAgICAgIEVYUEVDVF9UUlVFKGhhc1BlbmRpbmdU
YXNrKCkpOwogICAgICAgICByZXR1cm4gbV9wZW5kaW5nVGFza0RlbGF5OwpAQCAtMTA3LDIwICsx
MDcsMjAgQEAgcHJvdGVjdGVkOgogCiBjbGFzcyBGYWtlQ0NEZWxheUJhc2VkVGltZVNvdXJjZSA6
IHB1YmxpYyBXZWJDb3JlOjpDQ0RlbGF5QmFzZWRUaW1lU291cmNlIHsKIHB1YmxpYzoKLSAgICBz
dGF0aWMgUGFzc1JlZlB0cjxGYWtlQ0NEZWxheUJhc2VkVGltZVNvdXJjZT4gY3JlYXRlKGRvdWJs
ZSBpbnRlcnZhbE1zLCBXZWJDb3JlOjpDQ1RocmVhZCogdGhyZWFkKQorICAgIHN0YXRpYyBQYXNz
UmVmUHRyPEZha2VDQ0RlbGF5QmFzZWRUaW1lU291cmNlPiBjcmVhdGUoZG91YmxlIGludGVydmFs
LCBXZWJDb3JlOjpDQ1RocmVhZCogdGhyZWFkKQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0
UmVmKG5ldyBGYWtlQ0NEZWxheUJhc2VkVGltZVNvdXJjZShpbnRlcnZhbE1zLCB0aHJlYWQpKTsK
KyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBGYWtlQ0NEZWxheUJhc2VkVGltZVNvdXJjZShp
bnRlcnZhbCwgdGhyZWFkKSk7CiAgICAgfQogCi0gICAgdm9pZCBzZXRNb25vdG9uaWNhbGx5SW5j
cmVhc2luZ1RpbWVNcyhkb3VibGUgdGltZSkgeyBtX21vbm90b25pY2FsbHlJbmNyZWFzaW5nVGlt
ZU1zID0gdGltZTsgfQotICAgIHZpcnR1YWwgZG91YmxlIG1vbm90b25pY2FsbHlJbmNyZWFzaW5n
VGltZU1zKCkgY29uc3QgeyByZXR1cm4gbV9tb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWVNczsg
fQorICAgIHZvaWQgc2V0TW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKGRvdWJsZSB0aW1lKSB7
IG1fbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lID0gdGltZTsgfQorICAgIHZpcnR1YWwgZG91
YmxlIG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpIGNvbnN0IHsgcmV0dXJuIG1fbW9ub3Rv
bmljYWxseUluY3JlYXNpbmdUaW1lOyB9CiAKIHByb3RlY3RlZDoKLSAgICBGYWtlQ0NEZWxheUJh
c2VkVGltZVNvdXJjZShkb3VibGUgaW50ZXJ2YWxNcywgV2ViQ29yZTo6Q0NUaHJlYWQqIHRocmVh
ZCkKLSAgICAgICAgOiBDQ0RlbGF5QmFzZWRUaW1lU291cmNlKGludGVydmFsTXMsIHRocmVhZCkK
LSAgICAgICAgLCBtX21vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZU1zKDApIHsgfQorICAgIEZh
a2VDQ0RlbGF5QmFzZWRUaW1lU291cmNlKGRvdWJsZSBpbnRlcnZhbCwgV2ViQ29yZTo6Q0NUaHJl
YWQqIHRocmVhZCkKKyAgICAgICAgOiBDQ0RlbGF5QmFzZWRUaW1lU291cmNlKGludGVydmFsLCB0
aHJlYWQpCisgICAgICAgICwgbV9tb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoMCkgeyB9CiAK
LSAgICBkb3VibGUgbV9tb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWVNczsKKyAgICBkb3VibGUg
bV9tb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWU7CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDVGltZXJUZXN0LmNwcCBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vdGVzdHMvQ0NUaW1lclRlc3QuY3BwCmluZGV4IDI5OGI2OTU2MjhmMTUwMGQwODU1
NTY0NjRjNjdkNGEyYjI0MzY3NDAuLjM5OGZjYTU2ZWI2N2VmYTY3N2I4YThkMDhmMzUzYmNlODg1
MDY2ZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NUaW1lclRl
c3QuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NUaW1lclRlc3QuY3Bw
CkBAIC01NCw3ICs1NCw3IEBAIHByb3RlY3RlZDoKIFRFU1RfRihDQ1RpbWVyVGVzdCwgT25lU2hv
dCkKIHsKICAgICBDQ1RpbWVyIHRpbWVyKCZtX3RocmVhZCwgdGhpcyk7Ci0gICAgdGltZXIuc3Rh
cnRPbmVTaG90KDEpOworICAgIHRpbWVyLnN0YXJ0T25lU2hvdCgwLjAwMSk7CiAKICAgICBtX3Ro
cmVhZC5ydW5QZW5kaW5nVGFzaygpOwogICAgIEVYUEVDVF9UUlVFKG1fZmxhZyk7CkBAIC02NCw3
ICs2NCw3IEBAIFRFU1RfRihDQ1RpbWVyVGVzdCwgT25lU2hvdCkKIFRFU1RfRihDQ1RpbWVyVGVz
dCwgU3RvcE1hbnVhbGx5KQogewogICAgIENDVGltZXIgdGltZXIoJm1fdGhyZWFkLCB0aGlzKTsK
LSAgICB0aW1lci5zdGFydE9uZVNob3QoMSk7CisgICAgdGltZXIuc3RhcnRPbmVTaG90KDAuMDAx
KTsKICAgICB0aW1lci5zdG9wKCk7CiAKICAgICBtX3RocmVhZC5ydW5QZW5kaW5nVGFzaygpOwpA
QCAtNzYsNyArNzYsNyBAQCBURVNUX0YoQ0NUaW1lclRlc3QsIFN0b3BCeVNjb3BlKQogewogICAg
IHsKICAgICAgICAgQ0NUaW1lciB0aW1lcigmbV90aHJlYWQsIHRoaXMpOwotICAgICAgICB0aW1l
ci5zdGFydE9uZVNob3QoMSk7CisgICAgICAgIHRpbWVyLnN0YXJ0T25lU2hvdCgwLjAwMSk7CiAg
ICAgfQogCiAgICAgbV90aHJlYWQucnVuUGVuZGluZ1Rhc2soKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131060</attachid>
            <date>2012-03-09 10:36:15 -0800</date>
            <delta_ts>2012-03-17 12:22:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80514-20120309133614.patch</filename>
            <type>text/plain</type>
            <size>32618</size>
            <attacher>vollick</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwMzAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTEyYjk3NGQwZDA1YmM5
MjAyOTUwMWUwZTZkYmQ2NzA2MDFlNTJlNC4uNjA3YjM3ZWMxNmZhM2RiOTA1OTY0ZjgwMDYxMjIz
MWJmNjc2ZjI4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDEyLTAzLTA5ICBJYW4g
Vm9sbGljayAgPHZvbGxpY2tAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gVGlt
ZXMgaW4gdGhlIGNjIHNob3VsZCBiZSBleHByZXNzZWQgaW4gc2Vjb25kcy4KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwNTE0CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIC0tIG5vIGZ1
bmN0aW9uYWxpdHkgY2hhbmdlLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vY2MvQ0NEZWxheUJhc2VkVGltZVNvdXJjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDQ0Rl
bGF5QmFzZWRUaW1lU291cmNlOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Q0NEZWxheUJh
c2VkVGltZVNvdXJjZTo6Q0NEZWxheUJhc2VkVGltZVNvdXJjZSk6CisgICAgICAgIChXZWJDb3Jl
OjpDQ0RlbGF5QmFzZWRUaW1lU291cmNlOjpzZXRBY3RpdmUpOgorICAgICAgICAoV2ViQ29yZTo6
Q0NEZWxheUJhc2VkVGltZVNvdXJjZTo6b25UaW1lckZpcmVkKToKKyAgICAgICAgKFdlYkNvcmU6
OkNDRGVsYXlCYXNlZFRpbWVTb3VyY2U6Om1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSk6Cisg
ICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkNDRGVsYXlCYXNlZFRpbWVTb3Vy
Y2U6OnBvc3ROZXh0VGlja1Rhc2spOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL2NjL0NDRGVsYXlCYXNlZFRpbWVTb3VyY2UuaDoKKyAgICAgICAgKENDRGVsYXlCYXNlZFRp
bWVTb3VyY2UpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVGhy
ZWFkUHJveHkuY3BwOgorICAgICAgICAoV1RGKToKKyAgICAgICAgKFdlYkNvcmU6OkNDVGhyZWFk
UHJveHk6OmJlZ2luQ29udGV4dFJlY3JlYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6Q0NUaHJl
YWRQcm94eTo6dHJ5VG9SZWNyZWF0ZUNvbnRleHQpOgorICAgICAgICAoV2ViQ29yZTo6Q0NUaHJl
YWRQcm94eTo6aW5pdGlhbGl6ZUltcGxPbkltcGxUaHJlYWQpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVGltZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q0NU
aW1lcjo6c3RhcnRPbmVTaG90KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9jYy9DQ1RpbWVyLmg6CisgICAgICAgIChDQ1RpbWVyKToKKwogMjAxMi0wMy0wOSAgUm9iaW4g
Q2FvICA8cm9iaW4uY2FvQHRvcmNobW9iaWxlLmNvbS5jbj4KIAogICAgICAgICBbQmxhY2tCZXJy
eV0gVXBzdHJlYW0gY2xhc3NlcyB0aGF0IGhhbmRsZSBsYXllciB0aWxpbmcKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9DaGFuZ2VMb2cKaW5kZXggYWI3YTU5ZDRjNTUzMTg2MWRmODUyOWNmY2I5YjczMWRjMGQ0YTEz
My4uYzBlZWYyZDJlOWViODA1YTM1NTY1NTk1YmM3MDk4ZmZmZWYwNjAwZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cKQEAgLTEsNSArMSwyNiBAQAogMjAxMi0wMy0wOSAgSWFuIFZvbGxpY2sg
IDx2b2xsaWNrQGNocm9taXVtLm9yZz4KIAorICAgICAgICBbY2hyb21pdW1dIFRpbWVzIGluIHRo
ZSBjYyBzaG91bGQgYmUgZXhwcmVzc2VkIGluIHNlY29uZHMuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDUxNAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogdGVzdHMvQ0NEZWxheUJhc2VkVGltZVNvdXJj
ZVRlc3QuY3BwOgorICAgICAgICAoV2ViS2l0VGVzdHM6OlRFU1QpOgorICAgICAgICAqIHRlc3Rz
L0NDRnJhbWVSYXRlQ29udHJvbGxlclRlc3QuY3BwOgorICAgICAgICAoV2ViS2l0VGVzdHM6OlRF
U1QpOgorICAgICAgICAqIHRlc3RzL0NDU2NoZWR1bGVyVGVzdENvbW1vbi5oOgorICAgICAgICAo
V2ViS2l0VGVzdHM6OkZha2VDQ1RocmVhZDo6cGVuZGluZ0RlbGF5TXMpOgorICAgICAgICAoV2Vi
S2l0VGVzdHM6OkZha2VDQ0RlbGF5QmFzZWRUaW1lU291cmNlOjpjcmVhdGUpOgorICAgICAgICAo
V2ViS2l0VGVzdHM6OkZha2VDQ0RlbGF5QmFzZWRUaW1lU291cmNlOjpzZXRNb25vdG9uaWNhbGx5
SW5jcmVhc2luZ1RpbWUpOgorICAgICAgICAoV2ViS2l0VGVzdHM6OkZha2VDQ0RlbGF5QmFzZWRU
aW1lU291cmNlOjptb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUpOgorICAgICAgICAoV2ViS2l0
VGVzdHM6OkZha2VDQ0RlbGF5QmFzZWRUaW1lU291cmNlOjpGYWtlQ0NEZWxheUJhc2VkVGltZVNv
dXJjZSk6CisgICAgICAgIChGYWtlQ0NEZWxheUJhc2VkVGltZVNvdXJjZSk6CisgICAgICAgICog
dGVzdHMvQ0NUaW1lclRlc3QuY3BwOgorICAgICAgICAoV2ViS2l0VGVzdHM6OlRFU1RfRik6CisK
KzIwMTItMDMtMDkgIElhbiBWb2xsaWNrICA8dm9sbGlja0BjaHJvbWl1bS5vcmc+CisKICAgICAg
ICAgW2Nocm9taXVtXSBFbnN1cmUgd2UgdXNlIHRoZSBjb3JyZWN0IHRpbWUgd2hlbiBub3RpZnlp
bmcgYW5pbWF0aW9uIHN0YXJ0ZWQKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTc5NTM3CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDRGVsYXlCYXNlZFRpbWVTb3VyY2UuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NEZWxheUJhc2VkVGltZVNv
dXJjZS5jcHAKaW5kZXggZTdiMTlhNzYwNTA0ZWY3NGM4NDM0MDYwNTNhZjQwYzkzMzM0MDM1NC4u
YjY4OGE3OGEyN2M1Nzk1MWRkOGQ2YmVmZmVlNzY2YzVkMjRmMjNlNCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NEZWxheUJhc2VkVGlt
ZVNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vY2MvQ0NEZWxheUJhc2VkVGltZVNvdXJjZS5jcHAKQEAgLTMzLDE1ICszMywxNSBAQAogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLVBhc3NSZWZQdHI8Q0NEZWxheUJhc2VkVGltZVNvdXJjZT4g
Q0NEZWxheUJhc2VkVGltZVNvdXJjZTo6Y3JlYXRlKGRvdWJsZSBpbnRlcnZhbE1zLCBDQ1RocmVh
ZCogdGhyZWFkKQorUGFzc1JlZlB0cjxDQ0RlbGF5QmFzZWRUaW1lU291cmNlPiBDQ0RlbGF5QmFz
ZWRUaW1lU291cmNlOjpjcmVhdGUoZG91YmxlIGludGVydmFsLCBDQ1RocmVhZCogdGhyZWFkKQog
ewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgQ0NEZWxheUJhc2VkVGltZVNvdXJjZShpbnRlcnZh
bE1zLCB0aHJlYWQpKTsKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3IENDRGVsYXlCYXNlZFRpbWVT
b3VyY2UoaW50ZXJ2YWwsIHRocmVhZCkpOwogfQogCi1DQ0RlbGF5QmFzZWRUaW1lU291cmNlOjpD
Q0RlbGF5QmFzZWRUaW1lU291cmNlKGRvdWJsZSBpbnRlcnZhbE1zLCBDQ1RocmVhZCogdGhyZWFk
KQorQ0NEZWxheUJhc2VkVGltZVNvdXJjZTo6Q0NEZWxheUJhc2VkVGltZVNvdXJjZShkb3VibGUg
aW50ZXJ2YWxTZWNvbmRzLCBDQ1RocmVhZCogdGhyZWFkKQogICAgIDogbV9jbGllbnQoMCkKICAg
ICAsIG1faGFzVGlja1RhcmdldChmYWxzZSkKLSAgICAsIG1faW50ZXJ2YWxNcyhpbnRlcnZhbE1z
KQorICAgICwgbV9pbnRlcnZhbFNlY29uZHMoaW50ZXJ2YWxTZWNvbmRzKQogICAgICwgbV90aWNr
VGFyZ2V0KDApCiAgICAgLCBtX3N0YXRlKFNUQVRFX0lOQUNUSVZFKQogICAgICwgbV90aW1lcih0
aHJlYWQsIHRoaXMpCkBAIC03MCwzMiArNzAsMzIgQEAgdm9pZCBDQ0RlbGF5QmFzZWRUaW1lU291
cmNlOjpzZXRBY3RpdmUoYm9vbCBhY3RpdmUpCiAKICAgICBtX3N0YXRlID0gU1RBVEVfQUNUSVZF
OwogCi0gICAgZG91YmxlIG5vd01zID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lTXMoKTsK
LSAgICBwb3N0TmV4dFRpY2tUYXNrKG5vd01zKTsKKyAgICBkb3VibGUgbm93ID0gbW9ub3Rvbmlj
YWxseUluY3JlYXNpbmdUaW1lKCk7CisgICAgcG9zdE5leHRUaWNrVGFzayhub3cpOwogfQogCiB2
b2lkIENDRGVsYXlCYXNlZFRpbWVTb3VyY2U6Om9uVGltZXJGaXJlZCgpCiB7CiAgICAgQVNTRVJU
KG1fc3RhdGUgIT0gU1RBVEVfSU5BQ1RJVkUpOwogCi0gICAgZG91YmxlIG5vd01zID0gbW9ub3Rv
bmljYWxseUluY3JlYXNpbmdUaW1lTXMoKTsKKyAgICBkb3VibGUgbm93ID0gbW9ub3RvbmljYWxs
eUluY3JlYXNpbmdUaW1lKCk7CiAKICAgICBpZiAobV9zdGF0ZSA9PSBTVEFURV9TVEFSVElORykg
ewogICAgICAgICBtX2hhc1RpY2tUYXJnZXQgPSB0cnVlOwotICAgICAgICBtX3RpY2tUYXJnZXQg
PSBub3dNczsKKyAgICAgICAgbV90aWNrVGFyZ2V0ID0gbm93OwogICAgICAgICBtX3N0YXRlID0g
U1RBVEVfQUNUSVZFOwogICAgIH0KIAotICAgIHBvc3ROZXh0VGlja1Rhc2sobm93TXMpOworICAg
IHBvc3ROZXh0VGlja1Rhc2sobm93KTsKIAogICAgIC8vIEZpcmUgdGhlIHRpY2sKICAgICBpZiAo
bV9jbGllbnQpCiAgICAgICAgIG1fY2xpZW50LT5vblRpbWVyVGljaygpOwogfQogCi1kb3VibGUg
Q0NEZWxheUJhc2VkVGltZVNvdXJjZTo6bW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lTXMoKSBj
b25zdAorZG91YmxlIENDRGVsYXlCYXNlZFRpbWVTb3VyY2U6Om1vbm90b25pY2FsbHlJbmNyZWFz
aW5nVGltZSgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIFdURjo6bW9ub3RvbmljYWxseUluY3JlYXNp
bmdUaW1lKCkgKiAxMDAwLjA7CisgICAgcmV0dXJuIFdURjo6bW9ub3RvbmljYWxseUluY3JlYXNp
bmdUaW1lKCk7CiB9CiAKIC8vIFRoaXMgY29kZSB0cmllcyB0byBhY2hpZXZlIGFuIGF2ZXJhZ2Ug
dGljayByYXRlIGFzIGNsb3NlIHRvIG1faW50ZXJ2YWxNcyBhcyBwb3NzaWJsZS4KQEAgLTE0MSwy
MSArMTQxLDIzIEBAIGRvdWJsZSBDQ0RlbGF5QmFzZWRUaW1lU291cmNlOjptb25vdG9uaWNhbGx5
SW5jcmVhc2luZ1RpbWVNcygpIGNvbnN0CiAvLwogLy8gRm9yIHRoZSByZWFsbHkgbGF0ZSBkZWxh
eSwgd2Ugd2UgbW92ZSB0byB0aGUgbmV4dCBsb2dpY2FsIHRpY2suIFRoZSB0aW1lYmFzZSBpcyBu
b3QgcmVzZXQuCiAvLyAgICAgIG5vdz0zNyAgIHRpY2tUYXJnZXQ9MTYuNjY3ICBuZXdUYXJnZXQ9
NTAuMDAwICAtLT4gdGljaygpLCBwb3N0RGVsYXllZFRhc2soZmxvb3IoNTAuMDAwLTM3KSkgLS0+
IHBvc3REZWxheWVkVGFzaygxMykKLXZvaWQgQ0NEZWxheUJhc2VkVGltZVNvdXJjZTo6cG9zdE5l
eHRUaWNrVGFzayhkb3VibGUgbm93TXMpCisvLworLy8gTm90ZSwgdGhhdCBpbiB0aGUgYWJvdmUg
ZGlzY3Vzc2lvbiwgdGltZXMgYXJlIGV4cHJlc3NlZCBpbiBtaWxsaXNlY29uZHMsIGJ1dCBpbiB0
aGUgY29kZSwgc2Vjb25kcyBhcmUgdXNlZC4KK3ZvaWQgQ0NEZWxheUJhc2VkVGltZVNvdXJjZTo6
cG9zdE5leHRUaWNrVGFzayhkb3VibGUgbm93KQogewotICAgIGludCBudW1JbnRlcnZhbHNFbGFw
c2VkID0gc3RhdGljX2Nhc3Q8aW50PihmbG9vcigobm93TXMgLSBtX3RpY2tUYXJnZXQpIC8gbV9p
bnRlcnZhbE1zKSk7Ci0gICAgZG91YmxlIGxhc3RFZmZlY3RpdmVUaWNrID0gbV90aWNrVGFyZ2V0
ICsgbV9pbnRlcnZhbE1zICogbnVtSW50ZXJ2YWxzRWxhcHNlZDsKLSAgICBkb3VibGUgbmV3VGlj
a1RhcmdldCA9IGxhc3RFZmZlY3RpdmVUaWNrICsgbV9pbnRlcnZhbE1zOwotCi0gICAgbG9uZyBs
b25nIGRlbGF5ID0gc3RhdGljX2Nhc3Q8bG9uZyBsb25nPihuZXdUaWNrVGFyZ2V0IC0gbm93TXMp
OwotICAgIGlmICghZGVsYXkpIHsKLSAgICAgICAgbmV3VGlja1RhcmdldCA9IG5ld1RpY2tUYXJn
ZXQgKyBtX2ludGVydmFsTXM7Ci0gICAgICAgIGRlbGF5ID0gc3RhdGljX2Nhc3Q8bG9uZyBsb25n
PihuZXdUaWNrVGFyZ2V0IC0gbm93TXMpOworICAgIGludCBudW1JbnRlcnZhbHNFbGFwc2VkID0g
c3RhdGljX2Nhc3Q8aW50PihmbG9vcigobm93IC0gbV90aWNrVGFyZ2V0KSAvIG1faW50ZXJ2YWxT
ZWNvbmRzKSk7CisgICAgZG91YmxlIGxhc3RFZmZlY3RpdmVUaWNrID0gbV90aWNrVGFyZ2V0ICsg
bV9pbnRlcnZhbFNlY29uZHMgKiBudW1JbnRlcnZhbHNFbGFwc2VkOworICAgIGRvdWJsZSBuZXdU
aWNrVGFyZ2V0ID0gbGFzdEVmZmVjdGl2ZVRpY2sgKyBtX2ludGVydmFsU2Vjb25kczsKKworICAg
IGxvbmcgbG9uZyBkZWxheU1zID0gc3RhdGljX2Nhc3Q8bG9uZyBsb25nPigobmV3VGlja1Rhcmdl
dCAtIG5vdykgKiAxMDAwLjApOworICAgIGlmICghZGVsYXlNcykgeworICAgICAgICBuZXdUaWNr
VGFyZ2V0ID0gbmV3VGlja1RhcmdldCArIG1faW50ZXJ2YWxTZWNvbmRzOworICAgICAgICBkZWxh
eU1zID0gc3RhdGljX2Nhc3Q8bG9uZyBsb25nPigobmV3VGlja1RhcmdldCAtIG5vdykgKiAxMDAw
LjApOwogICAgIH0KIAogICAgIC8vIFBvc3QgYW5vdGhlciB0YXNrICpiZWZvcmUqIHRoZSB0aWNr
IGFuZCB1cGRhdGUgc3RhdGUKLSAgICBBU1NFUlQobmV3VGlja1RhcmdldCA+IG5vd01zKTsKLSAg
ICBtX3RpbWVyLnN0YXJ0T25lU2hvdChkZWxheSk7CisgICAgQVNTRVJUKG5ld1RpY2tUYXJnZXQg
PiBub3cpOworICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KGRlbGF5TXMgLyAxMDAwLjApOwogICAg
IG1fdGlja1RhcmdldCA9IG5ld1RpY2tUYXJnZXQ7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDRGVsYXlCYXNlZFRpbWVTb3Vy
Y2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDRGVs
YXlCYXNlZFRpbWVTb3VyY2UuaAppbmRleCBhNDFhYWQ0ZDg0MjkyNjhiMjIwOGE1MGM4YTQyNThl
NzhiY2FiZTczLi41ZjFiMmM0ZjJmZGE3YmVkNTRmNWY0NDM1MDY0NWYzNWY3OTZlNWRmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0Rl
bGF5QmFzZWRUaW1lU291cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vY2MvQ0NEZWxheUJhc2VkVGltZVNvdXJjZS5oCkBAIC0zOCw3ICszOCw3IEBA
IGNsYXNzIENDVGhyZWFkOwogLy8gaW4gZmFjZSBvZiBtaWxsaXNlY29uZC1wcmVjaXNpb24gZGVs
YXllZCBjYWxsYmFja3MgYW5kIHJhbmRvbSBxdWV1ZWluZyBkZWxheXMuCiBjbGFzcyBDQ0RlbGF5
QmFzZWRUaW1lU291cmNlIDogcHVibGljIENDVGltZVNvdXJjZSwgQ0NUaW1lckNsaWVudCB7CiBw
dWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8Q0NEZWxheUJhc2VkVGltZVNvdXJjZT4gY3Jl
YXRlKGRvdWJsZSBpbnRlcnZhbE1zLCBDQ1RocmVhZCopOworICAgIHN0YXRpYyBQYXNzUmVmUHRy
PENDRGVsYXlCYXNlZFRpbWVTb3VyY2U+IGNyZWF0ZShkb3VibGUgaW50ZXJ2YWxTZWNvbmRzLCBD
Q1RocmVhZCopOwogCiAgICAgdmlydHVhbCB+Q0NEZWxheUJhc2VkVGltZVNvdXJjZSgpIHsgfQog
CkBAIC01MSwxMSArNTEsMTEgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBvblRpbWVyRmly
ZWQoKTsKIAogICAgIC8vIFZpcnR1YWwgZm9yIHRlc3RpbmcuCi0gICAgdmlydHVhbCBkb3VibGUg
bW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lTXMoKSBjb25zdDsKKyAgICB2aXJ0dWFsIGRvdWJs
ZSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSBjb25zdDsKIAogcHJvdGVjdGVkOgotICAg
IENDRGVsYXlCYXNlZFRpbWVTb3VyY2UoZG91YmxlIGludGVydmFsTXMsIENDVGhyZWFkKik7Ci0g
ICAgdm9pZCBwb3N0TmV4dFRpY2tUYXNrKGRvdWJsZSBub3dNcyk7CisgICAgQ0NEZWxheUJhc2Vk
VGltZVNvdXJjZShkb3VibGUgaW50ZXJ2YWwsIENDVGhyZWFkKik7CisgICAgdm9pZCBwb3N0TmV4
dFRpY2tUYXNrKGRvdWJsZSBub3cpOwogCiAgICAgZW51bSBTdGF0ZSB7CiAgICAgICAgIFNUQVRF
X0lOQUNUSVZFLApAQCAtNjQsNyArNjQsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgfTsKICAgICBDQ1Rp
bWVTb3VyY2VDbGllbnQqIG1fY2xpZW50OwogICAgIGJvb2wgbV9oYXNUaWNrVGFyZ2V0OwotICAg
IGRvdWJsZSBtX2ludGVydmFsTXM7CisgICAgZG91YmxlIG1faW50ZXJ2YWxTZWNvbmRzOwogICAg
IGRvdWJsZSBtX3RpY2tUYXJnZXQ7CiAgICAgU3RhdGUgbV9zdGF0ZTsKICAgICBDQ1RocmVhZCog
bV90aHJlYWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9jYy9DQ1RocmVhZFByb3h5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL2NjL0NDVGhyZWFkUHJveHkuY3BwCmluZGV4IDg0NTRlMjFmZjA4NzEz
MDE2NzViMDUwMzZlYjE3OTY4NWU5YWZjZjEuLjZlNjBkZTU1N2QxYmQ0MWVkMGYzZmYxZWE3Zjli
MDFjODk3YjQ5MDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL2NjL0NDVGhyZWFkUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVGhyZWFkUHJveHkuY3BwCkBAIC00Nyw2ICs0Nyw5
IEBAIG5hbWVzcGFjZSB7CiAvLyBzY2hlZHVsZWRBY3Rpb25VcGRhdGVNb3JlUmVzb3VyY2VzKCku
CiBzdGF0aWMgY29uc3Qgc2l6ZV90IHRleHR1cmVVcGRhdGVzUGVyRnJhbWUgPSA1OwogCisvLyBN
ZWFzdXJlZCBpbiBzZWNvbmRzLgorc3RhdGljIGNvbnN0IGRvdWJsZSBjb250ZXh0UmVjcmVhdGlv
blRpY2tSYXRlID0gMC4wMzsKKwogfSAvLyBhbm9ueW1vdXMgbmFtZXNwYWNlCiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKQEAgLTYzMSw4ICs2MzQsNiBAQCBwdWJsaWM6CiAgICAgICAgIG1fcHJveHkt
PnRyeVRvUmVjcmVhdGVDb250ZXh0KCk7CiAgICAgfQogCi0gICAgZW51bSBSZWNyZWF0aW9uIHsg
UmVjcmVhdGlvblRpY2tSYXRlTXMgPSAzMCB9OwotCiBwcml2YXRlOgogICAgIGV4cGxpY2l0IEND
VGhyZWFkUHJveHlDb250ZXh0UmVjcmVhdGlvblRpbWVyKENDVGhyZWFkUHJveHkqIHByb3h5KQog
ICAgICAgICA6IENDVGltZXIoQ0NQcm94eTo6bWFpblRocmVhZCgpLCB0aGlzKQpAQCAtNjUwLDcg
KzY1MSw3IEBAIHZvaWQgQ0NUaHJlYWRQcm94eTo6YmVnaW5Db250ZXh0UmVjcmVhdGlvbigpCiAg
ICAgQVNTRVJUKCFtX2NvbnRleHRSZWNyZWF0aW9uVGltZXIpOwogICAgIG1fY29udGV4dFJlY3Jl
YXRpb25UaW1lciA9IENDVGhyZWFkUHJveHlDb250ZXh0UmVjcmVhdGlvblRpbWVyOjpjcmVhdGUo
dGhpcyk7CiAgICAgbV9sYXllclRyZWVIb3N0LT5kaWRMb3NlQ29udGV4dCgpOwotICAgIG1fY29u
dGV4dFJlY3JlYXRpb25UaW1lci0+c3RhcnRPbmVTaG90KENDVGhyZWFkUHJveHlDb250ZXh0UmVj
cmVhdGlvblRpbWVyOjpSZWNyZWF0aW9uVGlja1JhdGVNcyk7CisgICAgbV9jb250ZXh0UmVjcmVh
dGlvblRpbWVyLT5zdGFydE9uZVNob3QoY29udGV4dFJlY3JlYXRpb25UaWNrUmF0ZSk7CiB9CiAK
IHZvaWQgQ0NUaHJlYWRQcm94eTo6dHJ5VG9SZWNyZWF0ZUNvbnRleHQoKQpAQCAtNjU5LDcgKzY2
MCw3IEBAIHZvaWQgQ0NUaHJlYWRQcm94eTo6dHJ5VG9SZWNyZWF0ZUNvbnRleHQoKQogICAgIEFT
U0VSVChtX2xheWVyVHJlZUhvc3QpOwogICAgIENDTGF5ZXJUcmVlSG9zdDo6UmVjcmVhdGVSZXN1
bHQgcmVzdWx0ID0gbV9sYXllclRyZWVIb3N0LT5yZWNyZWF0ZUNvbnRleHQoKTsKICAgICBpZiAo
cmVzdWx0ID09IENDTGF5ZXJUcmVlSG9zdDo6UmVjcmVhdGVGYWlsZWRCdXRUcnlBZ2FpbikKLSAg
ICAgICAgbV9jb250ZXh0UmVjcmVhdGlvblRpbWVyLT5zdGFydE9uZVNob3QoQ0NUaHJlYWRQcm94
eUNvbnRleHRSZWNyZWF0aW9uVGltZXI6OlJlY3JlYXRpb25UaWNrUmF0ZU1zKTsKKyAgICAgICAg
bV9jb250ZXh0UmVjcmVhdGlvblRpbWVyLT5zdGFydE9uZVNob3QoY29udGV4dFJlY3JlYXRpb25U
aWNrUmF0ZSk7CiAgICAgZWxzZSBpZiAocmVzdWx0ID09IENDTGF5ZXJUcmVlSG9zdDo6UmVjcmVh
dGVTdWNjZWVkZWQpCiAgICAgICAgIG1fY29udGV4dFJlY3JlYXRpb25UaW1lci5jbGVhcigpOwog
fQpAQCAtNjY5LDggKzY3MCw4IEBAIHZvaWQgQ0NUaHJlYWRQcm94eTo6aW5pdGlhbGl6ZUltcGxP
bkltcGxUaHJlYWQoQ0NDb21wbGV0aW9uRXZlbnQqIGNvbXBsZXRpb24pCiAgICAgVFJBQ0VfRVZF
TlQoIkNDVGhyZWFkUHJveHk6OmluaXRpYWxpemVJbXBsT25JbXBsVGhyZWFkIiwgdGhpcywgMCk7
CiAgICAgQVNTRVJUKGlzSW1wbFRocmVhZCgpKTsKICAgICBtX2xheWVyVHJlZUhvc3RJbXBsID0g
bV9sYXllclRyZWVIb3N0LT5jcmVhdGVMYXllclRyZWVIb3N0SW1wbCh0aGlzKTsKLSAgICBjb25z
dCBkb3VibGUgZGlzcGxheVJlZnJlc2hJbnRlcnZhbE1zID0gMTAwMC4wIC8gNjAuMDsKLSAgICBP
d25QdHI8Q0NGcmFtZVJhdGVDb250cm9sbGVyPiBmcmFtZVJhdGVDb250cm9sbGVyID0gYWRvcHRQ
dHIobmV3IENDRnJhbWVSYXRlQ29udHJvbGxlcihDQ0RlbGF5QmFzZWRUaW1lU291cmNlOjpjcmVh
dGUoZGlzcGxheVJlZnJlc2hJbnRlcnZhbE1zLCBDQ1Byb3h5OjppbXBsVGhyZWFkKCkpKSk7Cisg
ICAgY29uc3QgZG91YmxlIGRpc3BsYXlSZWZyZXNoSW50ZXJ2YWwgPSAxLjAgLyA2MC4wOworICAg
IE93blB0cjxDQ0ZyYW1lUmF0ZUNvbnRyb2xsZXI+IGZyYW1lUmF0ZUNvbnRyb2xsZXIgPSBhZG9w
dFB0cihuZXcgQ0NGcmFtZVJhdGVDb250cm9sbGVyKENDRGVsYXlCYXNlZFRpbWVTb3VyY2U6OmNy
ZWF0ZShkaXNwbGF5UmVmcmVzaEludGVydmFsLCBDQ1Byb3h5OjppbXBsVGhyZWFkKCkpKSk7CiAg
ICAgbV9zY2hlZHVsZXJPbkltcGxUaHJlYWQgPSBDQ1NjaGVkdWxlcjo6Y3JlYXRlKHRoaXMsIGZy
YW1lUmF0ZUNvbnRyb2xsZXIucmVsZWFzZSgpKTsKICAgICBtX3NjaGVkdWxlck9uSW1wbFRocmVh
ZC0+c2V0VmlzaWJsZShtX2xheWVyVHJlZUhvc3RJbXBsLT52aXNpYmxlKCkpOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1RpbWVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVGlt
ZXIuY3BwCmluZGV4IDlmY2M2MTMwNWMxOTg5ZWVlYjdhN2ZjZDU2OTViYjJjMjBiODZkZWQuLjZk
NjE4OWUyMzNiZjBiNjBkMjE1OTVlYTc4N2E5NjBkNTk4M2ZlYjMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVGltZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVGltZXIuY3Bw
CkBAIC03NiwxMiArNzYsMTQgQEAgQ0NUaW1lcjo6fkNDVGltZXIoKQogICAgIHN0b3AoKTsKIH0K
IAotdm9pZCBDQ1RpbWVyOjpzdGFydE9uZVNob3QoZG91YmxlIGludGVydmFsTXMpCit2b2lkIEND
VGltZXI6OnN0YXJ0T25lU2hvdChkb3VibGUgaW50ZXJ2YWxTZWNvbmRzKQogewogICAgIHN0b3Ao
KTsKIAogICAgIG1fdGFzayA9IG5ldyBDQ1RpbWVyVGFzayh0aGlzKTsKLSAgICBtX3RocmVhZC0+
cG9zdERlbGF5ZWRUYXNrKGFkb3B0UHRyKG1fdGFzayksIGludGVydmFsTXMpOworCisgICAgLy8g
VGhlIHRocmVhZCBleHBlY3RzIGRlbGF5cyBpbiBtaWxsaXNlY29uZHMuCisgICAgbV90aHJlYWQt
PnBvc3REZWxheWVkVGFzayhhZG9wdFB0cihtX3Rhc2spLCBpbnRlcnZhbFNlY29uZHMgKiAxMDAw
LjApOwogfQogCiB2b2lkIENDVGltZXI6OnN0b3AoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NUaW1lci5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NUaW1lci5oCmluZGV4IGI4ZGI1ZTE4
OTM4ZjA4ZjUyYTExY2E3MTBiYzJhZTNkZDJjMzc3YjEuLmE4NDUxOTBkOWE1YWFhZWJjNGQyMjEx
ZDE5Mjc2MTEwN2RlZWY1NTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL2NjL0NDVGltZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1RpbWVyLmgKQEAgLTUwLDcgKzUwLDcgQEAgcHVibGlj
OgogICAgIH5DQ1RpbWVyKCk7CiAKICAgICAvLyBJZiBhIHByZXZpb3VzIHRhc2sgaXMgcGVuZGlu
ZywgaXQgd2lsbCBiZSByZXBsYWNlZCB3aXRoIHRoZSBuZXcgb25lLgotICAgIHZvaWQgc3RhcnRP
bmVTaG90KGRvdWJsZSBpbnRlcnZhbE1zKTsKKyAgICB2b2lkIHN0YXJ0T25lU2hvdChkb3VibGUg
aW50ZXJ2YWxTZWNvbmRzKTsKICAgICB2b2lkIHN0b3AoKTsKIAogICAgIGJvb2wgaXNBY3RpdmUo
KSBjb25zdCB7IHJldHVybiBtX3Rhc2s7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vdGVzdHMvQ0NEZWxheUJhc2VkVGltZVNvdXJjZVRlc3QuY3BwIGIvU291cmNlL1dlYktp
dC9jaHJvbWl1bS90ZXN0cy9DQ0RlbGF5QmFzZWRUaW1lU291cmNlVGVzdC5jcHAKaW5kZXggODY3
ZDU2ZWE4N2QyMjhiOTQ5ZDExMjExOGIyMWZhMzcyNzhjODcyZC4uOTNlODRhNGFmYjEwZjZlMzZk
ZTY4NWZmM2Y5YWY0NmUzNTg5NWVlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS90ZXN0cy9DQ0RlbGF5QmFzZWRUaW1lU291cmNlVGVzdC5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9jaHJvbWl1bS90ZXN0cy9DQ0RlbGF5QmFzZWRUaW1lU291cmNlVGVzdC5jcHAKQEAgLTQxLDE1
ICs0MSwxNSBAQCBURVNUKENDRGVsYXlCYXNlZFRpbWVTb3VyY2VUZXN0LCBUYXNrUG9zdGVkQW5k
VGlja0NhbGxlZCkKIHsKICAgICBGYWtlQ0NUaHJlYWQgdGhyZWFkOwogICAgIEZha2VDQ1RpbWVT
b3VyY2VDbGllbnQgY2xpZW50OwotICAgIFJlZlB0cjxGYWtlQ0NEZWxheUJhc2VkVGltZVNvdXJj
ZT4gdGltZXIgPSBGYWtlQ0NEZWxheUJhc2VkVGltZVNvdXJjZTo6Y3JlYXRlKDEwMDAuMCAvIDYw
LjAsICZ0aHJlYWQpOworICAgIFJlZlB0cjxGYWtlQ0NEZWxheUJhc2VkVGltZVNvdXJjZT4gdGlt
ZXIgPSBGYWtlQ0NEZWxheUJhc2VkVGltZVNvdXJjZTo6Y3JlYXRlKDEuMCAvIDYwLjAsICZ0aHJl
YWQpOwogICAgIHRpbWVyLT5zZXRDbGllbnQoJmNsaWVudCk7CiAKLSAgICB0aW1lci0+c2V0TW9u
b3RvbmljYWxseUluY3JlYXNpbmdUaW1lTXMoMCk7CisgICAgdGltZXItPnNldE1vbm90b25pY2Fs
bHlJbmNyZWFzaW5nVGltZSgwKTsKICAgICB0aW1lci0+c2V0QWN0aXZlKHRydWUpOwogICAgIEVY
UEVDVF9UUlVFKHRpbWVyLT5hY3RpdmUoKSk7CiAgICAgRVhQRUNUX1RSVUUodGhyZWFkLmhhc1Bl
bmRpbmdUYXNrKCkpOwogCi0gICAgdGltZXItPnNldE1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGlt
ZU1zKDE2KTsKKyAgICB0aW1lci0+c2V0TW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKDAuMDE2
KTsKICAgICB0aHJlYWQucnVuUGVuZGluZ1Rhc2soKTsKICAgICBFWFBFQ1RfVFJVRSh0aW1lci0+
YWN0aXZlKCkpOwogICAgIEVYUEVDVF9UUlVFKGNsaWVudC50aWNrQ2FsbGVkKCkpOwpAQCAtNTks
NyArNTksNyBAQCBURVNUKENDRGVsYXlCYXNlZFRpbWVTb3VyY2UsIFRpY2tOb3RDYWxsZWRXaXRo
VGFza1Bvc3RlZCkKIHsKICAgICBGYWtlQ0NUaHJlYWQgdGhyZWFkOwogICAgIEZha2VDQ1RpbWVT
b3VyY2VDbGllbnQgY2xpZW50OwotICAgIFJlZlB0cjxGYWtlQ0NEZWxheUJhc2VkVGltZVNvdXJj
ZT4gdGltZXIgPSBGYWtlQ0NEZWxheUJhc2VkVGltZVNvdXJjZTo6Y3JlYXRlKDEwMDAuMCAvIDYw
LjAsICZ0aHJlYWQpOworICAgIFJlZlB0cjxGYWtlQ0NEZWxheUJhc2VkVGltZVNvdXJjZT4gdGlt
ZXIgPSBGYWtlQ0NEZWxheUJhc2VkVGltZVNvdXJjZTo6Y3JlYXRlKDEuMCAvIDYwLjAsICZ0aHJl
YWQpOwogICAgIHRpbWVyLT5zZXRDbGllbnQoJmNsaWVudCk7CiAgICAgdGltZXItPnNldEFjdGl2
ZSh0cnVlKTsKICAgICBFWFBFQ1RfVFJVRSh0aHJlYWQuaGFzUGVuZGluZ1Rhc2soKSk7CkBAIC03
Miw3ICs3Miw3IEBAIFRFU1QoQ0NEZWxheUJhc2VkVGltZVNvdXJjZSwgU3RhcnRUd2ljZUVucXVl
dWVzT25lVGFzaykKIHsKICAgICBGYWtlQ0NUaHJlYWQgdGhyZWFkOwogICAgIEZha2VDQ1RpbWVT
b3VyY2VDbGllbnQgY2xpZW50OwotICAgIFJlZlB0cjxGYWtlQ0NEZWxheUJhc2VkVGltZVNvdXJj
ZT4gdGltZXIgPSBGYWtlQ0NEZWxheUJhc2VkVGltZVNvdXJjZTo6Y3JlYXRlKDEwMDAuMCAvIDYw
LjAsICZ0aHJlYWQpOworICAgIFJlZlB0cjxGYWtlQ0NEZWxheUJhc2VkVGltZVNvdXJjZT4gdGlt
ZXIgPSBGYWtlQ0NEZWxheUJhc2VkVGltZVNvdXJjZTo6Y3JlYXRlKDEuMCAvIDYwLjAsICZ0aHJl
YWQpOwogICAgIHRpbWVyLT5zZXRDbGllbnQoJmNsaWVudCk7CiAgICAgdGltZXItPnNldEFjdGl2
ZSh0cnVlKTsKICAgICBFWFBFQ1RfVFJVRSh0aHJlYWQuaGFzUGVuZGluZ1Rhc2soKSk7CkBAIC04
NSw3ICs4NSw3IEBAIFRFU1QoQ0NEZWxheUJhc2VkVGltZVNvdXJjZSwgU3RhcnRXaGVuUnVubmlu
Z0RvZXNudFRpY2spCiB7CiAgICAgRmFrZUNDVGhyZWFkIHRocmVhZDsKICAgICBGYWtlQ0NUaW1l
U291cmNlQ2xpZW50IGNsaWVudDsKLSAgICBSZWZQdHI8RmFrZUNDRGVsYXlCYXNlZFRpbWVTb3Vy
Y2U+IHRpbWVyID0gRmFrZUNDRGVsYXlCYXNlZFRpbWVTb3VyY2U6OmNyZWF0ZSgxMDAwLjAgLyA2
MC4wLCAmdGhyZWFkKTsKKyAgICBSZWZQdHI8RmFrZUNDRGVsYXlCYXNlZFRpbWVTb3VyY2U+IHRp
bWVyID0gRmFrZUNDRGVsYXlCYXNlZFRpbWVTb3VyY2U6OmNyZWF0ZSgxLjAgLyA2MC4wLCAmdGhy
ZWFkKTsKICAgICB0aW1lci0+c2V0Q2xpZW50KCZjbGllbnQpOwogICAgIHRpbWVyLT5zZXRBY3Rp
dmUodHJ1ZSk7CiAgICAgdGhyZWFkLnJ1blBlbmRpbmdUYXNrKCk7CkBAIC0xMDAsMTkgKzEwMCwx
OSBAQCBURVNUKENDRGVsYXlCYXNlZFRpbWVTb3VyY2UsIE5leHREZWxheVNhbmVXaGVuRXhhY3Rs
eU9uUmVxdWVzdGVkVGltZSkKIHsKICAgICBGYWtlQ0NUaHJlYWQgdGhyZWFkOwogICAgIEZha2VD
Q1RpbWVTb3VyY2VDbGllbnQgY2xpZW50OwotICAgIGRvdWJsZSBpbnRlcnZhbCA9IDEwMDAuMCAv
IDYwLjA7CisgICAgZG91YmxlIGludGVydmFsID0gMS4wIC8gNjAuMDsKICAgICBSZWZQdHI8RmFr
ZUNDRGVsYXlCYXNlZFRpbWVTb3VyY2U+IHRpbWVyID0gRmFrZUNDRGVsYXlCYXNlZFRpbWVTb3Vy
Y2U6OmNyZWF0ZShpbnRlcnZhbCwgJnRocmVhZCk7CiAgICAgdGltZXItPnNldENsaWVudCgmY2xp
ZW50KTsKICAgICB0aW1lci0+c2V0QWN0aXZlKHRydWUpOwogICAgIC8vIFJ1biB0aGUgZmlyc3Qg
dGFzaywgYXMgdGhhdCBhY3RpdmF0ZXMgdGhlIHRpbWVyIGFuZCBwaWNrcyB1cCBhIHRpbWViYXNl
LgogICAgIHRocmVhZC5ydW5QZW5kaW5nVGFzaygpOwogCi0gICAgRVhQRUNUX0VRKDE2LCB0aHJl
YWQucGVuZGluZ0RlbGF5KCkpOworICAgIEVYUEVDVF9FUSgxNiwgdGhyZWFkLnBlbmRpbmdEZWxh
eU1zKCkpOwogCi0gICAgdGltZXItPnNldE1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZU1zKGlu
dGVydmFsKTsKKyAgICB0aW1lci0+c2V0TW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKGludGVy
dmFsKTsKICAgICB0aHJlYWQucnVuUGVuZGluZ1Rhc2soKTsKIAotICAgIEVYUEVDVF9FUSgxNiwg
dGhyZWFkLnBlbmRpbmdEZWxheSgpKTsKKyAgICBFWFBFQ1RfRVEoMTYsIHRocmVhZC5wZW5kaW5n
RGVsYXlNcygpKTsKIH0KIAogLy8gQXQgNjBIeiwgd2hlbiB0aGUgdGljayByZXR1cm5zIGF0IHNs
aWdodGx5IGFmdGVyIHRoZSByZXF1ZXN0ZWQgbmV4dCB0aW1lLCBtYWtlIHN1cmUKQEAgLTEyMSwx
OSArMTIxLDE5IEBAIFRFU1QoQ0NEZWxheUJhc2VkVGltZVNvdXJjZSwgTmV4dERlbGF5U2FuZVdo
ZW5TbGlnaHRseUFmdGVyUmVxdWVzdGVkVGltZSkKIHsKICAgICBGYWtlQ0NUaHJlYWQgdGhyZWFk
OwogICAgIEZha2VDQ1RpbWVTb3VyY2VDbGllbnQgY2xpZW50OwotICAgIGRvdWJsZSBpbnRlcnZh
bCA9IDEwMDAuMCAvIDYwLjA7CisgICAgZG91YmxlIGludGVydmFsID0gMS4wIC8gNjAuMDsKICAg
ICBSZWZQdHI8RmFrZUNDRGVsYXlCYXNlZFRpbWVTb3VyY2U+IHRpbWVyID0gRmFrZUNDRGVsYXlC
YXNlZFRpbWVTb3VyY2U6OmNyZWF0ZShpbnRlcnZhbCwgJnRocmVhZCk7CiAgICAgdGltZXItPnNl
dENsaWVudCgmY2xpZW50KTsKICAgICB0aW1lci0+c2V0QWN0aXZlKHRydWUpOwogICAgIC8vIFJ1
biB0aGUgZmlyc3QgdGFzaywgYXMgdGhhdCBhY3RpdmF0ZXMgdGhlIHRpbWVyIGFuZCBwaWNrcyB1
cCBhIHRpbWViYXNlLgogICAgIHRocmVhZC5ydW5QZW5kaW5nVGFzaygpOwogCi0gICAgRVhQRUNU
X0VRKDE2LCB0aHJlYWQucGVuZGluZ0RlbGF5KCkpOworICAgIEVYUEVDVF9FUSgxNiwgdGhyZWFk
LnBlbmRpbmdEZWxheU1zKCkpOwogCi0gICAgdGltZXItPnNldE1vbm90b25pY2FsbHlJbmNyZWFz
aW5nVGltZU1zKGludGVydmFsICsgMC4wMDAxKTsKKyAgICB0aW1lci0+c2V0TW9ub3RvbmljYWxs
eUluY3JlYXNpbmdUaW1lKGludGVydmFsICsgMC4wMDAwMDAxKTsKICAgICB0aHJlYWQucnVuUGVu
ZGluZ1Rhc2soKTsKIAotICAgIEVYUEVDVF9FUSgxNiwgdGhyZWFkLnBlbmRpbmdEZWxheSgpKTsK
KyAgICBFWFBFQ1RfRVEoMTYsIHRocmVhZC5wZW5kaW5nRGVsYXlNcygpKTsKIH0KIAogLy8gQXQg
NjBIeiwgd2hlbiB0aGUgdGljayByZXR1cm5zIGF0IGV4YWN0bHkgMippbnRlcnZhbCBhZnRlciB0
aGUgcmVxdWVzdGVkIG5leHQgdGltZSwgbWFrZSBzdXJlCkBAIC0xNDIsMTkgKzE0MiwxOSBAQCBU
RVNUKENDRGVsYXlCYXNlZFRpbWVTb3VyY2UsIE5leHREZWxheVNhbmVXaGVuRXhhY3RseVR3aWNl
QWZ0ZXJSZXF1ZXN0ZWRUaW1lKQogewogICAgIEZha2VDQ1RocmVhZCB0aHJlYWQ7CiAgICAgRmFr
ZUNDVGltZVNvdXJjZUNsaWVudCBjbGllbnQ7Ci0gICAgZG91YmxlIGludGVydmFsID0gMTAwMC4w
IC8gNjAuMDsKKyAgICBkb3VibGUgaW50ZXJ2YWwgPSAxLjAgLyA2MC4wOwogICAgIFJlZlB0cjxG
YWtlQ0NEZWxheUJhc2VkVGltZVNvdXJjZT4gdGltZXIgPSBGYWtlQ0NEZWxheUJhc2VkVGltZVNv
dXJjZTo6Y3JlYXRlKGludGVydmFsLCAmdGhyZWFkKTsKICAgICB0aW1lci0+c2V0Q2xpZW50KCZj
bGllbnQpOwogICAgIHRpbWVyLT5zZXRBY3RpdmUodHJ1ZSk7CiAgICAgLy8gUnVuIHRoZSBmaXJz
dCB0YXNrLCBhcyB0aGF0IGFjdGl2YXRlcyB0aGUgdGltZXIgYW5kIHBpY2tzIHVwIGEgdGltZWJh
c2UuCiAgICAgdGhyZWFkLnJ1blBlbmRpbmdUYXNrKCk7CiAKLSAgICBFWFBFQ1RfRVEoMTYsIHRo
cmVhZC5wZW5kaW5nRGVsYXkoKSk7CisgICAgRVhQRUNUX0VRKDE2LCB0aHJlYWQucGVuZGluZ0Rl
bGF5TXMoKSk7CiAKLSAgICB0aW1lci0+c2V0TW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lTXMo
MippbnRlcnZhbCk7CisgICAgdGltZXItPnNldE1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgy
KmludGVydmFsKTsKICAgICB0aHJlYWQucnVuUGVuZGluZ1Rhc2soKTsKIAotICAgIEVYUEVDVF9F
USgxNiwgdGhyZWFkLnBlbmRpbmdEZWxheSgpKTsKKyAgICBFWFBFQ1RfRVEoMTYsIHRocmVhZC5w
ZW5kaW5nRGVsYXlNcygpKTsKIH0KIAogLy8gQXQgNjBIeiwgd2hlbiB0aGUgdGljayByZXR1cm5z
IGF0IDIqaW50ZXJ2YWwgYW5kIGEgYml0IGFmdGVyIHRoZSByZXF1ZXN0ZWQgbmV4dCB0aW1lLCBt
YWtlIHN1cmUKQEAgLTE2MywxOSArMTYzLDE5IEBAIFRFU1QoQ0NEZWxheUJhc2VkVGltZVNvdXJj
ZSwgTmV4dERlbGF5U2FuZVdoZW5TbGlnaHRseUFmdGVyVHdpY2VSZXF1ZXN0ZWRUaW1lKQogewog
ICAgIEZha2VDQ1RocmVhZCB0aHJlYWQ7CiAgICAgRmFrZUNDVGltZVNvdXJjZUNsaWVudCBjbGll
bnQ7Ci0gICAgZG91YmxlIGludGVydmFsID0gMTAwMC4wIC8gNjAuMDsKKyAgICBkb3VibGUgaW50
ZXJ2YWwgPSAxLjAgLyA2MC4wOwogICAgIFJlZlB0cjxGYWtlQ0NEZWxheUJhc2VkVGltZVNvdXJj
ZT4gdGltZXIgPSBGYWtlQ0NEZWxheUJhc2VkVGltZVNvdXJjZTo6Y3JlYXRlKGludGVydmFsLCAm
dGhyZWFkKTsKICAgICB0aW1lci0+c2V0Q2xpZW50KCZjbGllbnQpOwogICAgIHRpbWVyLT5zZXRB
Y3RpdmUodHJ1ZSk7CiAgICAgLy8gUnVuIHRoZSBmaXJzdCB0YXNrLCBhcyB0aGF0IGFjdGl2YXRl
cyB0aGUgdGltZXIgYW5kIHBpY2tzIHVwIGEgdGltZWJhc2UuCiAgICAgdGhyZWFkLnJ1blBlbmRp
bmdUYXNrKCk7CiAKLSAgICBFWFBFQ1RfRVEoMTYsIHRocmVhZC5wZW5kaW5nRGVsYXkoKSk7Cisg
ICAgRVhQRUNUX0VRKDE2LCB0aHJlYWQucGVuZGluZ0RlbGF5TXMoKSk7CiAKLSAgICB0aW1lci0+
c2V0TW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lTXMoMippbnRlcnZhbCArIDAuMDAwMSk7Cisg
ICAgdGltZXItPnNldE1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgyKmludGVydmFsICsgMC4w
MDAwMDAxKTsKICAgICB0aHJlYWQucnVuUGVuZGluZ1Rhc2soKTsKIAotICAgIEVYUEVDVF9FUSgx
NiwgdGhyZWFkLnBlbmRpbmdEZWxheSgpKTsKKyAgICBFWFBFQ1RfRVEoMTYsIHRocmVhZC5wZW5k
aW5nRGVsYXlNcygpKTsKIH0KIAogLy8gQXQgNjBIeiwgd2hlbiB0aGUgdGljayByZXR1cm5zIGhh
bGZ3YXkgdG8gdGhlIG5leHQgZnJhbWUgdGltZSwgbWFrZSBzdXJlCkBAIC0xODQsMTkgKzE4NCwx
OSBAQCBURVNUKENDRGVsYXlCYXNlZFRpbWVTb3VyY2UsIE5leHREZWxheVNhbmVXaGVuSGFsZkFm
dGVyUmVxdWVzdGVkVGltZSkKIHsKICAgICBGYWtlQ0NUaHJlYWQgdGhyZWFkOwogICAgIEZha2VD
Q1RpbWVTb3VyY2VDbGllbnQgY2xpZW50OwotICAgIGRvdWJsZSBpbnRlcnZhbCA9IDEwMDAuMCAv
IDYwLjA7CisgICAgZG91YmxlIGludGVydmFsID0gMS4wIC8gNjAuMDsKICAgICBSZWZQdHI8RmFr
ZUNDRGVsYXlCYXNlZFRpbWVTb3VyY2U+IHRpbWVyID0gRmFrZUNDRGVsYXlCYXNlZFRpbWVTb3Vy
Y2U6OmNyZWF0ZShpbnRlcnZhbCwgJnRocmVhZCk7CiAgICAgdGltZXItPnNldENsaWVudCgmY2xp
ZW50KTsKICAgICB0aW1lci0+c2V0QWN0aXZlKHRydWUpOwogICAgIC8vIFJ1biB0aGUgZmlyc3Qg
dGFzaywgYXMgdGhhdCBhY3RpdmF0ZXMgdGhlIHRpbWVyIGFuZCBwaWNrcyB1cCBhIHRpbWViYXNl
LgogICAgIHRocmVhZC5ydW5QZW5kaW5nVGFzaygpOwogCi0gICAgRVhQRUNUX0VRKDE2LCB0aHJl
YWQucGVuZGluZ0RlbGF5KCkpOworICAgIEVYUEVDVF9FUSgxNiwgdGhyZWFkLnBlbmRpbmdEZWxh
eU1zKCkpOwogCi0gICAgdGltZXItPnNldE1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZU1zKGlu
dGVydmFsICsgaW50ZXJ2YWwgKiAwLjUpOworICAgIHRpbWVyLT5zZXRNb25vdG9uaWNhbGx5SW5j
cmVhc2luZ1RpbWUoaW50ZXJ2YWwgKyBpbnRlcnZhbCAqIDAuNSk7CiAgICAgdGhyZWFkLnJ1blBl
bmRpbmdUYXNrKCk7CiAKLSAgICBFWFBFQ1RfRVEoOCwgdGhyZWFkLnBlbmRpbmdEZWxheSgpKTsK
KyAgICBFWFBFQ1RfRVEoOCwgdGhyZWFkLnBlbmRpbmdEZWxheU1zKCkpOwogfQogCiAKQEAgLTIw
NiwzMSArMjA2LDMxIEBAIFRFU1QoQ0NEZWxheUJhc2VkVGltZVNvdXJjZVRlc3QsIEFjaGlldmVz
VGFyZ2V0UmF0ZVdpdGhOb05vaXNlKQogCiAgICAgRmFrZUNDVGhyZWFkIHRocmVhZDsKICAgICBG
YWtlQ0NUaW1lU291cmNlQ2xpZW50IGNsaWVudDsKLSAgICBSZWZQdHI8RmFrZUNDRGVsYXlCYXNl
ZFRpbWVTb3VyY2U+IHRpbWVyID0gRmFrZUNDRGVsYXlCYXNlZFRpbWVTb3VyY2U6OmNyZWF0ZSgx
MDAwLjAgLyA2MC4wLCAmdGhyZWFkKTsKKyAgICBSZWZQdHI8RmFrZUNDRGVsYXlCYXNlZFRpbWVT
b3VyY2U+IHRpbWVyID0gRmFrZUNDRGVsYXlCYXNlZFRpbWVTb3VyY2U6OmNyZWF0ZSgxLjAgLyA2
MC4wLCAmdGhyZWFkKTsKICAgICB0aW1lci0+c2V0Q2xpZW50KCZjbGllbnQpOwogICAgIHRpbWVy
LT5zZXRBY3RpdmUodHJ1ZSk7CiAKICAgICBkb3VibGUgdG90YWxGcmFtZVRpbWUgPSAwOwogICAg
IGZvciAoaW50IGkgPSAwOyBpIDwgbnVtSXRlcmF0aW9uczsgKytpKSB7Ci0gICAgICAgIGxvbmcg
bG9uZyBkZWxheSA9IHRocmVhZC5wZW5kaW5nRGVsYXkoKTsKKyAgICAgICAgbG9uZyBsb25nIGRl
bGF5TXMgPSB0aHJlYWQucGVuZGluZ0RlbGF5TXMoKTsKIAogICAgICAgICAvLyBhY2N1bXVsYXRl
IHRoZSAiZGVsYXkiCi0gICAgICAgIHRvdGFsRnJhbWVUaW1lICs9IGRlbGF5OworICAgICAgICB0
b3RhbEZyYW1lVGltZSArPSBkZWxheU1zIC8gMTAwMC4wOwogCiAgICAgICAgIC8vIFJ1biB0aGUg
Y2FsbGJhY2sgZXhhY3RseSB3aGVuIGFza2VkCi0gICAgICAgIGRvdWJsZSBub3cgPSB0aW1lci0+
bW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lTXMoKSArIGRlbGF5OwotICAgICAgICB0aW1lci0+
c2V0TW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lTXMobm93KTsKKyAgICAgICAgZG91YmxlIG5v
dyA9IHRpbWVyLT5tb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSArIGRlbGF5TXMgLyAxMDAw
LjA7CisgICAgICAgIHRpbWVyLT5zZXRNb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUobm93KTsK
ICAgICAgICAgdGhyZWFkLnJ1blBlbmRpbmdUYXNrKCk7CiAgICAgfQogICAgIGRvdWJsZSBhdmVy
YWdlSW50ZXJ2YWwgPSB0b3RhbEZyYW1lVGltZSAvIHN0YXRpY19jYXN0PGRvdWJsZT4obnVtSXRl
cmF0aW9ucyk7Ci0gICAgRVhQRUNUX05FQVIoMTAwMC4wIC8gNjAuMCwgYXZlcmFnZUludGVydmFs
LCAwLjEpOworICAgIEVYUEVDVF9ORUFSKDEuMCAvIDYwLjAsIGF2ZXJhZ2VJbnRlcnZhbCwgMC4x
KTsKIH0KIAogVEVTVChDQ0RlbGF5QmFzZWRUaW1lU291cmNlLCBUZXN0RGVhY3RpdmF0ZVdoaWxl
UGVuZGluZykKIHsKICAgICBGYWtlQ0NUaHJlYWQgdGhyZWFkOwogICAgIEZha2VDQ1RpbWVTb3Vy
Y2VDbGllbnQgY2xpZW50OwotICAgIFJlZlB0cjxGYWtlQ0NEZWxheUJhc2VkVGltZVNvdXJjZT4g
dGltZXIgPSBGYWtlQ0NEZWxheUJhc2VkVGltZVNvdXJjZTo6Y3JlYXRlKDEwMDAuMCAvIDYwLjAs
ICZ0aHJlYWQpOworICAgIFJlZlB0cjxGYWtlQ0NEZWxheUJhc2VkVGltZVNvdXJjZT4gdGltZXIg
PSBGYWtlQ0NEZWxheUJhc2VkVGltZVNvdXJjZTo6Y3JlYXRlKDEuMCAvIDYwLjAsICZ0aHJlYWQp
OwogICAgIHRpbWVyLT5zZXRDbGllbnQoJmNsaWVudCk7CiAgICAgdGltZXItPnNldEFjdGl2ZSh0
cnVlKTsgLy8gU2hvdWxkIHBvc3QgYSB0YXNrLgogICAgIHRpbWVyLT5zZXRBY3RpdmUoZmFsc2Up
OwpAQCAtMjQyLDEyICsyNDIsMTIgQEAgVEVTVChDQ0RlbGF5QmFzZWRUaW1lU291cmNlLCBUZXN0
RGVhY3RpdmF0ZUFuZFJlYWN0aXZhdGVCZWZvcmVOZXh0VGlja1RpbWUpCiB7CiAgICAgRmFrZUND
VGhyZWFkIHRocmVhZDsKICAgICBGYWtlQ0NUaW1lU291cmNlQ2xpZW50IGNsaWVudDsKLSAgICBS
ZWZQdHI8RmFrZUNDRGVsYXlCYXNlZFRpbWVTb3VyY2U+IHRpbWVyID0gRmFrZUNDRGVsYXlCYXNl
ZFRpbWVTb3VyY2U6OmNyZWF0ZSgxMDAwLjAgLyA2MC4wLCAmdGhyZWFkKTsKKyAgICBSZWZQdHI8
RmFrZUNDRGVsYXlCYXNlZFRpbWVTb3VyY2U+IHRpbWVyID0gRmFrZUNDRGVsYXlCYXNlZFRpbWVT
b3VyY2U6OmNyZWF0ZSgxLjAgLyA2MC4wLCAmdGhyZWFkKTsKICAgICB0aW1lci0+c2V0Q2xpZW50
KCZjbGllbnQpOwogCiAgICAgLy8gU2hvdWxkIHJ1biB0aGUgYWN0aXZhdGUgdGFzaywgYW5kIHBp
Y2sgdXAgYSBuZXcgdGltZWJhc2UuCiAgICAgdGltZXItPnNldEFjdGl2ZSh0cnVlKTsKLSAgICB0
aW1lci0+c2V0TW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lTXMoMCk7CisgICAgdGltZXItPnNl
dE1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgwKTsKICAgICB0aHJlYWQucnVuUGVuZGluZ1Rh
c2soKTsKIAogICAgIC8vIFN0b3AgdGhlIHRpbWVyCkBAIC0yNTgsMjEgKzI1OCwyMSBAQCBURVNU
KENDRGVsYXlCYXNlZFRpbWVTb3VyY2UsIFRlc3REZWFjdGl2YXRlQW5kUmVhY3RpdmF0ZUJlZm9y
ZU5leHRUaWNrVGltZSkKIAogICAgIC8vIFN0YXJ0IHRoZSB0aW1lciBhZ2FpbiwgYnV0IGJlZm9y
ZSB0aGUgbmV4dCB0aWNrIHRpbWUgdGhlIHRpbWVyIHByZXZpb3VzbHkKICAgICAvLyBwbGFubmVk
IG9uIHVzaW5nLiBUaGF0IHNhbWUgdGljayB0aW1lIHNob3VsZCBzdGlsbCBiZSB0YXJnZXRlZC4K
LSAgICB0aW1lci0+c2V0TW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lTXMoNCk7CisgICAgdGlt
ZXItPnNldE1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgwLjAwNCk7CiAgICAgdGltZXItPnNl
dEFjdGl2ZSh0cnVlKTsKLSAgICBFWFBFQ1RfRVEoMTIsIHRocmVhZC5wZW5kaW5nRGVsYXkoKSk7
CisgICAgRVhQRUNUX0VRKDEyLCB0aHJlYWQucGVuZGluZ0RlbGF5TXMoKSk7CiB9CiAKIFRFU1Qo
Q0NEZWxheUJhc2VkVGltZVNvdXJjZSwgVGVzdERlYWN0aXZhdGVBbmRSZWFjdGl2YXRlQWZ0ZXJO
ZXh0VGlja1RpbWUpCiB7CiAgICAgRmFrZUNDVGhyZWFkIHRocmVhZDsKICAgICBGYWtlQ0NUaW1l
U291cmNlQ2xpZW50IGNsaWVudDsKLSAgICBSZWZQdHI8RmFrZUNDRGVsYXlCYXNlZFRpbWVTb3Vy
Y2U+IHRpbWVyID0gRmFrZUNDRGVsYXlCYXNlZFRpbWVTb3VyY2U6OmNyZWF0ZSgxMDAwLjAgLyA2
MC4wLCAmdGhyZWFkKTsKKyAgICBSZWZQdHI8RmFrZUNDRGVsYXlCYXNlZFRpbWVTb3VyY2U+IHRp
bWVyID0gRmFrZUNDRGVsYXlCYXNlZFRpbWVTb3VyY2U6OmNyZWF0ZSgxLjAgLyA2MC4wLCAmdGhy
ZWFkKTsKICAgICB0aW1lci0+c2V0Q2xpZW50KCZjbGllbnQpOwogCiAgICAgLy8gU2hvdWxkIHJ1
biB0aGUgYWN0aXZhdGUgdGFzaywgYW5kIHBpY2sgdXAgYSBuZXcgdGltZWJhc2UuCiAgICAgdGlt
ZXItPnNldEFjdGl2ZSh0cnVlKTsKLSAgICB0aW1lci0+c2V0TW9ub3RvbmljYWxseUluY3JlYXNp
bmdUaW1lTXMoMCk7CisgICAgdGltZXItPnNldE1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgw
KTsKICAgICB0aHJlYWQucnVuUGVuZGluZ1Rhc2soKTsKIAogICAgIC8vIFN0b3AgdGhlIHRpbWVy
CkBAIC0yODMsOSArMjgzLDkgQEAgVEVTVChDQ0RlbGF5QmFzZWRUaW1lU291cmNlLCBUZXN0RGVh
Y3RpdmF0ZUFuZFJlYWN0aXZhdGVBZnRlck5leHRUaWNrVGltZSkKIAogICAgIC8vIFN0YXJ0IHRo
ZSB0aW1lciBhZ2FpbiwgYnV0IGJlZm9yZSB0aGUgbmV4dCB0aWNrIHRpbWUgdGhlIHRpbWVyIHBy
ZXZpb3VzbHkKICAgICAvLyBwbGFubmVkIG9uIHVzaW5nLiBUaGF0IHNhbWUgdGljayB0aW1lIHNo
b3VsZCBzdGlsbCBiZSB0YXJnZXRlZC4KLSAgICB0aW1lci0+c2V0TW9ub3RvbmljYWxseUluY3Jl
YXNpbmdUaW1lTXMoMjApOworICAgIHRpbWVyLT5zZXRNb25vdG9uaWNhbGx5SW5jcmVhc2luZ1Rp
bWUoMC4wMik7CiAgICAgdGltZXItPnNldEFjdGl2ZSh0cnVlKTsKLSAgICBFWFBFQ1RfRVEoMTMs
IHRocmVhZC5wZW5kaW5nRGVsYXkoKSk7CisgICAgRVhQRUNUX0VRKDEzLCB0aHJlYWQucGVuZGlu
Z0RlbGF5TXMoKSk7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
dGVzdHMvQ0NGcmFtZVJhdGVDb250cm9sbGVyVGVzdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3Rlc3RzL0NDRnJhbWVSYXRlQ29udHJvbGxlclRlc3QuY3BwCmluZGV4IGFlNDNkNDFjMWNl
MDNhYjcxZWM3MGIwYzc1N2IxZWEzNzZkMGEwZTcuLmZlZDVmZjBjZmMzMWM2ZjYzMmI3OGYxNDA2
MjA0YjE1MTZjOGM4NDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMv
Q0NGcmFtZVJhdGVDb250cm9sbGVyVGVzdC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1
bS90ZXN0cy9DQ0ZyYW1lUmF0ZUNvbnRyb2xsZXJUZXN0LmNwcApAQCAtNTMsNyArNTMsNyBAQCBU
RVNUKENDRnJhbWVSYXRlQ29udHJvbGxlclRlc3QsIFRlc3RGcmFtZVRocm90dGxpbmdfSW1tZWRp
YXRlQWNrKQogewogICAgIEZha2VDQ1RocmVhZCB0aHJlYWQ7CiAgICAgRmFrZUNDRnJhbWVSYXRl
Q29udHJvbGxlckNsaWVudCBjbGllbnQ7Ci0gICAgUmVmUHRyPEZha2VDQ0RlbGF5QmFzZWRUaW1l
U291cmNlPiB0aW1lU291cmNlID0gRmFrZUNDRGVsYXlCYXNlZFRpbWVTb3VyY2U6OmNyZWF0ZSgx
MDAwLjAgLyA2MC4wLCAmdGhyZWFkKTsKKyAgICBSZWZQdHI8RmFrZUNDRGVsYXlCYXNlZFRpbWVT
b3VyY2U+IHRpbWVTb3VyY2UgPSBGYWtlQ0NEZWxheUJhc2VkVGltZVNvdXJjZTo6Y3JlYXRlKDEu
MCAvIDYwLjAsICZ0aHJlYWQpOwogICAgIENDRnJhbWVSYXRlQ29udHJvbGxlciBjb250cm9sbGVy
KHRpbWVTb3VyY2UpOwogCiAgICAgY29udHJvbGxlci5zZXRDbGllbnQoJmNsaWVudCk7CkBAIC02
Miw4ICs2Miw4IEBAIFRFU1QoQ0NGcmFtZVJhdGVDb250cm9sbGVyVGVzdCwgVGVzdEZyYW1lVGhy
b3R0bGluZ19JbW1lZGlhdGVBY2spCiAgICAgZG91YmxlIGVsYXBzZWQgPSAwOyAvLyBNdWNrIGFy
b3VuZCB3aXRoIHRpbWUgYSBiaXQKIAogICAgIC8vIFRyaWdnZXIgb25lIGZyYW1lLCBtYWtlIHN1
cmUgdGhlIHZzeW5jIGNhbGxiYWNrIGlzIGNhbGxlZAotICAgIGVsYXBzZWQgKz0gdGhyZWFkLnBl
bmRpbmdEZWxheSgpOwotICAgIHRpbWVTb3VyY2UtPnNldE1vbm90b25pY2FsbHlJbmNyZWFzaW5n
VGltZU1zKGVsYXBzZWQpOworICAgIGVsYXBzZWQgKz0gdGhyZWFkLnBlbmRpbmdEZWxheU1zKCkg
LyAxMDAwLjA7CisgICAgdGltZVNvdXJjZS0+c2V0TW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1l
KGVsYXBzZWQpOwogICAgIHRocmVhZC5ydW5QZW5kaW5nVGFzaygpOwogICAgIEVYUEVDVF9UUlVF
KGNsaWVudC5mcmFtZUJlZ3VuKCkpOwogICAgIGNsaWVudC5yZXNldCgpOwpAQCAtNzIsMTMgKzcy
LDEzIEBAIFRFU1QoQ0NGcmFtZVJhdGVDb250cm9sbGVyVGVzdCwgVGVzdEZyYW1lVGhyb3R0bGlu
Z19JbW1lZGlhdGVBY2spCiAgICAgY29udHJvbGxlci5kaWRCZWdpbkZyYW1lKCk7CiAKICAgICAv
LyBUZWxsIHRoZSBjb250cm9sbGVyIHRoZSBmcmFtZSBlbmRlZCA1bXMgbGF0ZXIKLSAgICB0aW1l
U291cmNlLT5zZXRNb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWVNcyh0aW1lU291cmNlLT5tb25v
dG9uaWNhbGx5SW5jcmVhc2luZ1RpbWVNcygpICsgNSk7CisgICAgdGltZVNvdXJjZS0+c2V0TW9u
b3RvbmljYWxseUluY3JlYXNpbmdUaW1lKHRpbWVTb3VyY2UtPm1vbm90b25pY2FsbHlJbmNyZWFz
aW5nVGltZSgpICsgMC4wMDUpOwogICAgIGNvbnRyb2xsZXIuZGlkRmluaXNoRnJhbWUoKTsKIAog
ICAgIC8vIFRyaWdnZXIgYW5vdGhlciBmcmFtZSwgbWFrZSBzdXJlIHZzeW5jIHJ1bnMgYWdhaW4K
LSAgICBlbGFwc2VkICs9IHRocmVhZC5wZW5kaW5nRGVsYXkoKTsKLSAgICBFWFBFQ1RfVFJVRShl
bGFwc2VkID49IHRpbWVTb3VyY2UtPm1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZU1zKCkpOyAv
LyBTYW5pdHkgY2hlY2sgdGhhdCBwcmV2aW91cyBjb2RlIGRpZG4ndCBtb3ZlIHRpbWUgYmFja3dh
cmQuCi0gICAgdGltZVNvdXJjZS0+c2V0TW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lTXMoZWxh
cHNlZCk7CisgICAgZWxhcHNlZCArPSB0aHJlYWQucGVuZGluZ0RlbGF5TXMoKSAvIDEwMDAuMDsK
KyAgICBFWFBFQ1RfVFJVRShlbGFwc2VkID49IHRpbWVTb3VyY2UtPm1vbm90b25pY2FsbHlJbmNy
ZWFzaW5nVGltZSgpKTsgLy8gU2FuaXR5IGNoZWNrIHRoYXQgcHJldmlvdXMgY29kZSBkaWRuJ3Qg
bW92ZSB0aW1lIGJhY2t3YXJkLgorICAgIHRpbWVTb3VyY2UtPnNldE1vbm90b25pY2FsbHlJbmNy
ZWFzaW5nVGltZShlbGFwc2VkKTsKICAgICB0aHJlYWQucnVuUGVuZGluZ1Rhc2soKTsKICAgICBF
WFBFQ1RfVFJVRShjbGllbnQuZnJhbWVCZWd1bigpKTsKIH0KQEAgLTg3LDcgKzg3LDcgQEAgVEVT
VChDQ0ZyYW1lUmF0ZUNvbnRyb2xsZXJUZXN0LCBUZXN0RnJhbWVUaHJvdHRsaW5nX1R3b0ZyYW1l
c0luRmxpZ2h0KQogewogICAgIEZha2VDQ1RocmVhZCB0aHJlYWQ7CiAgICAgRmFrZUNDRnJhbWVS
YXRlQ29udHJvbGxlckNsaWVudCBjbGllbnQ7Ci0gICAgUmVmUHRyPEZha2VDQ0RlbGF5QmFzZWRU
aW1lU291cmNlPiB0aW1lU291cmNlID0gRmFrZUNDRGVsYXlCYXNlZFRpbWVTb3VyY2U6OmNyZWF0
ZSgxMDAwLjAgLyA2MC4wLCAmdGhyZWFkKTsKKyAgICBSZWZQdHI8RmFrZUNDRGVsYXlCYXNlZFRp
bWVTb3VyY2U+IHRpbWVTb3VyY2UgPSBGYWtlQ0NEZWxheUJhc2VkVGltZVNvdXJjZTo6Y3JlYXRl
KDEuMCAvIDYwLjAsICZ0aHJlYWQpOwogICAgIENDRnJhbWVSYXRlQ29udHJvbGxlciBjb250cm9s
bGVyKHRpbWVTb3VyY2UpOwogCiAgICAgY29udHJvbGxlci5zZXRDbGllbnQoJmNsaWVudCk7CkBA
IC05Nyw4ICs5Nyw4IEBAIFRFU1QoQ0NGcmFtZVJhdGVDb250cm9sbGVyVGVzdCwgVGVzdEZyYW1l
VGhyb3R0bGluZ19Ud29GcmFtZXNJbkZsaWdodCkKICAgICBkb3VibGUgZWxhcHNlZCA9IDA7IC8v
IE11Y2sgYXJvdW5kIHdpdGggdGltZSBhIGJpdAogCiAgICAgLy8gVHJpZ2dlciBvbmUgZnJhbWUs
IG1ha2Ugc3VyZSB0aGUgdnN5bmMgY2FsbGJhY2sgaXMgY2FsbGVkCi0gICAgZWxhcHNlZCArPSB0
aHJlYWQucGVuZGluZ0RlbGF5KCk7Ci0gICAgdGltZVNvdXJjZS0+c2V0TW9ub3RvbmljYWxseUlu
Y3JlYXNpbmdUaW1lTXMoZWxhcHNlZCk7CisgICAgZWxhcHNlZCArPSB0aHJlYWQucGVuZGluZ0Rl
bGF5TXMoKSAvIDEwMDAuMDsKKyAgICB0aW1lU291cmNlLT5zZXRNb25vdG9uaWNhbGx5SW5jcmVh
c2luZ1RpbWUoZWxhcHNlZCk7CiAgICAgdGhyZWFkLnJ1blBlbmRpbmdUYXNrKCk7CiAgICAgRVhQ
RUNUX1RSVUUoY2xpZW50LmZyYW1lQmVndW4oKSk7CiAgICAgY2xpZW50LnJlc2V0KCk7CkBAIC0x
MDcsOSArMTA3LDkgQEAgVEVTVChDQ0ZyYW1lUmF0ZUNvbnRyb2xsZXJUZXN0LCBUZXN0RnJhbWVU
aHJvdHRsaW5nX1R3b0ZyYW1lc0luRmxpZ2h0KQogICAgIGNvbnRyb2xsZXIuZGlkQmVnaW5GcmFt
ZSgpOwogCiAgICAgLy8gVHJpZ2dlciBhbm90aGVyIGZyYW1lLCBtYWtlIHN1cmUgdnN5bmMgY2Fs
bGJhY2sgcnVucyBhZ2FpbgotICAgIGVsYXBzZWQgKz0gdGhyZWFkLnBlbmRpbmdEZWxheSgpOwot
ICAgIEVYUEVDVF9UUlVFKGVsYXBzZWQgPj0gdGltZVNvdXJjZS0+bW9ub3RvbmljYWxseUluY3Jl
YXNpbmdUaW1lTXMoKSk7IC8vIFNhbml0eSBjaGVjayB0aGF0IHByZXZpb3VzIGNvZGUgZGlkbid0
IG1vdmUgdGltZSBiYWNrd2FyZC4KLSAgICB0aW1lU291cmNlLT5zZXRNb25vdG9uaWNhbGx5SW5j
cmVhc2luZ1RpbWVNcyhlbGFwc2VkKTsKKyAgICBlbGFwc2VkICs9IHRocmVhZC5wZW5kaW5nRGVs
YXlNcygpIC8gMTAwMC4wOworICAgIEVYUEVDVF9UUlVFKGVsYXBzZWQgPj0gdGltZVNvdXJjZS0+
bW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkpOyAvLyBTYW5pdHkgY2hlY2sgdGhhdCBwcmV2
aW91cyBjb2RlIGRpZG4ndCBtb3ZlIHRpbWUgYmFja3dhcmQuCisgICAgdGltZVNvdXJjZS0+c2V0
TW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKGVsYXBzZWQpOwogICAgIHRocmVhZC5ydW5QZW5k
aW5nVGFzaygpOwogICAgIEVYUEVDVF9UUlVFKGNsaWVudC5mcmFtZUJlZ3VuKCkpOwogICAgIGNs
aWVudC5yZXNldCgpOwpAQCAtMTE4LDIzICsxMTgsMjMgQEAgVEVTVChDQ0ZyYW1lUmF0ZUNvbnRy
b2xsZXJUZXN0LCBUZXN0RnJhbWVUaHJvdHRsaW5nX1R3b0ZyYW1lc0luRmxpZ2h0KQogICAgIGNv
bnRyb2xsZXIuZGlkQmVnaW5GcmFtZSgpOwogCiAgICAgLy8gVHJpZ2dlciBhbm90aGVyIGZyYW1l
LiBTaW5jZSB0d28gZnJhbWVzIGFyZSBwZW5kaW5nLCB3ZSBzaG91bGQgbm90IGRyYXcuCi0gICAg
ZWxhcHNlZCArPSB0aHJlYWQucGVuZGluZ0RlbGF5KCk7Ci0gICAgRVhQRUNUX1RSVUUoZWxhcHNl
ZCA+PSB0aW1lU291cmNlLT5tb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWVNcygpKTsgLy8gU2Fu
aXR5IGNoZWNrIHRoYXQgcHJldmlvdXMgY29kZSBkaWRuJ3QgbW92ZSB0aW1lIGJhY2t3YXJkLgot
ICAgIHRpbWVTb3VyY2UtPnNldE1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZU1zKGVsYXBzZWQp
OworICAgIGVsYXBzZWQgKz0gdGhyZWFkLnBlbmRpbmdEZWxheU1zKCkgLyAxMDAwLjA7CisgICAg
RVhQRUNUX1RSVUUoZWxhcHNlZCA+PSB0aW1lU291cmNlLT5tb25vdG9uaWNhbGx5SW5jcmVhc2lu
Z1RpbWUoKSk7IC8vIFNhbml0eSBjaGVjayB0aGF0IHByZXZpb3VzIGNvZGUgZGlkbid0IG1vdmUg
dGltZSBiYWNrd2FyZC4KKyAgICB0aW1lU291cmNlLT5zZXRNb25vdG9uaWNhbGx5SW5jcmVhc2lu
Z1RpbWUoZWxhcHNlZCk7CiAgICAgdGhyZWFkLnJ1blBlbmRpbmdUYXNrKCk7CiAgICAgRVhQRUNU
X0ZBTFNFKGNsaWVudC5mcmFtZUJlZ3VuKCkpOwogCiAgICAgLy8gVGVsbCB0aGUgY29udHJvbGxl
ciB0aGUgZmlyc3QgZnJhbWUgZW5kZWQgNW1zIGxhdGVyCi0gICAgdGltZVNvdXJjZS0+c2V0TW9u
b3RvbmljYWxseUluY3JlYXNpbmdUaW1lTXModGltZVNvdXJjZS0+bW9ub3RvbmljYWxseUluY3Jl
YXNpbmdUaW1lTXMoKSArIDUpOworICAgIHRpbWVTb3VyY2UtPnNldE1vbm90b25pY2FsbHlJbmNy
ZWFzaW5nVGltZSh0aW1lU291cmNlLT5tb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSArIDAu
MDA1KTsKICAgICBjb250cm9sbGVyLmRpZEZpbmlzaEZyYW1lKCk7CiAKICAgICAvLyBUaWNrIHNo
b3VsZCBub3QgaGF2ZSBiZWVuIGNhbGxlZAogICAgIEVYUEVDVF9GQUxTRShjbGllbnQuZnJhbWVC
ZWd1bigpKTsKIAogICAgIC8vIFRyaWdnZXIgeWV0IGFub3RoZXIgZnJhbWUuIFNpbmNlIG9uZSBm
cmFtZXMgaXMgcGVuZGluZywgYW5vdGhlciB2c3luYyBjYWxsYmFjayBzaG91bGQgcnVuLgotICAg
IGVsYXBzZWQgKz0gdGhyZWFkLnBlbmRpbmdEZWxheSgpOwotICAgIEVYUEVDVF9UUlVFKGVsYXBz
ZWQgPj0gdGltZVNvdXJjZS0+bW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lTXMoKSk7IC8vIFNh
bml0eSBjaGVjayB0aGF0IHByZXZpb3VzIGNvZGUgZGlkbid0IG1vdmUgdGltZSBiYWNrd2FyZC4K
LSAgICB0aW1lU291cmNlLT5zZXRNb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWVNcyhlbGFwc2Vk
KTsKKyAgICBlbGFwc2VkICs9IHRocmVhZC5wZW5kaW5nRGVsYXlNcygpIC8gMTAwMC4wOworICAg
IEVYUEVDVF9UUlVFKGVsYXBzZWQgPj0gdGltZVNvdXJjZS0+bW9ub3RvbmljYWxseUluY3JlYXNp
bmdUaW1lKCkpOyAvLyBTYW5pdHkgY2hlY2sgdGhhdCBwcmV2aW91cyBjb2RlIGRpZG4ndCBtb3Zl
IHRpbWUgYmFja3dhcmQuCisgICAgdGltZVNvdXJjZS0+c2V0TW9ub3RvbmljYWxseUluY3JlYXNp
bmdUaW1lKGVsYXBzZWQpOwogICAgIHRocmVhZC5ydW5QZW5kaW5nVGFzaygpOwogICAgIEVYUEVD
VF9UUlVFKGNsaWVudC5mcmFtZUJlZ3VuKCkpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9jaHJvbWl1bS90ZXN0cy9DQ1NjaGVkdWxlclRlc3RDb21tb24uaCBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vdGVzdHMvQ0NTY2hlZHVsZXJUZXN0Q29tbW9uLmgKaW5kZXggOWI1ZTAzODNlMmVm
NDA2ZTFmZjA1NmY3OGVlY2ZmY2UyNGIzZDgzOC4uMzljZjllNDk2MzM4MDg4ZGJkNjU0NWMyNTJl
MWQ0MWVhMDBiOTQwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9D
Q1NjaGVkdWxlclRlc3RDb21tb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3Rz
L0NDU2NoZWR1bGVyVGVzdENvbW1vbi5oCkBAIC02MSw3ICs2MSw3IEBAIHB1YmxpYzoKICAgICAg
ICAgdGFzay0+cGVyZm9ybVRhc2soKTsKICAgICB9CiAKLSAgICBsb25nIGxvbmcgcGVuZGluZ0Rl
bGF5KCkgY29uc3QKKyAgICBsb25nIGxvbmcgcGVuZGluZ0RlbGF5TXMoKSBjb25zdAogICAgIHsK
ICAgICAgICAgRVhQRUNUX1RSVUUoaGFzUGVuZGluZ1Rhc2soKSk7CiAgICAgICAgIHJldHVybiBt
X3BlbmRpbmdUYXNrRGVsYXk7CkBAIC0xMDcsMjAgKzEwNywyMCBAQCBwcm90ZWN0ZWQ6CiAKIGNs
YXNzIEZha2VDQ0RlbGF5QmFzZWRUaW1lU291cmNlIDogcHVibGljIFdlYkNvcmU6OkNDRGVsYXlC
YXNlZFRpbWVTb3VyY2UgewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPEZha2VDQ0Rl
bGF5QmFzZWRUaW1lU291cmNlPiBjcmVhdGUoZG91YmxlIGludGVydmFsTXMsIFdlYkNvcmU6OkND
VGhyZWFkKiB0aHJlYWQpCisgICAgc3RhdGljIFBhc3NSZWZQdHI8RmFrZUNDRGVsYXlCYXNlZFRp
bWVTb3VyY2U+IGNyZWF0ZShkb3VibGUgaW50ZXJ2YWwsIFdlYkNvcmU6OkNDVGhyZWFkKiB0aHJl
YWQpCiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IEZha2VDQ0RlbGF5QmFzZWRU
aW1lU291cmNlKGludGVydmFsTXMsIHRocmVhZCkpOworICAgICAgICByZXR1cm4gYWRvcHRSZWYo
bmV3IEZha2VDQ0RlbGF5QmFzZWRUaW1lU291cmNlKGludGVydmFsLCB0aHJlYWQpKTsKICAgICB9
CiAKLSAgICB2b2lkIHNldE1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZU1zKGRvdWJsZSB0aW1l
KSB7IG1fbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lTXMgPSB0aW1lOyB9Ci0gICAgdmlydHVh
bCBkb3VibGUgbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lTXMoKSBjb25zdCB7IHJldHVybiBt
X21vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZU1zOyB9CisgICAgdm9pZCBzZXRNb25vdG9uaWNh
bGx5SW5jcmVhc2luZ1RpbWUoZG91YmxlIHRpbWUpIHsgbV9tb25vdG9uaWNhbGx5SW5jcmVhc2lu
Z1RpbWUgPSB0aW1lOyB9CisgICAgdmlydHVhbCBkb3VibGUgbW9ub3RvbmljYWxseUluY3JlYXNp
bmdUaW1lKCkgY29uc3QgeyByZXR1cm4gbV9tb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWU7IH0K
IAogcHJvdGVjdGVkOgotICAgIEZha2VDQ0RlbGF5QmFzZWRUaW1lU291cmNlKGRvdWJsZSBpbnRl
cnZhbE1zLCBXZWJDb3JlOjpDQ1RocmVhZCogdGhyZWFkKQotICAgICAgICA6IENDRGVsYXlCYXNl
ZFRpbWVTb3VyY2UoaW50ZXJ2YWxNcywgdGhyZWFkKQotICAgICAgICAsIG1fbW9ub3RvbmljYWxs
eUluY3JlYXNpbmdUaW1lTXMoMCkgeyB9CisgICAgRmFrZUNDRGVsYXlCYXNlZFRpbWVTb3VyY2Uo
ZG91YmxlIGludGVydmFsLCBXZWJDb3JlOjpDQ1RocmVhZCogdGhyZWFkKQorICAgICAgICA6IEND
RGVsYXlCYXNlZFRpbWVTb3VyY2UoaW50ZXJ2YWwsIHRocmVhZCkKKyAgICAgICAgLCBtX21vbm90
b25pY2FsbHlJbmNyZWFzaW5nVGltZSgwKSB7IH0KIAotICAgIGRvdWJsZSBtX21vbm90b25pY2Fs
bHlJbmNyZWFzaW5nVGltZU1zOworICAgIGRvdWJsZSBtX21vbm90b25pY2FsbHlJbmNyZWFzaW5n
VGltZTsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMv
Q0NUaW1lclRlc3QuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ1RpbWVyVGVz
dC5jcHAKaW5kZXggMjk4YjY5NTYyOGYxNTAwZDA4NTU1NjQ2NGM2N2Q0YTJiMjQzNjc0MC4uMzk4
ZmNhNTZlYjY3ZWZhNjc3YjhhOGQwOGYzNTNiY2U4ODUwNjZmYSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ1RpbWVyVGVzdC5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9jaHJvbWl1bS90ZXN0cy9DQ1RpbWVyVGVzdC5jcHAKQEAgLTU0LDcgKzU0LDcgQEAgcHJvdGVj
dGVkOgogVEVTVF9GKENDVGltZXJUZXN0LCBPbmVTaG90KQogewogICAgIENDVGltZXIgdGltZXIo
Jm1fdGhyZWFkLCB0aGlzKTsKLSAgICB0aW1lci5zdGFydE9uZVNob3QoMSk7CisgICAgdGltZXIu
c3RhcnRPbmVTaG90KDAuMDAxKTsKIAogICAgIG1fdGhyZWFkLnJ1blBlbmRpbmdUYXNrKCk7CiAg
ICAgRVhQRUNUX1RSVUUobV9mbGFnKTsKQEAgLTY0LDcgKzY0LDcgQEAgVEVTVF9GKENDVGltZXJU
ZXN0LCBPbmVTaG90KQogVEVTVF9GKENDVGltZXJUZXN0LCBTdG9wTWFudWFsbHkpCiB7CiAgICAg
Q0NUaW1lciB0aW1lcigmbV90aHJlYWQsIHRoaXMpOwotICAgIHRpbWVyLnN0YXJ0T25lU2hvdCgx
KTsKKyAgICB0aW1lci5zdGFydE9uZVNob3QoMC4wMDEpOwogICAgIHRpbWVyLnN0b3AoKTsKIAog
ICAgIG1fdGhyZWFkLnJ1blBlbmRpbmdUYXNrKCk7CkBAIC03Niw3ICs3Niw3IEBAIFRFU1RfRihD
Q1RpbWVyVGVzdCwgU3RvcEJ5U2NvcGUpCiB7CiAgICAgewogICAgICAgICBDQ1RpbWVyIHRpbWVy
KCZtX3RocmVhZCwgdGhpcyk7Ci0gICAgICAgIHRpbWVyLnN0YXJ0T25lU2hvdCgxKTsKKyAgICAg
ICAgdGltZXIuc3RhcnRPbmVTaG90KDAuMDAxKTsKICAgICB9CiAKICAgICBtX3RocmVhZC5ydW5Q
ZW5kaW5nVGFzaygpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>132467</attachid>
            <date>2012-03-17 12:22:55 -0700</date>
            <delta_ts>2012-03-19 19:16:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80514-20120317152254.patch</filename>
            <type>text/plain</type>
            <size>36145</size>
            <attacher>vollick</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTExMTIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODM2ZGVhZGMwNzYxNWYy
N2NjMTU1NjI5MDgyMDAyNzQxODQzNWE1YS4uMWYzOGFlZWI0N2Q1ODI2NDNmNDhiMzgyNjUwNjRk
MmE4OGY0ZWQzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDEyLTAzLTE3ICBJYW4g
Vm9sbGljayAgPHZvbGxpY2tAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gVGlt
ZXMgaW4gdGhlIGNjIHNob3VsZCBiZSBleHByZXNzZWQgaW4gc2Vjb25kcy4KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwNTE0CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlZCB0aW1lciB0ZXN0cyB0
byB1c2Ugc2Vjb25kcy4KKworICAgICAgICAqIHBsYXRmb3JtL1RvdWNoRmxpbmdQbGF0Zm9ybUdl
c3R1cmVDdXJ2ZS5oOgorICAgICAgICAoVG91Y2hGbGluZ1BsYXRmb3JtR2VzdHVyZUN1cnZlKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0FjdGl2ZUdlc3R1cmVB
bmltYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q0NBY3RpdmVHZXN0dXJlQW5pbWF0aW9u
OjphbmltYXRlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0Fj
dGl2ZUdlc3R1cmVBbmltYXRpb24uaDoKKyAgICAgICAgKENDQWN0aXZlR2VzdHVyZUFuaW1hdGlv
bik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NEZWxheUJhc2Vk
VGltZVNvdXJjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDQ0RlbGF5QmFzZWRUaW1lU291cmNl
OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Q0NEZWxheUJhc2VkVGltZVNvdXJjZTo6Q0NE
ZWxheUJhc2VkVGltZVNvdXJjZSk6CisgICAgICAgIChXZWJDb3JlOjpDQ0RlbGF5QmFzZWRUaW1l
U291cmNlOjpzZXRBY3RpdmUpOgorICAgICAgICAoV2ViQ29yZTo6Q0NEZWxheUJhc2VkVGltZVNv
dXJjZTo6b25UaW1lckZpcmVkKToKKyAgICAgICAgKFdlYkNvcmU6OkNDRGVsYXlCYXNlZFRpbWVT
b3VyY2U6Om1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSk6CisgICAgICAgIChXZWJDb3JlKToK
KyAgICAgICAgKFdlYkNvcmU6OkNDRGVsYXlCYXNlZFRpbWVTb3VyY2U6OnBvc3ROZXh0VGlja1Rh
c2spOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDRGVsYXlCYXNl
ZFRpbWVTb3VyY2UuaDoKKyAgICAgICAgKENDRGVsYXlCYXNlZFRpbWVTb3VyY2UpOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDR2VzdHVyZUN1cnZlLmg6CisgICAg
ICAgIChDQ0dlc3R1cmVDdXJ2ZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vY2MvQ0NUaHJlYWRQcm94eS5jcHA6CisgICAgICAgIChXVEYpOgorICAgICAgICAoV2ViQ29y
ZTo6Q0NUaHJlYWRQcm94eTo6YmVnaW5Db250ZXh0UmVjcmVhdGlvbik6CisgICAgICAgIChXZWJD
b3JlOjpDQ1RocmVhZFByb3h5Ojp0cnlUb1JlY3JlYXRlQ29udGV4dCk6CisgICAgICAgIChXZWJD
b3JlOjpDQ1RocmVhZFByb3h5Ojppbml0aWFsaXplSW1wbE9uSW1wbFRocmVhZCk6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NUaW1lci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpDQ1RpbWVyOjpzdGFydE9uZVNob3QpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL2NjL0NDVGltZXIuaDoKKyAgICAgICAgKENDVGltZXIpOgorCiAyMDEyLTAz
LTE3ICBOaWtvbGFzIFppbW1lcm1hbm4gIDxuemltbWVybWFubkByaW0uY29tPgogCiAgICAgICAg
IEVuYWJsZSBhbmltVmFsIHN1cHBvcnQgZm9yIFNWR051bWJlck9wdGlvbmFsTnVtYmVyCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDM1NzkxYjJmODgwN2FhNWRkOTUwYzAxYzU0ZTg2OGZj
ZDRhYTYxZjUuLjYyMDNjMWM3ZTM2NWJhNDA2MjlhNTFiYTUxZWQxMmJmMTVjMDE2ZTcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTItMDMtMTcgIElhbiBW
b2xsaWNrICA8dm9sbGlja0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW2Nocm9taXVtXSBUaW1l
cyBpbiB0aGUgY2Mgc2hvdWxkIGJlIGV4cHJlc3NlZCBpbiBzZWNvbmRzLgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA1MTQKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHRlc3RzL0NDRGVsYXlCYXNlZFRp
bWVTb3VyY2VUZXN0LmNwcDoKKyAgICAgICAgKFdlYktpdFRlc3RzOjpURVNUKToKKyAgICAgICAg
KiB0ZXN0cy9DQ0ZyYW1lUmF0ZUNvbnRyb2xsZXJUZXN0LmNwcDoKKyAgICAgICAgKFdlYktpdFRl
c3RzOjpURVNUKToKKyAgICAgICAgKiB0ZXN0cy9DQ1NjaGVkdWxlclRlc3RDb21tb24uaDoKKyAg
ICAgICAgKFdlYktpdFRlc3RzOjpGYWtlQ0NUaHJlYWQ6OnBlbmRpbmdEZWxheU1zKToKKyAgICAg
ICAgKFdlYktpdFRlc3RzOjpGYWtlQ0NEZWxheUJhc2VkVGltZVNvdXJjZTo6Y3JlYXRlKToKKyAg
ICAgICAgKFdlYktpdFRlc3RzOjpGYWtlQ0NEZWxheUJhc2VkVGltZVNvdXJjZTo6c2V0TW9ub3Rv
bmljYWxseUluY3JlYXNpbmdUaW1lKToKKyAgICAgICAgKFdlYktpdFRlc3RzOjpGYWtlQ0NEZWxh
eUJhc2VkVGltZVNvdXJjZTo6bW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKToKKyAgICAgICAg
KFdlYktpdFRlc3RzOjpGYWtlQ0NEZWxheUJhc2VkVGltZVNvdXJjZTo6RmFrZUNDRGVsYXlCYXNl
ZFRpbWVTb3VyY2UpOgorICAgICAgICAoRmFrZUNDRGVsYXlCYXNlZFRpbWVTb3VyY2UpOgorICAg
ICAgICAqIHRlc3RzL0NDVGltZXJUZXN0LmNwcDoKKyAgICAgICAgKFdlYktpdFRlc3RzOjpURVNU
X0YpOgorCiAyMDEyLTAzLTE2ICBKYW1lcyBSb2JpbnNvbiAgPGphbWVzckBjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgW2Nocm9taXVtXSBVbmlmeSB0aGUgZHJhd2luZyBsb2dpYyBmb3IgZGlmZmVy
ZW50IGxheWVyIHR5cGVzIHRoYXQgb3V0cHV0IHRleHR1cmVzIHRvIHRoZSBjb21wb3NpdG9yCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Ub3VjaEZsaW5nUGxhdGZvcm1HZXN0
dXJlQ3VydmUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RvdWNoRmxpbmdQbGF0Zm9ybUdl
c3R1cmVDdXJ2ZS5oCmluZGV4IGZkNTJiYzRlYzc0YzBiNTJiNzU4NDViNDY2OWY2NTZmMDdkMjUw
ZWUuLmE3ZTFjZWMxMDFlMDEyYWNlZTJiMWZjMjFkOWM1MzA2MGExN2MzNGUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RvdWNoRmxpbmdQbGF0Zm9ybUdlc3R1cmVDdXJ2ZS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RvdWNoRmxpbmdQbGF0Zm9ybUdlc3R1cmVD
dXJ2ZS5oCkBAIC00Myw3ICs0Myw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxQ
bGF0Zm9ybUdlc3R1cmVDdXJ2ZT4gY3JlYXRlKGNvbnN0IEZsb2F0UG9pbnQmIHZlbG9jaXR5KTsK
ICAgICB2aXJ0dWFsIH5Ub3VjaEZsaW5nUGxhdGZvcm1HZXN0dXJlQ3VydmUoKTsKIAotICAgIHZp
cnR1YWwgYm9vbCBhcHBseShkb3VibGUgdGltZSwgUGxhdGZvcm1HZXN0dXJlQ3VydmVUYXJnZXQq
KTsKKyAgICB2aXJ0dWFsIGJvb2wgYXBwbHkoZG91YmxlIG1vbm90b25pY1RpbWUsIFBsYXRmb3Jt
R2VzdHVyZUN1cnZlVGFyZ2V0Kik7CiAKIHByaXZhdGU6CiAgICAgZXhwbGljaXQgVG91Y2hGbGlu
Z1BsYXRmb3JtR2VzdHVyZUN1cnZlKGNvbnN0IEZsb2F0UG9pbnQmIHZlbG9jaXR5KTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDQWN0
aXZlR2VzdHVyZUFuaW1hdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9jYy9DQ0FjdGl2ZUdlc3R1cmVBbmltYXRpb24uY3BwCmluZGV4IGE0YWYzZTU5
YmM1NTc3YTg4NmYwMjliZTU5MmZjNDk5YWQ0M2JhMDEuLmRhZmVjYTZlNzUzZDRlZjY5YzgwODcw
ZDczMjQ0MGU1YWFlMzcxMWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL2NjL0NDQWN0aXZlR2VzdHVyZUFuaW1hdGlvbi5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NBY3RpdmVHZXN0dXJl
QW5pbWF0aW9uLmNwcApAQCAtNDcsMTUgKzQ3LDE1IEBAIENDQWN0aXZlR2VzdHVyZUFuaW1hdGlv
bjo6fkNDQWN0aXZlR2VzdHVyZUFuaW1hdGlvbigpCiB7CiB9CiAKLWJvb2wgQ0NBY3RpdmVHZXN0
dXJlQW5pbWF0aW9uOjphbmltYXRlKGRvdWJsZSB0aW1lKQorYm9vbCBDQ0FjdGl2ZUdlc3R1cmVB
bmltYXRpb246OmFuaW1hdGUoZG91YmxlIG1vbm90b25pY1RpbWUpCiB7CiAgICAgaWYgKG1fd2Fp
dGluZ0ZvckZpcnN0VGljaykgewotICAgICAgICBtX3N0YXJ0VGltZSA9IHRpbWU7CisgICAgICAg
IG1fc3RhcnRUaW1lID0gbW9ub3RvbmljVGltZTsKICAgICAgICAgbV93YWl0aW5nRm9yRmlyc3RU
aWNrID0gZmFsc2U7CiAgICAgfQogCiAgICAgLy8gQ0NHZXN0dXJlQ3VydmVzIHVzZWQgemVyby1i
YXNlZCB0aW1lLCBzbyBzdWJ0cmFjdCBzdGFydC10aW1lLgotICAgIHJldHVybiBtX2dlc3R1cmVD
dXJ2ZS0+YXBwbHkodGltZSAtIG1fc3RhcnRUaW1lLCBtX2dlc3R1cmVDdXJ2ZVRhcmdldCk7Cisg
ICAgcmV0dXJuIG1fZ2VzdHVyZUN1cnZlLT5hcHBseShtb25vdG9uaWNUaW1lIC0gbV9zdGFydFRp
bWUsIG1fZ2VzdHVyZUN1cnZlVGFyZ2V0KTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2Mv
Q0NBY3RpdmVHZXN0dXJlQW5pbWF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9jYy9DQ0FjdGl2ZUdlc3R1cmVBbmltYXRpb24uaAppbmRleCA5YmNkNzUz
NzA0YzM1OTRlMjNiZWQzNmI2YjY1NDk0MGE4NTRkNzBkLi4wMDBlZDQyNGIyZDU1OTM2YjA3OTNi
YzZlZjEzMWFjMGQ0MGRmMTgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9jYy9DQ0FjdGl2ZUdlc3R1cmVBbmltYXRpb24uaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0FjdGl2ZUdlc3R1cmVB
bmltYXRpb24uaApAQCAtNDAsNyArNDAsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25Q
dHI8Q0NBY3RpdmVHZXN0dXJlQW5pbWF0aW9uPiBjcmVhdGUoUGFzc093blB0cjxDQ0dlc3R1cmVD
dXJ2ZT4sIENDR2VzdHVyZUN1cnZlVGFyZ2V0Kik7CiAgICAgfkNDQWN0aXZlR2VzdHVyZUFuaW1h
dGlvbigpOwogCi0gICAgYm9vbCBhbmltYXRlKGRvdWJsZSB0aW1lKTsKKyAgICBib29sIGFuaW1h
dGUoZG91YmxlIG1vbm90b25pY1RpbWUpOwogCiBwcml2YXRlOgogICAgIENDQWN0aXZlR2VzdHVy
ZUFuaW1hdGlvbihQYXNzT3duUHRyPENDR2VzdHVyZUN1cnZlPiwgQ0NHZXN0dXJlQ3VydmVUYXJn
ZXQqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL2NjL0NDRGVsYXlCYXNlZFRpbWVTb3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NEZWxheUJhc2VkVGltZVNvdXJjZS5jcHAKaW5kZXgg
ZTdiMTlhNzYwNTA0ZWY3NGM4NDM0MDYwNTNhZjQwYzkzMzM0MDM1NC4uYjY4OGE3OGEyN2M1Nzk1
MWRkOGQ2YmVmZmVlNzY2YzVkMjRmMjNlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NEZWxheUJhc2VkVGltZVNvdXJjZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NEZWxheUJh
c2VkVGltZVNvdXJjZS5jcHAKQEAgLTMzLDE1ICszMywxNSBAQAogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKLVBhc3NSZWZQdHI8Q0NEZWxheUJhc2VkVGltZVNvdXJjZT4gQ0NEZWxheUJhc2VkVGlt
ZVNvdXJjZTo6Y3JlYXRlKGRvdWJsZSBpbnRlcnZhbE1zLCBDQ1RocmVhZCogdGhyZWFkKQorUGFz
c1JlZlB0cjxDQ0RlbGF5QmFzZWRUaW1lU291cmNlPiBDQ0RlbGF5QmFzZWRUaW1lU291cmNlOjpj
cmVhdGUoZG91YmxlIGludGVydmFsLCBDQ1RocmVhZCogdGhyZWFkKQogewotICAgIHJldHVybiBh
ZG9wdFJlZihuZXcgQ0NEZWxheUJhc2VkVGltZVNvdXJjZShpbnRlcnZhbE1zLCB0aHJlYWQpKTsK
KyAgICByZXR1cm4gYWRvcHRSZWYobmV3IENDRGVsYXlCYXNlZFRpbWVTb3VyY2UoaW50ZXJ2YWws
IHRocmVhZCkpOwogfQogCi1DQ0RlbGF5QmFzZWRUaW1lU291cmNlOjpDQ0RlbGF5QmFzZWRUaW1l
U291cmNlKGRvdWJsZSBpbnRlcnZhbE1zLCBDQ1RocmVhZCogdGhyZWFkKQorQ0NEZWxheUJhc2Vk
VGltZVNvdXJjZTo6Q0NEZWxheUJhc2VkVGltZVNvdXJjZShkb3VibGUgaW50ZXJ2YWxTZWNvbmRz
LCBDQ1RocmVhZCogdGhyZWFkKQogICAgIDogbV9jbGllbnQoMCkKICAgICAsIG1faGFzVGlja1Rh
cmdldChmYWxzZSkKLSAgICAsIG1faW50ZXJ2YWxNcyhpbnRlcnZhbE1zKQorICAgICwgbV9pbnRl
cnZhbFNlY29uZHMoaW50ZXJ2YWxTZWNvbmRzKQogICAgICwgbV90aWNrVGFyZ2V0KDApCiAgICAg
LCBtX3N0YXRlKFNUQVRFX0lOQUNUSVZFKQogICAgICwgbV90aW1lcih0aHJlYWQsIHRoaXMpCkBA
IC03MCwzMiArNzAsMzIgQEAgdm9pZCBDQ0RlbGF5QmFzZWRUaW1lU291cmNlOjpzZXRBY3RpdmUo
Ym9vbCBhY3RpdmUpCiAKICAgICBtX3N0YXRlID0gU1RBVEVfQUNUSVZFOwogCi0gICAgZG91Ymxl
IG5vd01zID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lTXMoKTsKLSAgICBwb3N0TmV4dFRp
Y2tUYXNrKG5vd01zKTsKKyAgICBkb3VibGUgbm93ID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdU
aW1lKCk7CisgICAgcG9zdE5leHRUaWNrVGFzayhub3cpOwogfQogCiB2b2lkIENDRGVsYXlCYXNl
ZFRpbWVTb3VyY2U6Om9uVGltZXJGaXJlZCgpCiB7CiAgICAgQVNTRVJUKG1fc3RhdGUgIT0gU1RB
VEVfSU5BQ1RJVkUpOwogCi0gICAgZG91YmxlIG5vd01zID0gbW9ub3RvbmljYWxseUluY3JlYXNp
bmdUaW1lTXMoKTsKKyAgICBkb3VibGUgbm93ID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1l
KCk7CiAKICAgICBpZiAobV9zdGF0ZSA9PSBTVEFURV9TVEFSVElORykgewogICAgICAgICBtX2hh
c1RpY2tUYXJnZXQgPSB0cnVlOwotICAgICAgICBtX3RpY2tUYXJnZXQgPSBub3dNczsKKyAgICAg
ICAgbV90aWNrVGFyZ2V0ID0gbm93OwogICAgICAgICBtX3N0YXRlID0gU1RBVEVfQUNUSVZFOwog
ICAgIH0KIAotICAgIHBvc3ROZXh0VGlja1Rhc2sobm93TXMpOworICAgIHBvc3ROZXh0VGlja1Rh
c2sobm93KTsKIAogICAgIC8vIEZpcmUgdGhlIHRpY2sKICAgICBpZiAobV9jbGllbnQpCiAgICAg
ICAgIG1fY2xpZW50LT5vblRpbWVyVGljaygpOwogfQogCi1kb3VibGUgQ0NEZWxheUJhc2VkVGlt
ZVNvdXJjZTo6bW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lTXMoKSBjb25zdAorZG91YmxlIEND
RGVsYXlCYXNlZFRpbWVTb3VyY2U6Om1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpIGNvbnN0
CiB7Ci0gICAgcmV0dXJuIFdURjo6bW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkgKiAxMDAw
LjA7CisgICAgcmV0dXJuIFdURjo6bW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7CiB9CiAK
IC8vIFRoaXMgY29kZSB0cmllcyB0byBhY2hpZXZlIGFuIGF2ZXJhZ2UgdGljayByYXRlIGFzIGNs
b3NlIHRvIG1faW50ZXJ2YWxNcyBhcyBwb3NzaWJsZS4KQEAgLTE0MSwyMSArMTQxLDIzIEBAIGRv
dWJsZSBDQ0RlbGF5QmFzZWRUaW1lU291cmNlOjptb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWVN
cygpIGNvbnN0CiAvLwogLy8gRm9yIHRoZSByZWFsbHkgbGF0ZSBkZWxheSwgd2Ugd2UgbW92ZSB0
byB0aGUgbmV4dCBsb2dpY2FsIHRpY2suIFRoZSB0aW1lYmFzZSBpcyBub3QgcmVzZXQuCiAvLyAg
ICAgIG5vdz0zNyAgIHRpY2tUYXJnZXQ9MTYuNjY3ICBuZXdUYXJnZXQ9NTAuMDAwICAtLT4gdGlj
aygpLCBwb3N0RGVsYXllZFRhc2soZmxvb3IoNTAuMDAwLTM3KSkgLS0+IHBvc3REZWxheWVkVGFz
aygxMykKLXZvaWQgQ0NEZWxheUJhc2VkVGltZVNvdXJjZTo6cG9zdE5leHRUaWNrVGFzayhkb3Vi
bGUgbm93TXMpCisvLworLy8gTm90ZSwgdGhhdCBpbiB0aGUgYWJvdmUgZGlzY3Vzc2lvbiwgdGlt
ZXMgYXJlIGV4cHJlc3NlZCBpbiBtaWxsaXNlY29uZHMsIGJ1dCBpbiB0aGUgY29kZSwgc2Vjb25k
cyBhcmUgdXNlZC4KK3ZvaWQgQ0NEZWxheUJhc2VkVGltZVNvdXJjZTo6cG9zdE5leHRUaWNrVGFz
ayhkb3VibGUgbm93KQogewotICAgIGludCBudW1JbnRlcnZhbHNFbGFwc2VkID0gc3RhdGljX2Nh
c3Q8aW50PihmbG9vcigobm93TXMgLSBtX3RpY2tUYXJnZXQpIC8gbV9pbnRlcnZhbE1zKSk7Ci0g
ICAgZG91YmxlIGxhc3RFZmZlY3RpdmVUaWNrID0gbV90aWNrVGFyZ2V0ICsgbV9pbnRlcnZhbE1z
ICogbnVtSW50ZXJ2YWxzRWxhcHNlZDsKLSAgICBkb3VibGUgbmV3VGlja1RhcmdldCA9IGxhc3RF
ZmZlY3RpdmVUaWNrICsgbV9pbnRlcnZhbE1zOwotCi0gICAgbG9uZyBsb25nIGRlbGF5ID0gc3Rh
dGljX2Nhc3Q8bG9uZyBsb25nPihuZXdUaWNrVGFyZ2V0IC0gbm93TXMpOwotICAgIGlmICghZGVs
YXkpIHsKLSAgICAgICAgbmV3VGlja1RhcmdldCA9IG5ld1RpY2tUYXJnZXQgKyBtX2ludGVydmFs
TXM7Ci0gICAgICAgIGRlbGF5ID0gc3RhdGljX2Nhc3Q8bG9uZyBsb25nPihuZXdUaWNrVGFyZ2V0
IC0gbm93TXMpOworICAgIGludCBudW1JbnRlcnZhbHNFbGFwc2VkID0gc3RhdGljX2Nhc3Q8aW50
PihmbG9vcigobm93IC0gbV90aWNrVGFyZ2V0KSAvIG1faW50ZXJ2YWxTZWNvbmRzKSk7CisgICAg
ZG91YmxlIGxhc3RFZmZlY3RpdmVUaWNrID0gbV90aWNrVGFyZ2V0ICsgbV9pbnRlcnZhbFNlY29u
ZHMgKiBudW1JbnRlcnZhbHNFbGFwc2VkOworICAgIGRvdWJsZSBuZXdUaWNrVGFyZ2V0ID0gbGFz
dEVmZmVjdGl2ZVRpY2sgKyBtX2ludGVydmFsU2Vjb25kczsKKworICAgIGxvbmcgbG9uZyBkZWxh
eU1zID0gc3RhdGljX2Nhc3Q8bG9uZyBsb25nPigobmV3VGlja1RhcmdldCAtIG5vdykgKiAxMDAw
LjApOworICAgIGlmICghZGVsYXlNcykgeworICAgICAgICBuZXdUaWNrVGFyZ2V0ID0gbmV3VGlj
a1RhcmdldCArIG1faW50ZXJ2YWxTZWNvbmRzOworICAgICAgICBkZWxheU1zID0gc3RhdGljX2Nh
c3Q8bG9uZyBsb25nPigobmV3VGlja1RhcmdldCAtIG5vdykgKiAxMDAwLjApOwogICAgIH0KIAog
ICAgIC8vIFBvc3QgYW5vdGhlciB0YXNrICpiZWZvcmUqIHRoZSB0aWNrIGFuZCB1cGRhdGUgc3Rh
dGUKLSAgICBBU1NFUlQobmV3VGlja1RhcmdldCA+IG5vd01zKTsKLSAgICBtX3RpbWVyLnN0YXJ0
T25lU2hvdChkZWxheSk7CisgICAgQVNTRVJUKG5ld1RpY2tUYXJnZXQgPiBub3cpOworICAgIG1f
dGltZXIuc3RhcnRPbmVTaG90KGRlbGF5TXMgLyAxMDAwLjApOwogICAgIG1fdGlja1RhcmdldCA9
IG5ld1RpY2tUYXJnZXQ7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDRGVsYXlCYXNlZFRpbWVTb3VyY2UuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDRGVsYXlCYXNlZFRpbWVTb3Vy
Y2UuaAppbmRleCBhNDFhYWQ0ZDg0MjkyNjhiMjIwOGE1MGM4YTQyNThlNzhiY2FiZTczLi41ZjFi
MmM0ZjJmZGE3YmVkNTRmNWY0NDM1MDY0NWYzNWY3OTZlNWRmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0RlbGF5QmFzZWRUaW1lU291
cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2Mv
Q0NEZWxheUJhc2VkVGltZVNvdXJjZS5oCkBAIC0zOCw3ICszOCw3IEBAIGNsYXNzIENDVGhyZWFk
OwogLy8gaW4gZmFjZSBvZiBtaWxsaXNlY29uZC1wcmVjaXNpb24gZGVsYXllZCBjYWxsYmFja3Mg
YW5kIHJhbmRvbSBxdWV1ZWluZyBkZWxheXMuCiBjbGFzcyBDQ0RlbGF5QmFzZWRUaW1lU291cmNl
IDogcHVibGljIENDVGltZVNvdXJjZSwgQ0NUaW1lckNsaWVudCB7CiBwdWJsaWM6Ci0gICAgc3Rh
dGljIFBhc3NSZWZQdHI8Q0NEZWxheUJhc2VkVGltZVNvdXJjZT4gY3JlYXRlKGRvdWJsZSBpbnRl
cnZhbE1zLCBDQ1RocmVhZCopOworICAgIHN0YXRpYyBQYXNzUmVmUHRyPENDRGVsYXlCYXNlZFRp
bWVTb3VyY2U+IGNyZWF0ZShkb3VibGUgaW50ZXJ2YWxTZWNvbmRzLCBDQ1RocmVhZCopOwogCiAg
ICAgdmlydHVhbCB+Q0NEZWxheUJhc2VkVGltZVNvdXJjZSgpIHsgfQogCkBAIC01MSwxMSArNTEs
MTEgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBvblRpbWVyRmlyZWQoKTsKIAogICAgIC8v
IFZpcnR1YWwgZm9yIHRlc3RpbmcuCi0gICAgdmlydHVhbCBkb3VibGUgbW9ub3RvbmljYWxseUlu
Y3JlYXNpbmdUaW1lTXMoKSBjb25zdDsKKyAgICB2aXJ0dWFsIGRvdWJsZSBtb25vdG9uaWNhbGx5
SW5jcmVhc2luZ1RpbWUoKSBjb25zdDsKIAogcHJvdGVjdGVkOgotICAgIENDRGVsYXlCYXNlZFRp
bWVTb3VyY2UoZG91YmxlIGludGVydmFsTXMsIENDVGhyZWFkKik7Ci0gICAgdm9pZCBwb3N0TmV4
dFRpY2tUYXNrKGRvdWJsZSBub3dNcyk7CisgICAgQ0NEZWxheUJhc2VkVGltZVNvdXJjZShkb3Vi
bGUgaW50ZXJ2YWwsIENDVGhyZWFkKik7CisgICAgdm9pZCBwb3N0TmV4dFRpY2tUYXNrKGRvdWJs
ZSBub3cpOwogCiAgICAgZW51bSBTdGF0ZSB7CiAgICAgICAgIFNUQVRFX0lOQUNUSVZFLApAQCAt
NjQsNyArNjQsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgfTsKICAgICBDQ1RpbWVTb3VyY2VDbGllbnQq
IG1fY2xpZW50OwogICAgIGJvb2wgbV9oYXNUaWNrVGFyZ2V0OwotICAgIGRvdWJsZSBtX2ludGVy
dmFsTXM7CisgICAgZG91YmxlIG1faW50ZXJ2YWxTZWNvbmRzOwogICAgIGRvdWJsZSBtX3RpY2tU
YXJnZXQ7CiAgICAgU3RhdGUgbV9zdGF0ZTsKICAgICBDQ1RocmVhZCogbV90aHJlYWQ7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0dl
c3R1cmVDdXJ2ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
Y2MvQ0NHZXN0dXJlQ3VydmUuaAppbmRleCA0YmMxYzBkZDgwNmRmNzY1ZTNmMjQ3MmQyYjY2MzY0
NWQyODljNmE1Li41ZDk4YWY0YzZjOTJiMDc0ODI4NjJjNjM1NjU5YWQzZDgyYWVjNzNlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0dl
c3R1cmVDdXJ2ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL2NjL0NDR2VzdHVyZUN1cnZlLmgKQEAgLTQxLDcgKzQxLDcgQEAgY2xhc3MgQ0NHZXN0dXJl
Q3VydmUgewogcHVibGljOgogICAgIHZpcnR1YWwgfkNDR2VzdHVyZUN1cnZlKCkgeyB9CiAKLSAg
ICB2aXJ0dWFsIGJvb2wgYXBwbHkoZG91YmxlIHRpbWUsIENDR2VzdHVyZUN1cnZlVGFyZ2V0Kikg
PSAwOworICAgIHZpcnR1YWwgYm9vbCBhcHBseShkb3VibGUgbW9ub3RvbmljVGltZSwgQ0NHZXN0
dXJlQ3VydmVUYXJnZXQqKSA9IDA7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1Ro
cmVhZFByb3h5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L2NjL0NDVGhyZWFkUHJveHkuY3BwCmluZGV4IDMyN2Q5YmUwYjEyMGZiOWVmZGVmZjgwNTMxODgw
NTMzMDZhYmRhNGIuLmE2ZTQ4ZWVkM2QwM2Y3YjdmMGRkOWY3MzE0NTJiMWQxYTVjYjEzZjkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0ND
VGhyZWFkUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2No
cm9taXVtL2NjL0NDVGhyZWFkUHJveHkuY3BwCkBAIC00Nyw2ICs0Nyw5IEBAIG5hbWVzcGFjZSB7
CiAvLyBzY2hlZHVsZWRBY3Rpb25VcGRhdGVNb3JlUmVzb3VyY2VzKCkuCiBzdGF0aWMgY29uc3Qg
c2l6ZV90IHRleHR1cmVVcGRhdGVzUGVyRnJhbWUgPSAzMjsKIAorLy8gTWVhc3VyZWQgaW4gc2Vj
b25kcy4KK3N0YXRpYyBjb25zdCBkb3VibGUgY29udGV4dFJlY3JlYXRpb25UaWNrUmF0ZSA9IDAu
MDM7CisKIH0gLy8gYW5vbnltb3VzIG5hbWVzcGFjZQogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBA
IC02MTIsOCArNjE1LDYgQEAgcHVibGljOgogICAgICAgICBtX3Byb3h5LT50cnlUb1JlY3JlYXRl
Q29udGV4dCgpOwogICAgIH0KIAotICAgIGVudW0gUmVjcmVhdGlvbiB7IFJlY3JlYXRpb25UaWNr
UmF0ZU1zID0gMzAgfTsKLQogcHJpdmF0ZToKICAgICBleHBsaWNpdCBDQ1RocmVhZFByb3h5Q29u
dGV4dFJlY3JlYXRpb25UaW1lcihDQ1RocmVhZFByb3h5KiBwcm94eSkKICAgICAgICAgOiBDQ1Rp
bWVyKENDUHJveHk6Om1haW5UaHJlYWQoKSwgdGhpcykKQEAgLTYzMSw3ICs2MzIsNyBAQCB2b2lk
IENDVGhyZWFkUHJveHk6OmJlZ2luQ29udGV4dFJlY3JlYXRpb24oKQogICAgIEFTU0VSVCghbV9j
b250ZXh0UmVjcmVhdGlvblRpbWVyKTsKICAgICBtX2NvbnRleHRSZWNyZWF0aW9uVGltZXIgPSBD
Q1RocmVhZFByb3h5Q29udGV4dFJlY3JlYXRpb25UaW1lcjo6Y3JlYXRlKHRoaXMpOwogICAgIG1f
bGF5ZXJUcmVlSG9zdC0+ZGlkTG9zZUNvbnRleHQoKTsKLSAgICBtX2NvbnRleHRSZWNyZWF0aW9u
VGltZXItPnN0YXJ0T25lU2hvdChDQ1RocmVhZFByb3h5Q29udGV4dFJlY3JlYXRpb25UaW1lcjo6
UmVjcmVhdGlvblRpY2tSYXRlTXMpOworICAgIG1fY29udGV4dFJlY3JlYXRpb25UaW1lci0+c3Rh
cnRPbmVTaG90KGNvbnRleHRSZWNyZWF0aW9uVGlja1JhdGUpOwogfQogCiB2b2lkIENDVGhyZWFk
UHJveHk6OnRyeVRvUmVjcmVhdGVDb250ZXh0KCkKQEAgLTY0MCw3ICs2NDEsNyBAQCB2b2lkIEND
VGhyZWFkUHJveHk6OnRyeVRvUmVjcmVhdGVDb250ZXh0KCkKICAgICBBU1NFUlQobV9sYXllclRy
ZWVIb3N0KTsKICAgICBDQ0xheWVyVHJlZUhvc3Q6OlJlY3JlYXRlUmVzdWx0IHJlc3VsdCA9IG1f
bGF5ZXJUcmVlSG9zdC0+cmVjcmVhdGVDb250ZXh0KCk7CiAgICAgaWYgKHJlc3VsdCA9PSBDQ0xh
eWVyVHJlZUhvc3Q6OlJlY3JlYXRlRmFpbGVkQnV0VHJ5QWdhaW4pCi0gICAgICAgIG1fY29udGV4
dFJlY3JlYXRpb25UaW1lci0+c3RhcnRPbmVTaG90KENDVGhyZWFkUHJveHlDb250ZXh0UmVjcmVh
dGlvblRpbWVyOjpSZWNyZWF0aW9uVGlja1JhdGVNcyk7CisgICAgICAgIG1fY29udGV4dFJlY3Jl
YXRpb25UaW1lci0+c3RhcnRPbmVTaG90KGNvbnRleHRSZWNyZWF0aW9uVGlja1JhdGUpOwogICAg
IGVsc2UgaWYgKHJlc3VsdCA9PSBDQ0xheWVyVHJlZUhvc3Q6OlJlY3JlYXRlU3VjY2VlZGVkKQog
ICAgICAgICBtX2NvbnRleHRSZWNyZWF0aW9uVGltZXIuY2xlYXIoKTsKIH0KQEAgLTY1MCw4ICs2
NTEsOCBAQCB2b2lkIENDVGhyZWFkUHJveHk6OmluaXRpYWxpemVJbXBsT25JbXBsVGhyZWFkKEND
Q29tcGxldGlvbkV2ZW50KiBjb21wbGV0aW9uKQogICAgIFRSQUNFX0VWRU5UKCJDQ1RocmVhZFBy
b3h5Ojppbml0aWFsaXplSW1wbE9uSW1wbFRocmVhZCIsIHRoaXMsIDApOwogICAgIEFTU0VSVChp
c0ltcGxUaHJlYWQoKSk7CiAgICAgbV9sYXllclRyZWVIb3N0SW1wbCA9IG1fbGF5ZXJUcmVlSG9z
dC0+Y3JlYXRlTGF5ZXJUcmVlSG9zdEltcGwodGhpcyk7Ci0gICAgY29uc3QgZG91YmxlIGRpc3Bs
YXlSZWZyZXNoSW50ZXJ2YWxNcyA9IDEwMDAuMCAvIDYwLjA7Ci0gICAgT3duUHRyPENDRnJhbWVS
YXRlQ29udHJvbGxlcj4gZnJhbWVSYXRlQ29udHJvbGxlciA9IGFkb3B0UHRyKG5ldyBDQ0ZyYW1l
UmF0ZUNvbnRyb2xsZXIoQ0NEZWxheUJhc2VkVGltZVNvdXJjZTo6Y3JlYXRlKGRpc3BsYXlSZWZy
ZXNoSW50ZXJ2YWxNcywgQ0NQcm94eTo6aW1wbFRocmVhZCgpKSkpOworICAgIGNvbnN0IGRvdWJs
ZSBkaXNwbGF5UmVmcmVzaEludGVydmFsID0gMS4wIC8gNjAuMDsKKyAgICBPd25QdHI8Q0NGcmFt
ZVJhdGVDb250cm9sbGVyPiBmcmFtZVJhdGVDb250cm9sbGVyID0gYWRvcHRQdHIobmV3IENDRnJh
bWVSYXRlQ29udHJvbGxlcihDQ0RlbGF5QmFzZWRUaW1lU291cmNlOjpjcmVhdGUoZGlzcGxheVJl
ZnJlc2hJbnRlcnZhbCwgQ0NQcm94eTo6aW1wbFRocmVhZCgpKSkpOwogICAgIG1fc2NoZWR1bGVy
T25JbXBsVGhyZWFkID0gQ0NTY2hlZHVsZXI6OmNyZWF0ZSh0aGlzLCBmcmFtZVJhdGVDb250cm9s
bGVyLnJlbGVhc2UoKSk7CiAgICAgbV9zY2hlZHVsZXJPbkltcGxUaHJlYWQtPnNldFZpc2libGUo
bV9sYXllclRyZWVIb3N0SW1wbC0+dmlzaWJsZSgpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NUaW1lci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1RpbWVyLmNwcAppbmRleCA5
ZmNjNjEzMDVjMTk4OWVlZWI3YTdmY2Q1Njk1YmIyYzIwYjg2ZGVkLi42ZDYxODllMjMzYmYwYjYw
ZDIxNTk1ZWE3ODdhOTYwZDU5ODNmZWIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1RpbWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1RpbWVyLmNwcApAQCAtNzYsMTIgKzc2
LDE0IEBAIENDVGltZXI6On5DQ1RpbWVyKCkKICAgICBzdG9wKCk7CiB9CiAKLXZvaWQgQ0NUaW1l
cjo6c3RhcnRPbmVTaG90KGRvdWJsZSBpbnRlcnZhbE1zKQordm9pZCBDQ1RpbWVyOjpzdGFydE9u
ZVNob3QoZG91YmxlIGludGVydmFsU2Vjb25kcykKIHsKICAgICBzdG9wKCk7CiAKICAgICBtX3Rh
c2sgPSBuZXcgQ0NUaW1lclRhc2sodGhpcyk7Ci0gICAgbV90aHJlYWQtPnBvc3REZWxheWVkVGFz
ayhhZG9wdFB0cihtX3Rhc2spLCBpbnRlcnZhbE1zKTsKKworICAgIC8vIFRoZSB0aHJlYWQgZXhw
ZWN0cyBkZWxheXMgaW4gbWlsbGlzZWNvbmRzLgorICAgIG1fdGhyZWFkLT5wb3N0RGVsYXllZFRh
c2soYWRvcHRQdHIobV90YXNrKSwgaW50ZXJ2YWxTZWNvbmRzICogMTAwMC4wKTsKIH0KIAogdm9p
ZCBDQ1RpbWVyOjpzdG9wKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL2NjL0NDVGltZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL2NjL0NDVGltZXIuaAppbmRleCBiOGRiNWUxODkzOGYwOGY1MmExMWNh
NzEwYmMyYWUzZGQyYzM3N2IxLi5hODQ1MTkwZDlhNWFhYWViYzRkMjIxMWQxOTI3NjExMDdkZWVm
NTUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9jYy9DQ1RpbWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vY2MvQ0NUaW1lci5oCkBAIC01MCw3ICs1MCw3IEBAIHB1YmxpYzoKICAgICB+Q0NUaW1l
cigpOwogCiAgICAgLy8gSWYgYSBwcmV2aW91cyB0YXNrIGlzIHBlbmRpbmcsIGl0IHdpbGwgYmUg
cmVwbGFjZWQgd2l0aCB0aGUgbmV3IG9uZS4KLSAgICB2b2lkIHN0YXJ0T25lU2hvdChkb3VibGUg
aW50ZXJ2YWxNcyk7CisgICAgdm9pZCBzdGFydE9uZVNob3QoZG91YmxlIGludGVydmFsU2Vjb25k
cyk7CiAgICAgdm9pZCBzdG9wKCk7CiAKICAgICBib29sIGlzQWN0aXZlKCkgY29uc3QgeyByZXR1
cm4gbV90YXNrOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0ND
RGVsYXlCYXNlZFRpbWVTb3VyY2VUZXN0LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVz
dHMvQ0NEZWxheUJhc2VkVGltZVNvdXJjZVRlc3QuY3BwCmluZGV4IDg2N2Q1NmVhODdkMjI4Yjk0
OWQxMTIxMThiMjFmYTM3Mjc4Yzg3MmQuLjkzZTg0YTRhZmIxMGY2ZTM2ZGU2ODVmZjNmOWFmNDZl
MzU4OTVlZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NEZWxh
eUJhc2VkVGltZVNvdXJjZVRlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVz
dHMvQ0NEZWxheUJhc2VkVGltZVNvdXJjZVRlc3QuY3BwCkBAIC00MSwxNSArNDEsMTUgQEAgVEVT
VChDQ0RlbGF5QmFzZWRUaW1lU291cmNlVGVzdCwgVGFza1Bvc3RlZEFuZFRpY2tDYWxsZWQpCiB7
CiAgICAgRmFrZUNDVGhyZWFkIHRocmVhZDsKICAgICBGYWtlQ0NUaW1lU291cmNlQ2xpZW50IGNs
aWVudDsKLSAgICBSZWZQdHI8RmFrZUNDRGVsYXlCYXNlZFRpbWVTb3VyY2U+IHRpbWVyID0gRmFr
ZUNDRGVsYXlCYXNlZFRpbWVTb3VyY2U6OmNyZWF0ZSgxMDAwLjAgLyA2MC4wLCAmdGhyZWFkKTsK
KyAgICBSZWZQdHI8RmFrZUNDRGVsYXlCYXNlZFRpbWVTb3VyY2U+IHRpbWVyID0gRmFrZUNDRGVs
YXlCYXNlZFRpbWVTb3VyY2U6OmNyZWF0ZSgxLjAgLyA2MC4wLCAmdGhyZWFkKTsKICAgICB0aW1l
ci0+c2V0Q2xpZW50KCZjbGllbnQpOwogCi0gICAgdGltZXItPnNldE1vbm90b25pY2FsbHlJbmNy
ZWFzaW5nVGltZU1zKDApOworICAgIHRpbWVyLT5zZXRNb25vdG9uaWNhbGx5SW5jcmVhc2luZ1Rp
bWUoMCk7CiAgICAgdGltZXItPnNldEFjdGl2ZSh0cnVlKTsKICAgICBFWFBFQ1RfVFJVRSh0aW1l
ci0+YWN0aXZlKCkpOwogICAgIEVYUEVDVF9UUlVFKHRocmVhZC5oYXNQZW5kaW5nVGFzaygpKTsK
IAotICAgIHRpbWVyLT5zZXRNb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWVNcygxNik7CisgICAg
dGltZXItPnNldE1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgwLjAxNik7CiAgICAgdGhyZWFk
LnJ1blBlbmRpbmdUYXNrKCk7CiAgICAgRVhQRUNUX1RSVUUodGltZXItPmFjdGl2ZSgpKTsKICAg
ICBFWFBFQ1RfVFJVRShjbGllbnQudGlja0NhbGxlZCgpKTsKQEAgLTU5LDcgKzU5LDcgQEAgVEVT
VChDQ0RlbGF5QmFzZWRUaW1lU291cmNlLCBUaWNrTm90Q2FsbGVkV2l0aFRhc2tQb3N0ZWQpCiB7
CiAgICAgRmFrZUNDVGhyZWFkIHRocmVhZDsKICAgICBGYWtlQ0NUaW1lU291cmNlQ2xpZW50IGNs
aWVudDsKLSAgICBSZWZQdHI8RmFrZUNDRGVsYXlCYXNlZFRpbWVTb3VyY2U+IHRpbWVyID0gRmFr
ZUNDRGVsYXlCYXNlZFRpbWVTb3VyY2U6OmNyZWF0ZSgxMDAwLjAgLyA2MC4wLCAmdGhyZWFkKTsK
KyAgICBSZWZQdHI8RmFrZUNDRGVsYXlCYXNlZFRpbWVTb3VyY2U+IHRpbWVyID0gRmFrZUNDRGVs
YXlCYXNlZFRpbWVTb3VyY2U6OmNyZWF0ZSgxLjAgLyA2MC4wLCAmdGhyZWFkKTsKICAgICB0aW1l
ci0+c2V0Q2xpZW50KCZjbGllbnQpOwogICAgIHRpbWVyLT5zZXRBY3RpdmUodHJ1ZSk7CiAgICAg
RVhQRUNUX1RSVUUodGhyZWFkLmhhc1BlbmRpbmdUYXNrKCkpOwpAQCAtNzIsNyArNzIsNyBAQCBU
RVNUKENDRGVsYXlCYXNlZFRpbWVTb3VyY2UsIFN0YXJ0VHdpY2VFbnF1ZXVlc09uZVRhc2spCiB7
CiAgICAgRmFrZUNDVGhyZWFkIHRocmVhZDsKICAgICBGYWtlQ0NUaW1lU291cmNlQ2xpZW50IGNs
aWVudDsKLSAgICBSZWZQdHI8RmFrZUNDRGVsYXlCYXNlZFRpbWVTb3VyY2U+IHRpbWVyID0gRmFr
ZUNDRGVsYXlCYXNlZFRpbWVTb3VyY2U6OmNyZWF0ZSgxMDAwLjAgLyA2MC4wLCAmdGhyZWFkKTsK
KyAgICBSZWZQdHI8RmFrZUNDRGVsYXlCYXNlZFRpbWVTb3VyY2U+IHRpbWVyID0gRmFrZUNDRGVs
YXlCYXNlZFRpbWVTb3VyY2U6OmNyZWF0ZSgxLjAgLyA2MC4wLCAmdGhyZWFkKTsKICAgICB0aW1l
ci0+c2V0Q2xpZW50KCZjbGllbnQpOwogICAgIHRpbWVyLT5zZXRBY3RpdmUodHJ1ZSk7CiAgICAg
RVhQRUNUX1RSVUUodGhyZWFkLmhhc1BlbmRpbmdUYXNrKCkpOwpAQCAtODUsNyArODUsNyBAQCBU
RVNUKENDRGVsYXlCYXNlZFRpbWVTb3VyY2UsIFN0YXJ0V2hlblJ1bm5pbmdEb2VzbnRUaWNrKQog
ewogICAgIEZha2VDQ1RocmVhZCB0aHJlYWQ7CiAgICAgRmFrZUNDVGltZVNvdXJjZUNsaWVudCBj
bGllbnQ7Ci0gICAgUmVmUHRyPEZha2VDQ0RlbGF5QmFzZWRUaW1lU291cmNlPiB0aW1lciA9IEZh
a2VDQ0RlbGF5QmFzZWRUaW1lU291cmNlOjpjcmVhdGUoMTAwMC4wIC8gNjAuMCwgJnRocmVhZCk7
CisgICAgUmVmUHRyPEZha2VDQ0RlbGF5QmFzZWRUaW1lU291cmNlPiB0aW1lciA9IEZha2VDQ0Rl
bGF5QmFzZWRUaW1lU291cmNlOjpjcmVhdGUoMS4wIC8gNjAuMCwgJnRocmVhZCk7CiAgICAgdGlt
ZXItPnNldENsaWVudCgmY2xpZW50KTsKICAgICB0aW1lci0+c2V0QWN0aXZlKHRydWUpOwogICAg
IHRocmVhZC5ydW5QZW5kaW5nVGFzaygpOwpAQCAtMTAwLDE5ICsxMDAsMTkgQEAgVEVTVChDQ0Rl
bGF5QmFzZWRUaW1lU291cmNlLCBOZXh0RGVsYXlTYW5lV2hlbkV4YWN0bHlPblJlcXVlc3RlZFRp
bWUpCiB7CiAgICAgRmFrZUNDVGhyZWFkIHRocmVhZDsKICAgICBGYWtlQ0NUaW1lU291cmNlQ2xp
ZW50IGNsaWVudDsKLSAgICBkb3VibGUgaW50ZXJ2YWwgPSAxMDAwLjAgLyA2MC4wOworICAgIGRv
dWJsZSBpbnRlcnZhbCA9IDEuMCAvIDYwLjA7CiAgICAgUmVmUHRyPEZha2VDQ0RlbGF5QmFzZWRU
aW1lU291cmNlPiB0aW1lciA9IEZha2VDQ0RlbGF5QmFzZWRUaW1lU291cmNlOjpjcmVhdGUoaW50
ZXJ2YWwsICZ0aHJlYWQpOwogICAgIHRpbWVyLT5zZXRDbGllbnQoJmNsaWVudCk7CiAgICAgdGlt
ZXItPnNldEFjdGl2ZSh0cnVlKTsKICAgICAvLyBSdW4gdGhlIGZpcnN0IHRhc2ssIGFzIHRoYXQg
YWN0aXZhdGVzIHRoZSB0aW1lciBhbmQgcGlja3MgdXAgYSB0aW1lYmFzZS4KICAgICB0aHJlYWQu
cnVuUGVuZGluZ1Rhc2soKTsKIAotICAgIEVYUEVDVF9FUSgxNiwgdGhyZWFkLnBlbmRpbmdEZWxh
eSgpKTsKKyAgICBFWFBFQ1RfRVEoMTYsIHRocmVhZC5wZW5kaW5nRGVsYXlNcygpKTsKIAotICAg
IHRpbWVyLT5zZXRNb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWVNcyhpbnRlcnZhbCk7CisgICAg
dGltZXItPnNldE1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZShpbnRlcnZhbCk7CiAgICAgdGhy
ZWFkLnJ1blBlbmRpbmdUYXNrKCk7CiAKLSAgICBFWFBFQ1RfRVEoMTYsIHRocmVhZC5wZW5kaW5n
RGVsYXkoKSk7CisgICAgRVhQRUNUX0VRKDE2LCB0aHJlYWQucGVuZGluZ0RlbGF5TXMoKSk7CiB9
CiAKIC8vIEF0IDYwSHosIHdoZW4gdGhlIHRpY2sgcmV0dXJucyBhdCBzbGlnaHRseSBhZnRlciB0
aGUgcmVxdWVzdGVkIG5leHQgdGltZSwgbWFrZSBzdXJlCkBAIC0xMjEsMTkgKzEyMSwxOSBAQCBU
RVNUKENDRGVsYXlCYXNlZFRpbWVTb3VyY2UsIE5leHREZWxheVNhbmVXaGVuU2xpZ2h0bHlBZnRl
clJlcXVlc3RlZFRpbWUpCiB7CiAgICAgRmFrZUNDVGhyZWFkIHRocmVhZDsKICAgICBGYWtlQ0NU
aW1lU291cmNlQ2xpZW50IGNsaWVudDsKLSAgICBkb3VibGUgaW50ZXJ2YWwgPSAxMDAwLjAgLyA2
MC4wOworICAgIGRvdWJsZSBpbnRlcnZhbCA9IDEuMCAvIDYwLjA7CiAgICAgUmVmUHRyPEZha2VD
Q0RlbGF5QmFzZWRUaW1lU291cmNlPiB0aW1lciA9IEZha2VDQ0RlbGF5QmFzZWRUaW1lU291cmNl
OjpjcmVhdGUoaW50ZXJ2YWwsICZ0aHJlYWQpOwogICAgIHRpbWVyLT5zZXRDbGllbnQoJmNsaWVu
dCk7CiAgICAgdGltZXItPnNldEFjdGl2ZSh0cnVlKTsKICAgICAvLyBSdW4gdGhlIGZpcnN0IHRh
c2ssIGFzIHRoYXQgYWN0aXZhdGVzIHRoZSB0aW1lciBhbmQgcGlja3MgdXAgYSB0aW1lYmFzZS4K
ICAgICB0aHJlYWQucnVuUGVuZGluZ1Rhc2soKTsKIAotICAgIEVYUEVDVF9FUSgxNiwgdGhyZWFk
LnBlbmRpbmdEZWxheSgpKTsKKyAgICBFWFBFQ1RfRVEoMTYsIHRocmVhZC5wZW5kaW5nRGVsYXlN
cygpKTsKIAotICAgIHRpbWVyLT5zZXRNb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWVNcyhpbnRl
cnZhbCArIDAuMDAwMSk7CisgICAgdGltZXItPnNldE1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGlt
ZShpbnRlcnZhbCArIDAuMDAwMDAwMSk7CiAgICAgdGhyZWFkLnJ1blBlbmRpbmdUYXNrKCk7CiAK
LSAgICBFWFBFQ1RfRVEoMTYsIHRocmVhZC5wZW5kaW5nRGVsYXkoKSk7CisgICAgRVhQRUNUX0VR
KDE2LCB0aHJlYWQucGVuZGluZ0RlbGF5TXMoKSk7CiB9CiAKIC8vIEF0IDYwSHosIHdoZW4gdGhl
IHRpY2sgcmV0dXJucyBhdCBleGFjdGx5IDIqaW50ZXJ2YWwgYWZ0ZXIgdGhlIHJlcXVlc3RlZCBu
ZXh0IHRpbWUsIG1ha2Ugc3VyZQpAQCAtMTQyLDE5ICsxNDIsMTkgQEAgVEVTVChDQ0RlbGF5QmFz
ZWRUaW1lU291cmNlLCBOZXh0RGVsYXlTYW5lV2hlbkV4YWN0bHlUd2ljZUFmdGVyUmVxdWVzdGVk
VGltZSkKIHsKICAgICBGYWtlQ0NUaHJlYWQgdGhyZWFkOwogICAgIEZha2VDQ1RpbWVTb3VyY2VD
bGllbnQgY2xpZW50OwotICAgIGRvdWJsZSBpbnRlcnZhbCA9IDEwMDAuMCAvIDYwLjA7CisgICAg
ZG91YmxlIGludGVydmFsID0gMS4wIC8gNjAuMDsKICAgICBSZWZQdHI8RmFrZUNDRGVsYXlCYXNl
ZFRpbWVTb3VyY2U+IHRpbWVyID0gRmFrZUNDRGVsYXlCYXNlZFRpbWVTb3VyY2U6OmNyZWF0ZShp
bnRlcnZhbCwgJnRocmVhZCk7CiAgICAgdGltZXItPnNldENsaWVudCgmY2xpZW50KTsKICAgICB0
aW1lci0+c2V0QWN0aXZlKHRydWUpOwogICAgIC8vIFJ1biB0aGUgZmlyc3QgdGFzaywgYXMgdGhh
dCBhY3RpdmF0ZXMgdGhlIHRpbWVyIGFuZCBwaWNrcyB1cCBhIHRpbWViYXNlLgogICAgIHRocmVh
ZC5ydW5QZW5kaW5nVGFzaygpOwogCi0gICAgRVhQRUNUX0VRKDE2LCB0aHJlYWQucGVuZGluZ0Rl
bGF5KCkpOworICAgIEVYUEVDVF9FUSgxNiwgdGhyZWFkLnBlbmRpbmdEZWxheU1zKCkpOwogCi0g
ICAgdGltZXItPnNldE1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZU1zKDIqaW50ZXJ2YWwpOwor
ICAgIHRpbWVyLT5zZXRNb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoMippbnRlcnZhbCk7CiAg
ICAgdGhyZWFkLnJ1blBlbmRpbmdUYXNrKCk7CiAKLSAgICBFWFBFQ1RfRVEoMTYsIHRocmVhZC5w
ZW5kaW5nRGVsYXkoKSk7CisgICAgRVhQRUNUX0VRKDE2LCB0aHJlYWQucGVuZGluZ0RlbGF5TXMo
KSk7CiB9CiAKIC8vIEF0IDYwSHosIHdoZW4gdGhlIHRpY2sgcmV0dXJucyBhdCAyKmludGVydmFs
IGFuZCBhIGJpdCBhZnRlciB0aGUgcmVxdWVzdGVkIG5leHQgdGltZSwgbWFrZSBzdXJlCkBAIC0x
NjMsMTkgKzE2MywxOSBAQCBURVNUKENDRGVsYXlCYXNlZFRpbWVTb3VyY2UsIE5leHREZWxheVNh
bmVXaGVuU2xpZ2h0bHlBZnRlclR3aWNlUmVxdWVzdGVkVGltZSkKIHsKICAgICBGYWtlQ0NUaHJl
YWQgdGhyZWFkOwogICAgIEZha2VDQ1RpbWVTb3VyY2VDbGllbnQgY2xpZW50OwotICAgIGRvdWJs
ZSBpbnRlcnZhbCA9IDEwMDAuMCAvIDYwLjA7CisgICAgZG91YmxlIGludGVydmFsID0gMS4wIC8g
NjAuMDsKICAgICBSZWZQdHI8RmFrZUNDRGVsYXlCYXNlZFRpbWVTb3VyY2U+IHRpbWVyID0gRmFr
ZUNDRGVsYXlCYXNlZFRpbWVTb3VyY2U6OmNyZWF0ZShpbnRlcnZhbCwgJnRocmVhZCk7CiAgICAg
dGltZXItPnNldENsaWVudCgmY2xpZW50KTsKICAgICB0aW1lci0+c2V0QWN0aXZlKHRydWUpOwog
ICAgIC8vIFJ1biB0aGUgZmlyc3QgdGFzaywgYXMgdGhhdCBhY3RpdmF0ZXMgdGhlIHRpbWVyIGFu
ZCBwaWNrcyB1cCBhIHRpbWViYXNlLgogICAgIHRocmVhZC5ydW5QZW5kaW5nVGFzaygpOwogCi0g
ICAgRVhQRUNUX0VRKDE2LCB0aHJlYWQucGVuZGluZ0RlbGF5KCkpOworICAgIEVYUEVDVF9FUSgx
NiwgdGhyZWFkLnBlbmRpbmdEZWxheU1zKCkpOwogCi0gICAgdGltZXItPnNldE1vbm90b25pY2Fs
bHlJbmNyZWFzaW5nVGltZU1zKDIqaW50ZXJ2YWwgKyAwLjAwMDEpOworICAgIHRpbWVyLT5zZXRN
b25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoMippbnRlcnZhbCArIDAuMDAwMDAwMSk7CiAgICAg
dGhyZWFkLnJ1blBlbmRpbmdUYXNrKCk7CiAKLSAgICBFWFBFQ1RfRVEoMTYsIHRocmVhZC5wZW5k
aW5nRGVsYXkoKSk7CisgICAgRVhQRUNUX0VRKDE2LCB0aHJlYWQucGVuZGluZ0RlbGF5TXMoKSk7
CiB9CiAKIC8vIEF0IDYwSHosIHdoZW4gdGhlIHRpY2sgcmV0dXJucyBoYWxmd2F5IHRvIHRoZSBu
ZXh0IGZyYW1lIHRpbWUsIG1ha2Ugc3VyZQpAQCAtMTg0LDE5ICsxODQsMTkgQEAgVEVTVChDQ0Rl
bGF5QmFzZWRUaW1lU291cmNlLCBOZXh0RGVsYXlTYW5lV2hlbkhhbGZBZnRlclJlcXVlc3RlZFRp
bWUpCiB7CiAgICAgRmFrZUNDVGhyZWFkIHRocmVhZDsKICAgICBGYWtlQ0NUaW1lU291cmNlQ2xp
ZW50IGNsaWVudDsKLSAgICBkb3VibGUgaW50ZXJ2YWwgPSAxMDAwLjAgLyA2MC4wOworICAgIGRv
dWJsZSBpbnRlcnZhbCA9IDEuMCAvIDYwLjA7CiAgICAgUmVmUHRyPEZha2VDQ0RlbGF5QmFzZWRU
aW1lU291cmNlPiB0aW1lciA9IEZha2VDQ0RlbGF5QmFzZWRUaW1lU291cmNlOjpjcmVhdGUoaW50
ZXJ2YWwsICZ0aHJlYWQpOwogICAgIHRpbWVyLT5zZXRDbGllbnQoJmNsaWVudCk7CiAgICAgdGlt
ZXItPnNldEFjdGl2ZSh0cnVlKTsKICAgICAvLyBSdW4gdGhlIGZpcnN0IHRhc2ssIGFzIHRoYXQg
YWN0aXZhdGVzIHRoZSB0aW1lciBhbmQgcGlja3MgdXAgYSB0aW1lYmFzZS4KICAgICB0aHJlYWQu
cnVuUGVuZGluZ1Rhc2soKTsKIAotICAgIEVYUEVDVF9FUSgxNiwgdGhyZWFkLnBlbmRpbmdEZWxh
eSgpKTsKKyAgICBFWFBFQ1RfRVEoMTYsIHRocmVhZC5wZW5kaW5nRGVsYXlNcygpKTsKIAotICAg
IHRpbWVyLT5zZXRNb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWVNcyhpbnRlcnZhbCArIGludGVy
dmFsICogMC41KTsKKyAgICB0aW1lci0+c2V0TW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKGlu
dGVydmFsICsgaW50ZXJ2YWwgKiAwLjUpOwogICAgIHRocmVhZC5ydW5QZW5kaW5nVGFzaygpOwog
Ci0gICAgRVhQRUNUX0VRKDgsIHRocmVhZC5wZW5kaW5nRGVsYXkoKSk7CisgICAgRVhQRUNUX0VR
KDgsIHRocmVhZC5wZW5kaW5nRGVsYXlNcygpKTsKIH0KIAogCkBAIC0yMDYsMzEgKzIwNiwzMSBA
QCBURVNUKENDRGVsYXlCYXNlZFRpbWVTb3VyY2VUZXN0LCBBY2hpZXZlc1RhcmdldFJhdGVXaXRo
Tm9Ob2lzZSkKIAogICAgIEZha2VDQ1RocmVhZCB0aHJlYWQ7CiAgICAgRmFrZUNDVGltZVNvdXJj
ZUNsaWVudCBjbGllbnQ7Ci0gICAgUmVmUHRyPEZha2VDQ0RlbGF5QmFzZWRUaW1lU291cmNlPiB0
aW1lciA9IEZha2VDQ0RlbGF5QmFzZWRUaW1lU291cmNlOjpjcmVhdGUoMTAwMC4wIC8gNjAuMCwg
JnRocmVhZCk7CisgICAgUmVmUHRyPEZha2VDQ0RlbGF5QmFzZWRUaW1lU291cmNlPiB0aW1lciA9
IEZha2VDQ0RlbGF5QmFzZWRUaW1lU291cmNlOjpjcmVhdGUoMS4wIC8gNjAuMCwgJnRocmVhZCk7
CiAgICAgdGltZXItPnNldENsaWVudCgmY2xpZW50KTsKICAgICB0aW1lci0+c2V0QWN0aXZlKHRy
dWUpOwogCiAgICAgZG91YmxlIHRvdGFsRnJhbWVUaW1lID0gMDsKICAgICBmb3IgKGludCBpID0g
MDsgaSA8IG51bUl0ZXJhdGlvbnM7ICsraSkgewotICAgICAgICBsb25nIGxvbmcgZGVsYXkgPSB0
aHJlYWQucGVuZGluZ0RlbGF5KCk7CisgICAgICAgIGxvbmcgbG9uZyBkZWxheU1zID0gdGhyZWFk
LnBlbmRpbmdEZWxheU1zKCk7CiAKICAgICAgICAgLy8gYWNjdW11bGF0ZSB0aGUgImRlbGF5Igot
ICAgICAgICB0b3RhbEZyYW1lVGltZSArPSBkZWxheTsKKyAgICAgICAgdG90YWxGcmFtZVRpbWUg
Kz0gZGVsYXlNcyAvIDEwMDAuMDsKIAogICAgICAgICAvLyBSdW4gdGhlIGNhbGxiYWNrIGV4YWN0
bHkgd2hlbiBhc2tlZAotICAgICAgICBkb3VibGUgbm93ID0gdGltZXItPm1vbm90b25pY2FsbHlJ
bmNyZWFzaW5nVGltZU1zKCkgKyBkZWxheTsKLSAgICAgICAgdGltZXItPnNldE1vbm90b25pY2Fs
bHlJbmNyZWFzaW5nVGltZU1zKG5vdyk7CisgICAgICAgIGRvdWJsZSBub3cgPSB0aW1lci0+bW9u
b3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkgKyBkZWxheU1zIC8gMTAwMC4wOworICAgICAgICB0
aW1lci0+c2V0TW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKG5vdyk7CiAgICAgICAgIHRocmVh
ZC5ydW5QZW5kaW5nVGFzaygpOwogICAgIH0KICAgICBkb3VibGUgYXZlcmFnZUludGVydmFsID0g
dG90YWxGcmFtZVRpbWUgLyBzdGF0aWNfY2FzdDxkb3VibGU+KG51bUl0ZXJhdGlvbnMpOwotICAg
IEVYUEVDVF9ORUFSKDEwMDAuMCAvIDYwLjAsIGF2ZXJhZ2VJbnRlcnZhbCwgMC4xKTsKKyAgICBF
WFBFQ1RfTkVBUigxLjAgLyA2MC4wLCBhdmVyYWdlSW50ZXJ2YWwsIDAuMSk7CiB9CiAKIFRFU1Qo
Q0NEZWxheUJhc2VkVGltZVNvdXJjZSwgVGVzdERlYWN0aXZhdGVXaGlsZVBlbmRpbmcpCiB7CiAg
ICAgRmFrZUNDVGhyZWFkIHRocmVhZDsKICAgICBGYWtlQ0NUaW1lU291cmNlQ2xpZW50IGNsaWVu
dDsKLSAgICBSZWZQdHI8RmFrZUNDRGVsYXlCYXNlZFRpbWVTb3VyY2U+IHRpbWVyID0gRmFrZUND
RGVsYXlCYXNlZFRpbWVTb3VyY2U6OmNyZWF0ZSgxMDAwLjAgLyA2MC4wLCAmdGhyZWFkKTsKKyAg
ICBSZWZQdHI8RmFrZUNDRGVsYXlCYXNlZFRpbWVTb3VyY2U+IHRpbWVyID0gRmFrZUNDRGVsYXlC
YXNlZFRpbWVTb3VyY2U6OmNyZWF0ZSgxLjAgLyA2MC4wLCAmdGhyZWFkKTsKICAgICB0aW1lci0+
c2V0Q2xpZW50KCZjbGllbnQpOwogICAgIHRpbWVyLT5zZXRBY3RpdmUodHJ1ZSk7IC8vIFNob3Vs
ZCBwb3N0IGEgdGFzay4KICAgICB0aW1lci0+c2V0QWN0aXZlKGZhbHNlKTsKQEAgLTI0MiwxMiAr
MjQyLDEyIEBAIFRFU1QoQ0NEZWxheUJhc2VkVGltZVNvdXJjZSwgVGVzdERlYWN0aXZhdGVBbmRS
ZWFjdGl2YXRlQmVmb3JlTmV4dFRpY2tUaW1lKQogewogICAgIEZha2VDQ1RocmVhZCB0aHJlYWQ7
CiAgICAgRmFrZUNDVGltZVNvdXJjZUNsaWVudCBjbGllbnQ7Ci0gICAgUmVmUHRyPEZha2VDQ0Rl
bGF5QmFzZWRUaW1lU291cmNlPiB0aW1lciA9IEZha2VDQ0RlbGF5QmFzZWRUaW1lU291cmNlOjpj
cmVhdGUoMTAwMC4wIC8gNjAuMCwgJnRocmVhZCk7CisgICAgUmVmUHRyPEZha2VDQ0RlbGF5QmFz
ZWRUaW1lU291cmNlPiB0aW1lciA9IEZha2VDQ0RlbGF5QmFzZWRUaW1lU291cmNlOjpjcmVhdGUo
MS4wIC8gNjAuMCwgJnRocmVhZCk7CiAgICAgdGltZXItPnNldENsaWVudCgmY2xpZW50KTsKIAog
ICAgIC8vIFNob3VsZCBydW4gdGhlIGFjdGl2YXRlIHRhc2ssIGFuZCBwaWNrIHVwIGEgbmV3IHRp
bWViYXNlLgogICAgIHRpbWVyLT5zZXRBY3RpdmUodHJ1ZSk7Ci0gICAgdGltZXItPnNldE1vbm90
b25pY2FsbHlJbmNyZWFzaW5nVGltZU1zKDApOworICAgIHRpbWVyLT5zZXRNb25vdG9uaWNhbGx5
SW5jcmVhc2luZ1RpbWUoMCk7CiAgICAgdGhyZWFkLnJ1blBlbmRpbmdUYXNrKCk7CiAKICAgICAv
LyBTdG9wIHRoZSB0aW1lcgpAQCAtMjU4LDIxICsyNTgsMjEgQEAgVEVTVChDQ0RlbGF5QmFzZWRU
aW1lU291cmNlLCBUZXN0RGVhY3RpdmF0ZUFuZFJlYWN0aXZhdGVCZWZvcmVOZXh0VGlja1RpbWUp
CiAKICAgICAvLyBTdGFydCB0aGUgdGltZXIgYWdhaW4sIGJ1dCBiZWZvcmUgdGhlIG5leHQgdGlj
ayB0aW1lIHRoZSB0aW1lciBwcmV2aW91c2x5CiAgICAgLy8gcGxhbm5lZCBvbiB1c2luZy4gVGhh
dCBzYW1lIHRpY2sgdGltZSBzaG91bGQgc3RpbGwgYmUgdGFyZ2V0ZWQuCi0gICAgdGltZXItPnNl
dE1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZU1zKDQpOworICAgIHRpbWVyLT5zZXRNb25vdG9u
aWNhbGx5SW5jcmVhc2luZ1RpbWUoMC4wMDQpOwogICAgIHRpbWVyLT5zZXRBY3RpdmUodHJ1ZSk7
Ci0gICAgRVhQRUNUX0VRKDEyLCB0aHJlYWQucGVuZGluZ0RlbGF5KCkpOworICAgIEVYUEVDVF9F
USgxMiwgdGhyZWFkLnBlbmRpbmdEZWxheU1zKCkpOwogfQogCiBURVNUKENDRGVsYXlCYXNlZFRp
bWVTb3VyY2UsIFRlc3REZWFjdGl2YXRlQW5kUmVhY3RpdmF0ZUFmdGVyTmV4dFRpY2tUaW1lKQog
ewogICAgIEZha2VDQ1RocmVhZCB0aHJlYWQ7CiAgICAgRmFrZUNDVGltZVNvdXJjZUNsaWVudCBj
bGllbnQ7Ci0gICAgUmVmUHRyPEZha2VDQ0RlbGF5QmFzZWRUaW1lU291cmNlPiB0aW1lciA9IEZh
a2VDQ0RlbGF5QmFzZWRUaW1lU291cmNlOjpjcmVhdGUoMTAwMC4wIC8gNjAuMCwgJnRocmVhZCk7
CisgICAgUmVmUHRyPEZha2VDQ0RlbGF5QmFzZWRUaW1lU291cmNlPiB0aW1lciA9IEZha2VDQ0Rl
bGF5QmFzZWRUaW1lU291cmNlOjpjcmVhdGUoMS4wIC8gNjAuMCwgJnRocmVhZCk7CiAgICAgdGlt
ZXItPnNldENsaWVudCgmY2xpZW50KTsKIAogICAgIC8vIFNob3VsZCBydW4gdGhlIGFjdGl2YXRl
IHRhc2ssIGFuZCBwaWNrIHVwIGEgbmV3IHRpbWViYXNlLgogICAgIHRpbWVyLT5zZXRBY3RpdmUo
dHJ1ZSk7Ci0gICAgdGltZXItPnNldE1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZU1zKDApOwor
ICAgIHRpbWVyLT5zZXRNb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoMCk7CiAgICAgdGhyZWFk
LnJ1blBlbmRpbmdUYXNrKCk7CiAKICAgICAvLyBTdG9wIHRoZSB0aW1lcgpAQCAtMjgzLDkgKzI4
Myw5IEBAIFRFU1QoQ0NEZWxheUJhc2VkVGltZVNvdXJjZSwgVGVzdERlYWN0aXZhdGVBbmRSZWFj
dGl2YXRlQWZ0ZXJOZXh0VGlja1RpbWUpCiAKICAgICAvLyBTdGFydCB0aGUgdGltZXIgYWdhaW4s
IGJ1dCBiZWZvcmUgdGhlIG5leHQgdGljayB0aW1lIHRoZSB0aW1lciBwcmV2aW91c2x5CiAgICAg
Ly8gcGxhbm5lZCBvbiB1c2luZy4gVGhhdCBzYW1lIHRpY2sgdGltZSBzaG91bGQgc3RpbGwgYmUg
dGFyZ2V0ZWQuCi0gICAgdGltZXItPnNldE1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZU1zKDIw
KTsKKyAgICB0aW1lci0+c2V0TW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKDAuMDIpOwogICAg
IHRpbWVyLT5zZXRBY3RpdmUodHJ1ZSk7Ci0gICAgRVhQRUNUX0VRKDEzLCB0aHJlYWQucGVuZGlu
Z0RlbGF5KCkpOworICAgIEVYUEVDVF9FUSgxMywgdGhyZWFkLnBlbmRpbmdEZWxheU1zKCkpOwog
fQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDRnJhbWVS
YXRlQ29udHJvbGxlclRlc3QuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ0Zy
YW1lUmF0ZUNvbnRyb2xsZXJUZXN0LmNwcAppbmRleCBmMzE1OTAzOTAxYWJlODYyYjg0YzEwOTNl
YWQxZGZhNmUxNDJmODM3Li5jOWE2MGNmYWEyM2I1MDQ4MDQwODRmNGMwMGZjYWYzOWY3ODczYjM4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDRnJhbWVSYXRlQ29u
dHJvbGxlclRlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NGcmFt
ZVJhdGVDb250cm9sbGVyVGVzdC5jcHAKQEAgLTUzLDcgKzUzLDcgQEAgVEVTVChDQ0ZyYW1lUmF0
ZUNvbnRyb2xsZXJUZXN0LCBUZXN0RnJhbWVUaHJvdHRsaW5nX0ltbWVkaWF0ZUFjaykKIHsKICAg
ICBGYWtlQ0NUaHJlYWQgdGhyZWFkOwogICAgIEZha2VDQ0ZyYW1lUmF0ZUNvbnRyb2xsZXJDbGll
bnQgY2xpZW50OwotICAgIFJlZlB0cjxGYWtlQ0NEZWxheUJhc2VkVGltZVNvdXJjZT4gdGltZVNv
dXJjZSA9IEZha2VDQ0RlbGF5QmFzZWRUaW1lU291cmNlOjpjcmVhdGUoMTAwMC4wIC8gNjAuMCwg
JnRocmVhZCk7CisgICAgUmVmUHRyPEZha2VDQ0RlbGF5QmFzZWRUaW1lU291cmNlPiB0aW1lU291
cmNlID0gRmFrZUNDRGVsYXlCYXNlZFRpbWVTb3VyY2U6OmNyZWF0ZSgxLjAgLyA2MC4wLCAmdGhy
ZWFkKTsKICAgICBDQ0ZyYW1lUmF0ZUNvbnRyb2xsZXIgY29udHJvbGxlcih0aW1lU291cmNlKTsK
IAogICAgIGNvbnRyb2xsZXIuc2V0Q2xpZW50KCZjbGllbnQpOwpAQCAtNjIsOCArNjIsOCBAQCBU
RVNUKENDRnJhbWVSYXRlQ29udHJvbGxlclRlc3QsIFRlc3RGcmFtZVRocm90dGxpbmdfSW1tZWRp
YXRlQWNrKQogICAgIGRvdWJsZSBlbGFwc2VkID0gMDsgLy8gTXVjayBhcm91bmQgd2l0aCB0aW1l
IGEgYml0CiAKICAgICAvLyBUcmlnZ2VyIG9uZSBmcmFtZSwgbWFrZSBzdXJlIHRoZSB2c3luYyBj
YWxsYmFjayBpcyBjYWxsZWQKLSAgICBlbGFwc2VkICs9IHRocmVhZC5wZW5kaW5nRGVsYXkoKTsK
LSAgICB0aW1lU291cmNlLT5zZXRNb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWVNcyhlbGFwc2Vk
KTsKKyAgICBlbGFwc2VkICs9IHRocmVhZC5wZW5kaW5nRGVsYXlNcygpIC8gMTAwMC4wOworICAg
IHRpbWVTb3VyY2UtPnNldE1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZShlbGFwc2VkKTsKICAg
ICB0aHJlYWQucnVuUGVuZGluZ1Rhc2soKTsKICAgICBFWFBFQ1RfVFJVRShjbGllbnQudnN5bmNU
aWNrZWQoKSk7CiAgICAgY2xpZW50LnJlc2V0KCk7CkBAIC03MiwxMyArNzIsMTMgQEAgVEVTVChD
Q0ZyYW1lUmF0ZUNvbnRyb2xsZXJUZXN0LCBUZXN0RnJhbWVUaHJvdHRsaW5nX0ltbWVkaWF0ZUFj
aykKICAgICBjb250cm9sbGVyLmRpZEJlZ2luRnJhbWUoKTsKIAogICAgIC8vIFRlbGwgdGhlIGNv
bnRyb2xsZXIgdGhlIGZyYW1lIGVuZGVkIDVtcyBsYXRlcgotICAgIHRpbWVTb3VyY2UtPnNldE1v
bm90b25pY2FsbHlJbmNyZWFzaW5nVGltZU1zKHRpbWVTb3VyY2UtPm1vbm90b25pY2FsbHlJbmNy
ZWFzaW5nVGltZU1zKCkgKyA1KTsKKyAgICB0aW1lU291cmNlLT5zZXRNb25vdG9uaWNhbGx5SW5j
cmVhc2luZ1RpbWUodGltZVNvdXJjZS0+bW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkgKyAw
LjAwNSk7CiAgICAgY29udHJvbGxlci5kaWRGaW5pc2hGcmFtZSgpOwogCiAgICAgLy8gVHJpZ2dl
ciBhbm90aGVyIGZyYW1lLCBtYWtlIHN1cmUgdnN5bmMgcnVucyBhZ2FpbgotICAgIGVsYXBzZWQg
Kz0gdGhyZWFkLnBlbmRpbmdEZWxheSgpOwotICAgIEVYUEVDVF9UUlVFKGVsYXBzZWQgPj0gdGlt
ZVNvdXJjZS0+bW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lTXMoKSk7IC8vIFNhbml0eSBjaGVj
ayB0aGF0IHByZXZpb3VzIGNvZGUgZGlkbid0IG1vdmUgdGltZSBiYWNrd2FyZC4KLSAgICB0aW1l
U291cmNlLT5zZXRNb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWVNcyhlbGFwc2VkKTsKKyAgICBl
bGFwc2VkICs9IHRocmVhZC5wZW5kaW5nRGVsYXlNcygpIC8gMTAwMC4wOworICAgIEVYUEVDVF9U
UlVFKGVsYXBzZWQgPj0gdGltZVNvdXJjZS0+bW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkp
OyAvLyBTYW5pdHkgY2hlY2sgdGhhdCBwcmV2aW91cyBjb2RlIGRpZG4ndCBtb3ZlIHRpbWUgYmFj
a3dhcmQuCisgICAgdGltZVNvdXJjZS0+c2V0TW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKGVs
YXBzZWQpOwogICAgIHRocmVhZC5ydW5QZW5kaW5nVGFzaygpOwogICAgIEVYUEVDVF9UUlVFKGNs
aWVudC52c3luY1RpY2tlZCgpKTsKIH0KQEAgLTg3LDcgKzg3LDcgQEAgVEVTVChDQ0ZyYW1lUmF0
ZUNvbnRyb2xsZXJUZXN0LCBUZXN0RnJhbWVUaHJvdHRsaW5nX1R3b0ZyYW1lc0luRmxpZ2h0KQog
ewogICAgIEZha2VDQ1RocmVhZCB0aHJlYWQ7CiAgICAgRmFrZUNDRnJhbWVSYXRlQ29udHJvbGxl
ckNsaWVudCBjbGllbnQ7Ci0gICAgUmVmUHRyPEZha2VDQ0RlbGF5QmFzZWRUaW1lU291cmNlPiB0
aW1lU291cmNlID0gRmFrZUNDRGVsYXlCYXNlZFRpbWVTb3VyY2U6OmNyZWF0ZSgxMDAwLjAgLyA2
MC4wLCAmdGhyZWFkKTsKKyAgICBSZWZQdHI8RmFrZUNDRGVsYXlCYXNlZFRpbWVTb3VyY2U+IHRp
bWVTb3VyY2UgPSBGYWtlQ0NEZWxheUJhc2VkVGltZVNvdXJjZTo6Y3JlYXRlKDEuMCAvIDYwLjAs
ICZ0aHJlYWQpOwogICAgIENDRnJhbWVSYXRlQ29udHJvbGxlciBjb250cm9sbGVyKHRpbWVTb3Vy
Y2UpOwogCiAgICAgY29udHJvbGxlci5zZXRDbGllbnQoJmNsaWVudCk7CkBAIC05Nyw4ICs5Nyw4
IEBAIFRFU1QoQ0NGcmFtZVJhdGVDb250cm9sbGVyVGVzdCwgVGVzdEZyYW1lVGhyb3R0bGluZ19U
d29GcmFtZXNJbkZsaWdodCkKICAgICBkb3VibGUgZWxhcHNlZCA9IDA7IC8vIE11Y2sgYXJvdW5k
IHdpdGggdGltZSBhIGJpdAogCiAgICAgLy8gVHJpZ2dlciBvbmUgZnJhbWUsIG1ha2Ugc3VyZSB0
aGUgdnN5bmMgY2FsbGJhY2sgaXMgY2FsbGVkCi0gICAgZWxhcHNlZCArPSB0aHJlYWQucGVuZGlu
Z0RlbGF5KCk7Ci0gICAgdGltZVNvdXJjZS0+c2V0TW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1l
TXMoZWxhcHNlZCk7CisgICAgZWxhcHNlZCArPSB0aHJlYWQucGVuZGluZ0RlbGF5TXMoKSAvIDEw
MDAuMDsKKyAgICB0aW1lU291cmNlLT5zZXRNb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoZWxh
cHNlZCk7CiAgICAgdGhyZWFkLnJ1blBlbmRpbmdUYXNrKCk7CiAgICAgRVhQRUNUX1RSVUUoY2xp
ZW50LnZzeW5jVGlja2VkKCkpOwogICAgIGNsaWVudC5yZXNldCgpOwpAQCAtMTA3LDkgKzEwNyw5
IEBAIFRFU1QoQ0NGcmFtZVJhdGVDb250cm9sbGVyVGVzdCwgVGVzdEZyYW1lVGhyb3R0bGluZ19U
d29GcmFtZXNJbkZsaWdodCkKICAgICBjb250cm9sbGVyLmRpZEJlZ2luRnJhbWUoKTsKIAogICAg
IC8vIFRyaWdnZXIgYW5vdGhlciBmcmFtZSwgbWFrZSBzdXJlIHZzeW5jIGNhbGxiYWNrIHJ1bnMg
YWdhaW4KLSAgICBlbGFwc2VkICs9IHRocmVhZC5wZW5kaW5nRGVsYXkoKTsKLSAgICBFWFBFQ1Rf
VFJVRShlbGFwc2VkID49IHRpbWVTb3VyY2UtPm1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZU1z
KCkpOyAvLyBTYW5pdHkgY2hlY2sgdGhhdCBwcmV2aW91cyBjb2RlIGRpZG4ndCBtb3ZlIHRpbWUg
YmFja3dhcmQuCi0gICAgdGltZVNvdXJjZS0+c2V0TW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1l
TXMoZWxhcHNlZCk7CisgICAgZWxhcHNlZCArPSB0aHJlYWQucGVuZGluZ0RlbGF5TXMoKSAvIDEw
MDAuMDsKKyAgICBFWFBFQ1RfVFJVRShlbGFwc2VkID49IHRpbWVTb3VyY2UtPm1vbm90b25pY2Fs
bHlJbmNyZWFzaW5nVGltZSgpKTsgLy8gU2FuaXR5IGNoZWNrIHRoYXQgcHJldmlvdXMgY29kZSBk
aWRuJ3QgbW92ZSB0aW1lIGJhY2t3YXJkLgorICAgIHRpbWVTb3VyY2UtPnNldE1vbm90b25pY2Fs
bHlJbmNyZWFzaW5nVGltZShlbGFwc2VkKTsKICAgICB0aHJlYWQucnVuUGVuZGluZ1Rhc2soKTsK
ICAgICBFWFBFQ1RfVFJVRShjbGllbnQudnN5bmNUaWNrZWQoKSk7CiAgICAgY2xpZW50LnJlc2V0
KCk7CkBAIC0xMTgsMjMgKzExOCwyMyBAQCBURVNUKENDRnJhbWVSYXRlQ29udHJvbGxlclRlc3Qs
IFRlc3RGcmFtZVRocm90dGxpbmdfVHdvRnJhbWVzSW5GbGlnaHQpCiAgICAgY29udHJvbGxlci5k
aWRCZWdpbkZyYW1lKCk7CiAKICAgICAvLyBUcmlnZ2VyIGFub3RoZXIgZnJhbWUuIFNpbmNlIHR3
byBmcmFtZXMgYXJlIHBlbmRpbmcsIHdlIHNob3VsZCBub3QgZHJhdy4KLSAgICBlbGFwc2VkICs9
IHRocmVhZC5wZW5kaW5nRGVsYXkoKTsKLSAgICBFWFBFQ1RfVFJVRShlbGFwc2VkID49IHRpbWVT
b3VyY2UtPm1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZU1zKCkpOyAvLyBTYW5pdHkgY2hlY2sg
dGhhdCBwcmV2aW91cyBjb2RlIGRpZG4ndCBtb3ZlIHRpbWUgYmFja3dhcmQuCi0gICAgdGltZVNv
dXJjZS0+c2V0TW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lTXMoZWxhcHNlZCk7CisgICAgZWxh
cHNlZCArPSB0aHJlYWQucGVuZGluZ0RlbGF5TXMoKSAvIDEwMDAuMDsKKyAgICBFWFBFQ1RfVFJV
RShlbGFwc2VkID49IHRpbWVTb3VyY2UtPm1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpKTsg
Ly8gU2FuaXR5IGNoZWNrIHRoYXQgcHJldmlvdXMgY29kZSBkaWRuJ3QgbW92ZSB0aW1lIGJhY2t3
YXJkLgorICAgIHRpbWVTb3VyY2UtPnNldE1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZShlbGFw
c2VkKTsKICAgICB0aHJlYWQucnVuUGVuZGluZ1Rhc2soKTsKICAgICBFWFBFQ1RfRkFMU0UoY2xp
ZW50LnZzeW5jVGlja2VkKCkpOwogCiAgICAgLy8gVGVsbCB0aGUgY29udHJvbGxlciB0aGUgZmly
c3QgZnJhbWUgZW5kZWQgNW1zIGxhdGVyCi0gICAgdGltZVNvdXJjZS0+c2V0TW9ub3RvbmljYWxs
eUluY3JlYXNpbmdUaW1lTXModGltZVNvdXJjZS0+bW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1l
TXMoKSArIDUpOworICAgIHRpbWVTb3VyY2UtPnNldE1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGlt
ZSh0aW1lU291cmNlLT5tb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSArIDAuMDA1KTsKICAg
ICBjb250cm9sbGVyLmRpZEZpbmlzaEZyYW1lKCk7CiAKICAgICAvLyBUaWNrIHNob3VsZCBub3Qg
aGF2ZSBiZWVuIGNhbGxlZAogICAgIEVYUEVDVF9GQUxTRShjbGllbnQudnN5bmNUaWNrZWQoKSk7
CiAKICAgICAvLyBUcmlnZ2VyIHlldCBhbm90aGVyIGZyYW1lLiBTaW5jZSBvbmUgZnJhbWVzIGlz
IHBlbmRpbmcsIGFub3RoZXIgdnN5bmMgY2FsbGJhY2sgc2hvdWxkIHJ1bi4KLSAgICBlbGFwc2Vk
ICs9IHRocmVhZC5wZW5kaW5nRGVsYXkoKTsKLSAgICBFWFBFQ1RfVFJVRShlbGFwc2VkID49IHRp
bWVTb3VyY2UtPm1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZU1zKCkpOyAvLyBTYW5pdHkgY2hl
Y2sgdGhhdCBwcmV2aW91cyBjb2RlIGRpZG4ndCBtb3ZlIHRpbWUgYmFja3dhcmQuCi0gICAgdGlt
ZVNvdXJjZS0+c2V0TW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lTXMoZWxhcHNlZCk7CisgICAg
ZWxhcHNlZCArPSB0aHJlYWQucGVuZGluZ0RlbGF5TXMoKSAvIDEwMDAuMDsKKyAgICBFWFBFQ1Rf
VFJVRShlbGFwc2VkID49IHRpbWVTb3VyY2UtPm1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgp
KTsgLy8gU2FuaXR5IGNoZWNrIHRoYXQgcHJldmlvdXMgY29kZSBkaWRuJ3QgbW92ZSB0aW1lIGJh
Y2t3YXJkLgorICAgIHRpbWVTb3VyY2UtPnNldE1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZShl
bGFwc2VkKTsKICAgICB0aHJlYWQucnVuUGVuZGluZ1Rhc2soKTsKICAgICBFWFBFQ1RfVFJVRShj
bGllbnQudnN5bmNUaWNrZWQoKSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3Rlc3RzL0NDU2NoZWR1bGVyVGVzdENvbW1vbi5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1
bS90ZXN0cy9DQ1NjaGVkdWxlclRlc3RDb21tb24uaAppbmRleCA5YjVlMDM4M2UyZWY0MDZlMWZm
MDU2Zjc4ZWVjZmZjZTI0YjNkODM4Li4zOWNmOWU0OTYzMzgwODhkYmQ2NTQ1YzI1MmUxZDQxZWEw
MGI5NDA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDU2NoZWR1
bGVyVGVzdENvbW1vbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NTY2hl
ZHVsZXJUZXN0Q29tbW9uLmgKQEAgLTYxLDcgKzYxLDcgQEAgcHVibGljOgogICAgICAgICB0YXNr
LT5wZXJmb3JtVGFzaygpOwogICAgIH0KIAotICAgIGxvbmcgbG9uZyBwZW5kaW5nRGVsYXkoKSBj
b25zdAorICAgIGxvbmcgbG9uZyBwZW5kaW5nRGVsYXlNcygpIGNvbnN0CiAgICAgewogICAgICAg
ICBFWFBFQ1RfVFJVRShoYXNQZW5kaW5nVGFzaygpKTsKICAgICAgICAgcmV0dXJuIG1fcGVuZGlu
Z1Rhc2tEZWxheTsKQEAgLTEwNywyMCArMTA3LDIwIEBAIHByb3RlY3RlZDoKIAogY2xhc3MgRmFr
ZUNDRGVsYXlCYXNlZFRpbWVTb3VyY2UgOiBwdWJsaWMgV2ViQ29yZTo6Q0NEZWxheUJhc2VkVGlt
ZVNvdXJjZSB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8RmFrZUNDRGVsYXlCYXNl
ZFRpbWVTb3VyY2U+IGNyZWF0ZShkb3VibGUgaW50ZXJ2YWxNcywgV2ViQ29yZTo6Q0NUaHJlYWQq
IHRocmVhZCkKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxGYWtlQ0NEZWxheUJhc2VkVGltZVNvdXJj
ZT4gY3JlYXRlKGRvdWJsZSBpbnRlcnZhbCwgV2ViQ29yZTo6Q0NUaHJlYWQqIHRocmVhZCkKICAg
ICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgRmFrZUNDRGVsYXlCYXNlZFRpbWVTb3Vy
Y2UoaW50ZXJ2YWxNcywgdGhyZWFkKSk7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgRmFr
ZUNDRGVsYXlCYXNlZFRpbWVTb3VyY2UoaW50ZXJ2YWwsIHRocmVhZCkpOwogICAgIH0KIAotICAg
IHZvaWQgc2V0TW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lTXMoZG91YmxlIHRpbWUpIHsgbV9t
b25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWVNcyA9IHRpbWU7IH0KLSAgICB2aXJ0dWFsIGRvdWJs
ZSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWVNcygpIGNvbnN0IHsgcmV0dXJuIG1fbW9ub3Rv
bmljYWxseUluY3JlYXNpbmdUaW1lTXM7IH0KKyAgICB2b2lkIHNldE1vbm90b25pY2FsbHlJbmNy
ZWFzaW5nVGltZShkb3VibGUgdGltZSkgeyBtX21vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSA9
IHRpbWU7IH0KKyAgICB2aXJ0dWFsIGRvdWJsZSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUo
KSBjb25zdCB7IHJldHVybiBtX21vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZTsgfQogCiBwcm90
ZWN0ZWQ6Ci0gICAgRmFrZUNDRGVsYXlCYXNlZFRpbWVTb3VyY2UoZG91YmxlIGludGVydmFsTXMs
IFdlYkNvcmU6OkNDVGhyZWFkKiB0aHJlYWQpCi0gICAgICAgIDogQ0NEZWxheUJhc2VkVGltZVNv
dXJjZShpbnRlcnZhbE1zLCB0aHJlYWQpCi0gICAgICAgICwgbV9tb25vdG9uaWNhbGx5SW5jcmVh
c2luZ1RpbWVNcygwKSB7IH0KKyAgICBGYWtlQ0NEZWxheUJhc2VkVGltZVNvdXJjZShkb3VibGUg
aW50ZXJ2YWwsIFdlYkNvcmU6OkNDVGhyZWFkKiB0aHJlYWQpCisgICAgICAgIDogQ0NEZWxheUJh
c2VkVGltZVNvdXJjZShpbnRlcnZhbCwgdGhyZWFkKQorICAgICAgICAsIG1fbW9ub3RvbmljYWxs
eUluY3JlYXNpbmdUaW1lKDApIHsgfQogCi0gICAgZG91YmxlIG1fbW9ub3RvbmljYWxseUluY3Jl
YXNpbmdUaW1lTXM7CisgICAgZG91YmxlIG1fbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lOwog
fTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ1RpbWVy
VGVzdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDVGltZXJUZXN0LmNwcApp
bmRleCAyOThiNjk1NjI4ZjE1MDBkMDg1NTU2NDY0YzY3ZDRhMmIyNDM2NzQwLi4zOThmY2E1NmVi
NjdlZmE2NzdiOGE4ZDA4ZjM1M2JjZTg4NTA2NmZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3Rlc3RzL0NDVGltZXJUZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3Rlc3RzL0NDVGltZXJUZXN0LmNwcApAQCAtNTQsNyArNTQsNyBAQCBwcm90ZWN0ZWQ6CiBU
RVNUX0YoQ0NUaW1lclRlc3QsIE9uZVNob3QpCiB7CiAgICAgQ0NUaW1lciB0aW1lcigmbV90aHJl
YWQsIHRoaXMpOwotICAgIHRpbWVyLnN0YXJ0T25lU2hvdCgxKTsKKyAgICB0aW1lci5zdGFydE9u
ZVNob3QoMC4wMDEpOwogCiAgICAgbV90aHJlYWQucnVuUGVuZGluZ1Rhc2soKTsKICAgICBFWFBF
Q1RfVFJVRShtX2ZsYWcpOwpAQCAtNjQsNyArNjQsNyBAQCBURVNUX0YoQ0NUaW1lclRlc3QsIE9u
ZVNob3QpCiBURVNUX0YoQ0NUaW1lclRlc3QsIFN0b3BNYW51YWxseSkKIHsKICAgICBDQ1RpbWVy
IHRpbWVyKCZtX3RocmVhZCwgdGhpcyk7Ci0gICAgdGltZXIuc3RhcnRPbmVTaG90KDEpOworICAg
IHRpbWVyLnN0YXJ0T25lU2hvdCgwLjAwMSk7CiAgICAgdGltZXIuc3RvcCgpOwogCiAgICAgbV90
aHJlYWQucnVuUGVuZGluZ1Rhc2soKTsKQEAgLTc2LDcgKzc2LDcgQEAgVEVTVF9GKENDVGltZXJU
ZXN0LCBTdG9wQnlTY29wZSkKIHsKICAgICB7CiAgICAgICAgIENDVGltZXIgdGltZXIoJm1fdGhy
ZWFkLCB0aGlzKTsKLSAgICAgICAgdGltZXIuc3RhcnRPbmVTaG90KDEpOworICAgICAgICB0aW1l
ci5zdGFydE9uZVNob3QoMC4wMDEpOwogICAgIH0KIAogICAgIG1fdGhyZWFkLnJ1blBlbmRpbmdU
YXNrKCk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>