<?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>171477</bug_id>
          
          <creation_ts>2017-04-29 07:57:03 -0700</creation_ts>
          <short_desc>Move WebCore CPUTime to WTF and implement it in all the platforms</short_desc>
          <delta_ts>2017-04-29 11:03:29 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>achristensen</cc>
    
    <cc>cdumez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1303002</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-04-29 07:57:03 -0700</bug_when>
    <thetext>Move WebCore CPUTime to WTF and implement it in all the platforms</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1303003</commentid>
    <comment_count>1</comment_count>
      <attachid>308667</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-04-29 08:02:01 -0700</bug_when>
    <thetext>Created attachment 308667
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1303004</commentid>
    <comment_count>2</comment_count>
      <attachid>308668</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-04-29 08:15:43 -0700</bug_when>
    <thetext>Created attachment 308668
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1303011</commentid>
    <comment_count>3</comment_count>
      <attachid>308671</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-04-29 09:40:28 -0700</bug_when>
    <thetext>Created attachment 308671
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1303012</commentid>
    <comment_count>4</comment_count>
      <attachid>308671</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-04-29 10:05:35 -0700</bug_when>
    <thetext>Comment on attachment 308671
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1303016</commentid>
    <comment_count>5</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-04-29 11:03:29 -0700</bug_when>
    <thetext>Committed r215973: &lt;http://trac.webkit.org/changeset/215973&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>308667</attachid>
            <date>2017-04-29 08:02:01 -0700</date>
            <delta_ts>2017-04-29 08:15:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-171477-20170430000200.patch</filename>
            <type>text/plain</type>
            <size>51528</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE1OTcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGY1ZmYzYmZjN2UzY2M0OGM1YjE4MTc3
MGQyMTBkOWZiOWFmYzMyNzcuLjJlYTYwZDZmYTVhM2Q4MDcyMWE1ZTUyN2JiNzk0NjEyMGQ0ZTdk
NmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMzYgQEAKKzIwMTctMDQtMjkgIFl1c3VrZSBTdXp1a2kgIDx1dGF0
YW5lLnRlYUBnbWFpbC5jb20+CisKKyAgICAgICAgTW92ZSBXZWJDb3JlIENQVVRpbWUgdG8gV1RG
IGFuZCBpbXBsZW1lbnQgaXQgaW4gYWxsIHRoZSBwbGF0Zm9ybXMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MTQ3NworCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlIG1vdmUgV2ViQ29yZTo6Q1BVVGltZSB0
byBXVEY6OkNQVVRpbWUgc2luY2UgaXQgaXMgdXNlZnVsIGV2ZW4gaW4gSlNDCisgICAgICAgIGFu
ZCBpdCBkb2VzIG5vdCBkZXBlbmQgb24gYW55IGV4dGVybmFsIGxpYnJhcmllcy4KKyAgICAgICAg
QW5kIHdlIGFkZGl0aW9uYWxseSBpbXBsZW1lbnQgV1RGOjpDUFVUaW1lIGluIGFsbCB0aGUgcGxh
dGZvcm1zOiBXaW5kb3dzIGFuZCBVbml4LgorCisgICAgICAgIEluIENQVVRpbWUsIGluc3RlYWQg
b2YgaG9sZGluZyBpbnQ2NF90LCB3ZSBob2xkIE1vbm90b25pY1RpbWUgYW5kIFNlY29uZHMuCisK
KyAgICAgICAgKiBXVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiB3dGYv
Q01ha2VMaXN0cy50eHQ6CisgICAgICAgICogd3RmL0NQVVRpbWUuY3BwOiBDb3BpZWQgZnJvbSBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9DUFVUaW1lLmNwcC4KKyAgICAgICAgKFdURjo6Q1BVVGlt
ZTo6cGVyY2VudGFnZUNQVVVzYWdlU2luY2UpOgorICAgICAgICAqIHd0Zi9DUFVUaW1lLmg6IFJl
bmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9DUFVUaW1lLmguCisgICAgICAgICog
d3RmL1BsYXRmb3JtRWZsLmNtYWtlOgorICAgICAgICAqIHd0Zi9QbGF0Zm9ybUdUSy5jbWFrZToK
KyAgICAgICAgKiB3dGYvUGxhdGZvcm1KU0NPbmx5LmNtYWtlOgorICAgICAgICAqIHd0Zi9QbGF0
Zm9ybU1hYy5jbWFrZToKKyAgICAgICAgKiB3dGYvUGxhdGZvcm1XaW4uY21ha2U6CisgICAgICAg
ICogd3RmL2NvY29hL0NQVVRpbWVDb2NvYS5tbTogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2NvY29hL0NQVVRpbWVDb2NvYS5tbS4KKyAgICAgICAgKFdURjo6dGltZVZhbHVl
VG9NaWNyb3NlY29uZHMpOgorICAgICAgICAoV1RGOjpDUFVUaW1lOjpnZXQpOgorICAgICAgICAq
IHd0Zi91bml4L0NQVVRpbWVVbml4LmNwcDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL0NQVVRpbWUuY3BwLgorICAgICAgICAoV1RGOjp0aW1ldmFsVG9TZWNvbmRzKToKKyAg
ICAgICAgKFdURjo6Q1BVVGltZTo6Z2V0KToKKyAgICAgICAgKiB3dGYvd2luL0NQVVRpbWVXaW4u
Y3BwOiBBZGRlZC4KKyAgICAgICAgKFdURjo6ZmlsZVRpbWVUb1NlY29uZHMpOgorICAgICAgICAo
V1RGOjpDUFVUaW1lOjpnZXQpOgorCiAyMDE3LTA0LTI4ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5m
cmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBzeXN0ZW0gdHJhY2UgcG9pbnRzIGZvciBE
b2N1bWVudDo6dXBkYXRlVG91Y2hFdmVudFJlZ2lvbnMoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGNkMjk0NDI5
ZGViYjMyNGFlODIwZTY5NWIwNjRjOGQzMDA2NTgxOTIuLjliMmQxODRkMTQ5NTg0NmQ1NzI5YzJm
MjgzYmQyNzE1OWJlMjg5YzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBAQAorMjAxNy0wNC0y
OSAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWlsLmNvbT4KKworICAgICAgICBNb3Zl
IFdlYkNvcmUgQ1BVVGltZSB0byBXVEYgYW5kIGltcGxlbWVudCBpdCBpbiBhbGwgdGhlIHBsYXRm
b3JtcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcx
NDc3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTW92
ZSBDUFVUaW1lIHRvIFdURi4gQW5kIHJlbmFtZSBnZXRDUFVUaW1lIHRvIENQVVRpbWU6OmdldCgp
LgorCisgICAgICAgICogUGxhdGZvcm1NYWMuY21ha2U6CisgICAgICAgICogV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIHBhZ2UvQ2hyb21lQ2xpZW50Lmg6Cisg
ICAgICAgICogcGFnZS9QZXJmb3JtYW5jZU1vbml0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UGVyZm9ybWFuY2VNb25pdG9yOjpQZXJmb3JtYW5jZU1vbml0b3IpOgorICAgICAgICAoV2ViQ29y
ZTo6UGVyZm9ybWFuY2VNb25pdG9yOjptZWFzdXJlUG9zdExvYWRDUFVVc2FnZSk6CisgICAgICAg
IChXZWJDb3JlOjpQZXJmb3JtYW5jZU1vbml0b3I6Om1lYXN1cmVQb3N0QmFja2dyb3VuZGluZ0NQ
VVVzYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlTW9uaXRvcjo6bWVhc3VyZUNQ
VVVzYWdlSW5BY3Rpdml0eVN0YXRlKToKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlTW9uaXRv
ci5oOgorICAgICAgICAqIHBsYXRmb3JtL0NQVU1vbml0b3IuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Q1BVTW9uaXRvcjo6c2V0Q1BVTGltaXQpOgorICAgICAgICAoV2ViQ29yZTo6Q1BVTW9uaXRv
cjo6dGltZXJGaXJlZCk6CisgICAgICAgICogcGxhdGZvcm0vQ1BVTW9uaXRvci5oOgorCiAyMDE3
LTA0LTI4ICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBD
cmFzaCB1bmRlciBXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0OjpoYW5kbGVBcmlh
RXhwYW5kZWRDaGFuZ2VkKCkuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggODhhZTVkNDBlZjI0YjYzYjZkZGM3ODQ0
NjM1ZGI2ODNjZjgxODM4Ny4uNzQ5Nzg0MTZjMzAwOGQyMmJlOThmZDU2MTAzZmRhNGRkYjQ3Y2Qx
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDE3LTA0LTI5ICBZdXN1a2UgU3V6dWtp
ICA8dXRhdGFuZS50ZWFAZ21haWwuY29tPgorCisgICAgICAgIE1vdmUgV2ViQ29yZSBDUFVUaW1l
IHRvIFdURiBhbmQgaW1wbGVtZW50IGl0IGluIGFsbCB0aGUgcGxhdGZvcm1zCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzE0NzcKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZSBub3cgaG9sZCBTZWNvbmRz
IGluIENQVVRpbWUgaW5zdGVhZCBvZiBpbnQ2NF90LiBJdCBmaW5hbGx5IHNlbmRzCisgICAgICAg
IFNlY29uZHMgdGhyb3VnaCBXZWJLaXQyIElQQy4gV2UgZG8gbm90IG5lZWQgdG8gc3BlY2lhbGl6
ZSBBcmd1bWVudENvZGVyCisgICAgICAgIGZvciBTZWNvbmRzIHNpbmNlIFNlY29uZHMganVzdCBo
b2xkcyBkb3VibGUuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvUGVyQWN0aXZpdHlTdGF0ZUNQVVVz
YWdlU2FtcGxlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OlBlckFjdGl2aXR5U3RhdGVDUFVVc2Fn
ZVNhbXBsZXI6OlBlckFjdGl2aXR5U3RhdGVDUFVVc2FnZVNhbXBsZXIpOgorICAgICAgICAoV2Vi
S2l0OjpQZXJBY3Rpdml0eVN0YXRlQ1BVVXNhZ2VTYW1wbGVyOjpyZXBvcnRXZWJDb250ZW50Q1BV
VGltZSk6CisgICAgICAgIChXZWJLaXQ6OlBlckFjdGl2aXR5U3RhdGVDUFVVc2FnZVNhbXBsZXI6
OmxvZ2dpbmdUaW1lckZpcmVkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvUGVyQWN0aXZpdHlTdGF0
ZUNQVVVzYWdlU2FtcGxlci5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5j
cHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpyZXBvcnRXZWJDb250ZW50Q1BV
VGltZSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmg6CisgICAgICAgICog
VUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6
V2ViQ2hyb21lQ2xpZW50OjpyZXBvcnRQcm9jZXNzQ1BVVGltZSk6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaDoKKwogMjAxNy0wNC0yOCAgQnJh
ZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgVGVhY2ggdGhlIERhdGFi
YXNlUHJvY2VzcyB0byBiZSBmdWxseSBTZXNzaW9uSUQgYXdhcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV1RGL1dURi54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGI4ZDAyOGMyMzBmYzViOWY5YmFkMGJmNzc1YWIw
MTc5OGQxOWI3NGMuLmMyODcxYWYxZmQ3NTg2ZTUwNzM1ZDBlNGZkNDZiYzI1NjE2NGM2NTIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIv
U291cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMzg3LDYgKzM4Nyw5
IEBACiAJCUUzMjAwQUI3MUU5QTUzNkQwMDNCNTlEMiAvKiBQbGF0Zm9ybVJlZ2lzdGVycy5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTMyMDBBQjQxRTlB
NTM2RDAwM0I1OUQyIC8qIFBsYXRmb3JtUmVnaXN0ZXJzLmggKi87IH07CiAJCUUzMjAwQUI4MUU5
QTUzNkQwMDNCNTlEMiAvKiBUaHJlYWRIb2xkZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTMyMDBBQjUxRTlBNTM2RDAwM0I1OUQyIC8qIFRocmVh
ZEhvbGRlci5jcHAgKi87IH07CiAJCUUzMjAwQUI5MUU5QTUzNkQwMDNCNTlEMiAvKiBUaHJlYWRI
b2xkZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUz
MjAwQUI2MUU5QTUzNkQwMDNCNTlEMiAvKiBUaHJlYWRIb2xkZXIuaCAqLzsgfTsKKwkJRTM4QzQx
MjUxRUI0RTA0QzAwNDI5NTdEIC8qIENQVVRpbWVDb2NvYS5tbSBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzOEM0MTI0MUVCNEUwNEMwMDQyOTU3RCAvKiBD
UFVUaW1lQ29jb2EubW0gKi87IH07CisJCUUzOEM0MTI4MUVCNEUwNjgwMDQyOTU3RCAvKiBDUFVU
aW1lLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUz
OEM0MTI2MUVCNEUwNjgwMDQyOTU3RCAvKiBDUFVUaW1lLmNwcCAqLzsgfTsKKwkJRTM4QzQxMjkx
RUI0RTA2ODAwNDI5NTdEIC8qIENQVVRpbWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEUzOEM0MTI3MUVCNEUwNjgwMDQyOTU3RCAvKiBDUFVUaW1lLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTNFMTU4
MjYxRUFEQTUzQzAwNEEwNzlEIC8qIFN5c3RlbUZyZWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzRTE1ODI1MUVBREE1M0MwMDRBMDc5RCAvKiBTeXN0
ZW1GcmVlLmggKi87IH07CiAJCUU0M0E0Njk1MUUyMjhCOTEwMDI3NkIwNSAvKiBEZWNvZGVyLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNDNBNDY5MDFF
MjI4QjkxMDAyNzZCMDUgLyogRGVjb2Rlci5oICovOyB9OwogCQlFNDNBNDY5NjFFMjI4QjkxMDAy
NzZCMDUgLyogRW5jb2Rlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRTQzQTQ2OTExRTIyOEI5MTAwMjc2QjA1IC8qIEVuY29kZXIuaCAqLzsgfTsKQEAg
LTgwMyw2ICs4MDYsOSBAQAogCQlFMzIwMEFCNDFFOUE1MzZEMDAzQjU5RDIgLyogUGxhdGZvcm1S
ZWdpc3RlcnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGxhdGZvcm1SZWdp
c3RlcnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTMyMDBBQjUxRTlBNTM2RDAw
M0I1OUQyIC8qIFRocmVhZEhvbGRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBUaHJlYWRIb2xkZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlF
MzIwMEFCNjFFOUE1MzZEMDAzQjU5RDIgLyogVGhyZWFkSG9sZGVyLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFRocmVhZEhvbGRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlFMzhDNDEyNDFFQjRFMDRDMDA0Mjk1N0QgLyogQ1BVVGltZUNvY29hLm1tICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gQ1BVVGltZUNvY29hLm1tOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlFMzhDNDEyNjFFQjRFMDY4MDA0Mjk1N0QgLyogQ1BV
VGltZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDUFVUaW1lLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTM4QzQxMjcxRUI0RTA2ODAwNDI5NTdE
IC8qIENQVVRpbWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ1BVVGltZS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFM0UxNTgyNTFFQURBNTNDMDA0QTA3OUQg
LyogU3lzdGVtRnJlZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTeXN0ZW1G
cmVlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU0M0E0NjkwMUUyMjhCOTEwMDI3
NkIwNSAvKiBEZWNvZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERlY29k
ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTQzQTQ2OTExRTIyOEI5MTAwMjc2
QjA1IC8qIEVuY29kZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRW5jb2Rl
ci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtOTk3LDYgKzEwMDMsOCBAQAogCQkJ
CTBGNDU3MDQ0MUJFODM0NDEwMDYyQTYyOSAvKiBCdWJibGVTb3J0LmggKi8sCiAJCQkJQThBNDcy
NjcxNTFBODI1QTAwNDEyM0ZGIC8qIEJ1bXBQb2ludGVyQWxsb2NhdG9yLmggKi8sCiAJCQkJRUI5
NUUxRUYxNjFBNzI0MTAwODlBMkY1IC8qIEJ5dGVPcmRlci5oICovLAorCQkJCUUzOEM0MTI2MUVC
NEUwNjgwMDQyOTU3RCAvKiBDUFVUaW1lLmNwcCAqLywKKwkJCQlFMzhDNDEyNzFFQjRFMDY4MDA0
Mjk1N0QgLyogQ1BVVGltZS5oICovLAogCQkJCUE4QTQ3MjZBMTUxQTgyNUEwMDQxMjNGRiAvKiBD
aGVja2VkQXJpdGhtZXRpYy5oICovLAogCQkJCUE4QTQ3MjZCMTUxQTgyNUEwMDQxMjNGRiAvKiBD
aGVja2VkQm9vbGVhbi5oICovLAogCQkJCTBGNjZCMjgwMURDOTdCQUIwMDRBMUQzRiAvKiBDbG9j
a1R5cGUuY3BwICovLApAQCAtMTQyNyw2ICsxNDM1LDcgQEAKIAkJRTRBMEFEM0IxQTk2MjUxOTAw
NTM2REY2IC8qIGNvY29hICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9
ICgKKwkJCQlFMzhDNDEyNDFFQjRFMDRDMDA0Mjk1N0QgLyogQ1BVVGltZUNvY29hLm1tICovLAog
CQkJCUFEODlCNkI5MUU2NDE1MEYwMDkwNzA3RiAvKiBNZW1vcnlQcmVzc3VyZUhhbmRsZXJDb2Nv
YS5tbSAqLywKIAkJCQlFNEEwQUQzQzFBOTYyNTNDMDA1MzZERjYgLyogV29ya1F1ZXVlQ29jb2Eu
Y3BwICovLAogCQkJKTsKQEAgLTE3MDksNiArMTcxOCw3IEBACiAJCQkJRTMyMDBBQjcxRTlBNTM2
RDAwM0I1OUQyIC8qIFBsYXRmb3JtUmVnaXN0ZXJzLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjM1
MDE2NDFCQjI1OEQ1MDBGMEEyQTMgLyogV2Vha1JhbmRvbS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
MUZBNDdDOEIxNTI1MDJEQTAwNTY4RDFCIC8qIFdlYkNvcmVUaHJlYWQuaCBpbiBIZWFkZXJzICov
LAorCQkJCUUzOEM0MTI5MUVCNEUwNjgwMDQyOTU3RCAvKiBDUFVUaW1lLmggaW4gSGVhZGVycyAq
LywKIAkJCQkwRkU0NDc5RDFCN0FBQTAzMDA5NDk4RUIgLyogV29yZExvY2suaCBpbiBIZWFkZXJz
ICovLAogCQkJCUU0QTBBRDNBMUE5NjI0NTUwMDUzNkRGNiAvKiBXb3JrUXVldWUuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUE4QTQ3NDQ2MTUxQTgyNUIwMDQxMjNGRiAvKiBXVEZTdHJpbmcuaCBpbiBI
ZWFkZXJzICovLApAQCAtMTgyMSw2ICsxODMxLDcgQEAKIAkJCQk5QkM3MEYwNTE3NkMzNzlEMDAx
MDFERUMgLyogQXRvbWljU3RyaW5nVGFibGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMTQ2OTQx
OUQxNkVBQjEwQTAwMjRFMTQ2IC8qIEF1dG9kcmFpbmVkUG9vbE1hYy5tbSBpbiBTb3VyY2VzICov
LAogCQkJCTBGNDNEOEYxMURCNUFEREMwMDEwOEZCNiAvKiBBdXRvbWF0aWNUaHJlYWQuY3BwIGlu
IFNvdXJjZXMgKi8sCisJCQkJRTM4QzQxMjgxRUI0RTA2ODAwNDI5NTdEIC8qIENQVVRpbWUuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJODEzNDAxMzgxNUIwOTJGRDAwMUZGMEI4IC8qIEJhc2U2NC5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQlBOEE0NzNBODE1MUE4MjVCMDA0MTIzRkYgLyogYmlnbnVt
LWR0b2EuY2MgaW4gU291cmNlcyAqLywKIAkJCQlBOEE0NzNBQTE1MUE4MjVCMDA0MTIzRkYgLyog
YmlnbnVtLmNjIGluIFNvdXJjZXMgKi8sCkBAIC0xODU3LDYgKzE4NjgsNyBAQAogCQkJCTJDQ0Q4
OTJBMTVDMDM5MDIwMDI4NTA4MyAvKiBHcmVnb3JpYW5EYXRlVGltZS5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQlBOEE0NzNEODE1MUE4MjVCMDA0MTIzRkYgLyogSGFzaFRhYmxlLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTBGRTE2NDZBMUI2RkZDOTYwMDQwMEU3QyAvKiBMb2NrLmNwcCBpbiBTb3Vy
Y2VzICovLAorCQkJCUUzOEM0MTI1MUVCNEUwNEMwMDQyOTU3RCAvKiBDUFVUaW1lQ29jb2EubW0g
aW4gU291cmNlcyAqLywKIAkJCQkwRjYwRjMyRjFERkNCRDFCMDA0MTZENkMgLyogTG9ja2VkUHJp
bnRTdHJlYW0uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQThBNDczRTUxNTFBODI1QjAwNDEyM0ZG
IC8qIE1haW5UaHJlYWQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQThBNDczRTQxNTFBODI1QjAw
NDEyM0ZGIC8qIE1haW5UaHJlYWRNYWMubW0gaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XVEYvd3RmL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dURi93dGYvQ01ha2VMaXN0cy50
eHQKaW5kZXggOGU0NDM5MGFjZWZhODI5YzExMGQwNzdmNzkzYjg3OWEyYmE2MDZmZS4uNmQ3NGNj
YTk0MTUzYjBiMWFmNDRhNjRhNjFjZTI4Y2FlZmU0ODE0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dU
Ri93dGYvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dURi93dGYvQ01ha2VMaXN0cy50eHQK
QEAgLTEyLDYgKzEyLDcgQEAgc2V0KFdURl9IRUFERVJTCiAgICAgQnViYmxlU29ydC5oCiAgICAg
QnVtcFBvaW50ZXJBbGxvY2F0b3IuaAogICAgIEJ5dGVPcmRlci5oCisgICAgQ1BVVGltZS5oCiAg
ICAgQ2xvY2tUeXBlLmgKICAgICBDb21waWxhdGlvblRocmVhZC5oCiAgICAgQ29tcGlsZXIuaApA
QCAtMjAyLDYgKzIwMyw3IEBAIHNldChXVEZfU09VUkNFUwogICAgIEF0b21pY3MuY3BwCiAgICAg
QXV0b21hdGljVGhyZWFkLmNwcAogICAgIEJpdFZlY3Rvci5jcHAKKyAgICBDUFVUaW1lLmNwcAog
ICAgIENsb2NrVHlwZS5jcHAKICAgICBDb21waWxhdGlvblRocmVhZC5jcHAKICAgICBDcm9zc1Ro
cmVhZENvcGllci5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0NQVVRpbWUuY3BwIGIv
U291cmNlL1dURi93dGYvQ1BVVGltZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWQxYTAzNzQxMTRjMzQ4NTM3
M2UzNWRjY2UyZjhhOGQ5MDY5NGE2YwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XVEYvd3Rm
L0NQVVRpbWUuY3BwCkBAIC0wLDAgKzEsMzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29u
ZmlnLmgiCisjaW5jbHVkZSAiQ1BVVGltZS5oIgorCituYW1lc3BhY2UgV1RGIHsKKworZG91Ymxl
IENQVVRpbWU6OnBlcmNlbnRhZ2VDUFVVc2FnZVNpbmNlKGNvbnN0IENQVVRpbWUmIHJlZmVyZW5j
ZSkgY29uc3QKK3sKKyAgICBTZWNvbmRzIGNwdVVzYWdlVGltZURlbHRhID0gKHN5c3RlbVRpbWUg
KyB1c2VyVGltZSkgLSAocmVmZXJlbmNlLnN5c3RlbVRpbWUgKyByZWZlcmVuY2UudXNlclRpbWUp
OworICAgIFNlY29uZHMgY3B1VGltZURlbHRhID0gY3B1VGltZSAtIHJlZmVyZW5jZS5jcHVUaW1l
OworICAgIEFTU0VSVChjcHVUaW1lRGVsdGEpOworICAgIHJldHVybiBjcHVVc2FnZVRpbWVEZWx0
YS52YWx1ZSgpICogMTAwLjAgLyBjcHVUaW1lRGVsdGEudmFsdWUoKTsKK30KKworfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dURi93dGYvQ1BVVGltZS5oIGIvU291cmNlL1dURi93dGYvQ1BVVGltZS5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjFmMzk1OGI0MzIxNThmNDMzYmYwODBkNGYyYmE4Y2FmNDFjMjM5YjkKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9DUFVUaW1lLmgKQEAgLTAsMCArMSw0NiBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSA8d3RmL01vbm90b25pY1Rp
bWUuaD4KKyNpbmNsdWRlIDx3dGYvT3B0aW9uYWwuaD4KKyNpbmNsdWRlIDx3dGYvU2Vjb25kcy5o
PgorCituYW1lc3BhY2UgV1RGIHsKKworc3RydWN0IENQVVRpbWUgeworICAgIE1vbm90b25pY1Rp
bWUgY3B1VGltZTsKKyAgICBTZWNvbmRzIHVzZXJUaW1lOworICAgIFNlY29uZHMgc3lzdGVtVGlt
ZTsKKworICAgIFdURl9FWFBPUlRfUFJJVkFURSBkb3VibGUgcGVyY2VudGFnZUNQVVVzYWdlU2lu
Y2UoY29uc3QgQ1BVVGltZSYpIGNvbnN0OworCisgICAgV1RGX0VYUE9SVF9QUklWQVRFIHN0YXRp
YyBzdGQ6Om9wdGlvbmFsPENQVVRpbWU+IGdldCgpOworfTsKKworfSAvLyBuYW1lc3BhY2UgV1RG
CisKK3VzaW5nIFdURjo6Q1BVVGltZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRm
b3JtRWZsLmNtYWtlIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1FZmwuY21ha2UKaW5kZXggM2Jm
Y2U0MDk0NjczOWNlNDQ2YjE0NGJlMDMwZTU4OTRkNWRiMjBlYi4uYWVhMmFkOTk3N2ZjZGQ5YWZh
MmE2YjQzN2JlMjM3MzZmNzZjNjUzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUGxhdGZv
cm1FZmwuY21ha2UKKysrIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1FZmwuY21ha2UKQEAgLTEz
LDYgKzEzLDggQEAgbGlzdChBUFBFTkQgV1RGX1NPVVJDRVMKIAogICAgIGxpbnV4L0N1cnJlbnRQ
cm9jZXNzTWVtb3J5U3RhdHVzLmNwcAogICAgIGxpbnV4L01lbW9yeVByZXNzdXJlSGFuZGxlckxp
bnV4LmNwcAorCisgICAgdW5peC9DUFVUaW1lVW5peC5jcHAKICkKIAogbGlzdChBUFBFTkQgV1RG
X0xJQlJBUklFUwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1HVEsuY21ha2Ug
Yi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUdUSy5jbWFrZQppbmRleCAwOTU5ZGJhMzRkZDFiY2Y2
YTNmMWQwMzQ1NjEwZTYxM2I1NDYyMmYxLi44NDUwMTYzOTQ5M2E4Y2M4YzRiNjg3ZWFkOTcwNTI3
YTYzODAwZTFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUdUSy5jbWFrZQor
KysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUdUSy5jbWFrZQpAQCAtMTEsNiArMTEsOCBAQCBs
aXN0KEFQUEVORCBXVEZfU09VUkNFUwogICAgIGxpbnV4L0N1cnJlbnRQcm9jZXNzTWVtb3J5U3Rh
dHVzLmNwcAogICAgIGxpbnV4L01lbW9yeVByZXNzdXJlSGFuZGxlckxpbnV4LmNwcAogCisgICAg
dW5peC9DUFVUaW1lVW5peC5jcHAKKwogICAgIFBsYXRmb3JtVXNlclByZWZlcnJlZExhbmd1YWdl
c1VuaXguY3BwCiAgICAgVW5pU3RkRXh0cmFzLmNwcAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RG
L3d0Zi9QbGF0Zm9ybUpTQ09ubHkuY21ha2UgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUpTQ09u
bHkuY21ha2UKaW5kZXggOWQ4NDk1OGM3YmJiMDdlMDIzYjAyODdmNzE4OGJkMTkxMGQ3YmMxMy4u
OGQzMDM1ZmQwMzM5ZGVjOGU2M2E4ZWJjMTUwNGExYTk3OWI0NmE3NiAxMDA2NDQKLS0tIGEvU291
cmNlL1dURi93dGYvUGxhdGZvcm1KU0NPbmx5LmNtYWtlCisrKyBiL1NvdXJjZS9XVEYvd3RmL1Bs
YXRmb3JtSlNDT25seS5jbWFrZQpAQCAtNiwxMCArNiwxMiBAQCBsaXN0KEFQUEVORCBXVEZfU09V
UkNFUwogCiBpZiAoV0lOMzIpCiAgICAgbGlzdChBUFBFTkQgV1RGX1NPVVJDRVMKKyAgICAgICAg
d2luL0NQVVRpbWVXaW4uY3BwCiAgICAgICAgIHRleHQvd2luL1RleHRCcmVha0l0ZXJhdG9ySW50
ZXJuYWxJQ1VXaW4uY3BwCiAgICAgKQogZWxzZSAoKQogICAgIGxpc3QoQVBQRU5EIFdURl9TT1VS
Q0VTCisgICAgICAgIHVuaXgvQ1BVVGltZVVuaXguY3BwCiAgICAgICAgIHRleHQvdW5peC9UZXh0
QnJlYWtJdGVyYXRvckludGVybmFsSUNVVW5peC5jcHAKICAgICApCiBlbmRpZiAoKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1NYWMuY21ha2UgYi9Tb3VyY2UvV1RGL3d0Zi9Q
bGF0Zm9ybU1hYy5jbWFrZQppbmRleCBhNTc2MjNkMzU1MmM3NDgxM2Y1YTQ2NzMwMGM4MTI5NDBl
M2JkMDE2Li44M2U5ODdlYzBjY2IwYTlkZTA0Y2RhMDY0MGM3YTAzNWM1YmE2Y2ZiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybU1hYy5jbWFrZQorKysgYi9Tb3VyY2UvV1RGL3d0
Zi9QbGF0Zm9ybU1hYy5jbWFrZQpAQCAtMjIsNiArMjIsNyBAQCBsaXN0KEFQUEVORCBXVEZfU09V
UkNFUwogCiAgICAgY2YvUnVuTG9vcENGLmNwcAogCisgICAgY29jb2EvQ1BVVGltZUNvY29hLm1t
CiAgICAgY29jb2EvTWVtb3J5UHJlc3N1cmVIYW5kbGVyQ29jb2EubW0KICAgICBjb2NvYS9Xb3Jr
UXVldWVDb2NvYS5jcHAKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1XaW4u
Y21ha2UgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybVdpbi5jbWFrZQppbmRleCA2MDI4OGI3NTNm
ZmM4MmI0YTE4ZjAyNjZiZTEwYzdhYmFkYjMwODM5Li45NWQzM2MyNjFjZTVlZjJjZjc2Mjg2ODcz
NjEwNjFmODIwZjY3Nzc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybVdpbi5j
bWFrZQorKysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybVdpbi5jbWFrZQpAQCAtOCw2ICs4LDcg
QEAgbGlzdChBUFBFTkQgV1RGX1NPVVJDRVMKICAgICB0ZXh0L2NmL1N0cmluZ0ltcGxDRi5jcHAK
ICAgICB0ZXh0L2NmL1N0cmluZ1ZpZXdDRi5jcHAKIAorICAgIHdpbi9DUFVUaW1lV2luLmNwcAog
ICAgIHdpbi9NYWluVGhyZWFkV2luLmNwcAogICAgIHdpbi9NZW1vcnlQcmVzc3VyZUhhbmRsZXJX
aW4uY3BwCiAgICAgd2luL1J1bkxvb3BXaW4uY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0
Zi9jb2NvYS9DUFVUaW1lQ29jb2EubW0gYi9Tb3VyY2UvV1RGL3d0Zi9jb2NvYS9DUFVUaW1lQ29j
b2EubW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjU3ZDhhYmE1OGIzNDU3YTdmZjI3OTc5MzcwOGZkNmJiMDU0Nzcw
ZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XVEYvd3RmL2NvY29hL0NQVVRpbWVDb2NvYS5t
bQpAQCAtMCwwICsxLDcwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9ydCAiY29uZmlnLmgiCisjaW1w
b3J0ICJDUFVUaW1lLmgiCisKKyNpbXBvcnQgPG1hY2gvbWFjaF9pbml0Lmg+CisjaW1wb3J0IDxt
YWNoL3Rhc2suaD4KKyNpbXBvcnQgPG1hY2gvdGFza19pbmZvLmg+CisKK25hbWVzcGFjZSBXVEYg
eworCitzdGF0aWMgY29uc3QgaW50NjRfdCBtaWNyb3NlY29uZHNQZXJTZWNvbmQgPSAxMDAwMDAw
OworCitzdGF0aWMgaW50NjRfdCB0aW1lVmFsdWVUb01pY3Jvc2Vjb25kcyhjb25zdCB0aW1lX3Zh
bHVlX3QmIHZhbHVlKQoreworICAgIGludDY0X3QgcmVzdWx0ID0gdmFsdWUuc2Vjb25kczsKKyAg
ICByZXN1bHQgKj0gbWljcm9zZWNvbmRzUGVyU2Vjb25kOworICAgIHJlc3VsdCArPSB2YWx1ZS5t
aWNyb3NlY29uZHM7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKworc3RkOjpvcHRpb25hbDxDUFVU
aW1lPiBDUFVUaW1lOjpnZXQoKQoreworICAgIC8vIEFjY291bnQgZm9yIGN1cnJlbnQgdGhyZWFk
cy4KKyAgICB0YXNrX3RocmVhZF90aW1lc19pbmZvIHRocmVhZEluZm9EYXRhOworICAgIG1hY2hf
bXNnX3R5cGVfbnVtYmVyX3QgdGhyZWFkSW5mb0NvdW50ID0gVEFTS19USFJFQURfVElNRVNfSU5G
T19DT1VOVDsKKyAgICBrZXJuX3JldHVybl90IHJlc3VsdCA9IHRhc2tfaW5mbyhtYWNoX3Rhc2tf
c2VsZigpLCBUQVNLX1RIUkVBRF9USU1FU19JTkZPLCByZWludGVycHJldF9jYXN0PHRhc2tfaW5m
b190PigmdGhyZWFkSW5mb0RhdGEpLCAmdGhyZWFkSW5mb0NvdW50KTsKKyAgICBpZiAocmVzdWx0
ICE9IEtFUk5fU1VDQ0VTUykKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIGlu
dDY0X3QgdXNlclRpbWUgPSB0aW1lVmFsdWVUb01pY3Jvc2Vjb25kcyh0aHJlYWRJbmZvRGF0YS51
c2VyX3RpbWUpOworICAgIGludDY0X3Qgc3lzdGVtVGltZSA9IHRpbWVWYWx1ZVRvTWljcm9zZWNv
bmRzKHRocmVhZEluZm9EYXRhLnN5c3RlbV90aW1lKTsKKworICAgIC8vIEFjY291bnQgZm9yIHRl
cm1pbmVkIHRocmVhZHMuCisgICAgdGFza19iYXNpY19pbmZvIHRhc2tJbmZvRGF0YTsKKyAgICBt
YWNoX21zZ190eXBlX251bWJlcl90IHRhc2tJbmZvQ291bnQgPSBUQVNLX0JBU0lDX0lORk9fQ09V
TlQ7CisgICAgcmVzdWx0ID0gdGFza19pbmZvKG1hY2hfdGFza19zZWxmKCksIFRBU0tfQkFTSUNf
SU5GTywgcmVpbnRlcnByZXRfY2FzdDx0YXNrX2luZm9fdD4oJnRhc2tJbmZvRGF0YSksICZ0YXNr
SW5mb0NvdW50KTsKKyAgICBpZiAocmVzdWx0ICE9IEtFUk5fU1VDQ0VTUykKKyAgICAgICAgcmV0
dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIHVzZXJUaW1lICs9IHRpbWVWYWx1ZVRvTWljcm9zZWNv
bmRzKHRhc2tJbmZvRGF0YS51c2VyX3RpbWUpOworICAgIHN5c3RlbVRpbWUgKz0gdGltZVZhbHVl
VG9NaWNyb3NlY29uZHModGFza0luZm9EYXRhLnN5c3RlbV90aW1lKTsKKworICAgIHJldHVybiBD
UFVUaW1lIHsgTW9ub3RvbmljVGltZTo6bm93KCksIFNlY29uZHM6OmZyb21NaWNyb3NlY29uZHMo
dXNlclRpbWUpLCBTZWNvbmRzOjpmcm9tTWljcm9zZWNvbmRzKHN5c3RlbVRpbWUpIH07Cit9CisK
K30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3VuaXgvQ1BVVGltZVVuaXguY3BwIGIvU291
cmNlL1dURi93dGYvdW5peC9DUFVUaW1lVW5peC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTc1MmIxYjIxNjAy
NjI1NzQ2N2UzMmZjZjI1MjhjMWM0NGM0ZjY3MwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
VEYvd3RmL3VuaXgvQ1BVVGltZVVuaXguY3BwCkBAIC0wLDAgKzEsNDcgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTcgWXVzdWtlIFN1enVraSA8dXRhdGFuZS50ZWFAZ21haWwuY29tPgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQ1BVVGltZS5oIgorCisjaW5j
bHVkZSA8c3lzL3Jlc291cmNlLmg+CisjaW5jbHVkZSA8c3lzL3RpbWUuaD4KKworbmFtZXNwYWNl
IFdURiB7CisKK3N0YXRpYyBTZWNvbmRzIHRpbWV2YWxUb1NlY29uZHMoY29uc3Qgc3RydWN0IHRp
bWV2YWwmIHZhbHVlKQoreworICAgIHJldHVybiBTZWNvbmRzKHZhbHVlLnR2X3NlYykgKyBTZWNv
bmRzOjpmcm9tTWljcm9zZWNvbmRzKHZhbHVlLnR2X3VzZWMpOworfQorCitzdGQ6Om9wdGlvbmFs
PENQVVRpbWU+IENQVVRpbWU6OmdldCgpCit7CisgICAgc3RydWN0IHJ1c2FnZSByZXNvdXJjZSB7
IH07CisgICAgaW50IHJldCA9IGdldHJ1c2FnZShSVVNBR0VfU0VMRiwgJnJlc291cmNlKTsKKyAg
ICBBU1NFUlRfVU5VU0VEKHJldCwgIXJldCk7CisgICAgcmV0dXJuIENQVVRpbWUgeyBNb25vdG9u
aWNUaW1lOjpub3coKSwgdGltZXZhbFRvU2Vjb25kcyhyZXNvdXJjZS5ydV91dGltZSksIHRpbWV2
YWxUb1NlY29uZHMocmVzb3VyY2UucnVfc3RpbWUpIH07Cit9CisKK30KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XVEYvd3RmL3dpbi9DUFVUaW1lV2luLmNwcCBiL1NvdXJjZS9XVEYvd3RmL3dpbi9DUFVU
aW1lV2luLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mZTBkYWU1ZGY2YTc1MDU4MjA3NTQzMWRhMDllYTQzMWRj
ZDJlYzhhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dURi93dGYvd2luL0NQVVRpbWVXaW4u
Y3BwCkBAIC0wLDAgKzEsNjMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgWXVzdWtlIFN1
enVraSA8dXRhdGFuZS50ZWFAZ21haWwuY29tPgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
CisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisg
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmln
LmgiCisjaW5jbHVkZSAiQ1BVVGltZS5oIgorCisjaW5jbHVkZSA8d2luZG93cy5oPgorCituYW1l
c3BhY2UgV1RGIHsKKworc3RhdGljIFNlY29uZHMgZmlsZVRpbWVUb1NlY29uZHMoY29uc3QgRklM
RVRJTUUmIGZpbGVUaW1lKQoreworICAgIC8vIGh0dHBzOi8vbXNkbi5taWNyb3NvZnQuY29tL2ph
LWpwL2xpYnJhcnkvd2luZG93cy9kZXNrdG9wL21zNjgzMjIzKHY9dnMuODUpLmFzcHgKKyAgICAv
LyAiQWxsIHRpbWVzIGFyZSBleHByZXNzZWQgdXNpbmcgRklMRVRJTUUgZGF0YSBzdHJ1Y3R1cmVz
LiBTdWNoIGEgc3RydWN0dXJlIGNvbnRhaW5zCisgICAgLy8gdHdvIDMyLWJpdCB2YWx1ZXMgdGhh
dCBjb21iaW5lIHRvIGZvcm0gYSA2NC1iaXQgY291bnQgb2YgMTAwLW5hbm9zZWNvbmQgdGltZSB1
bml0cy4iCisKKyAgICBjb25zdCBjb25zdGV4cHIgZG91YmxlIGh1bmRyZWRzT2ZOYW5vc2Vjb25k
c1BlclNlY29uZCA9ICgxMDAwLjAgKiAxMDAwLjAgKiAxMDAwLjApIC8gMTAwLjA7CisKKyAgICAv
LyBodHRwczovL21zZG4ubWljcm9zb2Z0LmNvbS9qYS1qcC9saWJyYXJ5L3dpbmRvd3MvZGVza3Rv
cC9tczcyNDI4NCh2PXZzLjg1KS5hc3B4CisgICAgLy8gIkl0IGlzIG5vdCByZWNvbW1lbmRlZCB0
aGF0IHlvdSBhZGQgYW5kIHN1YnRyYWN0IHZhbHVlcyBmcm9tIHRoZSBGSUxFVElNRSBzdHJ1Y3R1
cmUgdG8gb2J0YWluIHJlbGF0aXZlIHRpbWVzLgorICAgIC8vIEluc3RlYWQsIHlvdSBzaG91bGQg
Y29weSB0aGUgbG93LSBhbmQgaGlnaC1vcmRlciBwYXJ0cyBvZiB0aGUgZmlsZSB0aW1lIHRvIGEg
VUxBUkdFX0lOVEVHRVIgc3RydWN0dXJlLAorICAgIC8vIHBlcmZvcm0gNjQtYml0IGFyaXRobWV0
aWMgb24gdGhlIFF1YWRQYXJ0IG1lbWJlciwgYW5kIGNvcHkgdGhlIExvd1BhcnQgYW5kIEhpZ2hQ
YXJ0IG1lbWJlcnMgaW50byB0aGUgRklMRVRJTUUgc3RydWN0dXJlLiIKKyAgICBVTEFSR0VfSU5U
RUdFUiBkdXJhdGlvbkluMTAwTlM7CisgICAgbWVtY3B5KCZkdXJhdGlvbkluMTAwTlMsICZmaWxl
VGltZSwgc2l6ZW9mKGR1cmF0aW9uSW4xMDBOUykpOworICAgIHJldHVybiBTZWNvbmRzIHsgZHVy
YXRpb25JbjEwME5TLlF1YWRQYXJ0IC8gaHVuZHJlZHNPZk5hbm9zZWNvbmRzUGVyU2Vjb25kIH07
Cit9CisKK3N0ZDo6b3B0aW9uYWw8Q1BVVGltZT4gQ1BVVGltZTo6Z2V0KCkKK3sKKyAgICAvLyBo
dHRwczovL21zZG4ubWljcm9zb2Z0LmNvbS9qYS1qcC9saWJyYXJ5L3dpbmRvd3MvZGVza3RvcC9t
czY4MzIyMyh2PXZzLjg1KS5hc3B4CisgICAgRklMRVRJTUUgY3JlYXRpb25UaW1lOworICAgIEZJ
TEVUSU1FIGV4aXRUaW1lOworICAgIEZJTEVUSU1FIGtlcm5lbFRpbWU7CisgICAgRklMRVRJTUUg
dXNlclRpbWU7CisgICAgaWYgKCE6OkdldFByb2Nlc3NUaW1lcyg6OkdldEN1cnJlbnRQcm9jZXNz
KCksICZjcmVhdGlvblRpbWUsICZleGl0VGltZSwgJmtlcm5lbFRpbWUsICZ1c2VyVGltZSkpCisg
ICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICByZXR1cm4gQ1BVVGltZSB7IE1vbm90
b25pY1RpbWU6Om5vdygpLCBmaWxlVGltZVRvU2Vjb25kcyh1c2VyVGltZSksIGZpbGVUaW1lVG9T
ZWNvbmRzKGtlcm5lbFRpbWUpIH07Cit9CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1BsYXRmb3JtTWFjLmNtYWtlIGIvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1NYWMuY21ha2UKaW5k
ZXggNWExODNjMWQwNjQ4ZGQzYjAzY2MyZTg3NTg4YjA0NGI5MDdiYzdhYy4uMmEzOTM0NzcwNzQy
N2RmNjY2NTEyMWMzNWEwOTUzNGUwN2NjNzc1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
UGxhdGZvcm1NYWMuY21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1NYWMuY21ha2UK
QEAgLTMzNyw3ICszMzcsNiBAQCBsaXN0KEFQUEVORCBXZWJDb3JlX1NPVVJDRVMKICAgICBwbGF0
Zm9ybS9jZi9TaGFyZWRCdWZmZXJDRi5jcHAKICAgICBwbGF0Zm9ybS9jZi9VUkxDRi5jcHAKIAot
ICAgIHBsYXRmb3JtL2NvY29hL0NQVVRpbWVDb2NvYS5tbQogICAgIHBsYXRmb3JtL2NvY29hL0Nv
bnRlbnRGaWx0ZXJVbmJsb2NrSGFuZGxlckNvY29hLm1tCiAgICAgcGxhdGZvcm0vY29jb2EvQ29y
ZVZpZGVvU29mdExpbmsuY3BwCiAgICAgcGxhdGZvcm0vY29jb2EvRGlzcGxheVNsZWVwRGlzYWJs
ZXJDb2NvYS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagppbmRleCBkOTNjNDBkNDU3MzA0ZjI0MDg2MjM5YTg2ZTUzMTFiMTIyY2Q1YjRl
Li5iOTdiNzYzODY1ZWY4NmU0MDE3MTM4MTkyOTljMTBmMjAyOTkyNTE4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xOTM1LDkg
KzE5MzUsNiBAQAogCQk0NjBDQkYzNTFENEJDRDBFMDA5MkU4OEUgLyogSlNET01XaW5kb3dQcm9w
ZXJ0aWVzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQ2MENCRjMzMUQ0QkNDRkUwMDkyRTg4RSAvKiBKU0RPTVdpbmRvd1Byb3BlcnRpZXMuY3BwICov
OyB9OwogCQk0NjBDQkYzNjFENEJDRDBFMDA5MkU4OEUgLyogSlNET01XaW5kb3dQcm9wZXJ0aWVz
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NjBDQkYz
NDFENEJDQ0ZFMDA5MkU4OEUgLyogSlNET01XaW5kb3dQcm9wZXJ0aWVzLmggKi87IH07CiAJCTQ2
MzQ1OTJDMUFDMjI3MTAwMEVDQjcxQyAvKiBQb3dlck9ic2VydmVyTWFjLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2MzQ1OTJCMUFDMjI3MTAwMEVD
QjcxQyAvKiBQb3dlck9ic2VydmVyTWFjLmNwcCAqLzsgfTsKLQkJNDYzNzYzMDgxRTI2RkRENzAw
OENENDZEIC8qIENQVVRpbWUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDYzNzYzMDYxRTI2RkRCQTAwOENENDZEIC8qIENQVVRpbWUuY3BwICovOyB9
OwotCQk0NjM3NjMwOTFFMjZGREQ3MDA4Q0Q0NkQgLyogQ1BVVGltZS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDYzNzYzMDcxRTI2RkRCQTAwOENENDZE
IC8qIENQVVRpbWUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwotCQk0NjM3NjMwQjFFMjZGREY2MDA4Q0Q0NkQgLyogQ1BVVGltZUNvY29hLm1tIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDYzNzYzMEExRTI2RkRF
QjAwOENENDZEIC8qIENQVVRpbWVDb2NvYS5tbSAqLzsgfTsKIAkJNDYzRUI2MjIxQjg3ODlFMDAw
OTZFRDUxIC8qIFRhZ0NvbGxlY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNDYzRUI2MjAxQjg3ODlDQjAwOTZFRDUxIC8qIFRhZ0NvbGxlY3Rp
b24uY3BwICovOyB9OwogCQk0NjNFQjYyMzFCODc4OUUwMDA5NkVENTEgLyogVGFnQ29sbGVjdGlv
bi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDYzRUI2
MjExQjg3ODlDQjAwOTZFRDUxIC8qIFRhZ0NvbGxlY3Rpb24uaCAqLzsgfTsKIAkJNDY1MzA3RDAx
REI2RUU0ODAwRTQxMzdDIC8qIEpTVUlFdmVudEluaXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDgzRTA0NUVGMURBQTEwNEYwMEIwRDhCOSAvKiBKU1VJ
RXZlbnRJbml0LmggKi87IH07CkBAIC05NjIwLDkgKzk2MTcsNiBAQAogCQk0NjBDQkYzMzFENEJD
Q0ZFMDA5MkU4OEUgLyogSlNET01XaW5kb3dQcm9wZXJ0aWVzLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRE9NV2luZG93UHJvcGVydGllcy5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ2MENCRjM0MUQ0QkNDRkUwMDkyRTg4RSAvKiBKU0RPTVdp
bmRvd1Byb3BlcnRpZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNET01X
aW5kb3dQcm9wZXJ0aWVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ2MzQ1OTJC
MUFDMjI3MTAwMEVDQjcxQyAvKiBQb3dlck9ic2VydmVyTWFjLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBvd2VyT2JzZXJ2ZXJNYWMuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwotCQk0NjM3NjMwNjFFMjZGREJBMDA4Q0Q0NkQgLyogQ1BVVGltZS5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDUFVUaW1lLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNDYzNzYzMDcxRTI2RkRCQTAwOENENDZEIC8qIENQVVRp
bWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ1BVVGltZS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwotCQk0NjM3NjMwQTFFMjZGREVCMDA4Q0Q0NkQgLyogQ1BVVGlt
ZUNvY29hLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gQ1BVVGlt
ZUNvY29hLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NjNFQjYyMDFCODc4OUNC
MDA5NkVENTEgLyogVGFnQ29sbGVjdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBUYWdDb2xsZWN0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNDYzRUI2MjExQjg3ODlDQjAwOTZFRDUxIC8qIFRhZ0NvbGxlY3Rpb24uaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVGFnQ29sbGVjdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk0NjVBOEU3ODFDOEEyNENFMDBFN0QzRTQgLyogUnVudGltZUFwcGxpY2F0
aW9uQ2hlY2tzLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gUnVu
dGltZUFwcGxpY2F0aW9uQ2hlY2tzLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAt
MjEwNzUsNyArMjEwNjksNiBAQAogCQkJCUExNDA5MEZBMUFBNTFFMUQwMDkxMTkxQSAvKiBDb250
ZW50RmlsdGVyVW5ibG9ja0hhbmRsZXJDb2NvYS5tbSAqLywKIAkJCQlDRDdEMzM0NTFDN0ExNkJG
MDAwNDEyOTMgLyogQ29yZVZpZGVvU29mdExpbmsuY3BwICovLAogCQkJCUNEN0QzMzQ2MUM3QTE2
QkYwMDA0MTI5MyAvKiBDb3JlVmlkZW9Tb2Z0TGluay5oICovLAotCQkJCTQ2Mzc2MzBBMUUyNkZE
RUIwMDhDRDQ2RCAvKiBDUFVUaW1lQ29jb2EubW0gKi8sCiAJCQkJN0M3OTQxRTMxQzU2QzI5MzAw
QTRDNThFIC8qIERhdGFEZXRlY3RvcnNDb3JlU29mdExpbmsuaCAqLywKIAkJCQk3Qzc5NDFFMjFD
NTZDMjkzMDBBNEM1OEUgLyogRGF0YURldGVjdG9yc0NvcmVTb2Z0TGluay5tbSAqLywKIAkJCQk1
RDhDNERCRDE0MjgyMjJDMDAyNkNFNzIgLyogRGlzcGxheVNsZWVwRGlzYWJsZXJDb2NvYS5jcHAg
Ki8sCkBAIC0yMzkyNCw4ICsyMzkxNyw2IEBACiAJCQkJODYyRjEyOUQxOEMxNTcyQzAwNUM1NEFG
IC8qIENvdW50ZWRVc2VyQWN0aXZpdHkuaCAqLywKIAkJCQk0NkM2OTZDQTFFNzIwNUU0MDA1OTc5
MzcgLyogQ1BVTW9uaXRvci5jcHAgKi8sCiAJCQkJNDZDNjk2QzkxRTcyMDVFNDAwNTk3OTM3IC8q
IENQVU1vbml0b3IuaCAqLywKLQkJCQk0NjM3NjMwNjFFMjZGREJBMDA4Q0Q0NkQgLyogQ1BVVGlt
ZS5jcHAgKi8sCi0JCQkJNDYzNzYzMDcxRTI2RkRCQTAwOENENDZEIC8qIENQVVRpbWUuaCAqLywK
IAkJCQlFMTFBRjE1MDExQjlBMUEzMDA4MDUxMDMgLyogQ3Vyc29yLmNwcCAqLywKIAkJCQlGNTg3
ODY4NDAyREUzQjg2MDFFQTQxMjIgLyogQ3Vyc29yLmggKi8sCiAJCQkJQTU3MzJCMDgxMzZBMTYx
RDAwNUM4RDdDIC8qIERhdGVDb21wb25lbnRzLmNwcCAqLywKQEAgLTI2NjkwLDcgKzI2NjgxLDYg
QEAKIAkJCQlCQzVFQjk1MTBFODIwNTZCMDBCMjU5NjUgLyogQ291bnRlckRpcmVjdGl2ZXMuaCBp
biBIZWFkZXJzICovLAogCQkJCTkzOTJGMTRDMEFEMTg2MUIwMDY5MUJENCAvKiBDb3VudGVyTm9k
ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDZDNjk2Q0IxRTcyMDVGNzAwNTk3OTM3IC8qIENQVU1v
bml0b3IuaCBpbiBIZWFkZXJzICovLAotCQkJCTQ2Mzc2MzA5MUUyNkZERDcwMDhDRDQ2RCAvKiBD
UFVUaW1lLmggaW4gSGVhZGVycyAqLywKIAkJCQlEMEIwNTU2ODA5QzY3MDAxMDAzMDdFNDMgLyog
Q3JlYXRlTGlua0NvbW1hbmQuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxNEM3NjZFMENFOTIzQTEw
MDdFRjNDRCAvKiBDcmVkZW50aWFsLmggaW4gSGVhZGVycyAqLywKIAkJCQkzNzkyOTE3QTE5ODVF
RjM5MDBGNEI2NjEgLyogQ3JlZGVudGlhbEJhc2UuaCBpbiBIZWFkZXJzICovLApAQCAtMzA3NDIs
OCArMzA3MzIsNiBAQAogCQkJCUJDNUVCOTUwMEU4MjA1NkIwMEIyNTk2NSAvKiBDb3VudGVyRGly
ZWN0aXZlcy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5MzkyRjE1MDBBRDE4NjIzMDA2OTFCRDQg
LyogQ291bnRlck5vZGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDZDNjk2Q0MxRTcyMDVGQzAw
NTk3OTM3IC8qIENQVU1vbml0b3IuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJNDYzNzYzMDgxRTI2
RkRENzAwOENENDZEIC8qIENQVVRpbWUuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJNDYzNzYzMEIx
RTI2RkRGNjAwOENENDZEIC8qIENQVVRpbWVDb2NvYS5tbSBpbiBTb3VyY2VzICovLAogCQkJCUQw
QjA1NTY5MDlDNjcwMDEwMDMwN0U0MyAvKiBDcmVhdGVMaW5rQ29tbWFuZC5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQk1MTRDNzY2RDBDRTkyM0ExMDA3RUYzQ0QgLyogQ3JlZGVudGlhbEJhc2UuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJMzc5MjkxN0QxOTg3Njc4RjAwRjRCNjYxIC8qIENyZWRlbnRp
YWxDb2NvYS5tbSBpbiBTb3VyY2VzICovLApAQCAtMzIwMDgsNyArMzE5OTYsNyBAQAogCQkJCTdD
MzMwQTA3MURGOUY5NTEwMEQzMzk1QyAvKiBKU1Bvc2l0aW9uT3B0aW9ucy5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQk2NURGMzFGRjA5RDFDQzYwMDAwQkUzMjUgLyogSlNQcm9jZXNzaW5nSW5zdHJ1
Y3Rpb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTQ0NjEzRUQwQ0Q2ODFCQTAwRkFEQTc1IC8q
IEpTUHJvZ3Jlc3NFdmVudC5jcHAgaW4gU291cmNlcyAqLywKLSAgICAgICAgICAgICAgICBBNTc4
RjQzQjFERTAxNDIxMDAzREZDNkEgLyogSlNQcm9taXNlUmVqZWN0aW9uRXZlbnQuY3BwIGluIFNv
dXJjZXMgKi8sCisJCQkJQTU3OEY0M0IxREUwMTQyMTAwM0RGQzZBIC8qIEpTUHJvbWlzZVJlamVj
dGlvbkV2ZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTA3NzY2NEZDMTgzRTZCNUMwMDEzM0I5
MiAvKiBKU1F1aWNrVGltZVBsdWdpblJlcGxhY2VtZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CUI2NThGRkExMTUyMkVGM0EwMERENTU5NSAvKiBKU1JhZGlvTm9kZUxpc3QuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJNjVERjMyMDEwOUQxQ0M2MDAwMEJFMzI1IC8qIEpTUmFuZ2UuY3BwIGluIFNv
dXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5o
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaAppbmRleCA5MGFhMDkwYjA4NTVl
MWQxNDgwMjQwOWE0NGE5NjBmMjk2OTY1ZWJmLi45YzYzNzYxZTAxZGRkOGY4M2E4YzVlMDIwZWI3
ZjYzMWUyYmU4ZDQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVu
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKQEAgLTQ2NSw3ICs0
NjUsNyBAQCBjbGFzcyBXRUJDT1JFX0VYUE9SVCBDaHJvbWVDbGllbnQgewogCiAgICAgdmlydHVh
bCB2b2lkIGRpZEludmFsaWRhdGVEb2N1bWVudE1hcmtlclJlY3RzKCkgeyB9CiAKLSAgICB2aXJ0
dWFsIHZvaWQgcmVwb3J0UHJvY2Vzc0NQVVRpbWUoaW50NjRfdCwgQWN0aXZpdHlTdGF0ZUZvckNQ
VVNhbXBsaW5nKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgcmVwb3J0UHJvY2Vzc0NQVVRpbWUoU2Vj
b25kcywgQWN0aXZpdHlTdGF0ZUZvckNQVVNhbXBsaW5nKSB7IH0KICAgICB2aXJ0dWFsIFJlZlB0
cjxJY29uPiBjcmVhdGVJY29uRm9yRmlsZXMoY29uc3QgVmVjdG9yPFN0cmluZz4mIC8qIGZpbGVu
YW1lcyAqLykgPSAwOwogCiAgICAgdmlydHVhbCB2b2lkIGRpZENoYW5nZUNsaXBUb1NhZmVBcmVh
KGJvb2wpIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU1v
bml0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU1vbml0b3IuY3BwCmlu
ZGV4IDdiMjM3N2Q4NTIyNzMwNjdhMjE2NmI5NTlkNjM2NmU5MTgxOWI4MjAuLjJlNTc0MTVlNTEx
M2VmODY1MjUxY2I2ZTVkNjhkNjU3YTNlNzJiZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGVyZm9ybWFuY2VNb25pdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bl
cmZvcm1hbmNlTW9uaXRvci5jcHAKQEAgLTc2LDcgKzc2LDcgQEAgUGVyZm9ybWFuY2VNb25pdG9y
OjpQZXJmb3JtYW5jZU1vbml0b3IoUGFnZSYgcGFnZSkKICAgICBBU1NFUlQoIXBhZ2UuaXNVdGls
aXR5UGFnZSgpKTsKIAogICAgIGlmIChTZXR0aW5nczo6aXNQZXJBY3Rpdml0eVN0YXRlQ1BVVXNh
Z2VNZWFzdXJlbWVudEVuYWJsZWQoKSkgewotICAgICAgICBtX3BlckFjdGl2aXR5U3RhdGVDUFVU
aW1lID0gZ2V0Q1BVVGltZSgpOworICAgICAgICBtX3BlckFjdGl2aXR5U3RhdGVDUFVUaW1lID0g
Q1BVVGltZTo6Z2V0KCk7CiAgICAgICAgIG1fcGVyQWN0aXZpdHlTdGF0ZUNQVVVzYWdlVGltZXIu
c3RhcnRSZXBlYXRpbmcoY3B1VXNhZ2VTYW1wbGluZ0ludGVydmFsKTsKICAgICB9CiB9CkBAIC0x
NzQsMTIgKzE3NCwxMiBAQCB2b2lkIFBlcmZvcm1hbmNlTW9uaXRvcjo6bWVhc3VyZVBvc3RMb2Fk
Q1BVVXNhZ2UoKQogICAgIH0KIAogICAgIGlmICghbV9wb3N0TG9hZENQVVRpbWUpIHsKLSAgICAg
ICAgbV9wb3N0TG9hZENQVVRpbWUgPSBnZXRDUFVUaW1lKCk7CisgICAgICAgIG1fcG9zdExvYWRD
UFVUaW1lID0gQ1BVVGltZTo6Z2V0KCk7CiAgICAgICAgIGlmIChtX3Bvc3RMb2FkQ1BVVGltZSkK
ICAgICAgICAgICAgIG1fcG9zdFBhZ2VMb2FkQ1BVVXNhZ2VUaW1lci5zdGFydE9uZVNob3QocG9z
dExvYWRDUFVVc2FnZU1lYXN1cmVtZW50RHVyYXRpb24pOwogICAgICAgICByZXR1cm47CiAgICAg
fQotICAgIHN0ZDo6b3B0aW9uYWw8Q1BVVGltZT4gY3B1VGltZSA9IGdldENQVVRpbWUoKTsKKyAg
ICBzdGQ6Om9wdGlvbmFsPENQVVRpbWU+IGNwdVRpbWUgPSBDUFVUaW1lOjpnZXQoKTsKICAgICBp
ZiAoIWNwdVRpbWUpCiAgICAgICAgIHJldHVybjsKIApAQCAtMjMxLDEyICsyMzEsMTIgQEAgdm9p
ZCBQZXJmb3JtYW5jZU1vbml0b3I6Om1lYXN1cmVQb3N0QmFja2dyb3VuZGluZ0NQVVVzYWdlKCkK
ICAgICB9CiAKICAgICBpZiAoIW1fcG9zdEJhY2tncm91bmRpbmdDUFVUaW1lKSB7Ci0gICAgICAg
IG1fcG9zdEJhY2tncm91bmRpbmdDUFVUaW1lID0gZ2V0Q1BVVGltZSgpOworICAgICAgICBtX3Bv
c3RCYWNrZ3JvdW5kaW5nQ1BVVGltZSA9IENQVVRpbWU6OmdldCgpOwogICAgICAgICBpZiAobV9w
b3N0QmFja2dyb3VuZGluZ0NQVVRpbWUpCiAgICAgICAgICAgICBtX3Bvc3RCYWNrZ3JvdW5kaW5n
Q1BVVXNhZ2VUaW1lci5zdGFydE9uZVNob3QoYmFja2dyb3VuZENQVVVzYWdlTWVhc3VyZW1lbnRE
dXJhdGlvbik7CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0gICAgc3RkOjpvcHRpb25hbDxDUFVU
aW1lPiBjcHVUaW1lID0gZ2V0Q1BVVGltZSgpOworICAgIHN0ZDo6b3B0aW9uYWw8Q1BVVGltZT4g
Y3B1VGltZSA9IENQVVRpbWU6OmdldCgpOwogICAgIGlmICghY3B1VGltZSkKICAgICAgICAgcmV0
dXJuOwogCkBAIC0yNzQsMTEgKzI3NCwxMSBAQCB2b2lkIFBlcmZvcm1hbmNlTW9uaXRvcjo6bWVh
c3VyZUNQVVVzYWdlSW5BY3Rpdml0eVN0YXRlKEFjdGl2aXR5U3RhdGVGb3JDUFVTYW1wbAogICAg
IH0KIAogICAgIGlmICghbV9wZXJBY3Rpdml0eVN0YXRlQ1BVVGltZSkgewotICAgICAgICBtX3Bl
ckFjdGl2aXR5U3RhdGVDUFVUaW1lID0gZ2V0Q1BVVGltZSgpOworICAgICAgICBtX3BlckFjdGl2
aXR5U3RhdGVDUFVUaW1lID0gQ1BVVGltZTo6Z2V0KCk7CiAgICAgICAgIHJldHVybjsKICAgICB9
CiAKLSAgICBzdGQ6Om9wdGlvbmFsPENQVVRpbWU+IGNwdVRpbWUgPSBnZXRDUFVUaW1lKCk7Cisg
ICAgc3RkOjpvcHRpb25hbDxDUFVUaW1lPiBjcHVUaW1lID0gQ1BVVGltZTo6Z2V0KCk7CiAgICAg
aWYgKCFjcHVUaW1lKSB7CiAgICAgICAgIG1fcGVyQWN0aXZpdHlTdGF0ZUNQVVRpbWUgPSBzdGQ6
Om51bGxvcHQ7CiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGVyZm9ybWFuY2VNb25pdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNl
TW9uaXRvci5oCmluZGV4IGFmYzI5MjRlYWU3YTNhMTliN2E3M2Y4YjUwOTY2ZDIwM2ExYzA3ZDMu
LjZlNWU2OTAzM2Q4MTVjNTczZjFhOTQ2MjQ2ZGJlMWVjNjlhZjdiZDggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VNb25pdG9yLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9QZXJmb3JtYW5jZU1vbml0b3IuaApAQCAtMjYsOCArMjYsOCBAQAogI3ByYWdtYSBv
bmNlCiAKICNpbmNsdWRlICJBY3Rpdml0eVN0YXRlLmgiCi0jaW5jbHVkZSAiQ1BVVGltZS5oIgog
I2luY2x1ZGUgIlRpbWVyLmgiCisjaW5jbHVkZSA8d3RmL0NQVVRpbWUuaD4KICNpbmNsdWRlIDx3
dGYvT3B0aW9uYWwuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vQ1BVTW9uaXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9DUFVNb25pdG9yLmNwcAppbmRleCAyZDMzODRjZTRmY2NhMTlmMzZlOGQzMzU0YWVlOTE5NThj
ZTVjODE2Li41ZmFhZjY2ZTYwMmU3N2UxZDliMjE3NjUzOTBlMTRmMzdhYzhhN2ZiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9DUFVNb25pdG9yLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9DUFVNb25pdG9yLmNwcApAQCAtNDMsNyArNDMsNyBAQCB2b2lkIENQ
VU1vbml0b3I6OnNldENQVUxpbWl0KHN0ZDo6b3B0aW9uYWw8ZG91YmxlPiBjcHVMaW1pdCkKICAg
ICBtX2NwdUxpbWl0ID0gY3B1TGltaXQ7CiAgICAgaWYgKG1fY3B1TGltaXQpIHsKICAgICAgICAg
aWYgKCFtX3RpbWVyLmlzQWN0aXZlKCkpIHsKLSAgICAgICAgICAgIG1fbGFzdENQVVRpbWUgPSBn
ZXRDUFVUaW1lKCk7CisgICAgICAgICAgICBtX2xhc3RDUFVUaW1lID0gQ1BVVGltZTo6Z2V0KCk7
CiAgICAgICAgICAgICBtX3RpbWVyLnN0YXJ0UmVwZWF0aW5nKG1fY2hlY2tJbnRlcnZhbCk7CiAg
ICAgICAgIH0KICAgICB9IGVsc2UKQEAgLTU1LDExICs1NSwxMSBAQCB2b2lkIENQVU1vbml0b3I6
OnRpbWVyRmlyZWQoKQogICAgIEFTU0VSVChtX2NwdUxpbWl0KTsKIAogICAgIGlmICghbV9sYXN0
Q1BVVGltZSkgewotICAgICAgICBtX2xhc3RDUFVUaW1lID0gZ2V0Q1BVVGltZSgpOworICAgICAg
ICBtX2xhc3RDUFVUaW1lID0gQ1BVVGltZTo6Z2V0KCk7CiAgICAgICAgIHJldHVybjsKICAgICB9
CiAKLSAgICBhdXRvIGNwdVRpbWUgPSBnZXRDUFVUaW1lKCk7CisgICAgYXV0byBjcHVUaW1lID0g
Q1BVVGltZTo6Z2V0KCk7CiAgICAgaWYgKCFjcHVUaW1lKQogICAgICAgICByZXR1cm47CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0NQVU1vbml0b3IuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL0NQVU1vbml0b3IuaAppbmRleCBhZmFiNmVhODA4ZGI3ZmY4ZTI1Njk0
OWFiZGQwZDE3YTRmYzJmN2Q1Li5kNGRkYjc3OGQ2ZDRlNmFmZDhkMmUyZmY0YmFiOTI5NThhNTY4
NDQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9DUFVNb25pdG9yLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ1BVTW9uaXRvci5oCkBAIC0yNSw5ICsyNSw5IEBA
CiAKICNwcmFnbWEgb25jZQogCi0jaW5jbHVkZSAiQ1BVVGltZS5oIgogI2luY2x1ZGUgIlRpbWVy
LmgiCiAKKyNpbmNsdWRlIDx3dGYvQ1BVVGltZS5oPgogI2luY2x1ZGUgPHd0Zi9GdW5jdGlvbi5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9DUFVUaW1lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0NQVVRpbWUuY3BwCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyMjY0NDA5NzQzYTEwZTgzNGE1Nzc5MWM0NjNi
MzdkNjJlZDQwYTZhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0NQVVRpbWUuY3BwCisrKyAvZGV2L251bGwKQEAg
LTEsNDggKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBt
ZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRl
ICJDUFVUaW1lLmgiCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotI2lmICFQTEFURk9STShDT0NP
QSkKLQotc3RkOjpvcHRpb25hbDxDUFVUaW1lPiBnZXRDUFVUaW1lKCkKLXsKLSAgICByZXR1cm4g
c3RkOjpudWxsb3B0OwotfQotCi0jZW5kaWYKLQotZG91YmxlIENQVVRpbWU6OnBlcmNlbnRhZ2VD
UFVVc2FnZVNpbmNlKGNvbnN0IENQVVRpbWUmIHJlZmVyZW5jZSkKLXsKLSAgICBpbnQ2NF90IGNw
dVVzYWdlVGltZURlbHRhID0gKHN5c3RlbVRpbWUgKyB1c2VyVGltZSkgLSAocmVmZXJlbmNlLnN5
c3RlbVRpbWUgKyByZWZlcmVuY2UudXNlclRpbWUpOwotICAgIGludDY0X3QgY3B1VGltZURlbHRh
ID0gY3B1VGltZSAtIHJlZmVyZW5jZS5jcHVUaW1lOwotICAgIEFTU0VSVChjcHVUaW1lRGVsdGEp
OwotICAgIHJldHVybiBzdGF0aWNfY2FzdDxkb3VibGU+KGNwdVVzYWdlVGltZURlbHRhICogMTAw
LjApIC8gY3B1VGltZURlbHRhOwotfQotCi19CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9DUFVUaW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9DUFVUaW1lLmgKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQyZDUwYmUyNTI4YjA2ZWUzNTcyNTZkOTNkYjI1
ZjM1MWI4NjNiZTMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ1BVVGltZS5oCisrKyAvZGV2L251bGwKQEAgLTEs
NDIgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6
Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
Ci0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNwcmFnbWEgb25jZQotCi0jaW5jbHVkZSA8d3RmL09w
dGlvbmFsLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotc3RydWN0IENQVVRpbWUgewotICAg
IGludDY0X3QgY3B1VGltZTsgLy8gaW4gbWljcm9zZWNvbmRzLgotICAgIGludDY0X3QgdXNlclRp
bWU7IC8vIGluIG1pY3Jvc2Vjb25kcy4KLSAgICBpbnQ2NF90IHN5c3RlbVRpbWU7IC8vIGluIG1p
Y3Jvc2Vjb25kcy4KLQotICAgIGRvdWJsZSBwZXJjZW50YWdlQ1BVVXNhZ2VTaW5jZShjb25zdCBD
UFVUaW1lJik7Ci19OwotCi1zdGQ6Om9wdGlvbmFsPENQVVRpbWU+IGdldENQVVRpbWUoKTsKLQot
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vY29jb2EvQ1BVVGltZUNvY29hLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2Ev
Q1BVVGltZUNvY29hLm1tCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlMWIxMTE5Njcy
ZTAyZjk3ZjA2ZjQ3MDcwZjk4ZTg4NzRmODZhMDEyLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL0NQVVRp
bWVDb2NvYS5tbQorKysgL2Rldi9udWxsCkBAIC0xLDcxICswLDAgQEAKLS8qCi0gKiBDb3B5cmln
aHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
LSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoK
LSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0j
aW1wb3J0ICJjb25maWcuaCIKLSNpbXBvcnQgIkNQVVRpbWUuaCIKLQotI2ltcG9ydCA8bWFjaC9t
YWNoX2luaXQuaD4KLSNpbXBvcnQgPG1hY2gvdGFzay5oPgotI2ltcG9ydCA8bWFjaC90YXNrX2lu
Zm8uaD4KLSNpbXBvcnQgPHd0Zi9DdXJyZW50VGltZS5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7
Ci0KLXN0YXRpYyBjb25zdCBpbnQ2NF90IG1pY3Jvc2Vjb25kc1BlclNlY29uZCA9IDEwMDAwMDA7
Ci0KLXN0YXRpYyBpbnQ2NF90IHRpbWVWYWx1ZVRvTWljcm9zZWNvbmRzKGNvbnN0IHRpbWVfdmFs
dWVfdCYgdmFsdWUpCi17Ci0gICAgaW50NjRfdCByZXN1bHQgPSB2YWx1ZS5zZWNvbmRzOwotICAg
IHJlc3VsdCAqPSBtaWNyb3NlY29uZHNQZXJTZWNvbmQ7Ci0gICAgcmVzdWx0ICs9IHZhbHVlLm1p
Y3Jvc2Vjb25kczsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi1zdGQ6Om9wdGlvbmFsPENQVVRp
bWU+IGdldENQVVRpbWUoKQotewotICAgIC8vIEFjY291bnQgZm9yIGN1cnJlbnQgdGhyZWFkcy4K
LSAgICB0YXNrX3RocmVhZF90aW1lc19pbmZvIHRocmVhZEluZm9EYXRhOwotICAgIG1hY2hfbXNn
X3R5cGVfbnVtYmVyX3QgdGhyZWFkSW5mb0NvdW50ID0gVEFTS19USFJFQURfVElNRVNfSU5GT19D
T1VOVDsKLSAgICBrZXJuX3JldHVybl90IHJlc3VsdCA9IHRhc2tfaW5mbyhtYWNoX3Rhc2tfc2Vs
ZigpLCBUQVNLX1RIUkVBRF9USU1FU19JTkZPLCByZWludGVycHJldF9jYXN0PHRhc2tfaW5mb190
PigmdGhyZWFkSW5mb0RhdGEpLCAmdGhyZWFkSW5mb0NvdW50KTsKLSAgICBpZiAocmVzdWx0ICE9
IEtFUk5fU1VDQ0VTUykKLSAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKLQotICAgIGludDY0
X3QgdXNlclRpbWUgPSB0aW1lVmFsdWVUb01pY3Jvc2Vjb25kcyh0aHJlYWRJbmZvRGF0YS51c2Vy
X3RpbWUpOwotICAgIGludDY0X3Qgc3lzdGVtVGltZSA9IHRpbWVWYWx1ZVRvTWljcm9zZWNvbmRz
KHRocmVhZEluZm9EYXRhLnN5c3RlbV90aW1lKTsKLQotICAgIC8vIEFjY291bnQgZm9yIHRlcm1p
bmVkIHRocmVhZHMuCi0gICAgdGFza19iYXNpY19pbmZvIHRhc2tJbmZvRGF0YTsKLSAgICBtYWNo
X21zZ190eXBlX251bWJlcl90IHRhc2tJbmZvQ291bnQgPSBUQVNLX0JBU0lDX0lORk9fQ09VTlQ7
Ci0gICAgcmVzdWx0ID0gdGFza19pbmZvKG1hY2hfdGFza19zZWxmKCksIFRBU0tfQkFTSUNfSU5G
TywgcmVpbnRlcnByZXRfY2FzdDx0YXNrX2luZm9fdD4oJnRhc2tJbmZvRGF0YSksICZ0YXNrSW5m
b0NvdW50KTsKLSAgICBpZiAocmVzdWx0ICE9IEtFUk5fU1VDQ0VTUykKLSAgICAgICAgcmV0dXJu
IHN0ZDo6bnVsbG9wdDsKLQotICAgIHVzZXJUaW1lICs9IHRpbWVWYWx1ZVRvTWljcm9zZWNvbmRz
KHRhc2tJbmZvRGF0YS51c2VyX3RpbWUpOwotICAgIHN5c3RlbVRpbWUgKz0gdGltZVZhbHVlVG9N
aWNyb3NlY29uZHModGFza0luZm9EYXRhLnN5c3RlbV90aW1lKTsKLQotICAgIHJldHVybiBDUFVU
aW1lIHsgc3RhdGljX2Nhc3Q8aW50NjRfdD4obW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkg
KiBtaWNyb3NlY29uZHNQZXJTZWNvbmQpLCB1c2VyVGltZSwgc3lzdGVtVGltZSB9OwotfQotCi19
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGVyQWN0aXZpdHlTdGF0ZUNQ
VVVzYWdlU2FtcGxlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGVyQWN0aXZpdHlT
dGF0ZUNQVVVzYWdlU2FtcGxlci5jcHAKaW5kZXggMGQ4NTdiYjc4ODMyNGM2NThjZWY2NzE1YzBi
MjFjYWVlOGM4MjZiYy4uYjZmMDQxMmExZjlmMzI1M2UzYTc5ODU1NGI1MjUzMmE4ODg2Yjg2NSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BlckFjdGl2aXR5U3RhdGVDUFVV
c2FnZVNhbXBsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QZXJBY3Rpdml0
eVN0YXRlQ1BVVXNhZ2VTYW1wbGVyLmNwcApAQCAtMzQsOCArMzQsNiBAQAogCiBuYW1lc3BhY2Ug
V2ViS2l0IHsKIAotc3RhdGljIGNvbnN0IGludDY0X3QgbWljcm9zZWNvbmRzUGVyU2Vjb25kID0g
MTAwMDAwMDsKLQogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIHN0YXRpYyBjb25zdCBTZWNv
bmRzIGxvZ2dpbmdJbnRlcnZhbCB7IDYwX21pbiB9OwpAQCAtNDQsNyArNDIsNyBAQCBQZXJBY3Rp
dml0eVN0YXRlQ1BVVXNhZ2VTYW1wbGVyOjpQZXJBY3Rpdml0eVN0YXRlQ1BVVXNhZ2VTYW1wbGVy
KFdlYlByb2Nlc3NQb29sJgogICAgIDogbV9wcm9jZXNzUG9vbChwcm9jZXNzUG9vbCkKICAgICAs
IG1fbG9nZ2luZ1RpbWVyKFJ1bkxvb3A6Om1haW4oKSwgdGhpcywgJlBlckFjdGl2aXR5U3RhdGVD
UFVVc2FnZVNhbXBsZXI6OmxvZ2dpbmdUaW1lckZpcmVkKQogewotICAgIG1fbGFzdENQVVRpbWUg
PSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKKyAgICBtX2xhc3RDUFVUaW1lID0gTW9u
b3RvbmljVGltZTo6bm93KCk7CiAgICAgbV9sb2dnaW5nVGltZXIuc3RhcnRSZXBlYXRpbmcobG9n
Z2luZ0ludGVydmFsKTsKIH0KIApAQCAtNTIsNyArNTAsNyBAQCBQZXJBY3Rpdml0eVN0YXRlQ1BV
VXNhZ2VTYW1wbGVyOjp+UGVyQWN0aXZpdHlTdGF0ZUNQVVVzYWdlU2FtcGxlcigpCiB7CiB9CiAK
LXZvaWQgUGVyQWN0aXZpdHlTdGF0ZUNQVVVzYWdlU2FtcGxlcjo6cmVwb3J0V2ViQ29udGVudENQ
VVRpbWUoaW50NjRfdCBjcHVUaW1lLCBBY3Rpdml0eVN0YXRlRm9yQ1BVU2FtcGxpbmcgYWN0aXZp
dHlTdGF0ZSkKK3ZvaWQgUGVyQWN0aXZpdHlTdGF0ZUNQVVVzYWdlU2FtcGxlcjo6cmVwb3J0V2Vi
Q29udGVudENQVVRpbWUoU2Vjb25kcyBjcHVUaW1lLCBBY3Rpdml0eVN0YXRlRm9yQ1BVU2FtcGxp
bmcgYWN0aXZpdHlTdGF0ZSkKIHsKICAgICBhdXRvIHJlc3VsdCA9IG1fY3B1VGltZUluQWN0aXZp
dHlTdGF0ZS5hZGQoYWN0aXZpdHlTdGF0ZSwgY3B1VGltZSk7CiAgICAgaWYgKCFyZXN1bHQuaXNO
ZXdFbnRyeSkKQEAgLTc5LDExICs3NywxMSBAQCB2b2lkIFBlckFjdGl2aXR5U3RhdGVDUFVVc2Fn
ZVNhbXBsZXI6OmxvZ2dpbmdUaW1lckZpcmVkKCkKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAot
ICAgIGRvdWJsZSBjdXJyZW50Q1BVVGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgp
OwotICAgIGludDY0X3QgY3B1VGltZURlbHRhID0gKGN1cnJlbnRDUFVUaW1lIC0gbV9sYXN0Q1BV
VGltZSkgKiBtaWNyb3NlY29uZHNQZXJTZWNvbmQ7CisgICAgTW9ub3RvbmljVGltZSBjdXJyZW50
Q1BVVGltZSA9IE1vbm90b25pY1RpbWU6Om5vdygpOworICAgIFNlY29uZHMgY3B1VGltZURlbHRh
ID0gY3VycmVudENQVVRpbWUgLSBtX2xhc3RDUFVUaW1lOwogCiAgICAgZm9yIChhdXRvJiBwYWly
IDogbV9jcHVUaW1lSW5BY3Rpdml0eVN0YXRlKSB7Ci0gICAgICAgIGRvdWJsZSBjcHVVc2FnZSA9
IHN0YXRpY19jYXN0PGRvdWJsZT4ocGFpci52YWx1ZSAqIDEwMC4pIC8gY3B1VGltZURlbHRhOwor
ICAgICAgICBkb3VibGUgY3B1VXNhZ2UgPSBwYWlyLnZhbHVlLnZhbHVlKCkgKiAxMDAuIC8gY3B1
VGltZURlbHRhLnZhbHVlKCk7CiAgICAgICAgIFN0cmluZyBhY3Rpdml0eVN0YXRlS2V5ID0gbG9n
Z2luZ0tleUZvckFjdGl2aXR5U3RhdGUocGFpci5rZXkpOwogICAgICAgICBwYWdlLT5sb2dEaWFn
bm9zdGljTWVzc2FnZVdpdGhWYWx1ZShEaWFnbm9zdGljTG9nZ2luZ0tleXM6OmNwdVVzYWdlS2V5
KCksIGFjdGl2aXR5U3RhdGVLZXksIGNwdVVzYWdlLCAyLCBTaG91bGRTYW1wbGU6Ok5vKTsKICAg
ICAgICAgUkVMRUFTRV9MT0coUGVyZm9ybWFuY2VMb2dnaW5nLCAiV2ViQ29udGVudCBwcm9jZXNz
ZXMgdXNlZCAlLjFmJSUgQ1BVIGluICVzIHN0YXRlIiwgY3B1VXNhZ2UsIGFjdGl2aXR5U3RhdGVL
ZXkudXRmOCgpLmRhdGEoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
UGVyQWN0aXZpdHlTdGF0ZUNQVVVzYWdlU2FtcGxlci5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1BlckFjdGl2aXR5U3RhdGVDUFVVc2FnZVNhbXBsZXIuaAppbmRleCBkYWI2ZjRiNzU1OTg1
OGIxN2UwOTBjZjlhNGVhZDc5ZjZmNWNiZjE3Li45YjI2N2IxMGIwYWQ2YzkyZjllYTFlMGQ5YzBi
NTY2YmY3NWI4MzM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGVyQWN0
aXZpdHlTdGF0ZUNQVVVzYWdlU2FtcGxlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9QZXJBY3Rpdml0eVN0YXRlQ1BVVXNhZ2VTYW1wbGVyLmgKQEAgLTQ3LDkgKzQ3LDkgQEAgY2xh
c3MgUGVyQWN0aXZpdHlTdGF0ZUNQVVVzYWdlU2FtcGxlciB7CiAKICAgICBXZWJQcm9jZXNzUG9v
bCYgbV9wcm9jZXNzUG9vbDsKICAgICBSdW5Mb29wOjpUaW1lcjxQZXJBY3Rpdml0eVN0YXRlQ1BV
VXNhZ2VTYW1wbGVyPiBtX2xvZ2dpbmdUaW1lcjsKLSAgICB0eXBlZGVmIEhhc2hNYXA8V2ViQ29y
ZTo6QWN0aXZpdHlTdGF0ZUZvckNQVVNhbXBsaW5nLCBpbnQ2NF90LCBXVEY6OkludEhhc2g8V2Vi
Q29yZTo6QWN0aXZpdHlTdGF0ZUZvckNQVVNhbXBsaW5nPiwgV1RGOjpTdHJvbmdFbnVtSGFzaFRy
YWl0czxXZWJDb3JlOjpBY3Rpdml0eVN0YXRlRm9yQ1BVU2FtcGxpbmc+PiBDUFVUaW1lSW5BY3Rp
dml0eVN0YXRlTWFwOworICAgIHR5cGVkZWYgSGFzaE1hcDxXZWJDb3JlOjpBY3Rpdml0eVN0YXRl
Rm9yQ1BVU2FtcGxpbmcsIFNlY29uZHMsIFdURjo6SW50SGFzaDxXZWJDb3JlOjpBY3Rpdml0eVN0
YXRlRm9yQ1BVU2FtcGxpbmc+LCBXVEY6OlN0cm9uZ0VudW1IYXNoVHJhaXRzPFdlYkNvcmU6OkFj
dGl2aXR5U3RhdGVGb3JDUFVTYW1wbGluZz4+IENQVVRpbWVJbkFjdGl2aXR5U3RhdGVNYXA7CiAg
ICAgQ1BVVGltZUluQWN0aXZpdHlTdGF0ZU1hcCBtX2NwdVRpbWVJbkFjdGl2aXR5U3RhdGU7Ci0g
ICAgZG91YmxlIG1fbGFzdENQVVRpbWU7CisgICAgTW9ub3RvbmljVGltZSBtX2xhc3RDUFVUaW1l
OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYlByb2Nlc3NQb29sLmNwcAppbmRleCA4OTkyODYwZThlOWU1MjdkNjU5MDczNTFjYmRkYTVl
N2UyZThjNTkyLi4zNmM2NGU0MTQzNDA4YmMxMjYwZDBjMzBjODVkM2VkMWFhYmMwNWJiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKQEAgLTE2MTgsNyAr
MTYxOCw3IEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnVwZGF0ZUhpZGRlblBhZ2VUaHJvdHRsaW5n
QXV0b0luY3JlYXNlTGltaXQoKQogICAgIHNlbmRUb0FsbFByb2Nlc3NlcyhNZXNzYWdlczo6V2Vi
UHJvY2Vzczo6U2V0SGlkZGVuUGFnZURPTVRpbWVyVGhyb3R0bGluZ0luY3JlYXNlTGltaXQobGlt
aXRJbk1pbGxpc2Vjb25kcykpOwogfQogCi12b2lkIFdlYlByb2Nlc3NQb29sOjpyZXBvcnRXZWJD
b250ZW50Q1BVVGltZShpbnQ2NF90IGNwdVRpbWUsIHVpbnQ2NF90IGFjdGl2aXR5U3RhdGUpCit2
b2lkIFdlYlByb2Nlc3NQb29sOjpyZXBvcnRXZWJDb250ZW50Q1BVVGltZShTZWNvbmRzIGNwdVRp
bWUsIHVpbnQ2NF90IGFjdGl2aXR5U3RhdGUpCiB7CiAjaWYgUExBVEZPUk0oTUFDKQogICAgIGlm
IChtX3BlckFjdGl2aXR5U3RhdGVDUFVVc2FnZVNhbXBsZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQcm9jZXNzUG9vbC5oCmluZGV4IGM5YzhkNTY1MzU1OTQ1ZTBkYzY1ZDAzMGUxZjA4
N2I4NDI2MjdjOGIuLmYzZWE2ODQ2YzdkMmY1Mzk0OTYwNWI4OGIyNzQwMmRkZjc5Y2QyMzIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oCkBAIC0yNjQsNyArMjY0
LDcgQEAgY2xhc3MgV2ViUHJvY2Vzc1Bvb2wgZmluYWwgOiBwdWJsaWMgQVBJOjpPYmplY3RJbXBs
PEFQSTo6T2JqZWN0OjpUeXBlOjpQcm9jZXNzUG8KICAgICB2b2lkIHRlcm1pbmF0ZURhdGFiYXNl
UHJvY2VzcygpOwogICAgIHZvaWQgdGVybWluYXRlTmV0d29ya1Byb2Nlc3MoKTsKIAotICAgIHZv
aWQgcmVwb3J0V2ViQ29udGVudENQVVRpbWUoaW50NjRfdCBjcHVUaW1lLCB1aW50NjRfdCBhY3Rp
dml0eVN0YXRlKTsKKyAgICB2b2lkIHJlcG9ydFdlYkNvbnRlbnRDUFVUaW1lKFNlY29uZHMgY3B1
VGltZSwgdWludDY0X3QgYWN0aXZpdHlTdGF0ZSk7CiAKICAgICB2b2lkIGFsbG93U3BlY2lmaWNI
VFRQU0NlcnRpZmljYXRlRm9ySG9zdChjb25zdCBXZWJDZXJ0aWZpY2F0ZUluZm8qLCBjb25zdCBT
dHJpbmcmIGhvc3QpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
UHJvY2Vzc1Bvb2wubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJv
Y2Vzc1Bvb2wubWVzc2FnZXMuaW4KaW5kZXggODk5MGMwMDk0MTNiYzlkZmVjMTM0MDA3NjY1ZTRk
Mjc3MDFiNDY2ZS4uZTBiYjI2OTRhYTVkYjJjZmFjOWY3NTcyOTllYmM1MmU1Yjg1ZmU4NiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLm1lc3NhZ2Vz
LmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5tZXNzYWdl
cy5pbgpAQCAtMzUsNSArMzUsNSBAQCBtZXNzYWdlcyAtPiBXZWJQcm9jZXNzUG9vbCB7CiAgICAg
dm9pZCBBZGRQbHVnSW5BdXRvU3RhcnRPcmlnaW5IYXNoKFN0cmluZyBwYWdlT3JpZ2luLCB1aW50
MzJfdCBoYXNoLCBXZWJDb3JlOjpTZXNzaW9uSUQgc2Vzc2lvbklEKQogICAgIHZvaWQgUGx1Z0lu
RGlkUmVjZWl2ZVVzZXJJbnRlcmFjdGlvbih1aW50MzJfdCBoYXNoLCBXZWJDb3JlOjpTZXNzaW9u
SUQgc2Vzc2lvbklEKQogCi0gICAgUmVwb3J0V2ViQ29udGVudENQVVRpbWUoaW50NjRfdCBjcHVU
aW1lLCB1aW50NjRfdCBhY3Rpdml0eVN0YXRlKQorICAgIFJlcG9ydFdlYkNvbnRlbnRDUFVUaW1l
KFNlY29uZHMgY3B1VGltZSwgdWludDY0X3QgYWN0aXZpdHlTdGF0ZSkKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21l
Q2xpZW50LmNwcAppbmRleCA4MGZlNmFlMDFlMTIzODQ2YTI3M2JkYzcyNGIzOTMwMWFiNzg1ODA1
Li45NmE3OGY1NDkxY2RjMTg4MTFhZGY4NWQzMzI0NzM3OGU4YmQ3ZGQwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5j
cHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJv
bWVDbGllbnQuY3BwCkBAIC0yNzYsNyArMjc2LDcgQEAgdm9pZCBXZWJDaHJvbWVDbGllbnQ6OnJ1
bk1vZGFsKCkKICAgICBtX3BhZ2UucnVuTW9kYWwoKTsKIH0KIAotdm9pZCBXZWJDaHJvbWVDbGll
bnQ6OnJlcG9ydFByb2Nlc3NDUFVUaW1lKGludDY0X3QgY3B1VGltZSwgQWN0aXZpdHlTdGF0ZUZv
ckNQVVNhbXBsaW5nIGFjdGl2aXR5U3RhdGUpCit2b2lkIFdlYkNocm9tZUNsaWVudDo6cmVwb3J0
UHJvY2Vzc0NQVVRpbWUoU2Vjb25kcyBjcHVUaW1lLCBBY3Rpdml0eVN0YXRlRm9yQ1BVU2FtcGxp
bmcgYWN0aXZpdHlTdGF0ZSkKIHsKICAgICBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5zZW5kKE1l
c3NhZ2VzOjpXZWJQcm9jZXNzUG9vbDo6UmVwb3J0V2ViQ29udGVudENQVVRpbWUoY3B1VGltZSwg
c3RhdGljX2Nhc3Q8dWludDY0X3Q+KGFjdGl2aXR5U3RhdGUpKSwgMCk7CiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVu
dC5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVD
bGllbnQuaAppbmRleCAxYzRkNmJiZWIwMWNiMjE3ZjQ3ZWFhZmI1NmNkMmRkYjZmYWEyMTJjLi5j
YjA4NTU4YzZkNzkwZTI3NzFlOWZiZGI5MzhkNzJkNDE0NWFmOWM0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xp
ZW50LmgKQEAgLTY4LDcgKzY4LDcgQEAgY2xhc3MgV2ViQ2hyb21lQ2xpZW50IGZpbmFsIDogcHVi
bGljIFdlYkNvcmU6OkNocm9tZUNsaWVudCB7CiAgICAgYm9vbCBjYW5SdW5Nb2RhbCgpIGZpbmFs
OwogICAgIHZvaWQgcnVuTW9kYWwoKSBmaW5hbDsKIAotICAgIHZvaWQgcmVwb3J0UHJvY2Vzc0NQ
VVRpbWUoaW50NjRfdCwgV2ViQ29yZTo6QWN0aXZpdHlTdGF0ZUZvckNQVVNhbXBsaW5nKSBmaW5h
bDsKKyAgICB2b2lkIHJlcG9ydFByb2Nlc3NDUFVUaW1lKFNlY29uZHMsIFdlYkNvcmU6OkFjdGl2
aXR5U3RhdGVGb3JDUFVTYW1wbGluZykgZmluYWw7CiAgICAgCiAgICAgdm9pZCBzZXRUb29sYmFy
c1Zpc2libGUoYm9vbCkgZmluYWw7CiAgICAgYm9vbCB0b29sYmFyc1Zpc2libGUoKSBmaW5hbDsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>308668</attachid>
            <date>2017-04-29 08:15:43 -0700</date>
            <delta_ts>2017-04-29 09:40:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-171477-20170430001542.patch</filename>
            <type>text/plain</type>
            <size>52055</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE1OTcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGY1ZmYzYmZjN2UzY2M0OGM1YjE4MTc3
MGQyMTBkOWZiOWFmYzMyNzcuLjJlYTYwZDZmYTVhM2Q4MDcyMWE1ZTUyN2JiNzk0NjEyMGQ0ZTdk
NmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMzYgQEAKKzIwMTctMDQtMjkgIFl1c3VrZSBTdXp1a2kgIDx1dGF0
YW5lLnRlYUBnbWFpbC5jb20+CisKKyAgICAgICAgTW92ZSBXZWJDb3JlIENQVVRpbWUgdG8gV1RG
IGFuZCBpbXBsZW1lbnQgaXQgaW4gYWxsIHRoZSBwbGF0Zm9ybXMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MTQ3NworCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlIG1vdmUgV2ViQ29yZTo6Q1BVVGltZSB0
byBXVEY6OkNQVVRpbWUgc2luY2UgaXQgaXMgdXNlZnVsIGV2ZW4gaW4gSlNDCisgICAgICAgIGFu
ZCBpdCBkb2VzIG5vdCBkZXBlbmQgb24gYW55IGV4dGVybmFsIGxpYnJhcmllcy4KKyAgICAgICAg
QW5kIHdlIGFkZGl0aW9uYWxseSBpbXBsZW1lbnQgV1RGOjpDUFVUaW1lIGluIGFsbCB0aGUgcGxh
dGZvcm1zOiBXaW5kb3dzIGFuZCBVbml4LgorCisgICAgICAgIEluIENQVVRpbWUsIGluc3RlYWQg
b2YgaG9sZGluZyBpbnQ2NF90LCB3ZSBob2xkIE1vbm90b25pY1RpbWUgYW5kIFNlY29uZHMuCisK
KyAgICAgICAgKiBXVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiB3dGYv
Q01ha2VMaXN0cy50eHQ6CisgICAgICAgICogd3RmL0NQVVRpbWUuY3BwOiBDb3BpZWQgZnJvbSBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9DUFVUaW1lLmNwcC4KKyAgICAgICAgKFdURjo6Q1BVVGlt
ZTo6cGVyY2VudGFnZUNQVVVzYWdlU2luY2UpOgorICAgICAgICAqIHd0Zi9DUFVUaW1lLmg6IFJl
bmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9DUFVUaW1lLmguCisgICAgICAgICog
d3RmL1BsYXRmb3JtRWZsLmNtYWtlOgorICAgICAgICAqIHd0Zi9QbGF0Zm9ybUdUSy5jbWFrZToK
KyAgICAgICAgKiB3dGYvUGxhdGZvcm1KU0NPbmx5LmNtYWtlOgorICAgICAgICAqIHd0Zi9QbGF0
Zm9ybU1hYy5jbWFrZToKKyAgICAgICAgKiB3dGYvUGxhdGZvcm1XaW4uY21ha2U6CisgICAgICAg
ICogd3RmL2NvY29hL0NQVVRpbWVDb2NvYS5tbTogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2NvY29hL0NQVVRpbWVDb2NvYS5tbS4KKyAgICAgICAgKFdURjo6dGltZVZhbHVl
VG9NaWNyb3NlY29uZHMpOgorICAgICAgICAoV1RGOjpDUFVUaW1lOjpnZXQpOgorICAgICAgICAq
IHd0Zi91bml4L0NQVVRpbWVVbml4LmNwcDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL0NQVVRpbWUuY3BwLgorICAgICAgICAoV1RGOjp0aW1ldmFsVG9TZWNvbmRzKToKKyAg
ICAgICAgKFdURjo6Q1BVVGltZTo6Z2V0KToKKyAgICAgICAgKiB3dGYvd2luL0NQVVRpbWVXaW4u
Y3BwOiBBZGRlZC4KKyAgICAgICAgKFdURjo6ZmlsZVRpbWVUb1NlY29uZHMpOgorICAgICAgICAo
V1RGOjpDUFVUaW1lOjpnZXQpOgorCiAyMDE3LTA0LTI4ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5m
cmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBzeXN0ZW0gdHJhY2UgcG9pbnRzIGZvciBE
b2N1bWVudDo6dXBkYXRlVG91Y2hFdmVudFJlZ2lvbnMoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGNkMjk0NDI5
ZGViYjMyNGFlODIwZTY5NWIwNjRjOGQzMDA2NTgxOTIuLmUzNDcwMzA4NmE1ZjNiMDJiMjhhOGNi
ZGY0M2RkM2MyYjY0ZWMyMmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNyBAQAorMjAxNy0wNC0y
OSAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWlsLmNvbT4KKworICAgICAgICBNb3Zl
IFdlYkNvcmUgQ1BVVGltZSB0byBXVEYgYW5kIGltcGxlbWVudCBpdCBpbiBhbGwgdGhlIHBsYXRm
b3JtcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcx
NDc3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTW92
ZSBDUFVUaW1lIHRvIFdURi4gQW5kIHJlbmFtZSBnZXRDUFVUaW1lIHRvIENQVVRpbWU6OmdldCgp
LgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogUGxhdGZvcm1NYWMuY21h
a2U6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAg
ICAqIHBhZ2UvQ2hyb21lQ2xpZW50Lmg6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZU1vbml0
b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VNb25pdG9yOjpQZXJmb3JtYW5j
ZU1vbml0b3IpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VNb25pdG9yOjptZWFzdXJl
UG9zdExvYWRDUFVVc2FnZSk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZU1vbml0b3I6
Om1lYXN1cmVQb3N0QmFja2dyb3VuZGluZ0NQVVVzYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OlBl
cmZvcm1hbmNlTW9uaXRvcjo6bWVhc3VyZUNQVVVzYWdlSW5BY3Rpdml0eVN0YXRlKToKKyAgICAg
ICAgKiBwYWdlL1BlcmZvcm1hbmNlTW9uaXRvci5oOgorICAgICAgICAqIHBsYXRmb3JtL0NQVU1v
bml0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1BVTW9uaXRvcjo6c2V0Q1BVTGltaXQpOgor
ICAgICAgICAoV2ViQ29yZTo6Q1BVTW9uaXRvcjo6dGltZXJGaXJlZCk6CisgICAgICAgICogcGxh
dGZvcm0vQ1BVTW9uaXRvci5oOgorCiAyMDE3LTA0LTI4ICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9s
bGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBDcmFzaCB1bmRlciBXZWJDb3JlOjpBY2Nlc3NpYmls
aXR5UmVuZGVyT2JqZWN0OjpoYW5kbGVBcmlhRXhwYW5kZWRDaGFuZ2VkKCkuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5k
ZXggODhhZTVkNDBlZjI0YjYzYjZkZGM3ODQ0NjM1ZGI2ODNjZjgxODM4Ny4uNzQ5Nzg0MTZjMzAw
OGQyMmJlOThmZDU2MTAzZmRhNGRkYjQ3Y2QxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBA
CisyMDE3LTA0LTI5ICBZdXN1a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFAZ21haWwuY29tPgorCisg
ICAgICAgIE1vdmUgV2ViQ29yZSBDUFVUaW1lIHRvIFdURiBhbmQgaW1wbGVtZW50IGl0IGluIGFs
bCB0aGUgcGxhdGZvcm1zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNzE0NzcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBXZSBub3cgaG9sZCBTZWNvbmRzIGluIENQVVRpbWUgaW5zdGVhZCBvZiBpbnQ2NF90
LiBJdCBmaW5hbGx5IHNlbmRzCisgICAgICAgIFNlY29uZHMgdGhyb3VnaCBXZWJLaXQyIElQQy4g
V2UgZG8gbm90IG5lZWQgdG8gc3BlY2lhbGl6ZSBBcmd1bWVudENvZGVyCisgICAgICAgIGZvciBT
ZWNvbmRzIHNpbmNlIFNlY29uZHMganVzdCBob2xkcyBkb3VibGUuCisKKyAgICAgICAgKiBVSVBy
b2Nlc3MvUGVyQWN0aXZpdHlTdGF0ZUNQVVVzYWdlU2FtcGxlci5jcHA6CisgICAgICAgIChXZWJL
aXQ6OlBlckFjdGl2aXR5U3RhdGVDUFVVc2FnZVNhbXBsZXI6OlBlckFjdGl2aXR5U3RhdGVDUFVV
c2FnZVNhbXBsZXIpOgorICAgICAgICAoV2ViS2l0OjpQZXJBY3Rpdml0eVN0YXRlQ1BVVXNhZ2VT
YW1wbGVyOjpyZXBvcnRXZWJDb250ZW50Q1BVVGltZSk6CisgICAgICAgIChXZWJLaXQ6OlBlckFj
dGl2aXR5U3RhdGVDUFVVc2FnZVNhbXBsZXI6OmxvZ2dpbmdUaW1lckZpcmVkKToKKyAgICAgICAg
KiBVSVByb2Nlc3MvUGVyQWN0aXZpdHlTdGF0ZUNQVVVzYWdlU2FtcGxlci5oOgorICAgICAgICAq
IFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nl
c3NQb29sOjpyZXBvcnRXZWJDb250ZW50Q1BVVGltZSk6CisgICAgICAgICogVUlQcm9jZXNzL1dl
YlByb2Nlc3NQb29sLmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLm1lc3Nh
Z2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xp
ZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViQ2hyb21lQ2xpZW50OjpyZXBvcnRQcm9jZXNz
Q1BVVGltZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVD
bGllbnQuaDoKKwogMjAxNy0wNC0yOCAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+
CiAKICAgICAgICAgVGVhY2ggdGhlIERhdGFiYXNlUHJvY2VzcyB0byBiZSBmdWxseSBTZXNzaW9u
SUQgYXdhcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2ogYi9Tb3VyY2UvV1RGL1dURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGI4
ZDAyOGMyMzBmYzViOWY5YmFkMGJmNzc1YWIwMTc5OGQxOWI3NGMuLmMyODcxYWYxZmQ3NTg2ZTUw
NzM1ZDBlNGZkNDZiYzI1NjE2NGM2NTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvV1RGLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagpAQCAtMzg3LDYgKzM4Nyw5IEBACiAJCUUzMjAwQUI3MUU5QTUzNkQwMDNCNTlE
MiAvKiBQbGF0Zm9ybVJlZ2lzdGVycy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gRTMyMDBBQjQxRTlBNTM2RDAwM0I1OUQyIC8qIFBsYXRmb3JtUmVnaXN0
ZXJzLmggKi87IH07CiAJCUUzMjAwQUI4MUU5QTUzNkQwMDNCNTlEMiAvKiBUaHJlYWRIb2xkZXIu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTMyMDBB
QjUxRTlBNTM2RDAwM0I1OUQyIC8qIFRocmVhZEhvbGRlci5jcHAgKi87IH07CiAJCUUzMjAwQUI5
MUU5QTUzNkQwMDNCNTlEMiAvKiBUaHJlYWRIb2xkZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzMjAwQUI2MUU5QTUzNkQwMDNCNTlEMiAvKiBUaHJl
YWRIb2xkZXIuaCAqLzsgfTsKKwkJRTM4QzQxMjUxRUI0RTA0QzAwNDI5NTdEIC8qIENQVVRpbWVD
b2NvYS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUz
OEM0MTI0MUVCNEUwNEMwMDQyOTU3RCAvKiBDUFVUaW1lQ29jb2EubW0gKi87IH07CisJCUUzOEM0
MTI4MUVCNEUwNjgwMDQyOTU3RCAvKiBDUFVUaW1lLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzOEM0MTI2MUVCNEUwNjgwMDQyOTU3RCAvKiBDUFVU
aW1lLmNwcCAqLzsgfTsKKwkJRTM4QzQxMjkxRUI0RTA2ODAwNDI5NTdEIC8qIENQVVRpbWUuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzOEM0MTI3MUVC
NEUwNjgwMDQyOTU3RCAvKiBDUFVUaW1lLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTNFMTU4MjYxRUFEQTUzQzAwNEEwNzlEIC8qIFN5c3RlbUZy
ZWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzRTE1
ODI1MUVBREE1M0MwMDRBMDc5RCAvKiBTeXN0ZW1GcmVlLmggKi87IH07CiAJCUU0M0E0Njk1MUUy
MjhCOTEwMDI3NkIwNSAvKiBEZWNvZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBFNDNBNDY5MDFFMjI4QjkxMDAyNzZCMDUgLyogRGVjb2Rlci5oICov
OyB9OwogCQlFNDNBNDY5NjFFMjI4QjkxMDAyNzZCMDUgLyogRW5jb2Rlci5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTQzQTQ2OTExRTIyOEI5MTAwMjc2
QjA1IC8qIEVuY29kZXIuaCAqLzsgfTsKQEAgLTgwMyw2ICs4MDYsOSBAQAogCQlFMzIwMEFCNDFF
OUE1MzZEMDAzQjU5RDIgLyogUGxhdGZvcm1SZWdpc3RlcnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gUGxhdGZvcm1SZWdpc3RlcnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJRTMyMDBBQjUxRTlBNTM2RDAwM0I1OUQyIC8qIFRocmVhZEhvbGRlci5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBUaHJlYWRIb2xkZXIuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMzIwMEFCNjFFOUE1MzZEMDAzQjU5RDIgLyogVGhy
ZWFkSG9sZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFRocmVhZEhvbGRl
ci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlFMzhDNDEyNDFFQjRFMDRDMDA0Mjk1
N0QgLyogQ1BVVGltZUNvY29hLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBw
YXRoID0gQ1BVVGltZUNvY29hLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlFMzhD
NDEyNjFFQjRFMDY4MDA0Mjk1N0QgLyogQ1BVVGltZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBDUFVUaW1lLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJRTM4QzQxMjcxRUI0RTA2ODAwNDI5NTdEIC8qIENQVVRpbWUuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gQ1BVVGltZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlFM0UxNTgyNTFFQURBNTNDMDA0QTA3OUQgLyogU3lzdGVtRnJlZS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBTeXN0ZW1GcmVlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUU0M0E0NjkwMUUyMjhCOTEwMDI3NkIwNSAvKiBEZWNvZGVyLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERlY29kZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJRTQzQTQ2OTExRTIyOEI5MTAwMjc2QjA1IC8qIEVuY29kZXIuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gRW5jb2Rlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwpAQCAtOTk3LDYgKzEwMDMsOCBAQAogCQkJCTBGNDU3MDQ0MUJFODM0NDEwMDYyQTYyOSAvKiBC
dWJibGVTb3J0LmggKi8sCiAJCQkJQThBNDcyNjcxNTFBODI1QTAwNDEyM0ZGIC8qIEJ1bXBQb2lu
dGVyQWxsb2NhdG9yLmggKi8sCiAJCQkJRUI5NUUxRUYxNjFBNzI0MTAwODlBMkY1IC8qIEJ5dGVP
cmRlci5oICovLAorCQkJCUUzOEM0MTI2MUVCNEUwNjgwMDQyOTU3RCAvKiBDUFVUaW1lLmNwcCAq
LywKKwkJCQlFMzhDNDEyNzFFQjRFMDY4MDA0Mjk1N0QgLyogQ1BVVGltZS5oICovLAogCQkJCUE4
QTQ3MjZBMTUxQTgyNUEwMDQxMjNGRiAvKiBDaGVja2VkQXJpdGhtZXRpYy5oICovLAogCQkJCUE4
QTQ3MjZCMTUxQTgyNUEwMDQxMjNGRiAvKiBDaGVja2VkQm9vbGVhbi5oICovLAogCQkJCTBGNjZC
MjgwMURDOTdCQUIwMDRBMUQzRiAvKiBDbG9ja1R5cGUuY3BwICovLApAQCAtMTQyNyw2ICsxNDM1
LDcgQEAKIAkJRTRBMEFEM0IxQTk2MjUxOTAwNTM2REY2IC8qIGNvY29hICovID0gewogCQkJaXNh
ID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQlFMzhDNDEyNDFFQjRFMDRDMDA0Mjk1
N0QgLyogQ1BVVGltZUNvY29hLm1tICovLAogCQkJCUFEODlCNkI5MUU2NDE1MEYwMDkwNzA3RiAv
KiBNZW1vcnlQcmVzc3VyZUhhbmRsZXJDb2NvYS5tbSAqLywKIAkJCQlFNEEwQUQzQzFBOTYyNTND
MDA1MzZERjYgLyogV29ya1F1ZXVlQ29jb2EuY3BwICovLAogCQkJKTsKQEAgLTE3MDksNiArMTcx
OCw3IEBACiAJCQkJRTMyMDBBQjcxRTlBNTM2RDAwM0I1OUQyIC8qIFBsYXRmb3JtUmVnaXN0ZXJz
LmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjM1MDE2NDFCQjI1OEQ1MDBGMEEyQTMgLyogV2Vha1Jh
bmRvbS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUZBNDdDOEIxNTI1MDJEQTAwNTY4RDFCIC8qIFdl
YkNvcmVUaHJlYWQuaCBpbiBIZWFkZXJzICovLAorCQkJCUUzOEM0MTI5MUVCNEUwNjgwMDQyOTU3
RCAvKiBDUFVUaW1lLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkU0NDc5RDFCN0FBQTAzMDA5NDk4
RUIgLyogV29yZExvY2suaCBpbiBIZWFkZXJzICovLAogCQkJCUU0QTBBRDNBMUE5NjI0NTUwMDUz
NkRGNiAvKiBXb3JrUXVldWUuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4QTQ3NDQ2MTUxQTgyNUIw
MDQxMjNGRiAvKiBXVEZTdHJpbmcuaCBpbiBIZWFkZXJzICovLApAQCAtMTgyMSw2ICsxODMxLDcg
QEAKIAkJCQk5QkM3MEYwNTE3NkMzNzlEMDAxMDFERUMgLyogQXRvbWljU3RyaW5nVGFibGUuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJMTQ2OTQxOUQxNkVBQjEwQTAwMjRFMTQ2IC8qIEF1dG9kcmFp
bmVkUG9vbE1hYy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTBGNDNEOEYxMURCNUFEREMwMDEwOEZC
NiAvKiBBdXRvbWF0aWNUaHJlYWQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJRTM4QzQxMjgxRUI0
RTA2ODAwNDI5NTdEIC8qIENQVVRpbWUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJODEzNDAxMzgx
NUIwOTJGRDAwMUZGMEI4IC8qIEJhc2U2NC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBOEE0NzNB
ODE1MUE4MjVCMDA0MTIzRkYgLyogYmlnbnVtLWR0b2EuY2MgaW4gU291cmNlcyAqLywKIAkJCQlB
OEE0NzNBQTE1MUE4MjVCMDA0MTIzRkYgLyogYmlnbnVtLmNjIGluIFNvdXJjZXMgKi8sCkBAIC0x
ODU3LDYgKzE4NjgsNyBAQAogCQkJCTJDQ0Q4OTJBMTVDMDM5MDIwMDI4NTA4MyAvKiBHcmVnb3Jp
YW5EYXRlVGltZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBOEE0NzNEODE1MUE4MjVCMDA0MTIz
RkYgLyogSGFzaFRhYmxlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGRTE2NDZBMUI2RkZDOTYw
MDQwMEU3QyAvKiBMb2NrLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUUzOEM0MTI1MUVCNEUwNEMw
MDQyOTU3RCAvKiBDUFVUaW1lQ29jb2EubW0gaW4gU291cmNlcyAqLywKIAkJCQkwRjYwRjMyRjFE
RkNCRDFCMDA0MTZENkMgLyogTG9ja2VkUHJpbnRTdHJlYW0uY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJQThBNDczRTUxNTFBODI1QjAwNDEyM0ZGIC8qIE1haW5UaHJlYWQuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJQThBNDczRTQxNTFBODI1QjAwNDEyM0ZGIC8qIE1haW5UaHJlYWRNYWMubW0gaW4g
U291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0NNYWtlTGlzdHMudHh0IGIv
U291cmNlL1dURi93dGYvQ01ha2VMaXN0cy50eHQKaW5kZXggOGU0NDM5MGFjZWZhODI5YzExMGQw
NzdmNzkzYjg3OWEyYmE2MDZmZS4uNmQ3NGNjYTk0MTUzYjBiMWFmNDRhNjRhNjFjZTI4Y2FlZmU0
ODE0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvQ01ha2VMaXN0cy50eHQKKysrIGIvU291
cmNlL1dURi93dGYvQ01ha2VMaXN0cy50eHQKQEAgLTEyLDYgKzEyLDcgQEAgc2V0KFdURl9IRUFE
RVJTCiAgICAgQnViYmxlU29ydC5oCiAgICAgQnVtcFBvaW50ZXJBbGxvY2F0b3IuaAogICAgIEJ5
dGVPcmRlci5oCisgICAgQ1BVVGltZS5oCiAgICAgQ2xvY2tUeXBlLmgKICAgICBDb21waWxhdGlv
blRocmVhZC5oCiAgICAgQ29tcGlsZXIuaApAQCAtMjAyLDYgKzIwMyw3IEBAIHNldChXVEZfU09V
UkNFUwogICAgIEF0b21pY3MuY3BwCiAgICAgQXV0b21hdGljVGhyZWFkLmNwcAogICAgIEJpdFZl
Y3Rvci5jcHAKKyAgICBDUFVUaW1lLmNwcAogICAgIENsb2NrVHlwZS5jcHAKICAgICBDb21waWxh
dGlvblRocmVhZC5jcHAKICAgICBDcm9zc1RocmVhZENvcGllci5jcHAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XVEYvd3RmL0NQVVRpbWUuY3BwIGIvU291cmNlL1dURi93dGYvQ1BVVGltZS5jcHAKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMWQxYTAzNzQxMTRjMzQ4NTM3M2UzNWRjY2UyZjhhOGQ5MDY5NGE2YwotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XVEYvd3RmL0NQVVRpbWUuY3BwCkBAIC0wLDAgKzEsMzkgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQ1BVVGltZS5oIgor
CituYW1lc3BhY2UgV1RGIHsKKworZG91YmxlIENQVVRpbWU6OnBlcmNlbnRhZ2VDUFVVc2FnZVNp
bmNlKGNvbnN0IENQVVRpbWUmIHJlZmVyZW5jZSkgY29uc3QKK3sKKyAgICBTZWNvbmRzIGNwdVVz
YWdlVGltZURlbHRhID0gKHN5c3RlbVRpbWUgKyB1c2VyVGltZSkgLSAocmVmZXJlbmNlLnN5c3Rl
bVRpbWUgKyByZWZlcmVuY2UudXNlclRpbWUpOworICAgIFNlY29uZHMgY3B1VGltZURlbHRhID0g
Y3B1VGltZSAtIHJlZmVyZW5jZS5jcHVUaW1lOworICAgIEFTU0VSVChjcHVUaW1lRGVsdGEpOwor
ICAgIHJldHVybiBjcHVVc2FnZVRpbWVEZWx0YS52YWx1ZSgpICogMTAwLjAgLyBjcHVUaW1lRGVs
dGEudmFsdWUoKTsKK30KKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvQ1BVVGltZS5o
IGIvU291cmNlL1dURi93dGYvQ1BVVGltZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFmMzk1OGI0MzIxNThmNDMz
YmYwODBkNGYyYmE4Y2FmNDFjMjM5YjkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV1RGL3d0
Zi9DUFVUaW1lLmgKQEAgLTAsMCArMSw0NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQor
CisjaW5jbHVkZSA8d3RmL01vbm90b25pY1RpbWUuaD4KKyNpbmNsdWRlIDx3dGYvT3B0aW9uYWwu
aD4KKyNpbmNsdWRlIDx3dGYvU2Vjb25kcy5oPgorCituYW1lc3BhY2UgV1RGIHsKKworc3RydWN0
IENQVVRpbWUgeworICAgIE1vbm90b25pY1RpbWUgY3B1VGltZTsKKyAgICBTZWNvbmRzIHVzZXJU
aW1lOworICAgIFNlY29uZHMgc3lzdGVtVGltZTsKKworICAgIFdURl9FWFBPUlRfUFJJVkFURSBk
b3VibGUgcGVyY2VudGFnZUNQVVVzYWdlU2luY2UoY29uc3QgQ1BVVGltZSYpIGNvbnN0OworCisg
ICAgV1RGX0VYUE9SVF9QUklWQVRFIHN0YXRpYyBzdGQ6Om9wdGlvbmFsPENQVVRpbWU+IGdldCgp
OworfTsKKworfSAvLyBuYW1lc3BhY2UgV1RGCisKK3VzaW5nIFdURjo6Q1BVVGltZTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtRWZsLmNtYWtlIGIvU291cmNlL1dURi93dGYv
UGxhdGZvcm1FZmwuY21ha2UKaW5kZXggM2JmY2U0MDk0NjczOWNlNDQ2YjE0NGJlMDMwZTU4OTRk
NWRiMjBlYi4uYWVhMmFkOTk3N2ZjZGQ5YWZhMmE2YjQzN2JlMjM3MzZmNzZjNjUzZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1FZmwuY21ha2UKKysrIGIvU291cmNlL1dURi93
dGYvUGxhdGZvcm1FZmwuY21ha2UKQEAgLTEzLDYgKzEzLDggQEAgbGlzdChBUFBFTkQgV1RGX1NP
VVJDRVMKIAogICAgIGxpbnV4L0N1cnJlbnRQcm9jZXNzTWVtb3J5U3RhdHVzLmNwcAogICAgIGxp
bnV4L01lbW9yeVByZXNzdXJlSGFuZGxlckxpbnV4LmNwcAorCisgICAgdW5peC9DUFVUaW1lVW5p
eC5jcHAKICkKIAogbGlzdChBUFBFTkQgV1RGX0xJQlJBUklFUwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dURi93dGYvUGxhdGZvcm1HVEsuY21ha2UgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUdUSy5j
bWFrZQppbmRleCAwOTU5ZGJhMzRkZDFiY2Y2YTNmMWQwMzQ1NjEwZTYxM2I1NDYyMmYxLi44NDUw
MTYzOTQ5M2E4Y2M4YzRiNjg3ZWFkOTcwNTI3YTYzODAwZTFiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V1RGL3d0Zi9QbGF0Zm9ybUdUSy5jbWFrZQorKysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUdU
Sy5jbWFrZQpAQCAtMTEsNiArMTEsOCBAQCBsaXN0KEFQUEVORCBXVEZfU09VUkNFUwogICAgIGxp
bnV4L0N1cnJlbnRQcm9jZXNzTWVtb3J5U3RhdHVzLmNwcAogICAgIGxpbnV4L01lbW9yeVByZXNz
dXJlSGFuZGxlckxpbnV4LmNwcAogCisgICAgdW5peC9DUFVUaW1lVW5peC5jcHAKKwogICAgIFBs
YXRmb3JtVXNlclByZWZlcnJlZExhbmd1YWdlc1VuaXguY3BwCiAgICAgVW5pU3RkRXh0cmFzLmNw
cAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUpTQ09ubHkuY21ha2UgYi9T
b3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUpTQ09ubHkuY21ha2UKaW5kZXggOWQ4NDk1OGM3YmJiMDdl
MDIzYjAyODdmNzE4OGJkMTkxMGQ3YmMxMy4uOGQzMDM1ZmQwMzM5ZGVjOGU2M2E4ZWJjMTUwNGEx
YTk3OWI0NmE3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1KU0NPbmx5LmNt
YWtlCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSlNDT25seS5jbWFrZQpAQCAtNiwxMCAr
NiwxMiBAQCBsaXN0KEFQUEVORCBXVEZfU09VUkNFUwogCiBpZiAoV0lOMzIpCiAgICAgbGlzdChB
UFBFTkQgV1RGX1NPVVJDRVMKKyAgICAgICAgd2luL0NQVVRpbWVXaW4uY3BwCiAgICAgICAgIHRl
eHQvd2luL1RleHRCcmVha0l0ZXJhdG9ySW50ZXJuYWxJQ1VXaW4uY3BwCiAgICAgKQogZWxzZSAo
KQogICAgIGxpc3QoQVBQRU5EIFdURl9TT1VSQ0VTCisgICAgICAgIHVuaXgvQ1BVVGltZVVuaXgu
Y3BwCiAgICAgICAgIHRleHQvdW5peC9UZXh0QnJlYWtJdGVyYXRvckludGVybmFsSUNVVW5peC5j
cHAKICAgICApCiBlbmRpZiAoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1N
YWMuY21ha2UgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybU1hYy5jbWFrZQppbmRleCBhNTc2MjNk
MzU1MmM3NDgxM2Y1YTQ2NzMwMGM4MTI5NDBlM2JkMDE2Li44M2U5ODdlYzBjY2IwYTlkZTA0Y2Rh
MDY0MGM3YTAzNWM1YmE2Y2ZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybU1h
Yy5jbWFrZQorKysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybU1hYy5jbWFrZQpAQCAtMjIsNiAr
MjIsNyBAQCBsaXN0KEFQUEVORCBXVEZfU09VUkNFUwogCiAgICAgY2YvUnVuTG9vcENGLmNwcAog
CisgICAgY29jb2EvQ1BVVGltZUNvY29hLm1tCiAgICAgY29jb2EvTWVtb3J5UHJlc3N1cmVIYW5k
bGVyQ29jb2EubW0KICAgICBjb2NvYS9Xb3JrUXVldWVDb2NvYS5jcHAKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dURi93dGYvUGxhdGZvcm1XaW4uY21ha2UgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9y
bVdpbi5jbWFrZQppbmRleCA2MDI4OGI3NTNmZmM4MmI0YTE4ZjAyNjZiZTEwYzdhYmFkYjMwODM5
Li45NWQzM2MyNjFjZTVlZjJjZjc2Mjg2ODczNjEwNjFmODIwZjY3Nzc1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybVdpbi5jbWFrZQorKysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0
Zm9ybVdpbi5jbWFrZQpAQCAtOCw2ICs4LDcgQEAgbGlzdChBUFBFTkQgV1RGX1NPVVJDRVMKICAg
ICB0ZXh0L2NmL1N0cmluZ0ltcGxDRi5jcHAKICAgICB0ZXh0L2NmL1N0cmluZ1ZpZXdDRi5jcHAK
IAorICAgIHdpbi9DUFVUaW1lV2luLmNwcAogICAgIHdpbi9NYWluVGhyZWFkV2luLmNwcAogICAg
IHdpbi9NZW1vcnlQcmVzc3VyZUhhbmRsZXJXaW4uY3BwCiAgICAgd2luL1J1bkxvb3BXaW4uY3Bw
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9jb2NvYS9DUFVUaW1lQ29jb2EubW0gYi9Tb3Vy
Y2UvV1RGL3d0Zi9jb2NvYS9DUFVUaW1lQ29jb2EubW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjU3ZDhhYmE1OGIz
NDU3YTdmZjI3OTc5MzcwOGZkNmJiMDU0NzcwZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
VEYvd3RmL2NvY29hL0NQVVRpbWVDb2NvYS5tbQpAQCAtMCwwICsxLDcwIEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAq
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisg
KiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI2ltcG9ydCAiY29uZmlnLmgiCisjaW1wb3J0ICJDUFVUaW1lLmgiCisKKyNpbXBvcnQgPG1h
Y2gvbWFjaF9pbml0Lmg+CisjaW1wb3J0IDxtYWNoL3Rhc2suaD4KKyNpbXBvcnQgPG1hY2gvdGFz
a19pbmZvLmg+CisKK25hbWVzcGFjZSBXVEYgeworCitzdGF0aWMgY29uc3QgaW50NjRfdCBtaWNy
b3NlY29uZHNQZXJTZWNvbmQgPSAxMDAwMDAwOworCitzdGF0aWMgaW50NjRfdCB0aW1lVmFsdWVU
b01pY3Jvc2Vjb25kcyhjb25zdCB0aW1lX3ZhbHVlX3QmIHZhbHVlKQoreworICAgIGludDY0X3Qg
cmVzdWx0ID0gdmFsdWUuc2Vjb25kczsKKyAgICByZXN1bHQgKj0gbWljcm9zZWNvbmRzUGVyU2Vj
b25kOworICAgIHJlc3VsdCArPSB2YWx1ZS5taWNyb3NlY29uZHM7CisgICAgcmV0dXJuIHJlc3Vs
dDsKK30KKworc3RkOjpvcHRpb25hbDxDUFVUaW1lPiBDUFVUaW1lOjpnZXQoKQoreworICAgIC8v
IEFjY291bnQgZm9yIGN1cnJlbnQgdGhyZWFkcy4KKyAgICB0YXNrX3RocmVhZF90aW1lc19pbmZv
IHRocmVhZEluZm9EYXRhOworICAgIG1hY2hfbXNnX3R5cGVfbnVtYmVyX3QgdGhyZWFkSW5mb0Nv
dW50ID0gVEFTS19USFJFQURfVElNRVNfSU5GT19DT1VOVDsKKyAgICBrZXJuX3JldHVybl90IHJl
c3VsdCA9IHRhc2tfaW5mbyhtYWNoX3Rhc2tfc2VsZigpLCBUQVNLX1RIUkVBRF9USU1FU19JTkZP
LCByZWludGVycHJldF9jYXN0PHRhc2tfaW5mb190PigmdGhyZWFkSW5mb0RhdGEpLCAmdGhyZWFk
SW5mb0NvdW50KTsKKyAgICBpZiAocmVzdWx0ICE9IEtFUk5fU1VDQ0VTUykKKyAgICAgICAgcmV0
dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIGludDY0X3QgdXNlclRpbWUgPSB0aW1lVmFsdWVUb01p
Y3Jvc2Vjb25kcyh0aHJlYWRJbmZvRGF0YS51c2VyX3RpbWUpOworICAgIGludDY0X3Qgc3lzdGVt
VGltZSA9IHRpbWVWYWx1ZVRvTWljcm9zZWNvbmRzKHRocmVhZEluZm9EYXRhLnN5c3RlbV90aW1l
KTsKKworICAgIC8vIEFjY291bnQgZm9yIHRlcm1pbmVkIHRocmVhZHMuCisgICAgdGFza19iYXNp
Y19pbmZvIHRhc2tJbmZvRGF0YTsKKyAgICBtYWNoX21zZ190eXBlX251bWJlcl90IHRhc2tJbmZv
Q291bnQgPSBUQVNLX0JBU0lDX0lORk9fQ09VTlQ7CisgICAgcmVzdWx0ID0gdGFza19pbmZvKG1h
Y2hfdGFza19zZWxmKCksIFRBU0tfQkFTSUNfSU5GTywgcmVpbnRlcnByZXRfY2FzdDx0YXNrX2lu
Zm9fdD4oJnRhc2tJbmZvRGF0YSksICZ0YXNrSW5mb0NvdW50KTsKKyAgICBpZiAocmVzdWx0ICE9
IEtFUk5fU1VDQ0VTUykKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIHVzZXJU
aW1lICs9IHRpbWVWYWx1ZVRvTWljcm9zZWNvbmRzKHRhc2tJbmZvRGF0YS51c2VyX3RpbWUpOwor
ICAgIHN5c3RlbVRpbWUgKz0gdGltZVZhbHVlVG9NaWNyb3NlY29uZHModGFza0luZm9EYXRhLnN5
c3RlbV90aW1lKTsKKworICAgIHJldHVybiBDUFVUaW1lIHsgTW9ub3RvbmljVGltZTo6bm93KCks
IFNlY29uZHM6OmZyb21NaWNyb3NlY29uZHModXNlclRpbWUpLCBTZWNvbmRzOjpmcm9tTWljcm9z
ZWNvbmRzKHN5c3RlbVRpbWUpIH07Cit9CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3Rm
L3VuaXgvQ1BVVGltZVVuaXguY3BwIGIvU291cmNlL1dURi93dGYvdW5peC9DUFVUaW1lVW5peC5j
cHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uOTc1MmIxYjIxNjAyNjI1NzQ2N2UzMmZjZjI1MjhjMWM0NGM0ZjY3Mwot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XVEYvd3RmL3VuaXgvQ1BVVGltZVVuaXguY3BwCkBA
IC0wLDAgKzEsNDcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgWXVzdWtlIFN1enVraSA8
dXRhdGFuZS50ZWFAZ21haWwuY29tPgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisj
aW5jbHVkZSAiQ1BVVGltZS5oIgorCisjaW5jbHVkZSA8c3lzL3Jlc291cmNlLmg+CisjaW5jbHVk
ZSA8c3lzL3RpbWUuaD4KKworbmFtZXNwYWNlIFdURiB7CisKK3N0YXRpYyBTZWNvbmRzIHRpbWV2
YWxUb1NlY29uZHMoY29uc3Qgc3RydWN0IHRpbWV2YWwmIHZhbHVlKQoreworICAgIHJldHVybiBT
ZWNvbmRzKHZhbHVlLnR2X3NlYykgKyBTZWNvbmRzOjpmcm9tTWljcm9zZWNvbmRzKHZhbHVlLnR2
X3VzZWMpOworfQorCitzdGQ6Om9wdGlvbmFsPENQVVRpbWU+IENQVVRpbWU6OmdldCgpCit7Cisg
ICAgc3RydWN0IHJ1c2FnZSByZXNvdXJjZSB7IH07CisgICAgaW50IHJldCA9IGdldHJ1c2FnZShS
VVNBR0VfU0VMRiwgJnJlc291cmNlKTsKKyAgICBBU1NFUlRfVU5VU0VEKHJldCwgIXJldCk7Cisg
ICAgcmV0dXJuIENQVVRpbWUgeyBNb25vdG9uaWNUaW1lOjpub3coKSwgdGltZXZhbFRvU2Vjb25k
cyhyZXNvdXJjZS5ydV91dGltZSksIHRpbWV2YWxUb1NlY29uZHMocmVzb3VyY2UucnVfc3RpbWUp
IH07Cit9CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3dpbi9DUFVUaW1lV2luLmNw
cCBiL1NvdXJjZS9XVEYvd3RmL3dpbi9DUFVUaW1lV2luLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mZTBkYWU1
ZGY2YTc1MDU4MjA3NTQzMWRhMDllYTQzMWRjZDJlYzhhCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dURi93dGYvd2luL0NQVVRpbWVXaW4uY3BwCkBAIC0wLDAgKzEsNjMgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTcgWXVzdWtlIFN1enVraSA8dXRhdGFuZS50ZWFAZ21haWwuY29tPgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQ1BVVGltZS5oIgorCisj
aW5jbHVkZSA8d2luZG93cy5oPgorCituYW1lc3BhY2UgV1RGIHsKKworc3RhdGljIFNlY29uZHMg
ZmlsZVRpbWVUb1NlY29uZHMoY29uc3QgRklMRVRJTUUmIGZpbGVUaW1lKQoreworICAgIC8vIGh0
dHBzOi8vbXNkbi5taWNyb3NvZnQuY29tL2phLWpwL2xpYnJhcnkvd2luZG93cy9kZXNrdG9wL21z
NjgzMjIzKHY9dnMuODUpLmFzcHgKKyAgICAvLyAiQWxsIHRpbWVzIGFyZSBleHByZXNzZWQgdXNp
bmcgRklMRVRJTUUgZGF0YSBzdHJ1Y3R1cmVzLiBTdWNoIGEgc3RydWN0dXJlIGNvbnRhaW5zCisg
ICAgLy8gdHdvIDMyLWJpdCB2YWx1ZXMgdGhhdCBjb21iaW5lIHRvIGZvcm0gYSA2NC1iaXQgY291
bnQgb2YgMTAwLW5hbm9zZWNvbmQgdGltZSB1bml0cy4iCisKKyAgICBjb25zdCBjb25zdGV4cHIg
ZG91YmxlIGh1bmRyZWRzT2ZOYW5vc2Vjb25kc1BlclNlY29uZCA9ICgxMDAwLjAgKiAxMDAwLjAg
KiAxMDAwLjApIC8gMTAwLjA7CisKKyAgICAvLyBodHRwczovL21zZG4ubWljcm9zb2Z0LmNvbS9q
YS1qcC9saWJyYXJ5L3dpbmRvd3MvZGVza3RvcC9tczcyNDI4NCh2PXZzLjg1KS5hc3B4CisgICAg
Ly8gIkl0IGlzIG5vdCByZWNvbW1lbmRlZCB0aGF0IHlvdSBhZGQgYW5kIHN1YnRyYWN0IHZhbHVl
cyBmcm9tIHRoZSBGSUxFVElNRSBzdHJ1Y3R1cmUgdG8gb2J0YWluIHJlbGF0aXZlIHRpbWVzLgor
ICAgIC8vIEluc3RlYWQsIHlvdSBzaG91bGQgY29weSB0aGUgbG93LSBhbmQgaGlnaC1vcmRlciBw
YXJ0cyBvZiB0aGUgZmlsZSB0aW1lIHRvIGEgVUxBUkdFX0lOVEVHRVIgc3RydWN0dXJlLAorICAg
IC8vIHBlcmZvcm0gNjQtYml0IGFyaXRobWV0aWMgb24gdGhlIFF1YWRQYXJ0IG1lbWJlciwgYW5k
IGNvcHkgdGhlIExvd1BhcnQgYW5kIEhpZ2hQYXJ0IG1lbWJlcnMgaW50byB0aGUgRklMRVRJTUUg
c3RydWN0dXJlLiIKKyAgICBVTEFSR0VfSU5URUdFUiBkdXJhdGlvbkluMTAwTlM7CisgICAgbWVt
Y3B5KCZkdXJhdGlvbkluMTAwTlMsICZmaWxlVGltZSwgc2l6ZW9mKGR1cmF0aW9uSW4xMDBOUykp
OworICAgIHJldHVybiBTZWNvbmRzIHsgZHVyYXRpb25JbjEwME5TLlF1YWRQYXJ0IC8gaHVuZHJl
ZHNPZk5hbm9zZWNvbmRzUGVyU2Vjb25kIH07Cit9CisKK3N0ZDo6b3B0aW9uYWw8Q1BVVGltZT4g
Q1BVVGltZTo6Z2V0KCkKK3sKKyAgICAvLyBodHRwczovL21zZG4ubWljcm9zb2Z0LmNvbS9qYS1q
cC9saWJyYXJ5L3dpbmRvd3MvZGVza3RvcC9tczY4MzIyMyh2PXZzLjg1KS5hc3B4CisgICAgRklM
RVRJTUUgY3JlYXRpb25UaW1lOworICAgIEZJTEVUSU1FIGV4aXRUaW1lOworICAgIEZJTEVUSU1F
IGtlcm5lbFRpbWU7CisgICAgRklMRVRJTUUgdXNlclRpbWU7CisgICAgaWYgKCE6OkdldFByb2Nl
c3NUaW1lcyg6OkdldEN1cnJlbnRQcm9jZXNzKCksICZjcmVhdGlvblRpbWUsICZleGl0VGltZSwg
Jmtlcm5lbFRpbWUsICZ1c2VyVGltZSkpCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisK
KyAgICByZXR1cm4gQ1BVVGltZSB7IE1vbm90b25pY1RpbWU6Om5vdygpLCBmaWxlVGltZVRvU2Vj
b25kcyh1c2VyVGltZSksIGZpbGVUaW1lVG9TZWNvbmRzKGtlcm5lbFRpbWUpIH07Cit9CisKK30K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKaW5kZXggMWMxN2RlNmM2NTE0OTBlZTdiOGY3ODRjY2MyNjdmZDRi
Y2FkNTBkZi4uOWYwMjlkYTgxYWU3NzFiZjE4NDJhYzcwYzc0YzRhZWRkYmMxNjJiNSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUv
Q01ha2VMaXN0cy50eHQKQEAgLTIxNTcsNyArMjE1Nyw2IEBAIHNldChXZWJDb3JlX1NPVVJDRVMK
ICAgICBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZS5jcHAKICAgICBw
YWdlL3Njcm9sbGluZy9UaHJlYWRlZFNjcm9sbGluZ1RyZWUuY3BwCiAKLSAgICBwbGF0Zm9ybS9D
UFVUaW1lLmNwcAogICAgIHBsYXRmb3JtL0NhbGN1bGF0aW9uVmFsdWUuY3BwCiAgICAgcGxhdGZv
cm0vQ2xvY2suY3BwCiAgICAgcGxhdGZvcm0vQ2xvY2tHZW5lcmljLmNwcApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvUGxhdGZvcm1NYWMuY21ha2UgYi9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9y
bU1hYy5jbWFrZQppbmRleCA1YTE4M2MxZDA2NDhkZDNiMDNjYzJlODc1ODhiMDQ0YjkwN2JjN2Fj
Li4yYTM5MzQ3NzA3NDI3ZGY2NjY1MTIxYzM1YTA5NTM0ZTA3Y2M3NzU4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9QbGF0Zm9ybU1hYy5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9QbGF0
Zm9ybU1hYy5jbWFrZQpAQCAtMzM3LDcgKzMzNyw2IEBAIGxpc3QoQVBQRU5EIFdlYkNvcmVfU09V
UkNFUwogICAgIHBsYXRmb3JtL2NmL1NoYXJlZEJ1ZmZlckNGLmNwcAogICAgIHBsYXRmb3JtL2Nm
L1VSTENGLmNwcAogCi0gICAgcGxhdGZvcm0vY29jb2EvQ1BVVGltZUNvY29hLm1tCiAgICAgcGxh
dGZvcm0vY29jb2EvQ29udGVudEZpbHRlclVuYmxvY2tIYW5kbGVyQ29jb2EubW0KICAgICBwbGF0
Zm9ybS9jb2NvYS9Db3JlVmlkZW9Tb2Z0TGluay5jcHAKICAgICBwbGF0Zm9ybS9jb2NvYS9EaXNw
bGF5U2xlZXBEaXNhYmxlckNvY29hLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGQ5M2M0MGQ0NTczMDRmMjQwODYyMzlhODZl
NTMxMWIxMjJjZDViNGUuLmI5N2I3NjM4NjVlZjg2ZTQwMTcxMzgxOTI5OWMxMGYyMDI5OTI1MTgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKQEAgLTE5MzUsOSArMTkzNSw2IEBACiAJCTQ2MENCRjM1MUQ0QkNEMEUwMDkyRTg4RSAvKiBK
U0RPTVdpbmRvd1Byb3BlcnRpZXMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNDYwQ0JGMzMxRDRCQ0NGRTAwOTJFODhFIC8qIEpTRE9NV2luZG93UHJv
cGVydGllcy5jcHAgKi87IH07CiAJCTQ2MENCRjM2MUQ0QkNEMEUwMDkyRTg4RSAvKiBKU0RPTVdp
bmRvd1Byb3BlcnRpZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDQ2MENCRjM0MUQ0QkNDRkUwMDkyRTg4RSAvKiBKU0RPTVdpbmRvd1Byb3BlcnRpZXMu
aCAqLzsgfTsKIAkJNDYzNDU5MkMxQUMyMjcxMDAwRUNCNzFDIC8qIFBvd2VyT2JzZXJ2ZXJNYWMu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDYzNDU5
MkIxQUMyMjcxMDAwRUNCNzFDIC8qIFBvd2VyT2JzZXJ2ZXJNYWMuY3BwICovOyB9OwotCQk0NjM3
NjMwODFFMjZGREQ3MDA4Q0Q0NkQgLyogQ1BVVGltZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NjM3NjMwNjFFMjZGREJBMDA4Q0Q0NkQgLyogQ1BV
VGltZS5jcHAgKi87IH07Ci0JCTQ2Mzc2MzA5MUUyNkZERDcwMDhDRDQ2RCAvKiBDUFVUaW1lLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NjM3NjMwNzFF
MjZGREJBMDA4Q0Q0NkQgLyogQ1BVVGltZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07Ci0JCTQ2Mzc2MzBCMUUyNkZERjYwMDhDRDQ2RCAvKiBDUFVUaW1l
Q29jb2EubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0
NjM3NjMwQTFFMjZGREVCMDA4Q0Q0NkQgLyogQ1BVVGltZUNvY29hLm1tICovOyB9OwogCQk0NjNF
QjYyMjFCODc4OUUwMDA5NkVENTEgLyogVGFnQ29sbGVjdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NjNFQjYyMDFCODc4OUNCMDA5NkVENTEg
LyogVGFnQ29sbGVjdGlvbi5jcHAgKi87IH07CiAJCTQ2M0VCNjIzMUI4Nzg5RTAwMDk2RUQ1MSAv
KiBUYWdDb2xsZWN0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA0NjNFQjYyMTFCODc4OUNCMDA5NkVENTEgLyogVGFnQ29sbGVjdGlvbi5oICovOyB9
OwogCQk0NjUzMDdEMDFEQjZFRTQ4MDBFNDEzN0MgLyogSlNVSUV2ZW50SW5pdC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODNFMDQ1RUYxREFBMTA0RjAw
QjBEOEI5IC8qIEpTVUlFdmVudEluaXQuaCAqLzsgfTsKQEAgLTk2MjAsOSArOTYxNyw2IEBACiAJ
CTQ2MENCRjMzMUQ0QkNDRkUwMDkyRTg4RSAvKiBKU0RPTVdpbmRvd1Byb3BlcnRpZXMuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNET01XaW5kb3dQcm9wZXJ0aWVz
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDYwQ0JGMzQxRDRCQ0NGRTAwOTJF
ODhFIC8qIEpTRE9NV2luZG93UHJvcGVydGllcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBKU0RPTVdpbmRvd1Byb3BlcnRpZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNDYzNDU5MkIxQUMyMjcxMDAwRUNCNzFDIC8qIFBvd2VyT2JzZXJ2ZXJNYWMuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUG93ZXJPYnNlcnZlck1hYy5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTQ2Mzc2MzA2MUUyNkZEQkEwMDhDRDQ2RCAv
KiBDUFVUaW1lLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENQVVRp
bWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk0NjM3NjMwNzFFMjZGREJBMDA4
Q0Q0NkQgLyogQ1BVVGltZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDUFVU
aW1lLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTQ2Mzc2MzBBMUUyNkZERUIwMDhD
RDQ2RCAvKiBDUFVUaW1lQ29jb2EubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7
IHBhdGggPSBDUFVUaW1lQ29jb2EubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ2
M0VCNjIwMUI4Nzg5Q0IwMDk2RUQ1MSAvKiBUYWdDb2xsZWN0aW9uLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFRhZ0NvbGxlY3Rpb24uY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk0NjNFQjYyMTFCODc4OUNCMDA5NkVENTEgLyogVGFnQ29sbGVjdGlv
bi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBUYWdDb2xsZWN0aW9uLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ2NUE4RTc4MUM4QTI0Q0UwMEU3RDNFNCAvKiBS
dW50aW1lQXBwbGljYXRpb25DaGVja3MubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpj
cHA7IHBhdGggPSBSdW50aW1lQXBwbGljYXRpb25DaGVja3MubW07IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CkBAIC0yMTA3NSw3ICsyMTA2OSw2IEBACiAJCQkJQTE0MDkwRkExQUE1MUUxRDAw
OTExOTFBIC8qIENvbnRlbnRGaWx0ZXJVbmJsb2NrSGFuZGxlckNvY29hLm1tICovLAogCQkJCUNE
N0QzMzQ1MUM3QTE2QkYwMDA0MTI5MyAvKiBDb3JlVmlkZW9Tb2Z0TGluay5jcHAgKi8sCiAJCQkJ
Q0Q3RDMzNDYxQzdBMTZCRjAwMDQxMjkzIC8qIENvcmVWaWRlb1NvZnRMaW5rLmggKi8sCi0JCQkJ
NDYzNzYzMEExRTI2RkRFQjAwOENENDZEIC8qIENQVVRpbWVDb2NvYS5tbSAqLywKIAkJCQk3Qzc5
NDFFMzFDNTZDMjkzMDBBNEM1OEUgLyogRGF0YURldGVjdG9yc0NvcmVTb2Z0TGluay5oICovLAog
CQkJCTdDNzk0MUUyMUM1NkMyOTMwMEE0QzU4RSAvKiBEYXRhRGV0ZWN0b3JzQ29yZVNvZnRMaW5r
Lm1tICovLAogCQkJCTVEOEM0REJEMTQyODIyMkMwMDI2Q0U3MiAvKiBEaXNwbGF5U2xlZXBEaXNh
YmxlckNvY29hLmNwcCAqLywKQEAgLTIzOTI0LDggKzIzOTE3LDYgQEAKIAkJCQk4NjJGMTI5RDE4
QzE1NzJDMDA1QzU0QUYgLyogQ291bnRlZFVzZXJBY3Rpdml0eS5oICovLAogCQkJCTQ2QzY5NkNB
MUU3MjA1RTQwMDU5NzkzNyAvKiBDUFVNb25pdG9yLmNwcCAqLywKIAkJCQk0NkM2OTZDOTFFNzIw
NUU0MDA1OTc5MzcgLyogQ1BVTW9uaXRvci5oICovLAotCQkJCTQ2Mzc2MzA2MUUyNkZEQkEwMDhD
RDQ2RCAvKiBDUFVUaW1lLmNwcCAqLywKLQkJCQk0NjM3NjMwNzFFMjZGREJBMDA4Q0Q0NkQgLyog
Q1BVVGltZS5oICovLAogCQkJCUUxMUFGMTUwMTFCOUExQTMwMDgwNTEwMyAvKiBDdXJzb3IuY3Bw
ICovLAogCQkJCUY1ODc4Njg0MDJERTNCODYwMUVBNDEyMiAvKiBDdXJzb3IuaCAqLywKIAkJCQlB
NTczMkIwODEzNkExNjFEMDA1QzhEN0MgLyogRGF0ZUNvbXBvbmVudHMuY3BwICovLApAQCAtMjY2
OTAsNyArMjY2ODEsNiBAQAogCQkJCUJDNUVCOTUxMEU4MjA1NkIwMEIyNTk2NSAvKiBDb3VudGVy
RGlyZWN0aXZlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTM5MkYxNEMwQUQxODYxQjAwNjkxQkQ0
IC8qIENvdW50ZXJOb2RlLmggaW4gSGVhZGVycyAqLywKIAkJCQk0NkM2OTZDQjFFNzIwNUY3MDA1
OTc5MzcgLyogQ1BVTW9uaXRvci5oIGluIEhlYWRlcnMgKi8sCi0JCQkJNDYzNzYzMDkxRTI2RkRE
NzAwOENENDZEIC8qIENQVVRpbWUuaCBpbiBIZWFkZXJzICovLAogCQkJCUQwQjA1NTY4MDlDNjcw
MDEwMDMwN0U0MyAvKiBDcmVhdGVMaW5rQ29tbWFuZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE0
Qzc2NkUwQ0U5MjNBMTAwN0VGM0NEIC8qIENyZWRlbnRpYWwuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTM3OTI5MTdBMTk4NUVGMzkwMEY0QjY2MSAvKiBDcmVkZW50aWFsQmFzZS5oIGluIEhlYWRlcnMg
Ki8sCkBAIC0zMDc0Miw4ICszMDczMiw2IEBACiAJCQkJQkM1RUI5NTAwRTgyMDU2QjAwQjI1OTY1
IC8qIENvdW50ZXJEaXJlY3RpdmVzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTkzOTJGMTUwMEFE
MTg2MjMwMDY5MUJENCAvKiBDb3VudGVyTm9kZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0NkM2
OTZDQzFFNzIwNUZDMDA1OTc5MzcgLyogQ1BVTW9uaXRvci5jcHAgaW4gU291cmNlcyAqLywKLQkJ
CQk0NjM3NjMwODFFMjZGREQ3MDA4Q0Q0NkQgLyogQ1BVVGltZS5jcHAgaW4gU291cmNlcyAqLywK
LQkJCQk0NjM3NjMwQjFFMjZGREY2MDA4Q0Q0NkQgLyogQ1BVVGltZUNvY29hLm1tIGluIFNvdXJj
ZXMgKi8sCiAJCQkJRDBCMDU1NjkwOUM2NzAwMTAwMzA3RTQzIC8qIENyZWF0ZUxpbmtDb21tYW5k
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxNEM3NjZEMENFOTIzQTEwMDdFRjNDRCAvKiBDcmVk
ZW50aWFsQmFzZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkzNzkyOTE3RDE5ODc2NzhGMDBGNEI2
NjEgLyogQ3JlZGVudGlhbENvY29hLm1tIGluIFNvdXJjZXMgKi8sCkBAIC0zMjAwOCw3ICszMTk5
Niw3IEBACiAJCQkJN0MzMzBBMDcxREY5Rjk1MTAwRDMzOTVDIC8qIEpTUG9zaXRpb25PcHRpb25z
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTY1REYzMUZGMDlEMUNDNjAwMDBCRTMyNSAvKiBKU1By
b2Nlc3NpbmdJbnN0cnVjdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFNDQ2MTNFRDBDRDY4
MUJBMDBGQURBNzUgLyogSlNQcm9ncmVzc0V2ZW50LmNwcCBpbiBTb3VyY2VzICovLAotICAgICAg
ICAgICAgICAgIEE1NzhGNDNCMURFMDE0MjEwMDNERkM2QSAvKiBKU1Byb21pc2VSZWplY3Rpb25F
dmVudC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlBNTc4RjQzQjFERTAxNDIxMDAzREZDNkEgLyog
SlNQcm9taXNlUmVqZWN0aW9uRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMDc3NjY0RkMx
ODNFNkI1QzAwMTMzQjkyIC8qIEpTUXVpY2tUaW1lUGx1Z2luUmVwbGFjZW1lbnQuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJQjY1OEZGQTExNTIyRUYzQTAwREQ1NTk1IC8qIEpTUmFkaW9Ob2RlTGlz
dC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk2NURGMzIwMTA5RDFDQzYwMDAwQkUzMjUgLyogSlNS
YW5nZS5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
Q2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCmluZGV4
IDkwYWEwOTBiMDg1NWUxZDE0ODAyNDA5YTQ0YTk2MGYyOTY5NjVlYmYuLjljNjM3NjFlMDFkZGQ4
ZjgzYThjNWUwMjBlYjdmNjMxZTJiZThkNDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvQ2hyb21lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQu
aApAQCAtNDY1LDcgKzQ2NSw3IEBAIGNsYXNzIFdFQkNPUkVfRVhQT1JUIENocm9tZUNsaWVudCB7
CiAKICAgICB2aXJ0dWFsIHZvaWQgZGlkSW52YWxpZGF0ZURvY3VtZW50TWFya2VyUmVjdHMoKSB7
IH0KIAotICAgIHZpcnR1YWwgdm9pZCByZXBvcnRQcm9jZXNzQ1BVVGltZShpbnQ2NF90LCBBY3Rp
dml0eVN0YXRlRm9yQ1BVU2FtcGxpbmcpIHsgfQorICAgIHZpcnR1YWwgdm9pZCByZXBvcnRQcm9j
ZXNzQ1BVVGltZShTZWNvbmRzLCBBY3Rpdml0eVN0YXRlRm9yQ1BVU2FtcGxpbmcpIHsgfQogICAg
IHZpcnR1YWwgUmVmUHRyPEljb24+IGNyZWF0ZUljb25Gb3JGaWxlcyhjb25zdCBWZWN0b3I8U3Ry
aW5nPiYgLyogZmlsZW5hbWVzICovKSA9IDA7CiAKICAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hhbmdl
Q2xpcFRvU2FmZUFyZWEoYm9vbCkgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1BlcmZvcm1hbmNlTW9uaXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNl
TW9uaXRvci5jcHAKaW5kZXggN2IyMzc3ZDg1MjI3MzA2N2EyMTY2Yjk1OWQ2MzY2ZTkxODE5Yjgy
MC4uMmU1NzQxNWU1MTEzZWY4NjUyNTFjYjZlNWQ2OGQ2NTdhM2U3MmJlMSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU1vbml0b3IuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VNb25pdG9yLmNwcApAQCAtNzYsNyArNzYsNyBAQCBQZXJm
b3JtYW5jZU1vbml0b3I6OlBlcmZvcm1hbmNlTW9uaXRvcihQYWdlJiBwYWdlKQogICAgIEFTU0VS
VCghcGFnZS5pc1V0aWxpdHlQYWdlKCkpOwogCiAgICAgaWYgKFNldHRpbmdzOjppc1BlckFjdGl2
aXR5U3RhdGVDUFVVc2FnZU1lYXN1cmVtZW50RW5hYmxlZCgpKSB7Ci0gICAgICAgIG1fcGVyQWN0
aXZpdHlTdGF0ZUNQVVRpbWUgPSBnZXRDUFVUaW1lKCk7CisgICAgICAgIG1fcGVyQWN0aXZpdHlT
dGF0ZUNQVVRpbWUgPSBDUFVUaW1lOjpnZXQoKTsKICAgICAgICAgbV9wZXJBY3Rpdml0eVN0YXRl
Q1BVVXNhZ2VUaW1lci5zdGFydFJlcGVhdGluZyhjcHVVc2FnZVNhbXBsaW5nSW50ZXJ2YWwpOwog
ICAgIH0KIH0KQEAgLTE3NCwxMiArMTc0LDEyIEBAIHZvaWQgUGVyZm9ybWFuY2VNb25pdG9yOjpt
ZWFzdXJlUG9zdExvYWRDUFVVc2FnZSgpCiAgICAgfQogCiAgICAgaWYgKCFtX3Bvc3RMb2FkQ1BV
VGltZSkgewotICAgICAgICBtX3Bvc3RMb2FkQ1BVVGltZSA9IGdldENQVVRpbWUoKTsKKyAgICAg
ICAgbV9wb3N0TG9hZENQVVRpbWUgPSBDUFVUaW1lOjpnZXQoKTsKICAgICAgICAgaWYgKG1fcG9z
dExvYWRDUFVUaW1lKQogICAgICAgICAgICAgbV9wb3N0UGFnZUxvYWRDUFVVc2FnZVRpbWVyLnN0
YXJ0T25lU2hvdChwb3N0TG9hZENQVVVzYWdlTWVhc3VyZW1lbnREdXJhdGlvbik7CiAgICAgICAg
IHJldHVybjsKICAgICB9Ci0gICAgc3RkOjpvcHRpb25hbDxDUFVUaW1lPiBjcHVUaW1lID0gZ2V0
Q1BVVGltZSgpOworICAgIHN0ZDo6b3B0aW9uYWw8Q1BVVGltZT4gY3B1VGltZSA9IENQVVRpbWU6
OmdldCgpOwogICAgIGlmICghY3B1VGltZSkKICAgICAgICAgcmV0dXJuOwogCkBAIC0yMzEsMTIg
KzIzMSwxMiBAQCB2b2lkIFBlcmZvcm1hbmNlTW9uaXRvcjo6bWVhc3VyZVBvc3RCYWNrZ3JvdW5k
aW5nQ1BVVXNhZ2UoKQogICAgIH0KIAogICAgIGlmICghbV9wb3N0QmFja2dyb3VuZGluZ0NQVVRp
bWUpIHsKLSAgICAgICAgbV9wb3N0QmFja2dyb3VuZGluZ0NQVVRpbWUgPSBnZXRDUFVUaW1lKCk7
CisgICAgICAgIG1fcG9zdEJhY2tncm91bmRpbmdDUFVUaW1lID0gQ1BVVGltZTo6Z2V0KCk7CiAg
ICAgICAgIGlmIChtX3Bvc3RCYWNrZ3JvdW5kaW5nQ1BVVGltZSkKICAgICAgICAgICAgIG1fcG9z
dEJhY2tncm91bmRpbmdDUFVVc2FnZVRpbWVyLnN0YXJ0T25lU2hvdChiYWNrZ3JvdW5kQ1BVVXNh
Z2VNZWFzdXJlbWVudER1cmF0aW9uKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KLSAgICBzdGQ6
Om9wdGlvbmFsPENQVVRpbWU+IGNwdVRpbWUgPSBnZXRDUFVUaW1lKCk7CisgICAgc3RkOjpvcHRp
b25hbDxDUFVUaW1lPiBjcHVUaW1lID0gQ1BVVGltZTo6Z2V0KCk7CiAgICAgaWYgKCFjcHVUaW1l
KQogICAgICAgICByZXR1cm47CiAKQEAgLTI3NCwxMSArMjc0LDExIEBAIHZvaWQgUGVyZm9ybWFu
Y2VNb25pdG9yOjptZWFzdXJlQ1BVVXNhZ2VJbkFjdGl2aXR5U3RhdGUoQWN0aXZpdHlTdGF0ZUZv
ckNQVVNhbXBsCiAgICAgfQogCiAgICAgaWYgKCFtX3BlckFjdGl2aXR5U3RhdGVDUFVUaW1lKSB7
Ci0gICAgICAgIG1fcGVyQWN0aXZpdHlTdGF0ZUNQVVRpbWUgPSBnZXRDUFVUaW1lKCk7CisgICAg
ICAgIG1fcGVyQWN0aXZpdHlTdGF0ZUNQVVRpbWUgPSBDUFVUaW1lOjpnZXQoKTsKICAgICAgICAg
cmV0dXJuOwogICAgIH0KIAotICAgIHN0ZDo6b3B0aW9uYWw8Q1BVVGltZT4gY3B1VGltZSA9IGdl
dENQVVRpbWUoKTsKKyAgICBzdGQ6Om9wdGlvbmFsPENQVVRpbWU+IGNwdVRpbWUgPSBDUFVUaW1l
OjpnZXQoKTsKICAgICBpZiAoIWNwdVRpbWUpIHsKICAgICAgICAgbV9wZXJBY3Rpdml0eVN0YXRl
Q1BVVGltZSA9IHN0ZDo6bnVsbG9wdDsKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU1vbml0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGVyZm9ybWFuY2VNb25pdG9yLmgKaW5kZXggYWZjMjkyNGVhZTdhM2ExOWI3YTczZjhiNTA5
NjZkMjAzYTFjMDdkMy4uNmU1ZTY5MDMzZDgxNWM1NzNmMWE5NDYyNDZkYmUxZWM2OWFmN2JkOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU1vbml0b3IuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlTW9uaXRvci5oCkBAIC0yNiw4ICsyNiw4
IEBACiAjcHJhZ21hIG9uY2UKIAogI2luY2x1ZGUgIkFjdGl2aXR5U3RhdGUuaCIKLSNpbmNsdWRl
ICJDUFVUaW1lLmgiCiAjaW5jbHVkZSAiVGltZXIuaCIKKyNpbmNsdWRlIDx3dGYvQ1BVVGltZS5o
PgogI2luY2x1ZGUgPHd0Zi9PcHRpb25hbC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9DUFVNb25pdG9yLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL0NQVU1vbml0b3IuY3BwCmluZGV4IDJkMzM4NGNlNGZjY2ExOWYzNmU4
ZDMzNTRhZWU5MTk1OGNlNWM4MTYuLjVmYWFmNjZlNjAyZTc3ZTFkOWIyMTc2NTM5MGUxNGYzN2Fj
OGE3ZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0NQVU1vbml0b3IuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0NQVU1vbml0b3IuY3BwCkBAIC00Myw3ICs0
Myw3IEBAIHZvaWQgQ1BVTW9uaXRvcjo6c2V0Q1BVTGltaXQoc3RkOjpvcHRpb25hbDxkb3VibGU+
IGNwdUxpbWl0KQogICAgIG1fY3B1TGltaXQgPSBjcHVMaW1pdDsKICAgICBpZiAobV9jcHVMaW1p
dCkgewogICAgICAgICBpZiAoIW1fdGltZXIuaXNBY3RpdmUoKSkgewotICAgICAgICAgICAgbV9s
YXN0Q1BVVGltZSA9IGdldENQVVRpbWUoKTsKKyAgICAgICAgICAgIG1fbGFzdENQVVRpbWUgPSBD
UFVUaW1lOjpnZXQoKTsKICAgICAgICAgICAgIG1fdGltZXIuc3RhcnRSZXBlYXRpbmcobV9jaGVj
a0ludGVydmFsKTsKICAgICAgICAgfQogICAgIH0gZWxzZQpAQCAtNTUsMTEgKzU1LDExIEBAIHZv
aWQgQ1BVTW9uaXRvcjo6dGltZXJGaXJlZCgpCiAgICAgQVNTRVJUKG1fY3B1TGltaXQpOwogCiAg
ICAgaWYgKCFtX2xhc3RDUFVUaW1lKSB7Ci0gICAgICAgIG1fbGFzdENQVVRpbWUgPSBnZXRDUFVU
aW1lKCk7CisgICAgICAgIG1fbGFzdENQVVRpbWUgPSBDUFVUaW1lOjpnZXQoKTsKICAgICAgICAg
cmV0dXJuOwogICAgIH0KIAotICAgIGF1dG8gY3B1VGltZSA9IGdldENQVVRpbWUoKTsKKyAgICBh
dXRvIGNwdVRpbWUgPSBDUFVUaW1lOjpnZXQoKTsKICAgICBpZiAoIWNwdVRpbWUpCiAgICAgICAg
IHJldHVybjsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ1BVTW9uaXRv
ci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ1BVTW9uaXRvci5oCmluZGV4IGFmYWI2ZWE4
MDhkYjdmZjhlMjU2OTQ5YWJkZDBkMTdhNGZjMmY3ZDUuLmQ0ZGRiNzc4ZDZkNGU2YWZkOGQyZTJm
ZjRiYWI5Mjk1OGE1Njg0NDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0NQ
VU1vbml0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9DUFVNb25pdG9yLmgKQEAg
LTI1LDkgKzI1LDkgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpbmNsdWRlICJDUFVUaW1lLmgiCiAj
aW5jbHVkZSAiVGltZXIuaCIKIAorI2luY2x1ZGUgPHd0Zi9DUFVUaW1lLmg+CiAjaW5jbHVkZSA8
d3RmL0Z1bmN0aW9uLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL0NQVVRpbWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Q1BVVGltZS5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDIyNjQ0MDk3NDNhMTBl
ODM0YTU3NzkxYzQ2M2IzN2Q2MmVkNDBhNmEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ1BVVGltZS5jcHAKKysr
IC9kZXYvbnVsbApAQCAtMSw0OCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE3IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwot
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0g
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZp
Zy5oIgotI2luY2x1ZGUgIkNQVVRpbWUuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi0jaWYg
IVBMQVRGT1JNKENPQ09BKQotCi1zdGQ6Om9wdGlvbmFsPENQVVRpbWU+IGdldENQVVRpbWUoKQot
ewotICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7Ci19Ci0KLSNlbmRpZgotCi1kb3VibGUgQ1BVVGlt
ZTo6cGVyY2VudGFnZUNQVVVzYWdlU2luY2UoY29uc3QgQ1BVVGltZSYgcmVmZXJlbmNlKQotewot
ICAgIGludDY0X3QgY3B1VXNhZ2VUaW1lRGVsdGEgPSAoc3lzdGVtVGltZSArIHVzZXJUaW1lKSAt
IChyZWZlcmVuY2Uuc3lzdGVtVGltZSArIHJlZmVyZW5jZS51c2VyVGltZSk7Ci0gICAgaW50NjRf
dCBjcHVUaW1lRGVsdGEgPSBjcHVUaW1lIC0gcmVmZXJlbmNlLmNwdVRpbWU7Ci0gICAgQVNTRVJU
KGNwdVRpbWVEZWx0YSk7Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PGRvdWJsZT4oY3B1VXNhZ2VU
aW1lRGVsdGEgKiAxMDAuMCkgLyBjcHVUaW1lRGVsdGE7Ci19Ci0KLX0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL0NQVVRpbWUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L0NQVVRpbWUuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDJkNTBiZTI1MjhiMDZl
ZTM1NzI1NmQ5M2RiMjVmMzUxYjg2M2JlMy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9DUFVUaW1lLmgKKysrIC9k
ZXYvbnVsbApAQCAtMSw0MiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAot
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
Ci0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwot
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI3ByYWdtYSBvbmNlCi0KLSNp
bmNsdWRlIDx3dGYvT3B0aW9uYWwuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1zdHJ1Y3Qg
Q1BVVGltZSB7Ci0gICAgaW50NjRfdCBjcHVUaW1lOyAvLyBpbiBtaWNyb3NlY29uZHMuCi0gICAg
aW50NjRfdCB1c2VyVGltZTsgLy8gaW4gbWljcm9zZWNvbmRzLgotICAgIGludDY0X3Qgc3lzdGVt
VGltZTsgLy8gaW4gbWljcm9zZWNvbmRzLgotCi0gICAgZG91YmxlIHBlcmNlbnRhZ2VDUFVVc2Fn
ZVNpbmNlKGNvbnN0IENQVVRpbWUmKTsKLX07Ci0KLXN0ZDo6b3B0aW9uYWw8Q1BVVGltZT4gZ2V0
Q1BVVGltZSgpOwotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9DUFVUaW1lQ29jb2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9jb2NvYS9DUFVUaW1lQ29jb2EubW0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IGUxYjExMTk2NzJlMDJmOTdmMDZmNDcwNzBmOThlODg3NGY4NmEwMTIuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vY29jb2EvQ1BVVGltZUNvY29hLm1tCisrKyAvZGV2L251bGwKQEAgLTEsNzEgKzAsMCBAQAot
LyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
Ci0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgotICovCi0KLSNpbXBvcnQgImNvbmZpZy5oIgotI2ltcG9ydCAiQ1BVVGltZS5oIgotCi0j
aW1wb3J0IDxtYWNoL21hY2hfaW5pdC5oPgotI2ltcG9ydCA8bWFjaC90YXNrLmg+Ci0jaW1wb3J0
IDxtYWNoL3Rhc2tfaW5mby5oPgotI2ltcG9ydCA8d3RmL0N1cnJlbnRUaW1lLmg+Ci0KLW5hbWVz
cGFjZSBXZWJDb3JlIHsKLQotc3RhdGljIGNvbnN0IGludDY0X3QgbWljcm9zZWNvbmRzUGVyU2Vj
b25kID0gMTAwMDAwMDsKLQotc3RhdGljIGludDY0X3QgdGltZVZhbHVlVG9NaWNyb3NlY29uZHMo
Y29uc3QgdGltZV92YWx1ZV90JiB2YWx1ZSkKLXsKLSAgICBpbnQ2NF90IHJlc3VsdCA9IHZhbHVl
LnNlY29uZHM7Ci0gICAgcmVzdWx0ICo9IG1pY3Jvc2Vjb25kc1BlclNlY29uZDsKLSAgICByZXN1
bHQgKz0gdmFsdWUubWljcm9zZWNvbmRzOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLXN0ZDo6
b3B0aW9uYWw8Q1BVVGltZT4gZ2V0Q1BVVGltZSgpCi17Ci0gICAgLy8gQWNjb3VudCBmb3IgY3Vy
cmVudCB0aHJlYWRzLgotICAgIHRhc2tfdGhyZWFkX3RpbWVzX2luZm8gdGhyZWFkSW5mb0RhdGE7
Ci0gICAgbWFjaF9tc2dfdHlwZV9udW1iZXJfdCB0aHJlYWRJbmZvQ291bnQgPSBUQVNLX1RIUkVB
RF9USU1FU19JTkZPX0NPVU5UOwotICAgIGtlcm5fcmV0dXJuX3QgcmVzdWx0ID0gdGFza19pbmZv
KG1hY2hfdGFza19zZWxmKCksIFRBU0tfVEhSRUFEX1RJTUVTX0lORk8sIHJlaW50ZXJwcmV0X2Nh
c3Q8dGFza19pbmZvX3Q+KCZ0aHJlYWRJbmZvRGF0YSksICZ0aHJlYWRJbmZvQ291bnQpOwotICAg
IGlmIChyZXN1bHQgIT0gS0VSTl9TVUNDRVNTKQotICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0
OwotCi0gICAgaW50NjRfdCB1c2VyVGltZSA9IHRpbWVWYWx1ZVRvTWljcm9zZWNvbmRzKHRocmVh
ZEluZm9EYXRhLnVzZXJfdGltZSk7Ci0gICAgaW50NjRfdCBzeXN0ZW1UaW1lID0gdGltZVZhbHVl
VG9NaWNyb3NlY29uZHModGhyZWFkSW5mb0RhdGEuc3lzdGVtX3RpbWUpOwotCi0gICAgLy8gQWNj
b3VudCBmb3IgdGVybWluZWQgdGhyZWFkcy4KLSAgICB0YXNrX2Jhc2ljX2luZm8gdGFza0luZm9E
YXRhOwotICAgIG1hY2hfbXNnX3R5cGVfbnVtYmVyX3QgdGFza0luZm9Db3VudCA9IFRBU0tfQkFT
SUNfSU5GT19DT1VOVDsKLSAgICByZXN1bHQgPSB0YXNrX2luZm8obWFjaF90YXNrX3NlbGYoKSwg
VEFTS19CQVNJQ19JTkZPLCByZWludGVycHJldF9jYXN0PHRhc2tfaW5mb190PigmdGFza0luZm9E
YXRhKSwgJnRhc2tJbmZvQ291bnQpOwotICAgIGlmIChyZXN1bHQgIT0gS0VSTl9TVUNDRVNTKQot
ICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwotCi0gICAgdXNlclRpbWUgKz0gdGltZVZhbHVl
VG9NaWNyb3NlY29uZHModGFza0luZm9EYXRhLnVzZXJfdGltZSk7Ci0gICAgc3lzdGVtVGltZSAr
PSB0aW1lVmFsdWVUb01pY3Jvc2Vjb25kcyh0YXNrSW5mb0RhdGEuc3lzdGVtX3RpbWUpOwotCi0g
ICAgcmV0dXJuIENQVVRpbWUgeyBzdGF0aWNfY2FzdDxpbnQ2NF90Pihtb25vdG9uaWNhbGx5SW5j
cmVhc2luZ1RpbWUoKSAqIG1pY3Jvc2Vjb25kc1BlclNlY29uZCksIHVzZXJUaW1lLCBzeXN0ZW1U
aW1lIH07Ci19Ci0KLX0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QZXJB
Y3Rpdml0eVN0YXRlQ1BVVXNhZ2VTYW1wbGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9QZXJBY3Rpdml0eVN0YXRlQ1BVVXNhZ2VTYW1wbGVyLmNwcAppbmRleCAwZDg1N2JiNzg4MzI0
YzY1OGNlZjY3MTVjMGIyMWNhZWU4YzgyNmJjLi5iNmYwNDEyYTFmOWYzMjUzZTNhNzk4NTU0YjUy
NTMyYTg4ODZiODY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGVyQWN0
aXZpdHlTdGF0ZUNQVVVzYWdlU2FtcGxlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1BlckFjdGl2aXR5U3RhdGVDUFVVc2FnZVNhbXBsZXIuY3BwCkBAIC0zNCw4ICszNCw2IEBA
CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi1zdGF0aWMgY29uc3QgaW50NjRfdCBtaWNyb3NlY29u
ZHNQZXJTZWNvbmQgPSAxMDAwMDAwOwotCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogc3Rh
dGljIGNvbnN0IFNlY29uZHMgbG9nZ2luZ0ludGVydmFsIHsgNjBfbWluIH07CkBAIC00NCw3ICs0
Miw3IEBAIFBlckFjdGl2aXR5U3RhdGVDUFVVc2FnZVNhbXBsZXI6OlBlckFjdGl2aXR5U3RhdGVD
UFVVc2FnZVNhbXBsZXIoV2ViUHJvY2Vzc1Bvb2wmCiAgICAgOiBtX3Byb2Nlc3NQb29sKHByb2Nl
c3NQb29sKQogICAgICwgbV9sb2dnaW5nVGltZXIoUnVuTG9vcDo6bWFpbigpLCB0aGlzLCAmUGVy
QWN0aXZpdHlTdGF0ZUNQVVVzYWdlU2FtcGxlcjo6bG9nZ2luZ1RpbWVyRmlyZWQpCiB7Ci0gICAg
bV9sYXN0Q1BVVGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOworICAgIG1fbGFz
dENQVVRpbWUgPSBNb25vdG9uaWNUaW1lOjpub3coKTsKICAgICBtX2xvZ2dpbmdUaW1lci5zdGFy
dFJlcGVhdGluZyhsb2dnaW5nSW50ZXJ2YWwpOwogfQogCkBAIC01Miw3ICs1MCw3IEBAIFBlckFj
dGl2aXR5U3RhdGVDUFVVc2FnZVNhbXBsZXI6On5QZXJBY3Rpdml0eVN0YXRlQ1BVVXNhZ2VTYW1w
bGVyKCkKIHsKIH0KIAotdm9pZCBQZXJBY3Rpdml0eVN0YXRlQ1BVVXNhZ2VTYW1wbGVyOjpyZXBv
cnRXZWJDb250ZW50Q1BVVGltZShpbnQ2NF90IGNwdVRpbWUsIEFjdGl2aXR5U3RhdGVGb3JDUFVT
YW1wbGluZyBhY3Rpdml0eVN0YXRlKQordm9pZCBQZXJBY3Rpdml0eVN0YXRlQ1BVVXNhZ2VTYW1w
bGVyOjpyZXBvcnRXZWJDb250ZW50Q1BVVGltZShTZWNvbmRzIGNwdVRpbWUsIEFjdGl2aXR5U3Rh
dGVGb3JDUFVTYW1wbGluZyBhY3Rpdml0eVN0YXRlKQogewogICAgIGF1dG8gcmVzdWx0ID0gbV9j
cHVUaW1lSW5BY3Rpdml0eVN0YXRlLmFkZChhY3Rpdml0eVN0YXRlLCBjcHVUaW1lKTsKICAgICBp
ZiAoIXJlc3VsdC5pc05ld0VudHJ5KQpAQCAtNzksMTEgKzc3LDExIEBAIHZvaWQgUGVyQWN0aXZp
dHlTdGF0ZUNQVVVzYWdlU2FtcGxlcjo6bG9nZ2luZ1RpbWVyRmlyZWQoKQogICAgICAgICByZXR1
cm47CiAgICAgfQogCi0gICAgZG91YmxlIGN1cnJlbnRDUFVUaW1lID0gbW9ub3RvbmljYWxseUlu
Y3JlYXNpbmdUaW1lKCk7Ci0gICAgaW50NjRfdCBjcHVUaW1lRGVsdGEgPSAoY3VycmVudENQVVRp
bWUgLSBtX2xhc3RDUFVUaW1lKSAqIG1pY3Jvc2Vjb25kc1BlclNlY29uZDsKKyAgICBNb25vdG9u
aWNUaW1lIGN1cnJlbnRDUFVUaW1lID0gTW9ub3RvbmljVGltZTo6bm93KCk7CisgICAgU2Vjb25k
cyBjcHVUaW1lRGVsdGEgPSBjdXJyZW50Q1BVVGltZSAtIG1fbGFzdENQVVRpbWU7CiAKICAgICBm
b3IgKGF1dG8mIHBhaXIgOiBtX2NwdVRpbWVJbkFjdGl2aXR5U3RhdGUpIHsKLSAgICAgICAgZG91
YmxlIGNwdVVzYWdlID0gc3RhdGljX2Nhc3Q8ZG91YmxlPihwYWlyLnZhbHVlICogMTAwLikgLyBj
cHVUaW1lRGVsdGE7CisgICAgICAgIGRvdWJsZSBjcHVVc2FnZSA9IHBhaXIudmFsdWUudmFsdWUo
KSAqIDEwMC4gLyBjcHVUaW1lRGVsdGEudmFsdWUoKTsKICAgICAgICAgU3RyaW5nIGFjdGl2aXR5
U3RhdGVLZXkgPSBsb2dnaW5nS2V5Rm9yQWN0aXZpdHlTdGF0ZShwYWlyLmtleSk7CiAgICAgICAg
IHBhZ2UtPmxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFZhbHVlKERpYWdub3N0aWNMb2dnaW5nS2V5
czo6Y3B1VXNhZ2VLZXkoKSwgYWN0aXZpdHlTdGF0ZUtleSwgY3B1VXNhZ2UsIDIsIFNob3VsZFNh
bXBsZTo6Tm8pOwogICAgICAgICBSRUxFQVNFX0xPRyhQZXJmb3JtYW5jZUxvZ2dpbmcsICJXZWJD
b250ZW50IHByb2Nlc3NlcyB1c2VkICUuMWYlJSBDUFUgaW4gJXMgc3RhdGUiLCBjcHVVc2FnZSwg
YWN0aXZpdHlTdGF0ZUtleS51dGY4KCkuZGF0YSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9QZXJBY3Rpdml0eVN0YXRlQ1BVVXNhZ2VTYW1wbGVyLmggYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvUGVyQWN0aXZpdHlTdGF0ZUNQVVVzYWdlU2FtcGxlci5oCmluZGV4
IGRhYjZmNGI3NTU5ODU4YjE3ZTA5MGNmOWE0ZWFkNzlmNmY1Y2JmMTcuLjliMjY3YjEwYjBhZDZj
OTJmOWVhMWUwZDljMGI1NjZiZjc1YjgzMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9QZXJBY3Rpdml0eVN0YXRlQ1BVVXNhZ2VTYW1wbGVyLmgKKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1BlckFjdGl2aXR5U3RhdGVDUFVVc2FnZVNhbXBsZXIuaApAQCAtNDcs
OSArNDcsOSBAQCBjbGFzcyBQZXJBY3Rpdml0eVN0YXRlQ1BVVXNhZ2VTYW1wbGVyIHsKIAogICAg
IFdlYlByb2Nlc3NQb29sJiBtX3Byb2Nlc3NQb29sOwogICAgIFJ1bkxvb3A6OlRpbWVyPFBlckFj
dGl2aXR5U3RhdGVDUFVVc2FnZVNhbXBsZXI+IG1fbG9nZ2luZ1RpbWVyOwotICAgIHR5cGVkZWYg
SGFzaE1hcDxXZWJDb3JlOjpBY3Rpdml0eVN0YXRlRm9yQ1BVU2FtcGxpbmcsIGludDY0X3QsIFdU
Rjo6SW50SGFzaDxXZWJDb3JlOjpBY3Rpdml0eVN0YXRlRm9yQ1BVU2FtcGxpbmc+LCBXVEY6OlN0
cm9uZ0VudW1IYXNoVHJhaXRzPFdlYkNvcmU6OkFjdGl2aXR5U3RhdGVGb3JDUFVTYW1wbGluZz4+
IENQVVRpbWVJbkFjdGl2aXR5U3RhdGVNYXA7CisgICAgdHlwZWRlZiBIYXNoTWFwPFdlYkNvcmU6
OkFjdGl2aXR5U3RhdGVGb3JDUFVTYW1wbGluZywgU2Vjb25kcywgV1RGOjpJbnRIYXNoPFdlYkNv
cmU6OkFjdGl2aXR5U3RhdGVGb3JDUFVTYW1wbGluZz4sIFdURjo6U3Ryb25nRW51bUhhc2hUcmFp
dHM8V2ViQ29yZTo6QWN0aXZpdHlTdGF0ZUZvckNQVVNhbXBsaW5nPj4gQ1BVVGltZUluQWN0aXZp
dHlTdGF0ZU1hcDsKICAgICBDUFVUaW1lSW5BY3Rpdml0eVN0YXRlTWFwIG1fY3B1VGltZUluQWN0
aXZpdHlTdGF0ZTsKLSAgICBkb3VibGUgbV9sYXN0Q1BVVGltZTsKKyAgICBNb25vdG9uaWNUaW1l
IG1fbGFzdENQVVRpbWU7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCmluZGV4IDg5OTI4NjBlOGU5ZTUyN2Q2
NTkwNzM1MWNiZGRhNWU3ZTJlOGM1OTIuLjM2YzY0ZTQxNDM0MDhiYzEyNjBkMGMzMGM4NWQzZWQx
YWFiYzA1YmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNz
UG9vbC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNw
cApAQCAtMTYxOCw3ICsxNjE4LDcgQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6dXBkYXRlSGlkZGVu
UGFnZVRocm90dGxpbmdBdXRvSW5jcmVhc2VMaW1pdCgpCiAgICAgc2VuZFRvQWxsUHJvY2Vzc2Vz
KE1lc3NhZ2VzOjpXZWJQcm9jZXNzOjpTZXRIaWRkZW5QYWdlRE9NVGltZXJUaHJvdHRsaW5nSW5j
cmVhc2VMaW1pdChsaW1pdEluTWlsbGlzZWNvbmRzKSk7CiB9CiAKLXZvaWQgV2ViUHJvY2Vzc1Bv
b2w6OnJlcG9ydFdlYkNvbnRlbnRDUFVUaW1lKGludDY0X3QgY3B1VGltZSwgdWludDY0X3QgYWN0
aXZpdHlTdGF0ZSkKK3ZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnJlcG9ydFdlYkNvbnRlbnRDUFVUaW1l
KFNlY29uZHMgY3B1VGltZSwgdWludDY0X3QgYWN0aXZpdHlTdGF0ZSkKIHsKICNpZiBQTEFURk9S
TShNQUMpCiAgICAgaWYgKG1fcGVyQWN0aXZpdHlTdGF0ZUNQVVVzYWdlU2FtcGxlcikKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmgKaW5kZXggYzljOGQ1NjUzNTU5NDVl
MGRjNjVkMDMwZTFmMDg3Yjg0MjYyN2M4Yi4uZjNlYTY4NDZjN2QyZjUzOTQ5NjA1Yjg4YjI3NDAy
ZGRmNzljZDIzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nl
c3NQb29sLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmgK
QEAgLTI2NCw3ICsyNjQsNyBAQCBjbGFzcyBXZWJQcm9jZXNzUG9vbCBmaW5hbCA6IHB1YmxpYyBB
UEk6Ok9iamVjdEltcGw8QVBJOjpPYmplY3Q6OlR5cGU6OlByb2Nlc3NQbwogICAgIHZvaWQgdGVy
bWluYXRlRGF0YWJhc2VQcm9jZXNzKCk7CiAgICAgdm9pZCB0ZXJtaW5hdGVOZXR3b3JrUHJvY2Vz
cygpOwogCi0gICAgdm9pZCByZXBvcnRXZWJDb250ZW50Q1BVVGltZShpbnQ2NF90IGNwdVRpbWUs
IHVpbnQ2NF90IGFjdGl2aXR5U3RhdGUpOworICAgIHZvaWQgcmVwb3J0V2ViQ29udGVudENQVVRp
bWUoU2Vjb25kcyBjcHVUaW1lLCB1aW50NjRfdCBhY3Rpdml0eVN0YXRlKTsKIAogICAgIHZvaWQg
YWxsb3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KGNvbnN0IFdlYkNlcnRpZmljYXRl
SW5mbyosIGNvbnN0IFN0cmluZyYgaG9zdCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5tZXNzYWdlcy5pbgppbmRleCA4OTkwYzAwOTQxM2JjOWRm
ZWMxMzQwMDc2NjVlNGQyNzcwMWI0NjZlLi5lMGJiMjY5NGFhNWRiMmNmYWM5Zjc1NzI5OWViYzUy
ZTViODVmZTg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vz
c1Bvb2wubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nl
c3NQb29sLm1lc3NhZ2VzLmluCkBAIC0zNSw1ICszNSw1IEBAIG1lc3NhZ2VzIC0+IFdlYlByb2Nl
c3NQb29sIHsKICAgICB2b2lkIEFkZFBsdWdJbkF1dG9TdGFydE9yaWdpbkhhc2goU3RyaW5nIHBh
Z2VPcmlnaW4sIHVpbnQzMl90IGhhc2gsIFdlYkNvcmU6OlNlc3Npb25JRCBzZXNzaW9uSUQpCiAg
ICAgdm9pZCBQbHVnSW5EaWRSZWNlaXZlVXNlckludGVyYWN0aW9uKHVpbnQzMl90IGhhc2gsIFdl
YkNvcmU6OlNlc3Npb25JRCBzZXNzaW9uSUQpCiAKLSAgICBSZXBvcnRXZWJDb250ZW50Q1BVVGlt
ZShpbnQ2NF90IGNwdVRpbWUsIHVpbnQ2NF90IGFjdGl2aXR5U3RhdGUpCisgICAgUmVwb3J0V2Vi
Q29udGVudENQVVRpbWUoU2Vjb25kcyBjcHVUaW1lLCB1aW50NjRfdCBhY3Rpdml0eVN0YXRlKQog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9X
ZWJDaHJvbWVDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCmluZGV4IDgwZmU2YWUwMWUxMjM4NDZhMjczYmRjNzI0
YjM5MzAxYWI3ODU4MDUuLjk2YTc4ZjU0OTFjZGMxODgxMWFkZjg1ZDMzMjQ3Mzc4ZThiZDdkZDAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
Q2hyb21lQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKQEAgLTI3Niw3ICsyNzYsNyBAQCB2b2lkIFdlYkNo
cm9tZUNsaWVudDo6cnVuTW9kYWwoKQogICAgIG1fcGFnZS5ydW5Nb2RhbCgpOwogfQogCi12b2lk
IFdlYkNocm9tZUNsaWVudDo6cmVwb3J0UHJvY2Vzc0NQVVRpbWUoaW50NjRfdCBjcHVUaW1lLCBB
Y3Rpdml0eVN0YXRlRm9yQ1BVU2FtcGxpbmcgYWN0aXZpdHlTdGF0ZSkKK3ZvaWQgV2ViQ2hyb21l
Q2xpZW50OjpyZXBvcnRQcm9jZXNzQ1BVVGltZShTZWNvbmRzIGNwdVRpbWUsIEFjdGl2aXR5U3Rh
dGVGb3JDUFVTYW1wbGluZyBhY3Rpdml0eVN0YXRlKQogewogICAgIFdlYlByb2Nlc3M6OnNpbmds
ZXRvbigpLnNlbmQoTWVzc2FnZXM6OldlYlByb2Nlc3NQb29sOjpSZXBvcnRXZWJDb250ZW50Q1BV
VGltZShjcHVUaW1lLCBzdGF0aWNfY2FzdDx1aW50NjRfdD4oYWN0aXZpdHlTdGF0ZSkpLCAwKTsK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
V2ViQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBw
b3J0L1dlYkNocm9tZUNsaWVudC5oCmluZGV4IDFjNGQ2YmJlYjAxY2IyMTdmNDdlYWFmYjU2Y2Qy
ZGRiNmZhYTIxMmMuLmNiMDg1NThjNmQ3OTBlMjc3MWU5ZmJkYjkzOGQ3MmQ0MTQ1YWY5YzQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hy
b21lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJDaHJvbWVDbGllbnQuaApAQCAtNjgsNyArNjgsNyBAQCBjbGFzcyBXZWJDaHJvbWVDbGll
bnQgZmluYWwgOiBwdWJsaWMgV2ViQ29yZTo6Q2hyb21lQ2xpZW50IHsKICAgICBib29sIGNhblJ1
bk1vZGFsKCkgZmluYWw7CiAgICAgdm9pZCBydW5Nb2RhbCgpIGZpbmFsOwogCi0gICAgdm9pZCBy
ZXBvcnRQcm9jZXNzQ1BVVGltZShpbnQ2NF90LCBXZWJDb3JlOjpBY3Rpdml0eVN0YXRlRm9yQ1BV
U2FtcGxpbmcpIGZpbmFsOworICAgIHZvaWQgcmVwb3J0UHJvY2Vzc0NQVVRpbWUoU2Vjb25kcywg
V2ViQ29yZTo6QWN0aXZpdHlTdGF0ZUZvckNQVVNhbXBsaW5nKSBmaW5hbDsKICAgICAKICAgICB2
b2lkIHNldFRvb2xiYXJzVmlzaWJsZShib29sKSBmaW5hbDsKICAgICBib29sIHRvb2xiYXJzVmlz
aWJsZSgpIGZpbmFsOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>308671</attachid>
            <date>2017-04-29 09:40:28 -0700</date>
            <delta_ts>2017-04-29 10:05:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-171477-20170430014026.patch</filename>
            <type>text/plain</type>
            <size>52443</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE1OTcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGY1ZmYzYmZjN2UzY2M0OGM1YjE4MTc3
MGQyMTBkOWZiOWFmYzMyNzcuLjJlYTYwZDZmYTVhM2Q4MDcyMWE1ZTUyN2JiNzk0NjEyMGQ0ZTdk
NmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMzYgQEAKKzIwMTctMDQtMjkgIFl1c3VrZSBTdXp1a2kgIDx1dGF0
YW5lLnRlYUBnbWFpbC5jb20+CisKKyAgICAgICAgTW92ZSBXZWJDb3JlIENQVVRpbWUgdG8gV1RG
IGFuZCBpbXBsZW1lbnQgaXQgaW4gYWxsIHRoZSBwbGF0Zm9ybXMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MTQ3NworCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlIG1vdmUgV2ViQ29yZTo6Q1BVVGltZSB0
byBXVEY6OkNQVVRpbWUgc2luY2UgaXQgaXMgdXNlZnVsIGV2ZW4gaW4gSlNDCisgICAgICAgIGFu
ZCBpdCBkb2VzIG5vdCBkZXBlbmQgb24gYW55IGV4dGVybmFsIGxpYnJhcmllcy4KKyAgICAgICAg
QW5kIHdlIGFkZGl0aW9uYWxseSBpbXBsZW1lbnQgV1RGOjpDUFVUaW1lIGluIGFsbCB0aGUgcGxh
dGZvcm1zOiBXaW5kb3dzIGFuZCBVbml4LgorCisgICAgICAgIEluIENQVVRpbWUsIGluc3RlYWQg
b2YgaG9sZGluZyBpbnQ2NF90LCB3ZSBob2xkIE1vbm90b25pY1RpbWUgYW5kIFNlY29uZHMuCisK
KyAgICAgICAgKiBXVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiB3dGYv
Q01ha2VMaXN0cy50eHQ6CisgICAgICAgICogd3RmL0NQVVRpbWUuY3BwOiBDb3BpZWQgZnJvbSBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9DUFVUaW1lLmNwcC4KKyAgICAgICAgKFdURjo6Q1BVVGlt
ZTo6cGVyY2VudGFnZUNQVVVzYWdlU2luY2UpOgorICAgICAgICAqIHd0Zi9DUFVUaW1lLmg6IFJl
bmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9DUFVUaW1lLmguCisgICAgICAgICog
d3RmL1BsYXRmb3JtRWZsLmNtYWtlOgorICAgICAgICAqIHd0Zi9QbGF0Zm9ybUdUSy5jbWFrZToK
KyAgICAgICAgKiB3dGYvUGxhdGZvcm1KU0NPbmx5LmNtYWtlOgorICAgICAgICAqIHd0Zi9QbGF0
Zm9ybU1hYy5jbWFrZToKKyAgICAgICAgKiB3dGYvUGxhdGZvcm1XaW4uY21ha2U6CisgICAgICAg
ICogd3RmL2NvY29hL0NQVVRpbWVDb2NvYS5tbTogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2NvY29hL0NQVVRpbWVDb2NvYS5tbS4KKyAgICAgICAgKFdURjo6dGltZVZhbHVl
VG9NaWNyb3NlY29uZHMpOgorICAgICAgICAoV1RGOjpDUFVUaW1lOjpnZXQpOgorICAgICAgICAq
IHd0Zi91bml4L0NQVVRpbWVVbml4LmNwcDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL0NQVVRpbWUuY3BwLgorICAgICAgICAoV1RGOjp0aW1ldmFsVG9TZWNvbmRzKToKKyAg
ICAgICAgKFdURjo6Q1BVVGltZTo6Z2V0KToKKyAgICAgICAgKiB3dGYvd2luL0NQVVRpbWVXaW4u
Y3BwOiBBZGRlZC4KKyAgICAgICAgKFdURjo6ZmlsZVRpbWVUb1NlY29uZHMpOgorICAgICAgICAo
V1RGOjpDUFVUaW1lOjpnZXQpOgorCiAyMDE3LTA0LTI4ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5m
cmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBzeXN0ZW0gdHJhY2UgcG9pbnRzIGZvciBE
b2N1bWVudDo6dXBkYXRlVG91Y2hFdmVudFJlZ2lvbnMoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGNkMjk0NDI5
ZGViYjMyNGFlODIwZTY5NWIwNjRjOGQzMDA2NTgxOTIuLmUzNDcwMzA4NmE1ZjNiMDJiMjhhOGNi
ZGY0M2RkM2MyYjY0ZWMyMmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNyBAQAorMjAxNy0wNC0y
OSAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWlsLmNvbT4KKworICAgICAgICBNb3Zl
IFdlYkNvcmUgQ1BVVGltZSB0byBXVEYgYW5kIGltcGxlbWVudCBpdCBpbiBhbGwgdGhlIHBsYXRm
b3JtcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcx
NDc3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTW92
ZSBDUFVUaW1lIHRvIFdURi4gQW5kIHJlbmFtZSBnZXRDUFVUaW1lIHRvIENQVVRpbWU6OmdldCgp
LgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogUGxhdGZvcm1NYWMuY21h
a2U6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAg
ICAqIHBhZ2UvQ2hyb21lQ2xpZW50Lmg6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZU1vbml0
b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VNb25pdG9yOjpQZXJmb3JtYW5j
ZU1vbml0b3IpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VNb25pdG9yOjptZWFzdXJl
UG9zdExvYWRDUFVVc2FnZSk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZU1vbml0b3I6
Om1lYXN1cmVQb3N0QmFja2dyb3VuZGluZ0NQVVVzYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OlBl
cmZvcm1hbmNlTW9uaXRvcjo6bWVhc3VyZUNQVVVzYWdlSW5BY3Rpdml0eVN0YXRlKToKKyAgICAg
ICAgKiBwYWdlL1BlcmZvcm1hbmNlTW9uaXRvci5oOgorICAgICAgICAqIHBsYXRmb3JtL0NQVU1v
bml0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1BVTW9uaXRvcjo6c2V0Q1BVTGltaXQpOgor
ICAgICAgICAoV2ViQ29yZTo6Q1BVTW9uaXRvcjo6dGltZXJGaXJlZCk6CisgICAgICAgICogcGxh
dGZvcm0vQ1BVTW9uaXRvci5oOgorCiAyMDE3LTA0LTI4ICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9s
bGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBDcmFzaCB1bmRlciBXZWJDb3JlOjpBY2Nlc3NpYmls
aXR5UmVuZGVyT2JqZWN0OjpoYW5kbGVBcmlhRXhwYW5kZWRDaGFuZ2VkKCkuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5k
ZXggODhhZTVkNDBlZjI0YjYzYjZkZGM3ODQ0NjM1ZGI2ODNjZjgxODM4Ny4uNzQ5Nzg0MTZjMzAw
OGQyMmJlOThmZDU2MTAzZmRhNGRkYjQ3Y2QxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBA
CisyMDE3LTA0LTI5ICBZdXN1a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFAZ21haWwuY29tPgorCisg
ICAgICAgIE1vdmUgV2ViQ29yZSBDUFVUaW1lIHRvIFdURiBhbmQgaW1wbGVtZW50IGl0IGluIGFs
bCB0aGUgcGxhdGZvcm1zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNzE0NzcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBXZSBub3cgaG9sZCBTZWNvbmRzIGluIENQVVRpbWUgaW5zdGVhZCBvZiBpbnQ2NF90
LiBJdCBmaW5hbGx5IHNlbmRzCisgICAgICAgIFNlY29uZHMgdGhyb3VnaCBXZWJLaXQyIElQQy4g
V2UgZG8gbm90IG5lZWQgdG8gc3BlY2lhbGl6ZSBBcmd1bWVudENvZGVyCisgICAgICAgIGZvciBT
ZWNvbmRzIHNpbmNlIFNlY29uZHMganVzdCBob2xkcyBkb3VibGUuCisKKyAgICAgICAgKiBVSVBy
b2Nlc3MvUGVyQWN0aXZpdHlTdGF0ZUNQVVVzYWdlU2FtcGxlci5jcHA6CisgICAgICAgIChXZWJL
aXQ6OlBlckFjdGl2aXR5U3RhdGVDUFVVc2FnZVNhbXBsZXI6OlBlckFjdGl2aXR5U3RhdGVDUFVV
c2FnZVNhbXBsZXIpOgorICAgICAgICAoV2ViS2l0OjpQZXJBY3Rpdml0eVN0YXRlQ1BVVXNhZ2VT
YW1wbGVyOjpyZXBvcnRXZWJDb250ZW50Q1BVVGltZSk6CisgICAgICAgIChXZWJLaXQ6OlBlckFj
dGl2aXR5U3RhdGVDUFVVc2FnZVNhbXBsZXI6OmxvZ2dpbmdUaW1lckZpcmVkKToKKyAgICAgICAg
KiBVSVByb2Nlc3MvUGVyQWN0aXZpdHlTdGF0ZUNQVVVzYWdlU2FtcGxlci5oOgorICAgICAgICAq
IFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nl
c3NQb29sOjpyZXBvcnRXZWJDb250ZW50Q1BVVGltZSk6CisgICAgICAgICogVUlQcm9jZXNzL1dl
YlByb2Nlc3NQb29sLmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLm1lc3Nh
Z2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xp
ZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViQ2hyb21lQ2xpZW50OjpyZXBvcnRQcm9jZXNz
Q1BVVGltZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVD
bGllbnQuaDoKKwogMjAxNy0wNC0yOCAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+
CiAKICAgICAgICAgVGVhY2ggdGhlIERhdGFiYXNlUHJvY2VzcyB0byBiZSBmdWxseSBTZXNzaW9u
SUQgYXdhcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2ogYi9Tb3VyY2UvV1RGL1dURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGI4
ZDAyOGMyMzBmYzViOWY5YmFkMGJmNzc1YWIwMTc5OGQxOWI3NGMuLmMyODcxYWYxZmQ3NTg2ZTUw
NzM1ZDBlNGZkNDZiYzI1NjE2NGM2NTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvV1RGLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagpAQCAtMzg3LDYgKzM4Nyw5IEBACiAJCUUzMjAwQUI3MUU5QTUzNkQwMDNCNTlE
MiAvKiBQbGF0Zm9ybVJlZ2lzdGVycy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gRTMyMDBBQjQxRTlBNTM2RDAwM0I1OUQyIC8qIFBsYXRmb3JtUmVnaXN0
ZXJzLmggKi87IH07CiAJCUUzMjAwQUI4MUU5QTUzNkQwMDNCNTlEMiAvKiBUaHJlYWRIb2xkZXIu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTMyMDBB
QjUxRTlBNTM2RDAwM0I1OUQyIC8qIFRocmVhZEhvbGRlci5jcHAgKi87IH07CiAJCUUzMjAwQUI5
MUU5QTUzNkQwMDNCNTlEMiAvKiBUaHJlYWRIb2xkZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzMjAwQUI2MUU5QTUzNkQwMDNCNTlEMiAvKiBUaHJl
YWRIb2xkZXIuaCAqLzsgfTsKKwkJRTM4QzQxMjUxRUI0RTA0QzAwNDI5NTdEIC8qIENQVVRpbWVD
b2NvYS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUz
OEM0MTI0MUVCNEUwNEMwMDQyOTU3RCAvKiBDUFVUaW1lQ29jb2EubW0gKi87IH07CisJCUUzOEM0
MTI4MUVCNEUwNjgwMDQyOTU3RCAvKiBDUFVUaW1lLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzOEM0MTI2MUVCNEUwNjgwMDQyOTU3RCAvKiBDUFVU
aW1lLmNwcCAqLzsgfTsKKwkJRTM4QzQxMjkxRUI0RTA2ODAwNDI5NTdEIC8qIENQVVRpbWUuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzOEM0MTI3MUVC
NEUwNjgwMDQyOTU3RCAvKiBDUFVUaW1lLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTNFMTU4MjYxRUFEQTUzQzAwNEEwNzlEIC8qIFN5c3RlbUZy
ZWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzRTE1
ODI1MUVBREE1M0MwMDRBMDc5RCAvKiBTeXN0ZW1GcmVlLmggKi87IH07CiAJCUU0M0E0Njk1MUUy
MjhCOTEwMDI3NkIwNSAvKiBEZWNvZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBFNDNBNDY5MDFFMjI4QjkxMDAyNzZCMDUgLyogRGVjb2Rlci5oICov
OyB9OwogCQlFNDNBNDY5NjFFMjI4QjkxMDAyNzZCMDUgLyogRW5jb2Rlci5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTQzQTQ2OTExRTIyOEI5MTAwMjc2
QjA1IC8qIEVuY29kZXIuaCAqLzsgfTsKQEAgLTgwMyw2ICs4MDYsOSBAQAogCQlFMzIwMEFCNDFF
OUE1MzZEMDAzQjU5RDIgLyogUGxhdGZvcm1SZWdpc3RlcnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gUGxhdGZvcm1SZWdpc3RlcnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJRTMyMDBBQjUxRTlBNTM2RDAwM0I1OUQyIC8qIFRocmVhZEhvbGRlci5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBUaHJlYWRIb2xkZXIuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMzIwMEFCNjFFOUE1MzZEMDAzQjU5RDIgLyogVGhy
ZWFkSG9sZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFRocmVhZEhvbGRl
ci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlFMzhDNDEyNDFFQjRFMDRDMDA0Mjk1
N0QgLyogQ1BVVGltZUNvY29hLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBw
YXRoID0gQ1BVVGltZUNvY29hLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlFMzhD
NDEyNjFFQjRFMDY4MDA0Mjk1N0QgLyogQ1BVVGltZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBDUFVUaW1lLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJRTM4QzQxMjcxRUI0RTA2ODAwNDI5NTdEIC8qIENQVVRpbWUuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gQ1BVVGltZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlFM0UxNTgyNTFFQURBNTNDMDA0QTA3OUQgLyogU3lzdGVtRnJlZS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBTeXN0ZW1GcmVlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUU0M0E0NjkwMUUyMjhCOTEwMDI3NkIwNSAvKiBEZWNvZGVyLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERlY29kZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJRTQzQTQ2OTExRTIyOEI5MTAwMjc2QjA1IC8qIEVuY29kZXIuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gRW5jb2Rlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwpAQCAtOTk3LDYgKzEwMDMsOCBAQAogCQkJCTBGNDU3MDQ0MUJFODM0NDEwMDYyQTYyOSAvKiBC
dWJibGVTb3J0LmggKi8sCiAJCQkJQThBNDcyNjcxNTFBODI1QTAwNDEyM0ZGIC8qIEJ1bXBQb2lu
dGVyQWxsb2NhdG9yLmggKi8sCiAJCQkJRUI5NUUxRUYxNjFBNzI0MTAwODlBMkY1IC8qIEJ5dGVP
cmRlci5oICovLAorCQkJCUUzOEM0MTI2MUVCNEUwNjgwMDQyOTU3RCAvKiBDUFVUaW1lLmNwcCAq
LywKKwkJCQlFMzhDNDEyNzFFQjRFMDY4MDA0Mjk1N0QgLyogQ1BVVGltZS5oICovLAogCQkJCUE4
QTQ3MjZBMTUxQTgyNUEwMDQxMjNGRiAvKiBDaGVja2VkQXJpdGhtZXRpYy5oICovLAogCQkJCUE4
QTQ3MjZCMTUxQTgyNUEwMDQxMjNGRiAvKiBDaGVja2VkQm9vbGVhbi5oICovLAogCQkJCTBGNjZC
MjgwMURDOTdCQUIwMDRBMUQzRiAvKiBDbG9ja1R5cGUuY3BwICovLApAQCAtMTQyNyw2ICsxNDM1
LDcgQEAKIAkJRTRBMEFEM0IxQTk2MjUxOTAwNTM2REY2IC8qIGNvY29hICovID0gewogCQkJaXNh
ID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQlFMzhDNDEyNDFFQjRFMDRDMDA0Mjk1
N0QgLyogQ1BVVGltZUNvY29hLm1tICovLAogCQkJCUFEODlCNkI5MUU2NDE1MEYwMDkwNzA3RiAv
KiBNZW1vcnlQcmVzc3VyZUhhbmRsZXJDb2NvYS5tbSAqLywKIAkJCQlFNEEwQUQzQzFBOTYyNTND
MDA1MzZERjYgLyogV29ya1F1ZXVlQ29jb2EuY3BwICovLAogCQkJKTsKQEAgLTE3MDksNiArMTcx
OCw3IEBACiAJCQkJRTMyMDBBQjcxRTlBNTM2RDAwM0I1OUQyIC8qIFBsYXRmb3JtUmVnaXN0ZXJz
LmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjM1MDE2NDFCQjI1OEQ1MDBGMEEyQTMgLyogV2Vha1Jh
bmRvbS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUZBNDdDOEIxNTI1MDJEQTAwNTY4RDFCIC8qIFdl
YkNvcmVUaHJlYWQuaCBpbiBIZWFkZXJzICovLAorCQkJCUUzOEM0MTI5MUVCNEUwNjgwMDQyOTU3
RCAvKiBDUFVUaW1lLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkU0NDc5RDFCN0FBQTAzMDA5NDk4
RUIgLyogV29yZExvY2suaCBpbiBIZWFkZXJzICovLAogCQkJCUU0QTBBRDNBMUE5NjI0NTUwMDUz
NkRGNiAvKiBXb3JrUXVldWUuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4QTQ3NDQ2MTUxQTgyNUIw
MDQxMjNGRiAvKiBXVEZTdHJpbmcuaCBpbiBIZWFkZXJzICovLApAQCAtMTgyMSw2ICsxODMxLDcg
QEAKIAkJCQk5QkM3MEYwNTE3NkMzNzlEMDAxMDFERUMgLyogQXRvbWljU3RyaW5nVGFibGUuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJMTQ2OTQxOUQxNkVBQjEwQTAwMjRFMTQ2IC8qIEF1dG9kcmFp
bmVkUG9vbE1hYy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTBGNDNEOEYxMURCNUFEREMwMDEwOEZC
NiAvKiBBdXRvbWF0aWNUaHJlYWQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJRTM4QzQxMjgxRUI0
RTA2ODAwNDI5NTdEIC8qIENQVVRpbWUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJODEzNDAxMzgx
NUIwOTJGRDAwMUZGMEI4IC8qIEJhc2U2NC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBOEE0NzNB
ODE1MUE4MjVCMDA0MTIzRkYgLyogYmlnbnVtLWR0b2EuY2MgaW4gU291cmNlcyAqLywKIAkJCQlB
OEE0NzNBQTE1MUE4MjVCMDA0MTIzRkYgLyogYmlnbnVtLmNjIGluIFNvdXJjZXMgKi8sCkBAIC0x
ODU3LDYgKzE4NjgsNyBAQAogCQkJCTJDQ0Q4OTJBMTVDMDM5MDIwMDI4NTA4MyAvKiBHcmVnb3Jp
YW5EYXRlVGltZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBOEE0NzNEODE1MUE4MjVCMDA0MTIz
RkYgLyogSGFzaFRhYmxlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGRTE2NDZBMUI2RkZDOTYw
MDQwMEU3QyAvKiBMb2NrLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUUzOEM0MTI1MUVCNEUwNEMw
MDQyOTU3RCAvKiBDUFVUaW1lQ29jb2EubW0gaW4gU291cmNlcyAqLywKIAkJCQkwRjYwRjMyRjFE
RkNCRDFCMDA0MTZENkMgLyogTG9ja2VkUHJpbnRTdHJlYW0uY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJQThBNDczRTUxNTFBODI1QjAwNDEyM0ZGIC8qIE1haW5UaHJlYWQuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJQThBNDczRTQxNTFBODI1QjAwNDEyM0ZGIC8qIE1haW5UaHJlYWRNYWMubW0gaW4g
U291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0NNYWtlTGlzdHMudHh0IGIv
U291cmNlL1dURi93dGYvQ01ha2VMaXN0cy50eHQKaW5kZXggOGU0NDM5MGFjZWZhODI5YzExMGQw
NzdmNzkzYjg3OWEyYmE2MDZmZS4uNmQ3NGNjYTk0MTUzYjBiMWFmNDRhNjRhNjFjZTI4Y2FlZmU0
ODE0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvQ01ha2VMaXN0cy50eHQKKysrIGIvU291
cmNlL1dURi93dGYvQ01ha2VMaXN0cy50eHQKQEAgLTEyLDYgKzEyLDcgQEAgc2V0KFdURl9IRUFE
RVJTCiAgICAgQnViYmxlU29ydC5oCiAgICAgQnVtcFBvaW50ZXJBbGxvY2F0b3IuaAogICAgIEJ5
dGVPcmRlci5oCisgICAgQ1BVVGltZS5oCiAgICAgQ2xvY2tUeXBlLmgKICAgICBDb21waWxhdGlv
blRocmVhZC5oCiAgICAgQ29tcGlsZXIuaApAQCAtMjAyLDYgKzIwMyw3IEBAIHNldChXVEZfU09V
UkNFUwogICAgIEF0b21pY3MuY3BwCiAgICAgQXV0b21hdGljVGhyZWFkLmNwcAogICAgIEJpdFZl
Y3Rvci5jcHAKKyAgICBDUFVUaW1lLmNwcAogICAgIENsb2NrVHlwZS5jcHAKICAgICBDb21waWxh
dGlvblRocmVhZC5jcHAKICAgICBDcm9zc1RocmVhZENvcGllci5jcHAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XVEYvd3RmL0NQVVRpbWUuY3BwIGIvU291cmNlL1dURi93dGYvQ1BVVGltZS5jcHAKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMWQxYTAzNzQxMTRjMzQ4NTM3M2UzNWRjY2UyZjhhOGQ5MDY5NGE2YwotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XVEYvd3RmL0NQVVRpbWUuY3BwCkBAIC0wLDAgKzEsMzkgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQ1BVVGltZS5oIgor
CituYW1lc3BhY2UgV1RGIHsKKworZG91YmxlIENQVVRpbWU6OnBlcmNlbnRhZ2VDUFVVc2FnZVNp
bmNlKGNvbnN0IENQVVRpbWUmIHJlZmVyZW5jZSkgY29uc3QKK3sKKyAgICBTZWNvbmRzIGNwdVVz
YWdlVGltZURlbHRhID0gKHN5c3RlbVRpbWUgKyB1c2VyVGltZSkgLSAocmVmZXJlbmNlLnN5c3Rl
bVRpbWUgKyByZWZlcmVuY2UudXNlclRpbWUpOworICAgIFNlY29uZHMgY3B1VGltZURlbHRhID0g
Y3B1VGltZSAtIHJlZmVyZW5jZS5jcHVUaW1lOworICAgIEFTU0VSVChjcHVUaW1lRGVsdGEpOwor
ICAgIHJldHVybiBjcHVVc2FnZVRpbWVEZWx0YS52YWx1ZSgpICogMTAwLjAgLyBjcHVUaW1lRGVs
dGEudmFsdWUoKTsKK30KKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvQ1BVVGltZS5o
IGIvU291cmNlL1dURi93dGYvQ1BVVGltZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFmMzk1OGI0MzIxNThmNDMz
YmYwODBkNGYyYmE4Y2FmNDFjMjM5YjkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV1RGL3d0
Zi9DUFVUaW1lLmgKQEAgLTAsMCArMSw0NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQor
CisjaW5jbHVkZSA8d3RmL01vbm90b25pY1RpbWUuaD4KKyNpbmNsdWRlIDx3dGYvT3B0aW9uYWwu
aD4KKyNpbmNsdWRlIDx3dGYvU2Vjb25kcy5oPgorCituYW1lc3BhY2UgV1RGIHsKKworc3RydWN0
IENQVVRpbWUgeworICAgIE1vbm90b25pY1RpbWUgY3B1VGltZTsKKyAgICBTZWNvbmRzIHVzZXJU
aW1lOworICAgIFNlY29uZHMgc3lzdGVtVGltZTsKKworICAgIFdURl9FWFBPUlRfUFJJVkFURSBk
b3VibGUgcGVyY2VudGFnZUNQVVVzYWdlU2luY2UoY29uc3QgQ1BVVGltZSYpIGNvbnN0OworCisg
ICAgV1RGX0VYUE9SVF9QUklWQVRFIHN0YXRpYyBzdGQ6Om9wdGlvbmFsPENQVVRpbWU+IGdldCgp
OworfTsKKworfSAvLyBuYW1lc3BhY2UgV1RGCisKK3VzaW5nIFdURjo6Q1BVVGltZTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtRWZsLmNtYWtlIGIvU291cmNlL1dURi93dGYv
UGxhdGZvcm1FZmwuY21ha2UKaW5kZXggM2JmY2U0MDk0NjczOWNlNDQ2YjE0NGJlMDMwZTU4OTRk
NWRiMjBlYi4uYWVhMmFkOTk3N2ZjZGQ5YWZhMmE2YjQzN2JlMjM3MzZmNzZjNjUzZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1FZmwuY21ha2UKKysrIGIvU291cmNlL1dURi93
dGYvUGxhdGZvcm1FZmwuY21ha2UKQEAgLTEzLDYgKzEzLDggQEAgbGlzdChBUFBFTkQgV1RGX1NP
VVJDRVMKIAogICAgIGxpbnV4L0N1cnJlbnRQcm9jZXNzTWVtb3J5U3RhdHVzLmNwcAogICAgIGxp
bnV4L01lbW9yeVByZXNzdXJlSGFuZGxlckxpbnV4LmNwcAorCisgICAgdW5peC9DUFVUaW1lVW5p
eC5jcHAKICkKIAogbGlzdChBUFBFTkQgV1RGX0xJQlJBUklFUwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dURi93dGYvUGxhdGZvcm1HVEsuY21ha2UgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUdUSy5j
bWFrZQppbmRleCAwOTU5ZGJhMzRkZDFiY2Y2YTNmMWQwMzQ1NjEwZTYxM2I1NDYyMmYxLi44NDUw
MTYzOTQ5M2E4Y2M4YzRiNjg3ZWFkOTcwNTI3YTYzODAwZTFiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V1RGL3d0Zi9QbGF0Zm9ybUdUSy5jbWFrZQorKysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUdU
Sy5jbWFrZQpAQCAtMTEsNiArMTEsOCBAQCBsaXN0KEFQUEVORCBXVEZfU09VUkNFUwogICAgIGxp
bnV4L0N1cnJlbnRQcm9jZXNzTWVtb3J5U3RhdHVzLmNwcAogICAgIGxpbnV4L01lbW9yeVByZXNz
dXJlSGFuZGxlckxpbnV4LmNwcAogCisgICAgdW5peC9DUFVUaW1lVW5peC5jcHAKKwogICAgIFBs
YXRmb3JtVXNlclByZWZlcnJlZExhbmd1YWdlc1VuaXguY3BwCiAgICAgVW5pU3RkRXh0cmFzLmNw
cAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUpTQ09ubHkuY21ha2UgYi9T
b3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUpTQ09ubHkuY21ha2UKaW5kZXggOWQ4NDk1OGM3YmJiMDdl
MDIzYjAyODdmNzE4OGJkMTkxMGQ3YmMxMy4uOGQzMDM1ZmQwMzM5ZGVjOGU2M2E4ZWJjMTUwNGEx
YTk3OWI0NmE3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1KU0NPbmx5LmNt
YWtlCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSlNDT25seS5jbWFrZQpAQCAtNiwxMCAr
NiwxMiBAQCBsaXN0KEFQUEVORCBXVEZfU09VUkNFUwogCiBpZiAoV0lOMzIpCiAgICAgbGlzdChB
UFBFTkQgV1RGX1NPVVJDRVMKKyAgICAgICAgd2luL0NQVVRpbWVXaW4uY3BwCiAgICAgICAgIHRl
eHQvd2luL1RleHRCcmVha0l0ZXJhdG9ySW50ZXJuYWxJQ1VXaW4uY3BwCiAgICAgKQogZWxzZSAo
KQogICAgIGxpc3QoQVBQRU5EIFdURl9TT1VSQ0VTCisgICAgICAgIHVuaXgvQ1BVVGltZVVuaXgu
Y3BwCiAgICAgICAgIHRleHQvdW5peC9UZXh0QnJlYWtJdGVyYXRvckludGVybmFsSUNVVW5peC5j
cHAKICAgICApCiBlbmRpZiAoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1N
YWMuY21ha2UgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybU1hYy5jbWFrZQppbmRleCBhNTc2MjNk
MzU1MmM3NDgxM2Y1YTQ2NzMwMGM4MTI5NDBlM2JkMDE2Li44M2U5ODdlYzBjY2IwYTlkZTA0Y2Rh
MDY0MGM3YTAzNWM1YmE2Y2ZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybU1h
Yy5jbWFrZQorKysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybU1hYy5jbWFrZQpAQCAtMjIsNiAr
MjIsNyBAQCBsaXN0KEFQUEVORCBXVEZfU09VUkNFUwogCiAgICAgY2YvUnVuTG9vcENGLmNwcAog
CisgICAgY29jb2EvQ1BVVGltZUNvY29hLm1tCiAgICAgY29jb2EvTWVtb3J5UHJlc3N1cmVIYW5k
bGVyQ29jb2EubW0KICAgICBjb2NvYS9Xb3JrUXVldWVDb2NvYS5jcHAKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dURi93dGYvUGxhdGZvcm1XaW4uY21ha2UgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9y
bVdpbi5jbWFrZQppbmRleCA2MDI4OGI3NTNmZmM4MmI0YTE4ZjAyNjZiZTEwYzdhYmFkYjMwODM5
Li45NWQzM2MyNjFjZTVlZjJjZjc2Mjg2ODczNjEwNjFmODIwZjY3Nzc1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybVdpbi5jbWFrZQorKysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0
Zm9ybVdpbi5jbWFrZQpAQCAtOCw2ICs4LDcgQEAgbGlzdChBUFBFTkQgV1RGX1NPVVJDRVMKICAg
ICB0ZXh0L2NmL1N0cmluZ0ltcGxDRi5jcHAKICAgICB0ZXh0L2NmL1N0cmluZ1ZpZXdDRi5jcHAK
IAorICAgIHdpbi9DUFVUaW1lV2luLmNwcAogICAgIHdpbi9NYWluVGhyZWFkV2luLmNwcAogICAg
IHdpbi9NZW1vcnlQcmVzc3VyZUhhbmRsZXJXaW4uY3BwCiAgICAgd2luL1J1bkxvb3BXaW4uY3Bw
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9jb2NvYS9DUFVUaW1lQ29jb2EubW0gYi9Tb3Vy
Y2UvV1RGL3d0Zi9jb2NvYS9DUFVUaW1lQ29jb2EubW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjU3ZDhhYmE1OGIz
NDU3YTdmZjI3OTc5MzcwOGZkNmJiMDU0NzcwZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
VEYvd3RmL2NvY29hL0NQVVRpbWVDb2NvYS5tbQpAQCAtMCwwICsxLDcwIEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAq
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisg
KiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI2ltcG9ydCAiY29uZmlnLmgiCisjaW1wb3J0ICJDUFVUaW1lLmgiCisKKyNpbXBvcnQgPG1h
Y2gvbWFjaF9pbml0Lmg+CisjaW1wb3J0IDxtYWNoL3Rhc2suaD4KKyNpbXBvcnQgPG1hY2gvdGFz
a19pbmZvLmg+CisKK25hbWVzcGFjZSBXVEYgeworCitzdGF0aWMgY29uc3QgaW50NjRfdCBtaWNy
b3NlY29uZHNQZXJTZWNvbmQgPSAxMDAwMDAwOworCitzdGF0aWMgaW50NjRfdCB0aW1lVmFsdWVU
b01pY3Jvc2Vjb25kcyhjb25zdCB0aW1lX3ZhbHVlX3QmIHZhbHVlKQoreworICAgIGludDY0X3Qg
cmVzdWx0ID0gdmFsdWUuc2Vjb25kczsKKyAgICByZXN1bHQgKj0gbWljcm9zZWNvbmRzUGVyU2Vj
b25kOworICAgIHJlc3VsdCArPSB2YWx1ZS5taWNyb3NlY29uZHM7CisgICAgcmV0dXJuIHJlc3Vs
dDsKK30KKworc3RkOjpvcHRpb25hbDxDUFVUaW1lPiBDUFVUaW1lOjpnZXQoKQoreworICAgIC8v
IEFjY291bnQgZm9yIGN1cnJlbnQgdGhyZWFkcy4KKyAgICB0YXNrX3RocmVhZF90aW1lc19pbmZv
IHRocmVhZEluZm9EYXRhOworICAgIG1hY2hfbXNnX3R5cGVfbnVtYmVyX3QgdGhyZWFkSW5mb0Nv
dW50ID0gVEFTS19USFJFQURfVElNRVNfSU5GT19DT1VOVDsKKyAgICBrZXJuX3JldHVybl90IHJl
c3VsdCA9IHRhc2tfaW5mbyhtYWNoX3Rhc2tfc2VsZigpLCBUQVNLX1RIUkVBRF9USU1FU19JTkZP
LCByZWludGVycHJldF9jYXN0PHRhc2tfaW5mb190PigmdGhyZWFkSW5mb0RhdGEpLCAmdGhyZWFk
SW5mb0NvdW50KTsKKyAgICBpZiAocmVzdWx0ICE9IEtFUk5fU1VDQ0VTUykKKyAgICAgICAgcmV0
dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIGludDY0X3QgdXNlclRpbWUgPSB0aW1lVmFsdWVUb01p
Y3Jvc2Vjb25kcyh0aHJlYWRJbmZvRGF0YS51c2VyX3RpbWUpOworICAgIGludDY0X3Qgc3lzdGVt
VGltZSA9IHRpbWVWYWx1ZVRvTWljcm9zZWNvbmRzKHRocmVhZEluZm9EYXRhLnN5c3RlbV90aW1l
KTsKKworICAgIC8vIEFjY291bnQgZm9yIHRlcm1pbmVkIHRocmVhZHMuCisgICAgdGFza19iYXNp
Y19pbmZvIHRhc2tJbmZvRGF0YTsKKyAgICBtYWNoX21zZ190eXBlX251bWJlcl90IHRhc2tJbmZv
Q291bnQgPSBUQVNLX0JBU0lDX0lORk9fQ09VTlQ7CisgICAgcmVzdWx0ID0gdGFza19pbmZvKG1h
Y2hfdGFza19zZWxmKCksIFRBU0tfQkFTSUNfSU5GTywgcmVpbnRlcnByZXRfY2FzdDx0YXNrX2lu
Zm9fdD4oJnRhc2tJbmZvRGF0YSksICZ0YXNrSW5mb0NvdW50KTsKKyAgICBpZiAocmVzdWx0ICE9
IEtFUk5fU1VDQ0VTUykKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIHVzZXJU
aW1lICs9IHRpbWVWYWx1ZVRvTWljcm9zZWNvbmRzKHRhc2tJbmZvRGF0YS51c2VyX3RpbWUpOwor
ICAgIHN5c3RlbVRpbWUgKz0gdGltZVZhbHVlVG9NaWNyb3NlY29uZHModGFza0luZm9EYXRhLnN5
c3RlbV90aW1lKTsKKworICAgIHJldHVybiBDUFVUaW1lIHsgTW9ub3RvbmljVGltZTo6bm93KCks
IFNlY29uZHM6OmZyb21NaWNyb3NlY29uZHModXNlclRpbWUpLCBTZWNvbmRzOjpmcm9tTWljcm9z
ZWNvbmRzKHN5c3RlbVRpbWUpIH07Cit9CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3Rm
L3VuaXgvQ1BVVGltZVVuaXguY3BwIGIvU291cmNlL1dURi93dGYvdW5peC9DUFVUaW1lVW5peC5j
cHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uOTc1MmIxYjIxNjAyNjI1NzQ2N2UzMmZjZjI1MjhjMWM0NGM0ZjY3Mwot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XVEYvd3RmL3VuaXgvQ1BVVGltZVVuaXguY3BwCkBA
IC0wLDAgKzEsNDcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgWXVzdWtlIFN1enVraSA8
dXRhdGFuZS50ZWFAZ21haWwuY29tPgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisj
aW5jbHVkZSAiQ1BVVGltZS5oIgorCisjaW5jbHVkZSA8c3lzL3Jlc291cmNlLmg+CisjaW5jbHVk
ZSA8c3lzL3RpbWUuaD4KKworbmFtZXNwYWNlIFdURiB7CisKK3N0YXRpYyBTZWNvbmRzIHRpbWV2
YWxUb1NlY29uZHMoY29uc3Qgc3RydWN0IHRpbWV2YWwmIHZhbHVlKQoreworICAgIHJldHVybiBT
ZWNvbmRzKHZhbHVlLnR2X3NlYykgKyBTZWNvbmRzOjpmcm9tTWljcm9zZWNvbmRzKHZhbHVlLnR2
X3VzZWMpOworfQorCitzdGQ6Om9wdGlvbmFsPENQVVRpbWU+IENQVVRpbWU6OmdldCgpCit7Cisg
ICAgc3RydWN0IHJ1c2FnZSByZXNvdXJjZSB7IH07CisgICAgaW50IHJldCA9IGdldHJ1c2FnZShS
VVNBR0VfU0VMRiwgJnJlc291cmNlKTsKKyAgICBBU1NFUlRfVU5VU0VEKHJldCwgIXJldCk7Cisg
ICAgcmV0dXJuIENQVVRpbWUgeyBNb25vdG9uaWNUaW1lOjpub3coKSwgdGltZXZhbFRvU2Vjb25k
cyhyZXNvdXJjZS5ydV91dGltZSksIHRpbWV2YWxUb1NlY29uZHMocmVzb3VyY2UucnVfc3RpbWUp
IH07Cit9CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3dpbi9DUFVUaW1lV2luLmNw
cCBiL1NvdXJjZS9XVEYvd3RmL3dpbi9DUFVUaW1lV2luLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mZTBkYWU1
ZGY2YTc1MDU4MjA3NTQzMWRhMDllYTQzMWRjZDJlYzhhCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dURi93dGYvd2luL0NQVVRpbWVXaW4uY3BwCkBAIC0wLDAgKzEsNjMgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTcgWXVzdWtlIFN1enVraSA8dXRhdGFuZS50ZWFAZ21haWwuY29tPgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQ1BVVGltZS5oIgorCisj
aW5jbHVkZSA8d2luZG93cy5oPgorCituYW1lc3BhY2UgV1RGIHsKKworc3RhdGljIFNlY29uZHMg
ZmlsZVRpbWVUb1NlY29uZHMoY29uc3QgRklMRVRJTUUmIGZpbGVUaW1lKQoreworICAgIC8vIGh0
dHBzOi8vbXNkbi5taWNyb3NvZnQuY29tL2phLWpwL2xpYnJhcnkvd2luZG93cy9kZXNrdG9wL21z
NjgzMjIzKHY9dnMuODUpLmFzcHgKKyAgICAvLyAiQWxsIHRpbWVzIGFyZSBleHByZXNzZWQgdXNp
bmcgRklMRVRJTUUgZGF0YSBzdHJ1Y3R1cmVzLiBTdWNoIGEgc3RydWN0dXJlIGNvbnRhaW5zCisg
ICAgLy8gdHdvIDMyLWJpdCB2YWx1ZXMgdGhhdCBjb21iaW5lIHRvIGZvcm0gYSA2NC1iaXQgY291
bnQgb2YgMTAwLW5hbm9zZWNvbmQgdGltZSB1bml0cy4iCisKKyAgICBjb25zdCBjb25zdGV4cHIg
ZG91YmxlIGh1bmRyZWRzT2ZOYW5vc2Vjb25kc1BlclNlY29uZCA9ICgxMDAwLjAgKiAxMDAwLjAg
KiAxMDAwLjApIC8gMTAwLjA7CisKKyAgICAvLyBodHRwczovL21zZG4ubWljcm9zb2Z0LmNvbS9q
YS1qcC9saWJyYXJ5L3dpbmRvd3MvZGVza3RvcC9tczcyNDI4NCh2PXZzLjg1KS5hc3B4CisgICAg
Ly8gIkl0IGlzIG5vdCByZWNvbW1lbmRlZCB0aGF0IHlvdSBhZGQgYW5kIHN1YnRyYWN0IHZhbHVl
cyBmcm9tIHRoZSBGSUxFVElNRSBzdHJ1Y3R1cmUgdG8gb2J0YWluIHJlbGF0aXZlIHRpbWVzLgor
ICAgIC8vIEluc3RlYWQsIHlvdSBzaG91bGQgY29weSB0aGUgbG93LSBhbmQgaGlnaC1vcmRlciBw
YXJ0cyBvZiB0aGUgZmlsZSB0aW1lIHRvIGEgVUxBUkdFX0lOVEVHRVIgc3RydWN0dXJlLAorICAg
IC8vIHBlcmZvcm0gNjQtYml0IGFyaXRobWV0aWMgb24gdGhlIFF1YWRQYXJ0IG1lbWJlciwgYW5k
IGNvcHkgdGhlIExvd1BhcnQgYW5kIEhpZ2hQYXJ0IG1lbWJlcnMgaW50byB0aGUgRklMRVRJTUUg
c3RydWN0dXJlLiIKKyAgICBVTEFSR0VfSU5URUdFUiBkdXJhdGlvbkluMTAwTlM7CisgICAgbWVt
Y3B5KCZkdXJhdGlvbkluMTAwTlMsICZmaWxlVGltZSwgc2l6ZW9mKGR1cmF0aW9uSW4xMDBOUykp
OworICAgIHJldHVybiBTZWNvbmRzIHsgZHVyYXRpb25JbjEwME5TLlF1YWRQYXJ0IC8gaHVuZHJl
ZHNPZk5hbm9zZWNvbmRzUGVyU2Vjb25kIH07Cit9CisKK3N0ZDo6b3B0aW9uYWw8Q1BVVGltZT4g
Q1BVVGltZTo6Z2V0KCkKK3sKKyAgICAvLyBodHRwczovL21zZG4ubWljcm9zb2Z0LmNvbS9qYS1q
cC9saWJyYXJ5L3dpbmRvd3MvZGVza3RvcC9tczY4MzIyMyh2PXZzLjg1KS5hc3B4CisgICAgRklM
RVRJTUUgY3JlYXRpb25UaW1lOworICAgIEZJTEVUSU1FIGV4aXRUaW1lOworICAgIEZJTEVUSU1F
IGtlcm5lbFRpbWU7CisgICAgRklMRVRJTUUgdXNlclRpbWU7CisgICAgaWYgKCE6OkdldFByb2Nl
c3NUaW1lcyg6OkdldEN1cnJlbnRQcm9jZXNzKCksICZjcmVhdGlvblRpbWUsICZleGl0VGltZSwg
Jmtlcm5lbFRpbWUsICZ1c2VyVGltZSkpCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisK
KyAgICByZXR1cm4gQ1BVVGltZSB7IE1vbm90b25pY1RpbWU6Om5vdygpLCBmaWxlVGltZVRvU2Vj
b25kcyh1c2VyVGltZSksIGZpbGVUaW1lVG9TZWNvbmRzKGtlcm5lbFRpbWUpIH07Cit9CisKK30K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKaW5kZXggMWMxN2RlNmM2NTE0OTBlZTdiOGY3ODRjY2MyNjdmZDRi
Y2FkNTBkZi4uOWYwMjlkYTgxYWU3NzFiZjE4NDJhYzcwYzc0YzRhZWRkYmMxNjJiNSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUv
Q01ha2VMaXN0cy50eHQKQEAgLTIxNTcsNyArMjE1Nyw2IEBAIHNldChXZWJDb3JlX1NPVVJDRVMK
ICAgICBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZS5jcHAKICAgICBw
YWdlL3Njcm9sbGluZy9UaHJlYWRlZFNjcm9sbGluZ1RyZWUuY3BwCiAKLSAgICBwbGF0Zm9ybS9D
UFVUaW1lLmNwcAogICAgIHBsYXRmb3JtL0NhbGN1bGF0aW9uVmFsdWUuY3BwCiAgICAgcGxhdGZv
cm0vQ2xvY2suY3BwCiAgICAgcGxhdGZvcm0vQ2xvY2tHZW5lcmljLmNwcApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvUGxhdGZvcm1NYWMuY21ha2UgYi9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9y
bU1hYy5jbWFrZQppbmRleCA1YTE4M2MxZDA2NDhkZDNiMDNjYzJlODc1ODhiMDQ0YjkwN2JjN2Fj
Li4yYTM5MzQ3NzA3NDI3ZGY2NjY1MTIxYzM1YTA5NTM0ZTA3Y2M3NzU4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9QbGF0Zm9ybU1hYy5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9QbGF0
Zm9ybU1hYy5jbWFrZQpAQCAtMzM3LDcgKzMzNyw2IEBAIGxpc3QoQVBQRU5EIFdlYkNvcmVfU09V
UkNFUwogICAgIHBsYXRmb3JtL2NmL1NoYXJlZEJ1ZmZlckNGLmNwcAogICAgIHBsYXRmb3JtL2Nm
L1VSTENGLmNwcAogCi0gICAgcGxhdGZvcm0vY29jb2EvQ1BVVGltZUNvY29hLm1tCiAgICAgcGxh
dGZvcm0vY29jb2EvQ29udGVudEZpbHRlclVuYmxvY2tIYW5kbGVyQ29jb2EubW0KICAgICBwbGF0
Zm9ybS9jb2NvYS9Db3JlVmlkZW9Tb2Z0TGluay5jcHAKICAgICBwbGF0Zm9ybS9jb2NvYS9EaXNw
bGF5U2xlZXBEaXNhYmxlckNvY29hLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGQ5M2M0MGQ0NTczMDRmMjQwODYyMzlhODZl
NTMxMWIxMjJjZDViNGUuLmI5N2I3NjM4NjVlZjg2ZTQwMTcxMzgxOTI5OWMxMGYyMDI5OTI1MTgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKQEAgLTE5MzUsOSArMTkzNSw2IEBACiAJCTQ2MENCRjM1MUQ0QkNEMEUwMDkyRTg4RSAvKiBK
U0RPTVdpbmRvd1Byb3BlcnRpZXMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNDYwQ0JGMzMxRDRCQ0NGRTAwOTJFODhFIC8qIEpTRE9NV2luZG93UHJv
cGVydGllcy5jcHAgKi87IH07CiAJCTQ2MENCRjM2MUQ0QkNEMEUwMDkyRTg4RSAvKiBKU0RPTVdp
bmRvd1Byb3BlcnRpZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDQ2MENCRjM0MUQ0QkNDRkUwMDkyRTg4RSAvKiBKU0RPTVdpbmRvd1Byb3BlcnRpZXMu
aCAqLzsgfTsKIAkJNDYzNDU5MkMxQUMyMjcxMDAwRUNCNzFDIC8qIFBvd2VyT2JzZXJ2ZXJNYWMu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDYzNDU5
MkIxQUMyMjcxMDAwRUNCNzFDIC8qIFBvd2VyT2JzZXJ2ZXJNYWMuY3BwICovOyB9OwotCQk0NjM3
NjMwODFFMjZGREQ3MDA4Q0Q0NkQgLyogQ1BVVGltZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NjM3NjMwNjFFMjZGREJBMDA4Q0Q0NkQgLyogQ1BV
VGltZS5jcHAgKi87IH07Ci0JCTQ2Mzc2MzA5MUUyNkZERDcwMDhDRDQ2RCAvKiBDUFVUaW1lLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NjM3NjMwNzFF
MjZGREJBMDA4Q0Q0NkQgLyogQ1BVVGltZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07Ci0JCTQ2Mzc2MzBCMUUyNkZERjYwMDhDRDQ2RCAvKiBDUFVUaW1l
Q29jb2EubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0
NjM3NjMwQTFFMjZGREVCMDA4Q0Q0NkQgLyogQ1BVVGltZUNvY29hLm1tICovOyB9OwogCQk0NjNF
QjYyMjFCODc4OUUwMDA5NkVENTEgLyogVGFnQ29sbGVjdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NjNFQjYyMDFCODc4OUNCMDA5NkVENTEg
LyogVGFnQ29sbGVjdGlvbi5jcHAgKi87IH07CiAJCTQ2M0VCNjIzMUI4Nzg5RTAwMDk2RUQ1MSAv
KiBUYWdDb2xsZWN0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA0NjNFQjYyMTFCODc4OUNCMDA5NkVENTEgLyogVGFnQ29sbGVjdGlvbi5oICovOyB9
OwogCQk0NjUzMDdEMDFEQjZFRTQ4MDBFNDEzN0MgLyogSlNVSUV2ZW50SW5pdC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODNFMDQ1RUYxREFBMTA0RjAw
QjBEOEI5IC8qIEpTVUlFdmVudEluaXQuaCAqLzsgfTsKQEAgLTk2MjAsOSArOTYxNyw2IEBACiAJ
CTQ2MENCRjMzMUQ0QkNDRkUwMDkyRTg4RSAvKiBKU0RPTVdpbmRvd1Byb3BlcnRpZXMuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNET01XaW5kb3dQcm9wZXJ0aWVz
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDYwQ0JGMzQxRDRCQ0NGRTAwOTJF
ODhFIC8qIEpTRE9NV2luZG93UHJvcGVydGllcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBKU0RPTVdpbmRvd1Byb3BlcnRpZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNDYzNDU5MkIxQUMyMjcxMDAwRUNCNzFDIC8qIFBvd2VyT2JzZXJ2ZXJNYWMuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUG93ZXJPYnNlcnZlck1hYy5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTQ2Mzc2MzA2MUUyNkZEQkEwMDhDRDQ2RCAv
KiBDUFVUaW1lLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENQVVRp
bWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk0NjM3NjMwNzFFMjZGREJBMDA4
Q0Q0NkQgLyogQ1BVVGltZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDUFVU
aW1lLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTQ2Mzc2MzBBMUUyNkZERUIwMDhD
RDQ2RCAvKiBDUFVUaW1lQ29jb2EubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7
IHBhdGggPSBDUFVUaW1lQ29jb2EubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ2
M0VCNjIwMUI4Nzg5Q0IwMDk2RUQ1MSAvKiBUYWdDb2xsZWN0aW9uLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFRhZ0NvbGxlY3Rpb24uY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk0NjNFQjYyMTFCODc4OUNCMDA5NkVENTEgLyogVGFnQ29sbGVjdGlv
bi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBUYWdDb2xsZWN0aW9uLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ2NUE4RTc4MUM4QTI0Q0UwMEU3RDNFNCAvKiBS
dW50aW1lQXBwbGljYXRpb25DaGVja3MubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpj
cHA7IHBhdGggPSBSdW50aW1lQXBwbGljYXRpb25DaGVja3MubW07IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CkBAIC0yMTA3NSw3ICsyMTA2OSw2IEBACiAJCQkJQTE0MDkwRkExQUE1MUUxRDAw
OTExOTFBIC8qIENvbnRlbnRGaWx0ZXJVbmJsb2NrSGFuZGxlckNvY29hLm1tICovLAogCQkJCUNE
N0QzMzQ1MUM3QTE2QkYwMDA0MTI5MyAvKiBDb3JlVmlkZW9Tb2Z0TGluay5jcHAgKi8sCiAJCQkJ
Q0Q3RDMzNDYxQzdBMTZCRjAwMDQxMjkzIC8qIENvcmVWaWRlb1NvZnRMaW5rLmggKi8sCi0JCQkJ
NDYzNzYzMEExRTI2RkRFQjAwOENENDZEIC8qIENQVVRpbWVDb2NvYS5tbSAqLywKIAkJCQk3Qzc5
NDFFMzFDNTZDMjkzMDBBNEM1OEUgLyogRGF0YURldGVjdG9yc0NvcmVTb2Z0TGluay5oICovLAog
CQkJCTdDNzk0MUUyMUM1NkMyOTMwMEE0QzU4RSAvKiBEYXRhRGV0ZWN0b3JzQ29yZVNvZnRMaW5r
Lm1tICovLAogCQkJCTVEOEM0REJEMTQyODIyMkMwMDI2Q0U3MiAvKiBEaXNwbGF5U2xlZXBEaXNh
YmxlckNvY29hLmNwcCAqLywKQEAgLTIzOTI0LDggKzIzOTE3LDYgQEAKIAkJCQk4NjJGMTI5RDE4
QzE1NzJDMDA1QzU0QUYgLyogQ291bnRlZFVzZXJBY3Rpdml0eS5oICovLAogCQkJCTQ2QzY5NkNB
MUU3MjA1RTQwMDU5NzkzNyAvKiBDUFVNb25pdG9yLmNwcCAqLywKIAkJCQk0NkM2OTZDOTFFNzIw
NUU0MDA1OTc5MzcgLyogQ1BVTW9uaXRvci5oICovLAotCQkJCTQ2Mzc2MzA2MUUyNkZEQkEwMDhD
RDQ2RCAvKiBDUFVUaW1lLmNwcCAqLywKLQkJCQk0NjM3NjMwNzFFMjZGREJBMDA4Q0Q0NkQgLyog
Q1BVVGltZS5oICovLAogCQkJCUUxMUFGMTUwMTFCOUExQTMwMDgwNTEwMyAvKiBDdXJzb3IuY3Bw
ICovLAogCQkJCUY1ODc4Njg0MDJERTNCODYwMUVBNDEyMiAvKiBDdXJzb3IuaCAqLywKIAkJCQlB
NTczMkIwODEzNkExNjFEMDA1QzhEN0MgLyogRGF0ZUNvbXBvbmVudHMuY3BwICovLApAQCAtMjY2
OTAsNyArMjY2ODEsNiBAQAogCQkJCUJDNUVCOTUxMEU4MjA1NkIwMEIyNTk2NSAvKiBDb3VudGVy
RGlyZWN0aXZlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTM5MkYxNEMwQUQxODYxQjAwNjkxQkQ0
IC8qIENvdW50ZXJOb2RlLmggaW4gSGVhZGVycyAqLywKIAkJCQk0NkM2OTZDQjFFNzIwNUY3MDA1
OTc5MzcgLyogQ1BVTW9uaXRvci5oIGluIEhlYWRlcnMgKi8sCi0JCQkJNDYzNzYzMDkxRTI2RkRE
NzAwOENENDZEIC8qIENQVVRpbWUuaCBpbiBIZWFkZXJzICovLAogCQkJCUQwQjA1NTY4MDlDNjcw
MDEwMDMwN0U0MyAvKiBDcmVhdGVMaW5rQ29tbWFuZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE0
Qzc2NkUwQ0U5MjNBMTAwN0VGM0NEIC8qIENyZWRlbnRpYWwuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTM3OTI5MTdBMTk4NUVGMzkwMEY0QjY2MSAvKiBDcmVkZW50aWFsQmFzZS5oIGluIEhlYWRlcnMg
Ki8sCkBAIC0zMDc0Miw4ICszMDczMiw2IEBACiAJCQkJQkM1RUI5NTAwRTgyMDU2QjAwQjI1OTY1
IC8qIENvdW50ZXJEaXJlY3RpdmVzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTkzOTJGMTUwMEFE
MTg2MjMwMDY5MUJENCAvKiBDb3VudGVyTm9kZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0NkM2
OTZDQzFFNzIwNUZDMDA1OTc5MzcgLyogQ1BVTW9uaXRvci5jcHAgaW4gU291cmNlcyAqLywKLQkJ
CQk0NjM3NjMwODFFMjZGREQ3MDA4Q0Q0NkQgLyogQ1BVVGltZS5jcHAgaW4gU291cmNlcyAqLywK
LQkJCQk0NjM3NjMwQjFFMjZGREY2MDA4Q0Q0NkQgLyogQ1BVVGltZUNvY29hLm1tIGluIFNvdXJj
ZXMgKi8sCiAJCQkJRDBCMDU1NjkwOUM2NzAwMTAwMzA3RTQzIC8qIENyZWF0ZUxpbmtDb21tYW5k
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxNEM3NjZEMENFOTIzQTEwMDdFRjNDRCAvKiBDcmVk
ZW50aWFsQmFzZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkzNzkyOTE3RDE5ODc2NzhGMDBGNEI2
NjEgLyogQ3JlZGVudGlhbENvY29hLm1tIGluIFNvdXJjZXMgKi8sCkBAIC0zMjAwOCw3ICszMTk5
Niw3IEBACiAJCQkJN0MzMzBBMDcxREY5Rjk1MTAwRDMzOTVDIC8qIEpTUG9zaXRpb25PcHRpb25z
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTY1REYzMUZGMDlEMUNDNjAwMDBCRTMyNSAvKiBKU1By
b2Nlc3NpbmdJbnN0cnVjdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFNDQ2MTNFRDBDRDY4
MUJBMDBGQURBNzUgLyogSlNQcm9ncmVzc0V2ZW50LmNwcCBpbiBTb3VyY2VzICovLAotICAgICAg
ICAgICAgICAgIEE1NzhGNDNCMURFMDE0MjEwMDNERkM2QSAvKiBKU1Byb21pc2VSZWplY3Rpb25F
dmVudC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlBNTc4RjQzQjFERTAxNDIxMDAzREZDNkEgLyog
SlNQcm9taXNlUmVqZWN0aW9uRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMDc3NjY0RkMx
ODNFNkI1QzAwMTMzQjkyIC8qIEpTUXVpY2tUaW1lUGx1Z2luUmVwbGFjZW1lbnQuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJQjY1OEZGQTExNTIyRUYzQTAwREQ1NTk1IC8qIEpTUmFkaW9Ob2RlTGlz
dC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk2NURGMzIwMTA5RDFDQzYwMDAwQkUzMjUgLyogSlNS
YW5nZS5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
Q2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCmluZGV4
IDkwYWEwOTBiMDg1NWUxZDE0ODAyNDA5YTQ0YTk2MGYyOTY5NjVlYmYuLjljNjM3NjFlMDFkZGQ4
ZjgzYThjNWUwMjBlYjdmNjMxZTJiZThkNDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvQ2hyb21lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQu
aApAQCAtNDY1LDcgKzQ2NSw3IEBAIGNsYXNzIFdFQkNPUkVfRVhQT1JUIENocm9tZUNsaWVudCB7
CiAKICAgICB2aXJ0dWFsIHZvaWQgZGlkSW52YWxpZGF0ZURvY3VtZW50TWFya2VyUmVjdHMoKSB7
IH0KIAotICAgIHZpcnR1YWwgdm9pZCByZXBvcnRQcm9jZXNzQ1BVVGltZShpbnQ2NF90LCBBY3Rp
dml0eVN0YXRlRm9yQ1BVU2FtcGxpbmcpIHsgfQorICAgIHZpcnR1YWwgdm9pZCByZXBvcnRQcm9j
ZXNzQ1BVVGltZShTZWNvbmRzLCBBY3Rpdml0eVN0YXRlRm9yQ1BVU2FtcGxpbmcpIHsgfQogICAg
IHZpcnR1YWwgUmVmUHRyPEljb24+IGNyZWF0ZUljb25Gb3JGaWxlcyhjb25zdCBWZWN0b3I8U3Ry
aW5nPiYgLyogZmlsZW5hbWVzICovKSA9IDA7CiAKICAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hhbmdl
Q2xpcFRvU2FmZUFyZWEoYm9vbCkgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1BlcmZvcm1hbmNlTW9uaXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNl
TW9uaXRvci5jcHAKaW5kZXggN2IyMzc3ZDg1MjI3MzA2N2EyMTY2Yjk1OWQ2MzY2ZTkxODE5Yjgy
MC4uMmU1NzQxNWU1MTEzZWY4NjUyNTFjYjZlNWQ2OGQ2NTdhM2U3MmJlMSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU1vbml0b3IuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VNb25pdG9yLmNwcApAQCAtNzYsNyArNzYsNyBAQCBQZXJm
b3JtYW5jZU1vbml0b3I6OlBlcmZvcm1hbmNlTW9uaXRvcihQYWdlJiBwYWdlKQogICAgIEFTU0VS
VCghcGFnZS5pc1V0aWxpdHlQYWdlKCkpOwogCiAgICAgaWYgKFNldHRpbmdzOjppc1BlckFjdGl2
aXR5U3RhdGVDUFVVc2FnZU1lYXN1cmVtZW50RW5hYmxlZCgpKSB7Ci0gICAgICAgIG1fcGVyQWN0
aXZpdHlTdGF0ZUNQVVRpbWUgPSBnZXRDUFVUaW1lKCk7CisgICAgICAgIG1fcGVyQWN0aXZpdHlT
dGF0ZUNQVVRpbWUgPSBDUFVUaW1lOjpnZXQoKTsKICAgICAgICAgbV9wZXJBY3Rpdml0eVN0YXRl
Q1BVVXNhZ2VUaW1lci5zdGFydFJlcGVhdGluZyhjcHVVc2FnZVNhbXBsaW5nSW50ZXJ2YWwpOwog
ICAgIH0KIH0KQEAgLTE3NCwxMiArMTc0LDEyIEBAIHZvaWQgUGVyZm9ybWFuY2VNb25pdG9yOjpt
ZWFzdXJlUG9zdExvYWRDUFVVc2FnZSgpCiAgICAgfQogCiAgICAgaWYgKCFtX3Bvc3RMb2FkQ1BV
VGltZSkgewotICAgICAgICBtX3Bvc3RMb2FkQ1BVVGltZSA9IGdldENQVVRpbWUoKTsKKyAgICAg
ICAgbV9wb3N0TG9hZENQVVRpbWUgPSBDUFVUaW1lOjpnZXQoKTsKICAgICAgICAgaWYgKG1fcG9z
dExvYWRDUFVUaW1lKQogICAgICAgICAgICAgbV9wb3N0UGFnZUxvYWRDUFVVc2FnZVRpbWVyLnN0
YXJ0T25lU2hvdChwb3N0TG9hZENQVVVzYWdlTWVhc3VyZW1lbnREdXJhdGlvbik7CiAgICAgICAg
IHJldHVybjsKICAgICB9Ci0gICAgc3RkOjpvcHRpb25hbDxDUFVUaW1lPiBjcHVUaW1lID0gZ2V0
Q1BVVGltZSgpOworICAgIHN0ZDo6b3B0aW9uYWw8Q1BVVGltZT4gY3B1VGltZSA9IENQVVRpbWU6
OmdldCgpOwogICAgIGlmICghY3B1VGltZSkKICAgICAgICAgcmV0dXJuOwogCkBAIC0yMzEsMTIg
KzIzMSwxMiBAQCB2b2lkIFBlcmZvcm1hbmNlTW9uaXRvcjo6bWVhc3VyZVBvc3RCYWNrZ3JvdW5k
aW5nQ1BVVXNhZ2UoKQogICAgIH0KIAogICAgIGlmICghbV9wb3N0QmFja2dyb3VuZGluZ0NQVVRp
bWUpIHsKLSAgICAgICAgbV9wb3N0QmFja2dyb3VuZGluZ0NQVVRpbWUgPSBnZXRDUFVUaW1lKCk7
CisgICAgICAgIG1fcG9zdEJhY2tncm91bmRpbmdDUFVUaW1lID0gQ1BVVGltZTo6Z2V0KCk7CiAg
ICAgICAgIGlmIChtX3Bvc3RCYWNrZ3JvdW5kaW5nQ1BVVGltZSkKICAgICAgICAgICAgIG1fcG9z
dEJhY2tncm91bmRpbmdDUFVVc2FnZVRpbWVyLnN0YXJ0T25lU2hvdChiYWNrZ3JvdW5kQ1BVVXNh
Z2VNZWFzdXJlbWVudER1cmF0aW9uKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KLSAgICBzdGQ6
Om9wdGlvbmFsPENQVVRpbWU+IGNwdVRpbWUgPSBnZXRDUFVUaW1lKCk7CisgICAgc3RkOjpvcHRp
b25hbDxDUFVUaW1lPiBjcHVUaW1lID0gQ1BVVGltZTo6Z2V0KCk7CiAgICAgaWYgKCFjcHVUaW1l
KQogICAgICAgICByZXR1cm47CiAKQEAgLTI3NCwxMSArMjc0LDExIEBAIHZvaWQgUGVyZm9ybWFu
Y2VNb25pdG9yOjptZWFzdXJlQ1BVVXNhZ2VJbkFjdGl2aXR5U3RhdGUoQWN0aXZpdHlTdGF0ZUZv
ckNQVVNhbXBsCiAgICAgfQogCiAgICAgaWYgKCFtX3BlckFjdGl2aXR5U3RhdGVDUFVUaW1lKSB7
Ci0gICAgICAgIG1fcGVyQWN0aXZpdHlTdGF0ZUNQVVRpbWUgPSBnZXRDUFVUaW1lKCk7CisgICAg
ICAgIG1fcGVyQWN0aXZpdHlTdGF0ZUNQVVRpbWUgPSBDUFVUaW1lOjpnZXQoKTsKICAgICAgICAg
cmV0dXJuOwogICAgIH0KIAotICAgIHN0ZDo6b3B0aW9uYWw8Q1BVVGltZT4gY3B1VGltZSA9IGdl
dENQVVRpbWUoKTsKKyAgICBzdGQ6Om9wdGlvbmFsPENQVVRpbWU+IGNwdVRpbWUgPSBDUFVUaW1l
OjpnZXQoKTsKICAgICBpZiAoIWNwdVRpbWUpIHsKICAgICAgICAgbV9wZXJBY3Rpdml0eVN0YXRl
Q1BVVGltZSA9IHN0ZDo6bnVsbG9wdDsKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU1vbml0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGVyZm9ybWFuY2VNb25pdG9yLmgKaW5kZXggYWZjMjkyNGVhZTdhM2ExOWI3YTczZjhiNTA5
NjZkMjAzYTFjMDdkMy4uNmU1ZTY5MDMzZDgxNWM1NzNmMWE5NDYyNDZkYmUxZWM2OWFmN2JkOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU1vbml0b3IuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlTW9uaXRvci5oCkBAIC0yNiw4ICsyNiw4
IEBACiAjcHJhZ21hIG9uY2UKIAogI2luY2x1ZGUgIkFjdGl2aXR5U3RhdGUuaCIKLSNpbmNsdWRl
ICJDUFVUaW1lLmgiCiAjaW5jbHVkZSAiVGltZXIuaCIKKyNpbmNsdWRlIDx3dGYvQ1BVVGltZS5o
PgogI2luY2x1ZGUgPHd0Zi9PcHRpb25hbC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9DUFVNb25pdG9yLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL0NQVU1vbml0b3IuY3BwCmluZGV4IDJkMzM4NGNlNGZjY2ExOWYzNmU4
ZDMzNTRhZWU5MTk1OGNlNWM4MTYuLjVmYWFmNjZlNjAyZTc3ZTFkOWIyMTc2NTM5MGUxNGYzN2Fj
OGE3ZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0NQVU1vbml0b3IuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0NQVU1vbml0b3IuY3BwCkBAIC00Myw3ICs0
Myw3IEBAIHZvaWQgQ1BVTW9uaXRvcjo6c2V0Q1BVTGltaXQoc3RkOjpvcHRpb25hbDxkb3VibGU+
IGNwdUxpbWl0KQogICAgIG1fY3B1TGltaXQgPSBjcHVMaW1pdDsKICAgICBpZiAobV9jcHVMaW1p
dCkgewogICAgICAgICBpZiAoIW1fdGltZXIuaXNBY3RpdmUoKSkgewotICAgICAgICAgICAgbV9s
YXN0Q1BVVGltZSA9IGdldENQVVRpbWUoKTsKKyAgICAgICAgICAgIG1fbGFzdENQVVRpbWUgPSBD
UFVUaW1lOjpnZXQoKTsKICAgICAgICAgICAgIG1fdGltZXIuc3RhcnRSZXBlYXRpbmcobV9jaGVj
a0ludGVydmFsKTsKICAgICAgICAgfQogICAgIH0gZWxzZQpAQCAtNTUsMTEgKzU1LDExIEBAIHZv
aWQgQ1BVTW9uaXRvcjo6dGltZXJGaXJlZCgpCiAgICAgQVNTRVJUKG1fY3B1TGltaXQpOwogCiAg
ICAgaWYgKCFtX2xhc3RDUFVUaW1lKSB7Ci0gICAgICAgIG1fbGFzdENQVVRpbWUgPSBnZXRDUFVU
aW1lKCk7CisgICAgICAgIG1fbGFzdENQVVRpbWUgPSBDUFVUaW1lOjpnZXQoKTsKICAgICAgICAg
cmV0dXJuOwogICAgIH0KIAotICAgIGF1dG8gY3B1VGltZSA9IGdldENQVVRpbWUoKTsKKyAgICBh
dXRvIGNwdVRpbWUgPSBDUFVUaW1lOjpnZXQoKTsKICAgICBpZiAoIWNwdVRpbWUpCiAgICAgICAg
IHJldHVybjsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ1BVTW9uaXRv
ci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ1BVTW9uaXRvci5oCmluZGV4IGFmYWI2ZWE4
MDhkYjdmZjhlMjU2OTQ5YWJkZDBkMTdhNGZjMmY3ZDUuLmQ0ZGRiNzc4ZDZkNGU2YWZkOGQyZTJm
ZjRiYWI5Mjk1OGE1Njg0NDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0NQ
VU1vbml0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9DUFVNb25pdG9yLmgKQEAg
LTI1LDkgKzI1LDkgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpbmNsdWRlICJDUFVUaW1lLmgiCiAj
aW5jbHVkZSAiVGltZXIuaCIKIAorI2luY2x1ZGUgPHd0Zi9DUFVUaW1lLmg+CiAjaW5jbHVkZSA8
d3RmL0Z1bmN0aW9uLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL0NQVVRpbWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Q1BVVGltZS5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDIyNjQ0MDk3NDNhMTBl
ODM0YTU3NzkxYzQ2M2IzN2Q2MmVkNDBhNmEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ1BVVGltZS5jcHAKKysr
IC9kZXYvbnVsbApAQCAtMSw0OCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE3IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwot
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0g
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZp
Zy5oIgotI2luY2x1ZGUgIkNQVVRpbWUuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi0jaWYg
IVBMQVRGT1JNKENPQ09BKQotCi1zdGQ6Om9wdGlvbmFsPENQVVRpbWU+IGdldENQVVRpbWUoKQot
ewotICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7Ci19Ci0KLSNlbmRpZgotCi1kb3VibGUgQ1BVVGlt
ZTo6cGVyY2VudGFnZUNQVVVzYWdlU2luY2UoY29uc3QgQ1BVVGltZSYgcmVmZXJlbmNlKQotewot
ICAgIGludDY0X3QgY3B1VXNhZ2VUaW1lRGVsdGEgPSAoc3lzdGVtVGltZSArIHVzZXJUaW1lKSAt
IChyZWZlcmVuY2Uuc3lzdGVtVGltZSArIHJlZmVyZW5jZS51c2VyVGltZSk7Ci0gICAgaW50NjRf
dCBjcHVUaW1lRGVsdGEgPSBjcHVUaW1lIC0gcmVmZXJlbmNlLmNwdVRpbWU7Ci0gICAgQVNTRVJU
KGNwdVRpbWVEZWx0YSk7Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PGRvdWJsZT4oY3B1VXNhZ2VU
aW1lRGVsdGEgKiAxMDAuMCkgLyBjcHVUaW1lRGVsdGE7Ci19Ci0KLX0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL0NQVVRpbWUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L0NQVVRpbWUuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDJkNTBiZTI1MjhiMDZl
ZTM1NzI1NmQ5M2RiMjVmMzUxYjg2M2JlMy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9DUFVUaW1lLmgKKysrIC9k
ZXYvbnVsbApAQCAtMSw0MiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAot
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
Ci0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwot
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI3ByYWdtYSBvbmNlCi0KLSNp
bmNsdWRlIDx3dGYvT3B0aW9uYWwuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1zdHJ1Y3Qg
Q1BVVGltZSB7Ci0gICAgaW50NjRfdCBjcHVUaW1lOyAvLyBpbiBtaWNyb3NlY29uZHMuCi0gICAg
aW50NjRfdCB1c2VyVGltZTsgLy8gaW4gbWljcm9zZWNvbmRzLgotICAgIGludDY0X3Qgc3lzdGVt
VGltZTsgLy8gaW4gbWljcm9zZWNvbmRzLgotCi0gICAgZG91YmxlIHBlcmNlbnRhZ2VDUFVVc2Fn
ZVNpbmNlKGNvbnN0IENQVVRpbWUmKTsKLX07Ci0KLXN0ZDo6b3B0aW9uYWw8Q1BVVGltZT4gZ2V0
Q1BVVGltZSgpOwotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9DUFVUaW1lQ29jb2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9jb2NvYS9DUFVUaW1lQ29jb2EubW0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IGUxYjExMTk2NzJlMDJmOTdmMDZmNDcwNzBmOThlODg3NGY4NmEwMTIuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vY29jb2EvQ1BVVGltZUNvY29hLm1tCisrKyAvZGV2L251bGwKQEAgLTEsNzEgKzAsMCBAQAot
LyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
Ci0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgotICovCi0KLSNpbXBvcnQgImNvbmZpZy5oIgotI2ltcG9ydCAiQ1BVVGltZS5oIgotCi0j
aW1wb3J0IDxtYWNoL21hY2hfaW5pdC5oPgotI2ltcG9ydCA8bWFjaC90YXNrLmg+Ci0jaW1wb3J0
IDxtYWNoL3Rhc2tfaW5mby5oPgotI2ltcG9ydCA8d3RmL0N1cnJlbnRUaW1lLmg+Ci0KLW5hbWVz
cGFjZSBXZWJDb3JlIHsKLQotc3RhdGljIGNvbnN0IGludDY0X3QgbWljcm9zZWNvbmRzUGVyU2Vj
b25kID0gMTAwMDAwMDsKLQotc3RhdGljIGludDY0X3QgdGltZVZhbHVlVG9NaWNyb3NlY29uZHMo
Y29uc3QgdGltZV92YWx1ZV90JiB2YWx1ZSkKLXsKLSAgICBpbnQ2NF90IHJlc3VsdCA9IHZhbHVl
LnNlY29uZHM7Ci0gICAgcmVzdWx0ICo9IG1pY3Jvc2Vjb25kc1BlclNlY29uZDsKLSAgICByZXN1
bHQgKz0gdmFsdWUubWljcm9zZWNvbmRzOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLXN0ZDo6
b3B0aW9uYWw8Q1BVVGltZT4gZ2V0Q1BVVGltZSgpCi17Ci0gICAgLy8gQWNjb3VudCBmb3IgY3Vy
cmVudCB0aHJlYWRzLgotICAgIHRhc2tfdGhyZWFkX3RpbWVzX2luZm8gdGhyZWFkSW5mb0RhdGE7
Ci0gICAgbWFjaF9tc2dfdHlwZV9udW1iZXJfdCB0aHJlYWRJbmZvQ291bnQgPSBUQVNLX1RIUkVB
RF9USU1FU19JTkZPX0NPVU5UOwotICAgIGtlcm5fcmV0dXJuX3QgcmVzdWx0ID0gdGFza19pbmZv
KG1hY2hfdGFza19zZWxmKCksIFRBU0tfVEhSRUFEX1RJTUVTX0lORk8sIHJlaW50ZXJwcmV0X2Nh
c3Q8dGFza19pbmZvX3Q+KCZ0aHJlYWRJbmZvRGF0YSksICZ0aHJlYWRJbmZvQ291bnQpOwotICAg
IGlmIChyZXN1bHQgIT0gS0VSTl9TVUNDRVNTKQotICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0
OwotCi0gICAgaW50NjRfdCB1c2VyVGltZSA9IHRpbWVWYWx1ZVRvTWljcm9zZWNvbmRzKHRocmVh
ZEluZm9EYXRhLnVzZXJfdGltZSk7Ci0gICAgaW50NjRfdCBzeXN0ZW1UaW1lID0gdGltZVZhbHVl
VG9NaWNyb3NlY29uZHModGhyZWFkSW5mb0RhdGEuc3lzdGVtX3RpbWUpOwotCi0gICAgLy8gQWNj
b3VudCBmb3IgdGVybWluZWQgdGhyZWFkcy4KLSAgICB0YXNrX2Jhc2ljX2luZm8gdGFza0luZm9E
YXRhOwotICAgIG1hY2hfbXNnX3R5cGVfbnVtYmVyX3QgdGFza0luZm9Db3VudCA9IFRBU0tfQkFT
SUNfSU5GT19DT1VOVDsKLSAgICByZXN1bHQgPSB0YXNrX2luZm8obWFjaF90YXNrX3NlbGYoKSwg
VEFTS19CQVNJQ19JTkZPLCByZWludGVycHJldF9jYXN0PHRhc2tfaW5mb190PigmdGFza0luZm9E
YXRhKSwgJnRhc2tJbmZvQ291bnQpOwotICAgIGlmIChyZXN1bHQgIT0gS0VSTl9TVUNDRVNTKQot
ICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwotCi0gICAgdXNlclRpbWUgKz0gdGltZVZhbHVl
VG9NaWNyb3NlY29uZHModGFza0luZm9EYXRhLnVzZXJfdGltZSk7Ci0gICAgc3lzdGVtVGltZSAr
PSB0aW1lVmFsdWVUb01pY3Jvc2Vjb25kcyh0YXNrSW5mb0RhdGEuc3lzdGVtX3RpbWUpOwotCi0g
ICAgcmV0dXJuIENQVVRpbWUgeyBzdGF0aWNfY2FzdDxpbnQ2NF90Pihtb25vdG9uaWNhbGx5SW5j
cmVhc2luZ1RpbWUoKSAqIG1pY3Jvc2Vjb25kc1BlclNlY29uZCksIHVzZXJUaW1lLCBzeXN0ZW1U
aW1lIH07Ci19Ci0KLX0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QZXJB
Y3Rpdml0eVN0YXRlQ1BVVXNhZ2VTYW1wbGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9QZXJBY3Rpdml0eVN0YXRlQ1BVVXNhZ2VTYW1wbGVyLmNwcAppbmRleCAwZDg1N2JiNzg4MzI0
YzY1OGNlZjY3MTVjMGIyMWNhZWU4YzgyNmJjLi5iNmYwNDEyYTFmOWYzMjUzZTNhNzk4NTU0YjUy
NTMyYTg4ODZiODY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGVyQWN0
aXZpdHlTdGF0ZUNQVVVzYWdlU2FtcGxlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1BlckFjdGl2aXR5U3RhdGVDUFVVc2FnZVNhbXBsZXIuY3BwCkBAIC0zNCw4ICszNCw2IEBA
CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi1zdGF0aWMgY29uc3QgaW50NjRfdCBtaWNyb3NlY29u
ZHNQZXJTZWNvbmQgPSAxMDAwMDAwOwotCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogc3Rh
dGljIGNvbnN0IFNlY29uZHMgbG9nZ2luZ0ludGVydmFsIHsgNjBfbWluIH07CkBAIC00NCw3ICs0
Miw3IEBAIFBlckFjdGl2aXR5U3RhdGVDUFVVc2FnZVNhbXBsZXI6OlBlckFjdGl2aXR5U3RhdGVD
UFVVc2FnZVNhbXBsZXIoV2ViUHJvY2Vzc1Bvb2wmCiAgICAgOiBtX3Byb2Nlc3NQb29sKHByb2Nl
c3NQb29sKQogICAgICwgbV9sb2dnaW5nVGltZXIoUnVuTG9vcDo6bWFpbigpLCB0aGlzLCAmUGVy
QWN0aXZpdHlTdGF0ZUNQVVVzYWdlU2FtcGxlcjo6bG9nZ2luZ1RpbWVyRmlyZWQpCiB7Ci0gICAg
bV9sYXN0Q1BVVGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOworICAgIG1fbGFz
dENQVVRpbWUgPSBNb25vdG9uaWNUaW1lOjpub3coKTsKICAgICBtX2xvZ2dpbmdUaW1lci5zdGFy
dFJlcGVhdGluZyhsb2dnaW5nSW50ZXJ2YWwpOwogfQogCkBAIC01Miw3ICs1MCw3IEBAIFBlckFj
dGl2aXR5U3RhdGVDUFVVc2FnZVNhbXBsZXI6On5QZXJBY3Rpdml0eVN0YXRlQ1BVVXNhZ2VTYW1w
bGVyKCkKIHsKIH0KIAotdm9pZCBQZXJBY3Rpdml0eVN0YXRlQ1BVVXNhZ2VTYW1wbGVyOjpyZXBv
cnRXZWJDb250ZW50Q1BVVGltZShpbnQ2NF90IGNwdVRpbWUsIEFjdGl2aXR5U3RhdGVGb3JDUFVT
YW1wbGluZyBhY3Rpdml0eVN0YXRlKQordm9pZCBQZXJBY3Rpdml0eVN0YXRlQ1BVVXNhZ2VTYW1w
bGVyOjpyZXBvcnRXZWJDb250ZW50Q1BVVGltZShTZWNvbmRzIGNwdVRpbWUsIEFjdGl2aXR5U3Rh
dGVGb3JDUFVTYW1wbGluZyBhY3Rpdml0eVN0YXRlKQogewogICAgIGF1dG8gcmVzdWx0ID0gbV9j
cHVUaW1lSW5BY3Rpdml0eVN0YXRlLmFkZChhY3Rpdml0eVN0YXRlLCBjcHVUaW1lKTsKICAgICBp
ZiAoIXJlc3VsdC5pc05ld0VudHJ5KQpAQCAtNzksMTEgKzc3LDExIEBAIHZvaWQgUGVyQWN0aXZp
dHlTdGF0ZUNQVVVzYWdlU2FtcGxlcjo6bG9nZ2luZ1RpbWVyRmlyZWQoKQogICAgICAgICByZXR1
cm47CiAgICAgfQogCi0gICAgZG91YmxlIGN1cnJlbnRDUFVUaW1lID0gbW9ub3RvbmljYWxseUlu
Y3JlYXNpbmdUaW1lKCk7Ci0gICAgaW50NjRfdCBjcHVUaW1lRGVsdGEgPSAoY3VycmVudENQVVRp
bWUgLSBtX2xhc3RDUFVUaW1lKSAqIG1pY3Jvc2Vjb25kc1BlclNlY29uZDsKKyAgICBNb25vdG9u
aWNUaW1lIGN1cnJlbnRDUFVUaW1lID0gTW9ub3RvbmljVGltZTo6bm93KCk7CisgICAgU2Vjb25k
cyBjcHVUaW1lRGVsdGEgPSBjdXJyZW50Q1BVVGltZSAtIG1fbGFzdENQVVRpbWU7CiAKICAgICBm
b3IgKGF1dG8mIHBhaXIgOiBtX2NwdVRpbWVJbkFjdGl2aXR5U3RhdGUpIHsKLSAgICAgICAgZG91
YmxlIGNwdVVzYWdlID0gc3RhdGljX2Nhc3Q8ZG91YmxlPihwYWlyLnZhbHVlICogMTAwLikgLyBj
cHVUaW1lRGVsdGE7CisgICAgICAgIGRvdWJsZSBjcHVVc2FnZSA9IHBhaXIudmFsdWUudmFsdWUo
KSAqIDEwMC4gLyBjcHVUaW1lRGVsdGEudmFsdWUoKTsKICAgICAgICAgU3RyaW5nIGFjdGl2aXR5
U3RhdGVLZXkgPSBsb2dnaW5nS2V5Rm9yQWN0aXZpdHlTdGF0ZShwYWlyLmtleSk7CiAgICAgICAg
IHBhZ2UtPmxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFZhbHVlKERpYWdub3N0aWNMb2dnaW5nS2V5
czo6Y3B1VXNhZ2VLZXkoKSwgYWN0aXZpdHlTdGF0ZUtleSwgY3B1VXNhZ2UsIDIsIFNob3VsZFNh
bXBsZTo6Tm8pOwogICAgICAgICBSRUxFQVNFX0xPRyhQZXJmb3JtYW5jZUxvZ2dpbmcsICJXZWJD
b250ZW50IHByb2Nlc3NlcyB1c2VkICUuMWYlJSBDUFUgaW4gJXMgc3RhdGUiLCBjcHVVc2FnZSwg
YWN0aXZpdHlTdGF0ZUtleS51dGY4KCkuZGF0YSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9QZXJBY3Rpdml0eVN0YXRlQ1BVVXNhZ2VTYW1wbGVyLmggYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvUGVyQWN0aXZpdHlTdGF0ZUNQVVVzYWdlU2FtcGxlci5oCmluZGV4
IGRhYjZmNGI3NTU5ODU4YjE3ZTA5MGNmOWE0ZWFkNzlmNmY1Y2JmMTcuLjAxYTdkYTdiODkxYTkw
MDY2YzkwZTg0MjljNjU2YmQ3MDBiMTY2YmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9QZXJBY3Rpdml0eVN0YXRlQ1BVVXNhZ2VTYW1wbGVyLmgKKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1BlckFjdGl2aXR5U3RhdGVDUFVVc2FnZVNhbXBsZXIuaApAQCAtMzks
NyArMzksNyBAQCBjbGFzcyBQZXJBY3Rpdml0eVN0YXRlQ1BVVXNhZ2VTYW1wbGVyIHsKICAgICBl
eHBsaWNpdCBQZXJBY3Rpdml0eVN0YXRlQ1BVVXNhZ2VTYW1wbGVyKFdlYlByb2Nlc3NQb29sJik7
CiAgICAgflBlckFjdGl2aXR5U3RhdGVDUFVVc2FnZVNhbXBsZXIoKTsKIAotICAgIHZvaWQgcmVw
b3J0V2ViQ29udGVudENQVVRpbWUoaW50NjRfdCBjcHVUaW1lLCBXZWJDb3JlOjpBY3Rpdml0eVN0
YXRlRm9yQ1BVU2FtcGxpbmcpOworICAgIHZvaWQgcmVwb3J0V2ViQ29udGVudENQVVRpbWUoU2Vj
b25kcyBjcHVUaW1lLCBXZWJDb3JlOjpBY3Rpdml0eVN0YXRlRm9yQ1BVU2FtcGxpbmcpOwogCiBw
cml2YXRlOgogICAgIHZvaWQgbG9nZ2luZ1RpbWVyRmlyZWQoKTsKQEAgLTQ3LDkgKzQ3LDkgQEAg
Y2xhc3MgUGVyQWN0aXZpdHlTdGF0ZUNQVVVzYWdlU2FtcGxlciB7CiAKICAgICBXZWJQcm9jZXNz
UG9vbCYgbV9wcm9jZXNzUG9vbDsKICAgICBSdW5Mb29wOjpUaW1lcjxQZXJBY3Rpdml0eVN0YXRl
Q1BVVXNhZ2VTYW1wbGVyPiBtX2xvZ2dpbmdUaW1lcjsKLSAgICB0eXBlZGVmIEhhc2hNYXA8V2Vi
Q29yZTo6QWN0aXZpdHlTdGF0ZUZvckNQVVNhbXBsaW5nLCBpbnQ2NF90LCBXVEY6OkludEhhc2g8
V2ViQ29yZTo6QWN0aXZpdHlTdGF0ZUZvckNQVVNhbXBsaW5nPiwgV1RGOjpTdHJvbmdFbnVtSGFz
aFRyYWl0czxXZWJDb3JlOjpBY3Rpdml0eVN0YXRlRm9yQ1BVU2FtcGxpbmc+PiBDUFVUaW1lSW5B
Y3Rpdml0eVN0YXRlTWFwOworICAgIHR5cGVkZWYgSGFzaE1hcDxXZWJDb3JlOjpBY3Rpdml0eVN0
YXRlRm9yQ1BVU2FtcGxpbmcsIFNlY29uZHMsIFdURjo6SW50SGFzaDxXZWJDb3JlOjpBY3Rpdml0
eVN0YXRlRm9yQ1BVU2FtcGxpbmc+LCBXVEY6OlN0cm9uZ0VudW1IYXNoVHJhaXRzPFdlYkNvcmU6
OkFjdGl2aXR5U3RhdGVGb3JDUFVTYW1wbGluZz4+IENQVVRpbWVJbkFjdGl2aXR5U3RhdGVNYXA7
CiAgICAgQ1BVVGltZUluQWN0aXZpdHlTdGF0ZU1hcCBtX2NwdVRpbWVJbkFjdGl2aXR5U3RhdGU7
Ci0gICAgZG91YmxlIG1fbGFzdENQVVRpbWU7CisgICAgTW9ub3RvbmljVGltZSBtX2xhc3RDUFVU
aW1lOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYlByb2Nlc3NQb29sLmNwcAppbmRleCA4OTkyODYwZThlOWU1MjdkNjU5MDczNTFjYmRk
YTVlN2UyZThjNTkyLi4zNmM2NGU0MTQzNDA4YmMxMjYwZDBjMzBjODVkM2VkMWFhYmMwNWJiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKQEAgLTE2MTgs
NyArMTYxOCw3IEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnVwZGF0ZUhpZGRlblBhZ2VUaHJvdHRs
aW5nQXV0b0luY3JlYXNlTGltaXQoKQogICAgIHNlbmRUb0FsbFByb2Nlc3NlcyhNZXNzYWdlczo6
V2ViUHJvY2Vzczo6U2V0SGlkZGVuUGFnZURPTVRpbWVyVGhyb3R0bGluZ0luY3JlYXNlTGltaXQo
bGltaXRJbk1pbGxpc2Vjb25kcykpOwogfQogCi12b2lkIFdlYlByb2Nlc3NQb29sOjpyZXBvcnRX
ZWJDb250ZW50Q1BVVGltZShpbnQ2NF90IGNwdVRpbWUsIHVpbnQ2NF90IGFjdGl2aXR5U3RhdGUp
Cit2b2lkIFdlYlByb2Nlc3NQb29sOjpyZXBvcnRXZWJDb250ZW50Q1BVVGltZShTZWNvbmRzIGNw
dVRpbWUsIHVpbnQ2NF90IGFjdGl2aXR5U3RhdGUpCiB7CiAjaWYgUExBVEZPUk0oTUFDKQogICAg
IGlmIChtX3BlckFjdGl2aXR5U3RhdGVDUFVVc2FnZVNhbXBsZXIpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaCBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oCmluZGV4IGM5YzhkNTY1MzU1OTQ1ZTBkYzY1ZDAzMGUx
ZjA4N2I4NDI2MjdjOGIuLmYzZWE2ODQ2YzdkMmY1Mzk0OTYwNWI4OGIyNzQwMmRkZjc5Y2QyMzIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oCkBAIC0yNjQsNyAr
MjY0LDcgQEAgY2xhc3MgV2ViUHJvY2Vzc1Bvb2wgZmluYWwgOiBwdWJsaWMgQVBJOjpPYmplY3RJ
bXBsPEFQSTo6T2JqZWN0OjpUeXBlOjpQcm9jZXNzUG8KICAgICB2b2lkIHRlcm1pbmF0ZURhdGFi
YXNlUHJvY2VzcygpOwogICAgIHZvaWQgdGVybWluYXRlTmV0d29ya1Byb2Nlc3MoKTsKIAotICAg
IHZvaWQgcmVwb3J0V2ViQ29udGVudENQVVRpbWUoaW50NjRfdCBjcHVUaW1lLCB1aW50NjRfdCBh
Y3Rpdml0eVN0YXRlKTsKKyAgICB2b2lkIHJlcG9ydFdlYkNvbnRlbnRDUFVUaW1lKFNlY29uZHMg
Y3B1VGltZSwgdWludDY0X3QgYWN0aXZpdHlTdGF0ZSk7CiAKICAgICB2b2lkIGFsbG93U3BlY2lm
aWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdChjb25zdCBXZWJDZXJ0aWZpY2F0ZUluZm8qLCBjb25z
dCBTdHJpbmcmIGhvc3QpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUHJvY2Vzc1Bvb2wubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
UHJvY2Vzc1Bvb2wubWVzc2FnZXMuaW4KaW5kZXggODk5MGMwMDk0MTNiYzlkZmVjMTM0MDA3NjY1
ZTRkMjc3MDFiNDY2ZS4uZTBiYjI2OTRhYTVkYjJjZmFjOWY3NTcyOTllYmM1MmU1Yjg1ZmU4NiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLm1lc3Nh
Z2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5tZXNz
YWdlcy5pbgpAQCAtMzUsNSArMzUsNSBAQCBtZXNzYWdlcyAtPiBXZWJQcm9jZXNzUG9vbCB7CiAg
ICAgdm9pZCBBZGRQbHVnSW5BdXRvU3RhcnRPcmlnaW5IYXNoKFN0cmluZyBwYWdlT3JpZ2luLCB1
aW50MzJfdCBoYXNoLCBXZWJDb3JlOjpTZXNzaW9uSUQgc2Vzc2lvbklEKQogICAgIHZvaWQgUGx1
Z0luRGlkUmVjZWl2ZVVzZXJJbnRlcmFjdGlvbih1aW50MzJfdCBoYXNoLCBXZWJDb3JlOjpTZXNz
aW9uSUQgc2Vzc2lvbklEKQogCi0gICAgUmVwb3J0V2ViQ29udGVudENQVVRpbWUoaW50NjRfdCBj
cHVUaW1lLCB1aW50NjRfdCBhY3Rpdml0eVN0YXRlKQorICAgIFJlcG9ydFdlYkNvbnRlbnRDUFVU
aW1lKFNlY29uZHMgY3B1VGltZSwgdWludDY0X3QgYWN0aXZpdHlTdGF0ZSkKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xp
ZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hy
b21lQ2xpZW50LmNwcAppbmRleCA4MGZlNmFlMDFlMTIzODQ2YTI3M2JkYzcyNGIzOTMwMWFiNzg1
ODA1Li45NmE3OGY1NDkxY2RjMTg4MTFhZGY4NWQzMzI0NzM3OGU4YmQ3ZGQwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVu
dC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJD
aHJvbWVDbGllbnQuY3BwCkBAIC0yNzYsNyArMjc2LDcgQEAgdm9pZCBXZWJDaHJvbWVDbGllbnQ6
OnJ1bk1vZGFsKCkKICAgICBtX3BhZ2UucnVuTW9kYWwoKTsKIH0KIAotdm9pZCBXZWJDaHJvbWVD
bGllbnQ6OnJlcG9ydFByb2Nlc3NDUFVUaW1lKGludDY0X3QgY3B1VGltZSwgQWN0aXZpdHlTdGF0
ZUZvckNQVVNhbXBsaW5nIGFjdGl2aXR5U3RhdGUpCit2b2lkIFdlYkNocm9tZUNsaWVudDo6cmVw
b3J0UHJvY2Vzc0NQVVRpbWUoU2Vjb25kcyBjcHVUaW1lLCBBY3Rpdml0eVN0YXRlRm9yQ1BVU2Ft
cGxpbmcgYWN0aXZpdHlTdGF0ZSkKIHsKICAgICBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5zZW5k
KE1lc3NhZ2VzOjpXZWJQcm9jZXNzUG9vbDo6UmVwb3J0V2ViQ29udGVudENQVVRpbWUoY3B1VGlt
ZSwgc3RhdGljX2Nhc3Q8dWludDY0X3Q+KGFjdGl2aXR5U3RhdGUpKSwgMCk7CiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNs
aWVudC5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJv
bWVDbGllbnQuaAppbmRleCAxYzRkNmJiZWIwMWNiMjE3ZjQ3ZWFhZmI1NmNkMmRkYjZmYWEyMTJj
Li5jYjA4NTU4YzZkNzkwZTI3NzFlOWZiZGI5MzhkNzJkNDE0NWFmOWM0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5o
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21l
Q2xpZW50LmgKQEAgLTY4LDcgKzY4LDcgQEAgY2xhc3MgV2ViQ2hyb21lQ2xpZW50IGZpbmFsIDog
cHVibGljIFdlYkNvcmU6OkNocm9tZUNsaWVudCB7CiAgICAgYm9vbCBjYW5SdW5Nb2RhbCgpIGZp
bmFsOwogICAgIHZvaWQgcnVuTW9kYWwoKSBmaW5hbDsKIAotICAgIHZvaWQgcmVwb3J0UHJvY2Vz
c0NQVVRpbWUoaW50NjRfdCwgV2ViQ29yZTo6QWN0aXZpdHlTdGF0ZUZvckNQVVNhbXBsaW5nKSBm
aW5hbDsKKyAgICB2b2lkIHJlcG9ydFByb2Nlc3NDUFVUaW1lKFNlY29uZHMsIFdlYkNvcmU6OkFj
dGl2aXR5U3RhdGVGb3JDUFVTYW1wbGluZykgZmluYWw7CiAgICAgCiAgICAgdm9pZCBzZXRUb29s
YmFyc1Zpc2libGUoYm9vbCkgZmluYWw7CiAgICAgYm9vbCB0b29sYmFyc1Zpc2libGUoKSBmaW5h
bDsK
</data>
<flag name="review"
          id="329806"
          type_id="1"
          status="+"
          setter="cdumez"
    />
          </attachment>
      

    </bug>

</bugzilla>