<?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>170645</bug_id>
          
          <creation_ts>2017-04-08 14:16:12 -0700</creation_ts>
          <short_desc>Drop std::chrono support from Timer class</short_desc>
          <delta_ts>2017-04-08 16:19:23 -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>WebCore Misc.</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="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>buildbot</cc>
    
    <cc>commit-queue</cc>
    
    <cc>fpizlo</cc>
    
    <cc>rniwa</cc>
    
    <cc>sam</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1295693</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-04-08 14:16:12 -0700</bug_when>
    <thetext>Drop std::chrono support from Timer class now that we prefer using Seconds type.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295694</commentid>
    <comment_count>1</comment_count>
      <attachid>306581</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-04-08 14:20:12 -0700</bug_when>
    <thetext>Created attachment 306581
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295695</commentid>
    <comment_count>2</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-04-08 14:22:39 -0700</bug_when>
    <thetext>Attachment 306581 did not pass style-queue:


ERROR: Source/WebCore/platform/Timer.h:166:  Extra space before ( in function call  [whitespace/parens] [4]
Total errors found: 1 in 38 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295696</commentid>
    <comment_count>3</comment_count>
      <attachid>306582</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-04-08 14:30:54 -0700</bug_when>
    <thetext>Created attachment 306582
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295698</commentid>
    <comment_count>4</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-04-08 14:33:49 -0700</bug_when>
    <thetext>Attachment 306582 did not pass style-queue:


ERROR: Source/WebCore/platform/Timer.h:166:  Extra space before ( in function call  [whitespace/parens] [4]
Total errors found: 1 in 38 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295712</commentid>
    <comment_count>5</comment_count>
      <attachid>306582</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-04-08 16:19:21 -0700</bug_when>
    <thetext>Comment on attachment 306582
Patch

Clearing flags on attachment: 306582

Committed r215152: &lt;http://trac.webkit.org/changeset/215152&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295713</commentid>
    <comment_count>6</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-04-08 16:19:23 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>306581</attachid>
            <date>2017-04-08 14:20:12 -0700</date>
            <delta_ts>2017-04-08 14:30:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-170645-20170408142010.patch</filename>
            <type>text/plain</type>
            <size>48857</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE1MTQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjZhNmMyYTVjZjY5YjM0
M2RiZTQ1ZGVlMzNiM2U1MDc5ZjFjZmZlYS4uZTM0MWQ4ZmNmMWY1NjU5ZDIyODFkNDNlNjg2ZGQ4
OGRhN2Q4ZTZiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQ5IEBACiAyMDE3LTA0LTA4ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKKyAgICAgICAgRHJvcCBzdGQ6OmNocm9ubyBz
dXBwb3J0IGZyb20gVGltZXIgY2xhc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE3MDY0NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIERyb3Agc3RkOjpjaHJvbm8gc3VwcG9ydCBmcm9tIFRpbWVyIGNsYXNz
IG5vdyB0aGF0IHdlIHByZWZlciB1c2luZyBTZWNvbmRzIHR5cGUuCisKKyAgICAgICAgKiBjc3Mv
Q1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZS5jcHA6CisgICAgICAgICogaHRtbC9IVE1MUGx1Z0luSW1h
Z2VFbGVtZW50LmNwcDoKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRl
eHRCYXNlLmNwcDoKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6ZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbEZvclJlc291
cmNlVHlwZSk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZTo6ZGVzdHJveURlY29k
ZWREYXRhSWZOZWVkZWQpOgorICAgICAgICAqIGxvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpNZW1vcnlDYWNoZTo6TWVtb3J5Q2FjaGUpOgorICAgICAgICAq
IGxvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5oOgorICAgICAgICAoV2ViQ29yZTo6TWVtb3J5Q2Fj
aGU6OnNldERlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwpOgorICAgICAgICAoV2ViQ29y
ZTo6TWVtb3J5Q2FjaGU6OmRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwpOgorICAgICAg
ICAqIHBhZ2UvUGVyZm9ybWFuY2VNb25pdG9yLmNwcDoKKyAgICAgICAgKiBwYWdlL1N1c3BlbmRh
YmxlVGltZXIuaDoKKyAgICAgICAgKiBwYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVy
Lmg6CisgICAgICAgICogcGFnZS9tYWMvU2VydmljZXNPdmVybGF5Q29udHJvbGxlci5tbToKKyAg
ICAgICAgKFdlYkNvcmU6OlNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6OnNlbGVjdGlvblJlY3Rz
RGlkQ2hhbmdlKToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6
OnJlbWFpbmluZ1RpbWVVbnRpbEhpZ2hsaWdodFNob3VsZEJlU2hvd24pOgorICAgICAgICAoV2Vi
Q29yZTo6U2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6ZGV0ZXJtaW5lQWN0aXZlSGlnaGxpZ2h0
KToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6Om1vdXNlRXZl
bnQpOgorICAgICAgICAqIHBsYXRmb3JtL1RpbWVyLmg6CisgICAgICAgIChXZWJDb3JlOjpUaW1l
ckJhc2U6OnN0YXJ0UmVwZWF0aW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6c3Rh
cnRPbmVTaG90KToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6YXVnbWVudEZpcmVJbnRl
cnZhbCk6CisgICAgICAgIChXZWJDb3JlOjpUaW1lckJhc2U6OmF1Z21lbnRSZXBlYXRJbnRlcnZh
bCk6CisgICAgICAgIChXZWJDb3JlOjpEZWZlcnJhYmxlT25lU2hvdFRpbWVyOjpEZWZlcnJhYmxl
T25lU2hvdFRpbWVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Rm9udENhY2hlOjpmb250Rm9yRmFtaWx5KToKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ29udHJvbGxlci5jcHA6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvY2cvSU9TdXJmYWNlUG9vbC5jcHA6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvY2cvU3ViaW1hZ2VDYWNoZVdpdGhUaW1lci5jcHA6CisgICAgICAgICogeG1sL1hN
TEh0dHBSZXF1ZXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlhNTEh0dHBSZXF1ZXN0OjpzZXRU
aW1lb3V0KToKKyAgICAgICAgKFdlYkNvcmU6OlhNTEh0dHBSZXF1ZXN0OjpjcmVhdGVSZXF1ZXN0
KToKKyAgICAgICAgKiB4bWwvWE1MSHR0cFJlcXVlc3QuaDoKKworMjAxNy0wNC0wOCAgQ2hyaXMg
RHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCiAgICAgICAgIFRpbWVyJ3MgbmV4dEZpcmVJbnRl
cnZhbCgpIC8gcmVwZWF0SW50ZXJ2YWwoKSBzaG91bGQgcmV0dXJuIFNlY29uZHMKICAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MDYzOQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFu
Z2VMb2cKaW5kZXggY2I1OTFkZGUyM2ViMmVhOGQ4ZTM1ZTI4ODdhNjFjYWYwZDA4OTYyYi4uYzZm
ZDVkOTViOTg3OTg4MTNkYWYzNzA3NGYwZWJmOTVlZTgyM2ZlNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE1IEBACisyMDE3LTA0LTA4ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5j
b20+CisKKyAgICAgICAgRHJvcCBzdGQ6OmNocm9ubyBzdXBwb3J0IGZyb20gVGltZXIgY2xhc3MK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MDY0NQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERyb3Agc3Rk
OjpjaHJvbm8gc3VwcG9ydCBmcm9tIFRpbWVyIGNsYXNzIG5vdyB0aGF0IHdlIHByZWZlciB1c2lu
ZyBTZWNvbmRzIHR5cGUuCisKKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXcubW06CisgICAgICAg
ICgrW1dlYlZpZXcgX3NldENhY2hlTW9kZWw6XSk6CisKIDIwMTctMDQtMDYgIFJ5YW4gSGFkZGFk
ICA8cnlhbmhhZGRhZEBhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBv
dXQgcjIxNTA0Ni4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwppbmRleCA1MTBjMjgwNTgwMDk5OGNhNTE1ZTI0ZWVi
OTZlNjNmMzA4Y2U0MWUyLi40NDgzZDVhZTgxNzg1OWE2ODEyYmUxNjk1ZWY2M2QzNTUwMmVkZDM5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdC93aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTctMDQtMDggIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBEcm9wIHN0ZDo6Y2hyb25vIHN1cHBv
cnQgZnJvbSBUaW1lciBjbGFzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTcwNjQ1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgRHJvcCBzdGQ6OmNocm9ubyBzdXBwb3J0IGZyb20gVGltZXIgY2xhc3Mgbm93
IHRoYXQgd2UgcHJlZmVyIHVzaW5nIFNlY29uZHMgdHlwZS4KKworICAgICAgICAqIFdlYlZpZXcu
Y3BwOgorICAgICAgICAoV2ViVmlldzo6c2V0Q2FjaGVNb2RlbCk6CisKIDIwMTctMDMtMzEgIEZ1
amlpIEhpcm9ub3JpICA8SGlyb25vcmkuRnVqaWlAc29ueS5jb20+CiAKICAgICAgICAgW1dpbkNh
aXJvXSBXZWJDb3JlOjpQbGF0Zm9ybURpc3BsYXk6OnRlcm1pbmF0ZUVHTERpc3BsYXkgY2F1c2Vz
IGEgY3Jhc2ggaW4gbGliR0xFU3YyLmRsbCB3aGlsZSBwcm9jZXNzaW5nIGF0ZXhpdApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9n
CmluZGV4IDczMzNiMDk5ZjAxZmM4NmYxMmQ1ODI3N2E4NWZlZmFiOTBiYzBlNzMuLjU4N2U3NDRl
MmJmZWM0ZjMwMGRmNWU2YWQzOTJjMzIzN2E5MDQ0Y2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsNSArMSw0
NSBAQAogMjAxNy0wNC0wOCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCisgICAg
ICAgIERyb3Agc3RkOjpjaHJvbm8gc3VwcG9ydCBmcm9tIFRpbWVyIGNsYXNzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzA2NDUKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEcm9wIHN0ZDo6Y2hyb25vIHN1
cHBvcnQgZnJvbSBUaW1lciBjbGFzcyBub3cgdGhhdCB3ZSBwcmVmZXIgdXNpbmcgU2Vjb25kcyB0
eXBlLgorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya0xvYWQuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpOZXR3b3JrTG9hZDo6VGhyb3R0bGU6OlRocm90dGxlKToKKyAgICAgICAgKFdl
YktpdDo6TmV0d29ya0xvYWQ6OmRpZFJlY2VpdmVSZXNwb25zZU5ldHdvcmtTZXNzaW9uKToKKyAg
ICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oOgorICAgICAgICAoV2ViS2l0
OjpOZXR3b3JrUHJvY2Vzczo6bG9hZFRocm90dGxlTGF0ZW5jeSk6CisgICAgICAgICogTmV0d29y
a1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwOgorICAgICAgICAq
IE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmg6CisgICAg
ICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMuaDoKKyAg
ICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OnN0YXJ0TmV0d29ya0xvYWQpOgorICAg
ICAgICAqIE5ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZE1h
bmFnZXIuY3BwOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVN0
YXRpc3RpY3MuY3BwOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNo
ZVN0b3JhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OlN0b3JhZ2U6OmRp
c3BhdGNoUmVhZE9wZXJhdGlvbik6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6U3Rv
cmFnZTo6c3RvcmUpOgorICAgICAgICAqIFNoYXJlZC9DYWNoZU1vZGVsLmNwcDoKKyAgICAgICAg
KFdlYktpdDo6Y2FsY3VsYXRlTWVtb3J5Q2FjaGVTaXplcyk6CisgICAgICAgICogU2hhcmVkL0Nh
Y2hlTW9kZWwuaDoKKyAgICAgICAgKiBTaGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3Jl
Q29sbGVjdGlvbi5tbToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xD
b2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OnBsYXRmb3JtSW5pdGlh
bGl6ZU5ldHdvcmtQcm9jZXNzKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvV2ViTG9h
ZGVyU3RyYXRlZ3kuY3BwOgorICAgICAgICAoV2ViS2l0OjptYXhpbXVtQnVmZmVyaW5nVGltZSk6
CisgICAgICAgICogV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblZpZXcuY3BwOgorICAgICAgICAq
IFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWEubW06Cisg
ICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhOjpzY2hlZHVsZUNvbXBv
c2l0aW5nTGF5ZXJGbHVzaEltbWVkaWF0ZWx5KToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5
ZXJUcmVlRHJhd2luZ0FyZWE6OnNjaGVkdWxlQ29tcG9zaXRpbmdMYXllckZsdXNoKToKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjptX3Jlc291
cmNlTG9hZFN0YXRpc3RpY3NTdG9yZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OnNl
dENhY2hlTW9kZWwpOgorCisyMDE3LTA0LTA4ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5j
b20+CisKICAgICAgICAgVGltZXIncyBuZXh0RmlyZUludGVydmFsKCkgLyByZXBlYXRJbnRlcnZh
bCgpIHNob3VsZCByZXR1cm4gU2Vjb25kcwogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTcwNjM5CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NJbWFnZUdlbmVyYXRvclZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFn
ZUdlbmVyYXRvclZhbHVlLmNwcAppbmRleCAzYzdjMjk5NTYwYTgxZjE3YWQ2ODdhNWMzYzhiMjk2
MzkzNDc5ZjZlLi44MDc1ODAxZDJlZWIwMjExYzE2NWNkMGEzNzBlYTc1OTc3ZWYwZWQ1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdlR2VuZXJhdG9yVmFsdWUuY3BwCkBAIC0zOSw3
ICszOSw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIGNvbnN0IGF1dG8gdGlt
ZVRvS2VlcENhY2hlZEdlbmVyYXRlZEltYWdlcyA9IHN0ZDo6Y2hyb25vOjpzZWNvbmRzIHsgMyB9
Oworc3RhdGljIGNvbnN0IFNlY29uZHMgdGltZVRvS2VlcENhY2hlZEdlbmVyYXRlZEltYWdlcyB7
IDNfcyB9OwogCiBjbGFzcyBDU1NJbWFnZUdlbmVyYXRvclZhbHVlOjpDYWNoZWRHZW5lcmF0ZWRJ
bWFnZSB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxQbHVnSW5JbWFnZUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MUGx1Z0luSW1hZ2VFbGVtZW50LmNwcAppbmRleCA5ZjU2ZDY2ZTgzMTNhMzdlNWM0
MWFiOGVhNjI1NjQxNWNlYmE0YmQyLi5iMzBkYmEzMjZjMWFlNDUxYWM3OGZkYWVlZDk0NTU3MDhk
NjE2ZjRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5JbWFnZUVs
ZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkltYWdlRWxlbWVu
dC5jcHAKQEAgLTU1LDEwICs1NSwxMCBAQCBzdGF0aWMgY29uc3QgZmxvYXQgc2l6aW5nRnVsbFBh
Z2VBcmVhUmF0aW9UaHJlc2hvbGQgPSAwLjk2Owogc3RhdGljIGNvbnN0IFNlY29uZHMgYXV0b3N0
YXJ0U29vbkFmdGVyVXNlckdlc3R1cmVUaHJlc2hvbGQgPSA1X3M7CiAKIC8vIFRoaXMgZGVsYXkg
c2hvdWxkIG5vdCBleGNlZWQgdGhlIHNuYXBzaG90IGRlbGF5IGluIFBsdWdpblZpZXcuY3BwCi1z
dGF0aWMgY29uc3QgYXV0byBzaW11bGF0ZWRNb3VzZUNsaWNrVGltZXJEZWxheSA9IHN0ZDo6Y2hy
b25vOjptaWxsaXNlY29uZHMgeyA3NTAgfTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHNpbXVsYXRl
ZE1vdXNlQ2xpY2tUaW1lckRlbGF5IHsgNzUwX21zIH07CiAKICNpZiBQTEFURk9STShDT0NPQSkK
LXN0YXRpYyBjb25zdCBhdXRvIHJlbW92ZVNuYXBzaG90VGltZXJEZWxheSA9IHN0ZDo6Y2hyb25v
OjptaWxsaXNlY29uZHMgeyAxNTAwIH07CitzdGF0aWMgY29uc3QgU2Vjb25kcyByZW1vdmVTbmFw
c2hvdFRpbWVyRGVsYXkgeyAxNTAwX21zIH07CiAjZW5kaWYKIAogc3RhdGljIGNvbnN0IFN0cmlu
ZyB0aXRsZVRleHQoUGFnZSYgcGFnZSwgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2Uu
Y3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFz
ZS5jcHAKaW5kZXggYjZmYjIwYmRkOGY0N2QzMzhjMzE3ZTBiZTlkNjIwNjA3MzdjNTljOS4uMTUw
MDlkNmNhODdlZDFjZWYyM2U3ZTQ4ZTllYzliZmM0ZmE5NGE2OCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5jcHAK
QEAgLTEwMiw3ICsxMDIsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNvbnN0IGRvdWJsZSBz
ZWNvbmRzQmV0d2VlblJlc3RvcmVBdHRlbXB0cyA9IDEuMDsKIGNvbnN0IGludCBtYXhHTEVycm9y
c0FsbG93ZWRUb0NvbnNvbGUgPSAyNTY7Ci1zdGF0aWMgY29uc3Qgc3RkOjpjaHJvbm86OnNlY29u
ZHMgY2hlY2tDb250ZXh0TG9zc0hhbmRsaW5nRGVsYXkgeyAzIH07CitzdGF0aWMgY29uc3QgU2Vj
b25kcyBjaGVja0NvbnRleHRMb3NzSGFuZGxpbmdEZWxheSB7IDNfcyB9OwogCiBuYW1lc3BhY2Ug
ewogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJl
c291cmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5j
cHAKaW5kZXggNTkzOTAzOTRiZjNmOGE0NmQ0NTE3MTFhYzc3MzIxYzU4OWU1NmY4ZS4uZTI5NWNl
ZWUwNWE5ZTkyYmJiNzFmMDJhYjE0MWQ2MDk1MDE2ODBiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwCkBAIC0xMDIsMTAgKzEwMiwxMCBAQCBS
ZXNvdXJjZUxvYWRQcmlvcml0eSBDYWNoZWRSZXNvdXJjZTo6ZGVmYXVsdFByaW9yaXR5Rm9yUmVz
b3VyY2VUeXBlKFR5cGUgdHlwZSkKICAgICByZXR1cm4gUmVzb3VyY2VMb2FkUHJpb3JpdHk6Okxv
dzsKIH0KIAotc3RhdGljIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgZGVhZERlY29kZWREYXRh
RGVsZXRpb25JbnRlcnZhbEZvclJlc291cmNlVHlwZShDYWNoZWRSZXNvdXJjZTo6VHlwZSB0eXBl
KQorc3RhdGljIFNlY29uZHMgZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbEZvclJlc291
cmNlVHlwZShDYWNoZWRSZXNvdXJjZTo6VHlwZSB0eXBlKQogewogICAgIGlmICh0eXBlID09IENh
Y2hlZFJlc291cmNlOjpTY3JpcHQpCi0gICAgICAgIHJldHVybiBzdGQ6OmNocm9ubzo6bWlsbGlz
ZWNvbmRzIHsgMCB9OworICAgICAgICByZXR1cm4gMF9zOwogCiAgICAgcmV0dXJuIE1lbW9yeUNh
Y2hlOjpzaW5nbGV0b24oKS5kZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsKCk7CiB9CkBA
IC01MzcsNyArNTM3LDcgQEAgdm9pZCBDYWNoZWRSZXNvdXJjZTo6ZGVzdHJveURlY29kZWREYXRh
SWZOZWVkZWQoKQogewogICAgIGlmICghbV9kZWNvZGVkU2l6ZSkKICAgICAgICAgcmV0dXJuOwot
ICAgIGlmICghTWVtb3J5Q2FjaGU6OnNpbmdsZXRvbigpLmRlYWREZWNvZGVkRGF0YURlbGV0aW9u
SW50ZXJ2YWwoKS5jb3VudCgpKQorICAgIGlmICghTWVtb3J5Q2FjaGU6OnNpbmdsZXRvbigpLmRl
YWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwoKSkKICAgICAgICAgcmV0dXJuOwogICAgIG1f
ZGVjb2RlZERhdGFEZWxldGlvblRpbWVyLnJlc3RhcnQoKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuY3BwCmluZGV4IGQ0MTNmYjg1NTNiODk5ZTM5YmY4OWNh
ODNlYzJhNThhZTkyNDZhYTguLjg0ODk2NWU5OTEzYjdmNjAwZjA1ZDVjYThjMjc3ZDI1OWVhOTQw
NzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmNwcApAQCAt
NTEsNyArNTEsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBzdGF0aWMgY29uc3QgaW50IGNEZWZh
dWx0Q2FjaGVDYXBhY2l0eSA9IDgxOTIgKiAxMDI0Owogc3RhdGljIGNvbnN0IGRvdWJsZSBjTWlu
RGVsYXlCZWZvcmVMaXZlRGVjb2RlZFBydW5lID0gMTsgLy8gU2Vjb25kcy4KIHN0YXRpYyBjb25z
dCBmbG9hdCBjVGFyZ2V0UHJ1bmVQZXJjZW50YWdlID0gLjk1ZjsgLy8gUGVyY2VudGFnZSBvZiBj
YXBhY2l0eSB0b3dhcmQgd2hpY2ggd2UgcHJ1bmUsIHRvIGF2b2lkIGltbWVkaWF0ZWx5IHBydW5p
bmcgYWdhaW4uCi1zdGF0aWMgY29uc3QgYXV0byBkZWZhdWx0RGVjb2RlZERhdGFEZWxldGlvbklu
dGVydmFsID0gc3RkOjpjaHJvbm86OnNlY29uZHMgeyAwIH07CiAKIE1lbW9yeUNhY2hlJiBNZW1v
cnlDYWNoZTo6c2luZ2xldG9uKCkKIHsKQEAgLTY2LDcgKzY1LDYgQEAgTWVtb3J5Q2FjaGU6Ok1l
bW9yeUNhY2hlKCkKICAgICAsIG1fY2FwYWNpdHkoY0RlZmF1bHRDYWNoZUNhcGFjaXR5KQogICAg
ICwgbV9taW5EZWFkQ2FwYWNpdHkoMCkKICAgICAsIG1fbWF4RGVhZENhcGFjaXR5KGNEZWZhdWx0
Q2FjaGVDYXBhY2l0eSkKLSAgICAsIG1fZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbChk
ZWZhdWx0RGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsKQogICAgICwgbV9saXZlU2l6ZSgwKQog
ICAgICwgbV9kZWFkU2l6ZSgwKQogICAgICwgbV9wcnVuZVRpbWVyKCp0aGlzLCAmTWVtb3J5Q2Fj
aGU6OnBydW5lKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9y
eUNhY2hlLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuaAppbmRl
eCBjNWQ5N2UxZDM2YWI2MDNiNDkwOTBmYzQxZTYxZGNmNjRmMGQyY2E3Li43YzJlOGM3MzVjMmVm
YTM5NjgyMWRlNTY3NTZlN2M4MWY3ZmFiNmYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2Fj
aGUvTWVtb3J5Q2FjaGUuaApAQCAtMTI1LDggKzEyNSw4IEBAIHB1YmxpYzoKICAgICB2b2lkIHBy
dW5lU29vbigpOwogICAgIHVuc2lnbmVkIHNpemUoKSBjb25zdCB7IHJldHVybiBtX2xpdmVTaXpl
ICsgbV9kZWFkU2l6ZTsgfQogCi0gICAgdm9pZCBzZXREZWFkRGVjb2RlZERhdGFEZWxldGlvbklu
dGVydmFsKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgaW50ZXJ2YWwpIHsgbV9kZWFkRGVjb2Rl
ZERhdGFEZWxldGlvbkludGVydmFsID0gaW50ZXJ2YWw7IH0KLSAgICBzdGQ6OmNocm9ubzo6bWls
bGlzZWNvbmRzIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwoKSBjb25zdCB7IHJldHVy
biBtX2RlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWw7IH0KKyAgICB2b2lkIHNldERlYWRE
ZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwoU2Vjb25kcyBpbnRlcnZhbCkgeyBtX2RlYWREZWNv
ZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwgPSBpbnRlcnZhbDsgfQorICAgIFNlY29uZHMgZGVhZERl
Y29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCgpIGNvbnN0IHsgcmV0dXJuIG1fZGVhZERlY29kZWRE
YXRhRGVsZXRpb25JbnRlcnZhbDsgfQogCiAgICAgLy8gQ2FsbHMgdG8gcHV0IHRoZSBjYWNoZWQg
cmVzb3VyY2UgaW50byBhbmQgb3V0IG9mIExSVSBsaXN0cy4KICAgICB2b2lkIGluc2VydEluTFJV
TGlzdChDYWNoZWRSZXNvdXJjZSYpOwpAQCAtMTk1LDcgKzE5NSw3IEBAIHByaXZhdGU6CiAgICAg
dW5zaWduZWQgbV9jYXBhY2l0eTsKICAgICB1bnNpZ25lZCBtX21pbkRlYWRDYXBhY2l0eTsKICAg
ICB1bnNpZ25lZCBtX21heERlYWRDYXBhY2l0eTsKLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNv
bmRzIG1fZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbDsKKyAgICBTZWNvbmRzIG1fZGVh
ZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbDsKIAogICAgIHVuc2lnbmVkIG1fbGl2ZVNpemU7
IC8vIFRoZSBudW1iZXIgb2YgYnl0ZXMgY3VycmVudGx5IGNvbnN1bWVkIGJ5ICJsaXZlIiByZXNv
dXJjZXMgaW4gdGhlIGNhY2hlLgogICAgIHVuc2lnbmVkIG1fZGVhZFNpemU7IC8vIFRoZSBudW1i
ZXIgb2YgYnl0ZXMgY3VycmVudGx5IGNvbnN1bWVkIGJ5ICJkZWFkIiByZXNvdXJjZXMgaW4gdGhl
IGNhY2hlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU1vbml0
b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU1vbml0b3IuY3BwCmluZGV4
IDFjY2MyNzI5YzlmOWIxZmU0YjVlYTgzNmY1ZmVmNTkyMzY3MGUxMTEuLjkwNmQ1YzdkZTJjMjZh
MWM2NmE3YTIzYzFhZjIxN2M4ZmUwNzU4ZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGVyZm9ybWFuY2VNb25pdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZv
cm1hbmNlTW9uaXRvci5jcHAKQEAgLTQxLDE0ICs0MSwxNCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKICNkZWZpbmUgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChjaGFubmVsLCBmbXQsIC4uLikgUkVM
RUFTRV9MT0dfSUYobV9wYWdlLmlzQWx3YXlzT25Mb2dnaW5nQWxsb3dlZCgpLCBjaGFubmVsLCAi
JXAgLSBQZXJmb3JtYW5jZU1vbml0b3I6OiIgZm10LCB0aGlzLCAjI19fVkFfQVJHU19fKQogCi1z
dGF0aWMgY29uc3Qgc3RkOjpjaHJvbm86OnNlY29uZHMgY3B1VXNhZ2VNZWFzdXJlbWVudERlbGF5
IHsgNSB9Owotc3RhdGljIGNvbnN0IHN0ZDo6Y2hyb25vOjpzZWNvbmRzIHBvc3RMb2FkQ1BVVXNh
Z2VNZWFzdXJlbWVudER1cmF0aW9uIHsgMTAgfTsKLXN0YXRpYyBjb25zdCBzdGQ6OmNocm9ubzo6
bWludXRlcyBiYWNrZ3JvdW5kQ1BVVXNhZ2VNZWFzdXJlbWVudER1cmF0aW9uIHsgNSB9Owotc3Rh
dGljIGNvbnN0IHN0ZDo6Y2hyb25vOjptaW51dGVzIGNwdVVzYWdlU2FtcGxpbmdJbnRlcnZhbCB7
IDEwIH07CitzdGF0aWMgY29uc3QgU2Vjb25kcyBjcHVVc2FnZU1lYXN1cmVtZW50RGVsYXkgeyA1
X3MgfTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHBvc3RMb2FkQ1BVVXNhZ2VNZWFzdXJlbWVudER1
cmF0aW9uIHsgMTBfcyB9Oworc3RhdGljIGNvbnN0IFNlY29uZHMgYmFja2dyb3VuZENQVVVzYWdl
TWVhc3VyZW1lbnREdXJhdGlvbiB7IDVfbWluIH07CitzdGF0aWMgY29uc3QgU2Vjb25kcyBjcHVV
c2FnZVNhbXBsaW5nSW50ZXJ2YWwgeyAxMF9taW4gfTsKIAotc3RhdGljIGNvbnN0IHN0ZDo6Y2hy
b25vOjpzZWNvbmRzIG1lbW9yeVVzYWdlTWVhc3VyZW1lbnREZWxheSB7IDEwIH07CitzdGF0aWMg
Y29uc3QgU2Vjb25kcyBtZW1vcnlVc2FnZU1lYXN1cmVtZW50RGVsYXkgeyAxMF9zIH07CiAKLXN0
YXRpYyBjb25zdCBzdGQ6OmNocm9ubzo6bWludXRlcyBkZWxheUJlZm9yZVByb2Nlc3NNYXlCZWNv
bWVJbmFjdGl2ZSB7IDggfTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIGRlbGF5QmVmb3JlUHJvY2Vz
c01heUJlY29tZUluYWN0aXZlIHsgOF9taW4gfTsKIAogc3RhdGljIGNvbnN0IGRvdWJsZSBwb3N0
UGFnZUxvYWRDUFVVc2FnZURvbWFpblJlcG9ydGluZ1RocmVzaG9sZCB7IDIwLjAgfTsgLy8gUmVw
b3J0aW5nIHBhZ2VzIHVzaW5nIG92ZXIgMjAlIENQVSBpcyByb3VnaGx5IGVxdWl2YWxlbnQgdG8g
cmVwb3J0aW5nIHRoZSAxMCUgd29yc3QgcGFnZXMuCiAjaWYgIVBMQVRGT1JNKElPUykKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3VzcGVuZGFibGVUaW1lci5oIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9TdXNwZW5kYWJsZVRpbWVyLmgKaW5kZXggYjA3OWU1NjM2ZjFiNjU0MjgyZTNj
NTlmYjZjMjI0YTZmYTAxNDM2YS4uNTk1MzdmODlmOTBhY2ExZGQ0ZGVmNThjMjMwNDQ4N2RhZTZk
Mzk1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TdXNwZW5kYWJsZVRpbWVyLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TdXNwZW5kYWJsZVRpbWVyLmgKQEAgLTU1LDE3ICs1
NSw5IEBAIHB1YmxpYzoKICAgICB2b2lkIHN0YXJ0UmVwZWF0aW5nKFNlY29uZHMgcmVwZWF0SW50
ZXJ2YWwpOwogICAgIHZvaWQgc3RhcnRPbmVTaG90KFNlY29uZHMgaW50ZXJ2YWwpOwogCi0gICAg
Ly8gRklYTUU6IFVzZSB0aGUgb3ZlcmxvYWRzIHRha2luZyBTZWNvbmRzIGluc3RlYWQgYW5kIGRy
b3AgdGhlc2UuCi0gICAgdm9pZCBzdGFydFJlcGVhdGluZyhzdGQ6OmNocm9ubzo6bWlsbGlzZWNv
bmRzIHJlcGVhdEludGVydmFsKSB7IHN0YXJ0UmVwZWF0aW5nKG1zVG9TZWNvbmRzKHJlcGVhdElu
dGVydmFsKSk7IH0KLSAgICB2b2lkIHN0YXJ0T25lU2hvdChzdGQ6OmNocm9ubzo6bWlsbGlzZWNv
bmRzIGludGVydmFsKSB7IHN0YXJ0T25lU2hvdChtc1RvU2Vjb25kcyhpbnRlcnZhbCkpOyB9Ci0K
ICAgICB2b2lkIGF1Z21lbnRGaXJlSW50ZXJ2YWwoU2Vjb25kcyBkZWx0YSk7CiAgICAgdm9pZCBh
dWdtZW50UmVwZWF0SW50ZXJ2YWwoU2Vjb25kcyBkZWx0YSk7CiAKLSAgICAvLyBGSVhNRTogVXNl
IHRoZSBvdmVybG9hZHMgdGFraW5nIFNlY29uZHMgaW5zdGVhZCBhbmQgZHJvcCB0aGVzZS4KLSAg
ICB2b2lkIGF1Z21lbnRGaXJlSW50ZXJ2YWwoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBkZWx0
YSkgeyBhdWdtZW50RmlyZUludGVydmFsKG1zVG9TZWNvbmRzKGRlbHRhKSk7IH0KLSAgICB2b2lk
IGF1Z21lbnRSZXBlYXRJbnRlcnZhbChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGRlbHRhKSB7
IGF1Z21lbnRSZXBlYXRJbnRlcnZhbChtc1RvU2Vjb25kcyhkZWx0YSkpOyB9Ci0KICAgICB1c2lu
ZyBUaW1lckJhc2U6OmRpZENoYW5nZUFsaWdubWVudEludGVydmFsOwogICAgIHVzaW5nIFRpbWVy
QmFzZTo6b3BlcmF0b3IgbmV3OwogICAgIHVzaW5nIFRpbWVyQmFzZTo6b3BlcmF0b3IgZGVsZXRl
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvU2VydmljZXNPdmVybGF5Q29u
dHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvU2VydmljZXNPdmVybGF5Q29udHJv
bGxlci5oCmluZGV4IDY1YjFjZWVjNmIxMTI3YjA1OTYzMjFlYzQ4ODI0NTdkZjQxYjA0ZjYuLmEx
MzE5YmIwZTllY2VmMDJlOTgxMWYxZjM2ZDFhZDkyMzg0OTE3M2MgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvbWFjL1NlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLmgKQEAgLTMxLDYg
KzMxLDcgQEAKICNpbmNsdWRlICJQYWdlT3ZlcmxheS5oIgogI2luY2x1ZGUgIlJhbmdlLmgiCiAj
aW5jbHVkZSAiVGltZXIuaCIKKyNpbmNsdWRlIDx3dGYvTW9ub3RvbmljVGltZS5oPgogCiB0eXBl
ZGVmIHN0cnVjdCBfX0RESGlnaGxpZ2h0ICpEREhpZ2hsaWdodFJlZjsKIApAQCAtMTIyLDcgKzEy
Myw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBoYXNSZWxldmFudFNlbGVjdGlvblNlcnZpY2VzKCk7
CiAKICAgICBib29sIG1vdXNlSXNPdmVySGlnaGxpZ2h0KEhpZ2hsaWdodCYsIGJvb2wmIG1vdXNl
SXNPdmVyQnV0dG9uKSBjb25zdDsKLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHJlbWFp
bmluZ1RpbWVVbnRpbEhpZ2hsaWdodFNob3VsZEJlU2hvd24oSGlnaGxpZ2h0KikgY29uc3Q7Cisg
ICAgU2Vjb25kcyByZW1haW5pbmdUaW1lVW50aWxIaWdobGlnaHRTaG91bGRCZVNob3duKEhpZ2hs
aWdodCopIGNvbnN0OwogICAgIHZvaWQgZGV0ZXJtaW5lQWN0aXZlSGlnaGxpZ2h0VGltZXJGaXJl
ZCgpOwogCiAgICAgc3RhdGljIGJvb2wgaGlnaGxpZ2h0c0FyZUVxdWl2YWxlbnQoY29uc3QgSGln
aGxpZ2h0KiBhLCBjb25zdCBIaWdobGlnaHQqIGIpOwpAQCAtMTUxLDkgKzE1Miw5IEBAIHByaXZh
dGU6CiAKICAgICBIaWdobGlnaHQ6OlR5cGUgbV9kaXJ0eUhpZ2hsaWdodFR5cGVzIHsgMCB9Owog
Ci0gICAgc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6dGltZV9wb2ludCBtX2xhc3RTZWxlY3Rp
b25DaGFuZ2VUaW1lOwotICAgIHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6OnRpbWVfcG9pbnQg
bV9uZXh0QWN0aXZlSGlnaGxpZ2h0Q2hhbmdlVGltZTsKLSAgICBzdGQ6OmNocm9ubzo6c3RlYWR5
X2Nsb2NrOjp0aW1lX3BvaW50IG1fbGFzdE1vdXNlVXBUaW1lOworICAgIE1vbm90b25pY1RpbWUg
bV9sYXN0U2VsZWN0aW9uQ2hhbmdlVGltZTsKKyAgICBNb25vdG9uaWNUaW1lIG1fbmV4dEFjdGl2
ZUhpZ2hsaWdodENoYW5nZVRpbWU7CisgICAgTW9ub3RvbmljVGltZSBtX2xhc3RNb3VzZVVwVGlt
ZTsKIAogICAgIFJlZlB0cjxIaWdobGlnaHQ+IG1fY3VycmVudE1vdXNlRG93bk9uQnV0dG9uSGln
aGxpZ2h0OwogICAgIEludFBvaW50IG1fbW91c2VQb3NpdGlvbjsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvbWFjL1NlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIubW0gYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLm1tCmluZGV4IDRiMDNl
MjJhZTQ2YmU4OWFlMjMxMDJmYjQ5ZmY0OTIxZDQwNDY4YmUuLmExOTgzZjRkNDU0YzdjMGVlNzcy
N2UyYjZmZmJlZDJmNGQwZGE0MDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFj
L1NlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9t
YWMvU2VydmljZXNPdmVybGF5Q29udHJvbGxlci5tbQpAQCAtMzY3LDcgKzM2Nyw3IEBAIHZvaWQg
U2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6c2VsZWN0aW9uUmVjdHNEaWRDaGFuZ2UoY29uc3Qg
VmVjdG9yPExheW91dFJlY3Q+CiAgICAgbV9jdXJyZW50U2VsZWN0aW9uUmVjdHMgPSByZWN0czsK
ICAgICBtX2lzVGV4dE9ubHkgPSBpc1RleHRPbmx5OwogCi0gICAgbV9sYXN0U2VsZWN0aW9uQ2hh
bmdlVGltZSA9IHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygpOworICAgIG1fbGFzdFNl
bGVjdGlvbkNoYW5nZVRpbWUgPSBNb25vdG9uaWNUaW1lOjpub3coKTsKIAogICAgIGNvbXBhY3RS
ZWN0c1dpdGhHYXBSZWN0cyhtX2N1cnJlbnRTZWxlY3Rpb25SZWN0cywgZ2FwUmVjdHMpOwogCkBA
IC00MzIsMTUgKzQzMiwxNSBAQCBib29sIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6Om1vdXNl
SXNPdmVySGlnaGxpZ2h0KEhpZ2hsaWdodCYgaGlnaGxpZ2h0LCBib29sJgogICAgIHJldHVybiBo
b3ZlcmVkOwogfQogCi1zdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIFNlcnZpY2VzT3ZlcmxheUNv
bnRyb2xsZXI6OnJlbWFpbmluZ1RpbWVVbnRpbEhpZ2hsaWdodFNob3VsZEJlU2hvd24oSGlnaGxp
Z2h0KiBoaWdobGlnaHQpIGNvbnN0CitTZWNvbmRzIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6
OnJlbWFpbmluZ1RpbWVVbnRpbEhpZ2hsaWdodFNob3VsZEJlU2hvd24oSGlnaGxpZ2h0KiBoaWdo
bGlnaHQpIGNvbnN0CiB7CiAgICAgaWYgKCFoaWdobGlnaHQpCi0gICAgICAgIHJldHVybiAwbXM7
CisgICAgICAgIHJldHVybiAwX3M7CiAKLSAgICBhdXRvIG1pbmltdW1UaW1lVW50aWxIaWdobGln
aHRTaG91bGRCZVNob3duID0gMjAwbXM7CisgICAgU2Vjb25kcyBtaW5pbXVtVGltZVVudGlsSGln
aGxpZ2h0U2hvdWxkQmVTaG93biA9IDIwMF9tczsKICAgICBQYWdlKiBwYWdlID0gbV9tYWluRnJh
bWUucGFnZSgpOwogICAgIGlmIChwYWdlICYmIHBhZ2UtPmZvY3VzQ29udHJvbGxlcigpLmZvY3Vz
ZWRPck1haW5GcmFtZSgpLnNlbGVjdGlvbigpLnNlbGVjdGlvbigpLmlzQ29udGVudEVkaXRhYmxl
KCkpCi0gICAgICAgIG1pbmltdW1UaW1lVW50aWxIaWdobGlnaHRTaG91bGRCZVNob3duID0gMTAw
MG1zOworICAgICAgICBtaW5pbXVtVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVTaG93biA9IDFf
czsKIAogICAgIGJvb2wgbW91c2VQcmVzc2VkID0gbV9tYWluRnJhbWUuZXZlbnRIYW5kbGVyKCku
bW91c2VQcmVzc2VkKCk7CiAKQEAgLTQ0OCwxNSArNDQ4LDE0IEBAIHN0ZDo6Y2hyb25vOjptaWxs
aXNlY29uZHMgU2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6cmVtYWluaW5nVGltZVVudGlsSGln
aGxpZ2h0CiAgICAgLy8gYnkgdmlydHVlIG9mIGJlaW5nIGV4cGFuZGVkIHRvIGluY2x1ZGUgdGhl
IGVudGlyZSB0ZWxlcGhvbmUgbnVtYmVyLiBIb3dldmVyLCB3ZSB3aWxsIHN0aWxsIGF2b2lkIGhp
Z2hsaWdodGluZwogICAgIC8vIHRlbGVwaG9uZSBudW1iZXJzIHdoaWxlIHRoZSBtb3VzZSBpcyBk
b3duLgogICAgIGlmIChoaWdobGlnaHQtPnR5cGUoKSA9PSBIaWdobGlnaHQ6OlRlbGVwaG9uZU51
bWJlclR5cGUpCi0gICAgICAgIHJldHVybiBtb3VzZVByZXNzZWQgPyBtaW5pbXVtVGltZVVudGls
SGlnaGxpZ2h0U2hvdWxkQmVTaG93biA6IDBtczsKKyAgICAgICAgcmV0dXJuIG1vdXNlUHJlc3Nl
ZCA/IG1pbmltdW1UaW1lVW50aWxIaWdobGlnaHRTaG91bGRCZVNob3duIDogMF9zOwogCi0gICAg
YXV0byBub3cgPSBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjpub3coKTsKLSAgICBhdXRvIHRp
bWVTaW5jZUxhc3RTZWxlY3Rpb25DaGFuZ2UgPSBub3cgLSBtX2xhc3RTZWxlY3Rpb25DaGFuZ2VU
aW1lOwotICAgIGF1dG8gdGltZVNpbmNlSGlnaGxpZ2h0QmVjYW1lQWN0aXZlID0gbm93IC0gbV9u
ZXh0QWN0aXZlSGlnaGxpZ2h0Q2hhbmdlVGltZTsKLSAgICBhdXRvIHRpbWVTaW5jZUxhc3RNb3Vz
ZVVwID0gbW91c2VQcmVzc2VkID8gMG1zIDogbm93IC0gbV9sYXN0TW91c2VVcFRpbWU7CisgICAg
TW9ub3RvbmljVGltZSBub3cgPSBNb25vdG9uaWNUaW1lOjpub3coKTsKKyAgICBTZWNvbmRzIHRp
bWVTaW5jZUxhc3RTZWxlY3Rpb25DaGFuZ2UgPSBub3cgLSBtX2xhc3RTZWxlY3Rpb25DaGFuZ2VU
aW1lOworICAgIFNlY29uZHMgdGltZVNpbmNlSGlnaGxpZ2h0QmVjYW1lQWN0aXZlID0gbm93IC0g
bV9uZXh0QWN0aXZlSGlnaGxpZ2h0Q2hhbmdlVGltZTsKKyAgICBTZWNvbmRzIHRpbWVTaW5jZUxh
c3RNb3VzZVVwID0gbW91c2VQcmVzc2VkID8gMF9zIDogbm93IC0gbV9sYXN0TW91c2VVcFRpbWU7
CiAKLSAgICBhdXRvIHJlbWFpbmluZ0RlbGF5ID0gbWluaW11bVRpbWVVbnRpbEhpZ2hsaWdodFNo
b3VsZEJlU2hvd24gLSBzdGQ6Om1pbihzdGQ6Om1pbih0aW1lU2luY2VMYXN0U2VsZWN0aW9uQ2hh
bmdlLCB0aW1lU2luY2VIaWdobGlnaHRCZWNhbWVBY3RpdmUpLCB0aW1lU2luY2VMYXN0TW91c2VV
cCk7Ci0gICAgcmV0dXJuIHN0ZDo6Y2hyb25vOjpkdXJhdGlvbl9jYXN0PHN0ZDo6Y2hyb25vOjpt
aWxsaXNlY29uZHM+KHJlbWFpbmluZ0RlbGF5KTsKKyAgICByZXR1cm4gbWluaW11bVRpbWVVbnRp
bEhpZ2hsaWdodFNob3VsZEJlU2hvd24gLSBzdGQ6Om1pbihzdGQ6Om1pbih0aW1lU2luY2VMYXN0
U2VsZWN0aW9uQ2hhbmdlLCB0aW1lU2luY2VIaWdobGlnaHRCZWNhbWVBY3RpdmUpLCB0aW1lU2lu
Y2VMYXN0TW91c2VVcCk7CiB9CiAKIHZvaWQgU2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6ZGV0
ZXJtaW5lQWN0aXZlSGlnaGxpZ2h0VGltZXJGaXJlZCgpCkBAIC03MTcsNyArNzE2LDcgQEAgdm9p
ZCBTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyOjpkZXRlcm1pbmVBY3RpdmVIaWdobGlnaHQoYm9v
bCYgbW91c2VJc092ZXJBY3RpdmUKICAgICAgICAgLy8gaGlnaGxpZ2h0LCBhbmQgb25seSByZXNl
dCB0aGUgYWN0aXZlIGhpZ2hsaWdodCBoeXN0ZXJlc2lzIHdoZW4gdGhhdCBjaGFuZ2VzLgogICAg
ICAgICBpZiAobV9uZXh0QWN0aXZlSGlnaGxpZ2h0ICE9IG5ld0FjdGl2ZUhpZ2hsaWdodCkgewog
ICAgICAgICAgICAgbV9uZXh0QWN0aXZlSGlnaGxpZ2h0ID0gbmV3QWN0aXZlSGlnaGxpZ2h0Owot
ICAgICAgICAgICAgbV9uZXh0QWN0aXZlSGlnaGxpZ2h0Q2hhbmdlVGltZSA9IHN0ZDo6Y2hyb25v
OjpzdGVhZHlfY2xvY2s6Om5vdygpOworICAgICAgICAgICAgbV9uZXh0QWN0aXZlSGlnaGxpZ2h0
Q2hhbmdlVGltZSA9IE1vbm90b25pY1RpbWU6Om5vdygpOwogICAgICAgICB9CiAKICAgICAgICAg
bV9jdXJyZW50TW91c2VEb3duT25CdXR0b25IaWdobGlnaHQgPSBudWxscHRyOwpAQCAtNzI4LDcg
KzcyNyw3IEBAIHZvaWQgU2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6ZGV0ZXJtaW5lQWN0aXZl
SGlnaGxpZ2h0KGJvb2wmIG1vdXNlSXNPdmVyQWN0aXZlCiAgICAgICAgIH0KIAogICAgICAgICBh
dXRvIHJlbWFpbmluZ1RpbWVVbnRpbEhpZ2hsaWdodFNob3VsZEJlU2hvd24gPSB0aGlzLT5yZW1h
aW5pbmdUaW1lVW50aWxIaWdobGlnaHRTaG91bGRCZVNob3duKG5ld0FjdGl2ZUhpZ2hsaWdodC5n
ZXQoKSk7Ci0gICAgICAgIGlmIChyZW1haW5pbmdUaW1lVW50aWxIaWdobGlnaHRTaG91bGRCZVNo
b3duID4gc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6ZHVyYXRpb246Onplcm8oKSkgeworICAg
ICAgICBpZiAocmVtYWluaW5nVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVTaG93biA+IDBfcykg
ewogICAgICAgICAgICAgbV9kZXRlcm1pbmVBY3RpdmVIaWdobGlnaHRUaW1lci5zdGFydE9uZVNo
b3QocmVtYWluaW5nVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVTaG93bik7CiAgICAgICAgICAg
ICByZXR1cm47CiAgICAgICAgIH0KQEAgLTc2MCw3ICs3NTksNyBAQCBib29sIFNlcnZpY2VzT3Zl
cmxheUNvbnRyb2xsZXI6Om1vdXNlRXZlbnQoUGFnZU92ZXJsYXkmLCBjb25zdCBQbGF0Zm9ybU1v
dXNlRXZlbgogICAgICAgICBSZWZQdHI8SGlnaGxpZ2h0PiBtb3VzZURvd25IaWdobGlnaHQgPSBt
X2N1cnJlbnRNb3VzZURvd25PbkJ1dHRvbkhpZ2hsaWdodDsKICAgICAgICAgbV9jdXJyZW50TW91
c2VEb3duT25CdXR0b25IaWdobGlnaHQgPSBudWxscHRyOwogCi0gICAgICAgIG1fbGFzdE1vdXNl
VXBUaW1lID0gc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6bm93KCk7CisgICAgICAgIG1fbGFz
dE1vdXNlVXBUaW1lID0gTW9ub3RvbmljVGltZTo6bm93KCk7CiAKICAgICAgICAgaWYgKG1vdXNl
SXNPdmVyQWN0aXZlSGlnaGxpZ2h0QnV0dG9uICYmIG1vdXNlRG93bkhpZ2hsaWdodCkgewogICAg
ICAgICAgICAgaGFuZGxlQ2xpY2sobV9tb3VzZVBvc2l0aW9uLCAqbW91c2VEb3duSGlnaGxpZ2h0
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5oCmluZGV4IDk2YzRmMTA5MTlkMTM3YWJmMzMyOGI5MDMw
NWRkYTZkZTUwYWM0YWQuLjBmMzNhMGIxOGQ0ZWQ0ODgwNTQ5YTcwMjJkNjk3NjAzNzExYTIzOWQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuaApAQCAtNDgsMTAgKzQ4LDYgQEAgY2xhc3MgVGltZXJI
ZWFwRWxlbWVudDsKIGNsYXNzIFRpbWVyQmFzZSB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
VGltZXJCYXNlKTsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKLXByb3RlY3RlZDoKLSAg
ICBzdGF0aWMgaW5saW5lIGRvdWJsZSBtc1RvU2Vjb25kcyhzdGQ6OmNocm9ubzo6bWlsbGlzZWNv
bmRzIGR1cmF0aW9uKSB7IHJldHVybiBkdXJhdGlvbi5jb3VudCgpICogMC4wMDE7IH0KLSAgICBz
dGF0aWMgaW5saW5lIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgc2Vjb25kc1RvTVMoZG91Ymxl
IGR1cmF0aW9uKSB7IHJldHVybiBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzKChzdGQ6OmNocm9u
bzo6bWlsbGlzZWNvbmRzOjpyZXApKGR1cmF0aW9uICogMTAwMCkpOyB9Ci0KIHB1YmxpYzoKICAg
ICBXRUJDT1JFX0VYUE9SVCBUaW1lckJhc2UoKTsKICAgICBXRUJDT1JFX0VYUE9SVCB2aXJ0dWFs
IH5UaW1lckJhc2UoKTsKQEAgLTYwLDExICs1Niw5IEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VY
UE9SVCB2b2lkIHN0YXJ0KGRvdWJsZSBuZXh0RmlyZUludGVydmFsLCBkb3VibGUgcmVwZWF0SW50
ZXJ2YWwpOwogCiAgICAgdm9pZCBzdGFydFJlcGVhdGluZyhkb3VibGUgcmVwZWF0SW50ZXJ2YWwp
IHsgc3RhcnQocmVwZWF0SW50ZXJ2YWwsIHJlcGVhdEludGVydmFsKTsgfQotICAgIHZvaWQgc3Rh
cnRSZXBlYXRpbmcoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyByZXBlYXRJbnRlcnZhbCkgeyBz
dGFydFJlcGVhdGluZyhtc1RvU2Vjb25kcyhyZXBlYXRJbnRlcnZhbCkpOyB9CiAgICAgdm9pZCBz
dGFydFJlcGVhdGluZyhTZWNvbmRzIHJlcGVhdEludGVydmFsKSB7IHN0YXJ0UmVwZWF0aW5nKHJl
cGVhdEludGVydmFsLnZhbHVlKCkpOyB9CiAKICAgICB2b2lkIHN0YXJ0T25lU2hvdChkb3VibGUg
aW50ZXJ2YWwpIHsgc3RhcnQoaW50ZXJ2YWwsIDApOyB9Ci0gICAgdm9pZCBzdGFydE9uZVNob3Qo
c3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBpbnRlcnZhbCkgeyBzdGFydE9uZVNob3QobXNUb1Nl
Y29uZHMoaW50ZXJ2YWwpKTsgfQogICAgIHZvaWQgc3RhcnRPbmVTaG90KFNlY29uZHMgaW50ZXJ2
YWwpIHsgc3RhcnQoaW50ZXJ2YWwsIDBfcyk7IH0KIAogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQg
c3RvcCgpOwpAQCAtNzUsMTEgKzY5LDkgQEAgcHVibGljOgogICAgIFNlY29uZHMgcmVwZWF0SW50
ZXJ2YWwoKSBjb25zdCB7IHJldHVybiBtX3JlcGVhdEludGVydmFsOyB9CiAKICAgICB2b2lkIGF1
Z21lbnRGaXJlSW50ZXJ2YWwoU2Vjb25kcyBkZWx0YSkgeyBzZXROZXh0RmlyZVRpbWUobV9uZXh0
RmlyZVRpbWUgKyBkZWx0YSk7IH0KLSAgICB2b2lkIGF1Z21lbnRGaXJlSW50ZXJ2YWwoc3RkOjpj
aHJvbm86Om1pbGxpc2Vjb25kcyBkZWx0YSkgeyBhdWdtZW50RmlyZUludGVydmFsKG1zVG9TZWNv
bmRzKGRlbHRhKSk7IH0KICAgICB2b2lkIGF1Z21lbnRGaXJlSW50ZXJ2YWwoZG91YmxlIGRlbHRh
KSB7IGF1Z21lbnRGaXJlSW50ZXJ2YWwoU2Vjb25kcyB7IGRlbHRhIH0pOyB9CiAKICAgICB2b2lk
IGF1Z21lbnRSZXBlYXRJbnRlcnZhbChTZWNvbmRzIGRlbHRhKSB7IGF1Z21lbnRGaXJlSW50ZXJ2
YWwoZGVsdGEpOyBtX3JlcGVhdEludGVydmFsICs9IGRlbHRhOyB9Ci0gICAgdm9pZCBhdWdtZW50
UmVwZWF0SW50ZXJ2YWwoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBkZWx0YSkgeyBhdWdtZW50
UmVwZWF0SW50ZXJ2YWwobXNUb1NlY29uZHMoZGVsdGEpKTsgfQogICAgIHZvaWQgYXVnbWVudFJl
cGVhdEludGVydmFsKGRvdWJsZSBkZWx0YSkgeyBhdWdtZW50UmVwZWF0SW50ZXJ2YWwoU2Vjb25k
cyB7IGRlbHRhIH0pOyB9CiAKICAgICB2b2lkIGRpZENoYW5nZUFsaWdubWVudEludGVydmFsKCk7
CkBAIC0xNjYsMTIgKzE1OCwxMiBAQCBpbmxpbmUgYm9vbCBUaW1lckJhc2U6OmlzQWN0aXZlKCkg
Y29uc3QKIGNsYXNzIERlZmVycmFibGVPbmVTaG90VGltZXIgOiBwcm90ZWN0ZWQgVGltZXJCYXNl
IHsKIHB1YmxpYzoKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUaW1lckZpcmVkQ2xhc3M+Ci0gICAg
RGVmZXJyYWJsZU9uZVNob3RUaW1lcihUaW1lckZpcmVkQ2xhc3MmIG9iamVjdCwgdm9pZCAoVGlt
ZXJGaXJlZENsYXNzOjoqZnVuY3Rpb24pKCksIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgZGVs
YXkpCisgICAgRGVmZXJyYWJsZU9uZVNob3RUaW1lcihUaW1lckZpcmVkQ2xhc3MmIG9iamVjdCwg
dm9pZCAoVGltZXJGaXJlZENsYXNzOjoqZnVuY3Rpb24pKCksIFNlY29uZHMgZGVsYXkpCiAgICAg
ICAgIDogRGVmZXJyYWJsZU9uZVNob3RUaW1lcihzdGQ6OmJpbmQoZnVuY3Rpb24sICZvYmplY3Qp
LCBkZWxheSkKICAgICB7CiAgICAgfQogCi0gICAgRGVmZXJyYWJsZU9uZVNob3RUaW1lcihzdGQ6
OmZ1bmN0aW9uPHZvaWQgKCk+IGZ1bmN0aW9uLCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGRl
bGF5KQorICAgIERlZmVycmFibGVPbmVTaG90VGltZXIoc3RkOjpmdW5jdGlvbjx2b2lkICgpPiBm
dW5jdGlvbiwgU2Vjb25kcyBkZWxheSkKICAgICAgICAgOiBtX2Z1bmN0aW9uKFdURk1vdmUoZnVu
Y3Rpb24pKQogICAgICAgICAsIG1fZGVsYXkoZGVsYXkpCiAgICAgICAgICwgbV9zaG91bGRSZXN0
YXJ0V2hlblRpbWVyRmlyZXMoZmFsc2UpCkBAIC0yMTMsNyArMjA1LDcgQEAgcHJpdmF0ZToKIAog
ICAgIHN0ZDo6ZnVuY3Rpb248dm9pZCAoKT4gbV9mdW5jdGlvbjsKIAotICAgIHN0ZDo6Y2hyb25v
OjptaWxsaXNlY29uZHMgbV9kZWxheTsKKyAgICBTZWNvbmRzIG1fZGVsYXk7CiAgICAgYm9vbCBt
X3Nob3VsZFJlc3RhcnRXaGVuVGltZXJGaXJlczsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuY3BwCmluZGV4IDcyMTYwNjkyNDIzZWY2Y2VhOTIw
MmMxNzZhNDZkMzI3MmE0NjVmYWEuLjIzMTcyZmQ1NTU4NjA4MzdiNjczYjhiZjBlOThjMGNjMDU2
ZWJmMzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRD
YWNoZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hl
LmNwcApAQCAtMzI5LDcgKzMyOSw3IEBAIGNvbnN0IHVuc2lnbmVkIGNUYXJnZXRVbmRlck1lbW9y
eVByZXNzdXJlSW5hY3RpdmVGb250RGF0YSA9IDMwOwogUmVmUHRyPEZvbnQ+IEZvbnRDYWNoZTo6
Zm9udEZvckZhbWlseShjb25zdCBGb250RGVzY3JpcHRpb24mIGZvbnREZXNjcmlwdGlvbiwgY29u
c3QgQXRvbWljU3RyaW5nJiBmYW1pbHksIGNvbnN0IEZvbnRGZWF0dXJlU2V0dGluZ3MqIGZvbnRG
YWNlRmVhdHVyZXMsIGNvbnN0IEZvbnRWYXJpYW50U2V0dGluZ3MqIGZvbnRGYWNlVmFyaWFudFNl
dHRpbmdzLCBib29sIGNoZWNraW5nQWx0ZXJuYXRlTmFtZSkKIHsKICAgICBpZiAoIW1fcHVyZ2VU
aW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3B1cmdlVGltZXIuc3RhcnRPbmVTaG90KDBtcyk7
CisgICAgICAgIG1fcHVyZ2VUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIAogICAgIEZvbnRQbGF0
Zm9ybURhdGEqIHBsYXRmb3JtRGF0YSA9IGdldENhY2hlZEZvbnRQbGF0Zm9ybURhdGEoZm9udERl
c2NyaXB0aW9uLCBmYW1pbHksIGZvbnRGYWNlRmVhdHVyZXMsIGZvbnRGYWNlVmFyaWFudFNldHRp
bmdzLCBjaGVja2luZ0FsdGVybmF0ZU5hbWUpOwogICAgIGlmICghcGxhdGZvcm1EYXRhKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUNvbnRyb2xs
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUNvbnRyb2xs
ZXIuY3BwCmluZGV4IDAxZWE5YWYyOGNlYzFhYmJhYjZlYmI2NWJlODgwMDA0MGYzMDUyM2EuLjhj
ZjA4NTY1ZjY5YzdhYmViZjEwNDgwZGU4ZDFlOWI4ZWY0MzkzNTAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVDb250cm9sbGVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ29udHJvbGxlci5jcHAKQEAg
LTQ5LDcgKzQ5LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMgY29uc3QgYXV0
byB0aWxlU2l6ZVVwZGF0ZURlbGF5ID0gc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyB7IDUwMCB9
Oworc3RhdGljIGNvbnN0IFNlY29uZHMgdGlsZVNpemVVcGRhdGVEZWxheSB7IDUwMF9tcyB9Owog
CiBTdHJpbmcgVGlsZUNvbnRyb2xsZXI6OnRpbGVHcmlkQ29udGFpbmVyTGF5ZXJOYW1lKCkKIHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0lPU3VyZmFj
ZVBvb2wuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSU9TdXJmYWNl
UG9vbC5jcHAKaW5kZXggOTY1ZmM4MDc5M2E4OGRiOWZlMTg1MWU3ZGJjMDJmMTM4YjY4NjAwOC4u
ODVjMGI0ZGI3ZjU5ZjY3YTk0MzY1ZmQxNmVhNWNkZDBkNzkwZmNlZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSU9TdXJmYWNlUG9vbC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSU9TdXJmYWNlUG9vbC5jcHAKQEAg
LTMzLDcgKzMzLDcgQEAKICNpbmNsdWRlIDxjaHJvbm8+CiAjaW5jbHVkZSA8d3RmL05ldmVyRGVz
dHJveWVkLmg+CiAKLWNvbnN0IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgY29sbGVjdGlvbklu
dGVydmFsID0gNTAwbXM7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBjb2xsZWN0aW9uSW50ZXJ2YWwg
eyA1MDBfbXMgfTsKIGNvbnN0IHN0ZDo6Y2hyb25vOjpzZWNvbmRzIHN1cmZhY2VBZ2VCZWZvcmVN
YXJraW5nUHVyZ2VhYmxlID0gMnM7CiBjb25zdCBzaXplX3QgZGVmYXVsdE1heGltdW1CeXRlc0Nh
Y2hlZCA9IDEwMjQgKiAxMDI0ICogNjQ7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NnL1N1YmltYWdlQ2FjaGVXaXRoVGltZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvU3ViaW1hZ2VDYWNoZVdpdGhUaW1lci5jcHAKaW5k
ZXggNGZhZjc3ZTI1NGUyYWFjNDA4YjRlODM2M2Y0OGUzZWQyMzBmZmQ3Ni4uMzM5MjNlYzQ5MDEx
YWMzNGViZjlkMDc1MWM5NzA4NjE3YzEzOGFhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2cvU3ViaW1hZ2VDYWNoZVdpdGhUaW1lci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvU3ViaW1hZ2VDYWNoZVdpdGhUaW1lci5j
cHAKQEAgLTM0LDcgKzM0LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMgY29u
c3QgYXV0byBzdWJpbWFnZUNhY2hlQ2xlYXJEZWxheSA9IHN0ZDo6Y2hyb25vOjpzZWNvbmRzIHsg
MSB9Oworc3RhdGljIGNvbnN0IFNlY29uZHMgc3ViaW1hZ2VDYWNoZUNsZWFyRGVsYXkgeyAxX3Mg
fTsKIHN0YXRpYyBjb25zdCBpbnQgbWF4U3ViaW1hZ2VDYWNoZVNpemUgPSAzMDA7CiAKIHN0cnVj
dCBTdWJpbWFnZVJlcXVlc3QgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0
dHBSZXF1ZXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5jcHAKaW5k
ZXggOTRmMTBhMmE0NzY1MmQ4NGE0YzU3NDZkZDc1YjkxYzk1NGI0NmIxZi4uODNlZGZjOWFkZjQy
YmQ3MGQ3MmU2ZTY1Yjk5YTIzMTI0MGY0M2E4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
eG1sL1hNTEh0dHBSZXF1ZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJl
cXVlc3QuY3BwCkBAIC0yNDUsOCArMjQ1LDggQEAgRXhjZXB0aW9uT3I8dm9pZD4gWE1MSHR0cFJl
cXVlc3Q6OnNldFRpbWVvdXQodW5zaWduZWQgdGltZW91dCkKICAgICAgICAgcmV0dXJuIHsgfTsK
IAogICAgIC8vIElmIHRpbWVvdXQgaXMgemVybywgd2Ugc2hvdWxkIHVzZSB0aGUgZGVmYXVsdCBu
ZXR3b3JrIHRpbWVvdXQuIEJ1dCB3ZSBkaXNhYmxlZCBpdCBzbyBsZXQncyBtaW1pYyBpdCB3aXRo
IGEgNjAgc2Vjb25kcyB0aW1lb3V0IHZhbHVlLgotICAgIHN0ZDo6Y2hyb25vOjpkdXJhdGlvbjxk
b3VibGU+IGludGVydmFsID0gc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyB7IG1fdGltZW91dE1p
bGxpc2Vjb25kcyA/IG1fdGltZW91dE1pbGxpc2Vjb25kcyA6IDYwMDAwIH0gLSAoc3RkOjpjaHJv
bm86OnN0ZWFkeV9jbG9jazo6bm93KCkgLSBtX3NlbmRpbmdUaW1lKTsKLSAgICBtX3RpbWVvdXRU
aW1lci5zdGFydE9uZVNob3Qoc3RkOjptYXgoMC4wLCBpbnRlcnZhbC5jb3VudCgpKSk7CisgICAg
U2Vjb25kcyBpbnRlcnZhbCA9IFNlY29uZHMgeyBtX3RpbWVvdXRNaWxsaXNlY29uZHMgPyBtX3Rp
bWVvdXRNaWxsaXNlY29uZHMgLyAxMDAwLiA6IDYwLiB9IC0gKE1vbm90b25pY1RpbWU6Om5vdygp
IC0gbV9zZW5kaW5nVGltZSk7CisgICAgbV90aW1lb3V0VGltZXIuc3RhcnRPbmVTaG90KHN0ZDo6
bWF4KGludGVydmFsLCAwX3MpKTsKICAgICByZXR1cm4geyB9OwogfQogCkBAIC03MzcsOCArNzM3
LDggQEAgRXhjZXB0aW9uT3I8dm9pZD4gWE1MSHR0cFJlcXVlc3Q6OmNyZWF0ZVJlcXVlc3QoKQog
ICAgICAgICAgICAgcmVxdWVzdC5zZXRUaW1lb3V0SW50ZXJ2YWwobV90aW1lb3V0TWlsbGlzZWNv
bmRzIC8gMTAwMC4wKTsKICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICByZXF1ZXN0LnNldFRp
bWVvdXRJbnRlcnZhbChzdGQ6Om51bWVyaWNfbGltaXRzPGRvdWJsZT46OmluZmluaXR5KCkpOwot
ICAgICAgICAgICAgbV9zZW5kaW5nVGltZSA9IHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5v
dygpOwotICAgICAgICAgICAgbV90aW1lb3V0VGltZXIuc3RhcnRPbmVTaG90KHN0ZDo6Y2hyb25v
OjptaWxsaXNlY29uZHMgeyBtX3RpbWVvdXRNaWxsaXNlY29uZHMgfSk7CisgICAgICAgICAgICBt
X3NlbmRpbmdUaW1lID0gTW9ub3RvbmljVGltZTo6bm93KCk7CisgICAgICAgICAgICBtX3RpbWVv
dXRUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcyB7IG1fdGltZW91dE1pbGxpc2Vjb25kcyAvIDEw
MDAuIH0pOwogICAgICAgICB9CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94
bWwvWE1MSHR0cFJlcXVlc3QuaCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5o
CmluZGV4IGQ2N2IyNTkyNWRhN2RkNTMzZDY3N2U5NjYyYmFmZWZlODgwMGIzMTkuLmY2ZDk1OTRm
OTE1MTQ2NTBjMWUwNTliOWY4YjdkMGQwNTY4NThiODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3htbC9YTUxIdHRwUmVxdWVzdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRw
UmVxdWVzdC5oCkBAIC0yMzgsNyArMjM4LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIG5ldHdvcmtF
cnJvclRpbWVyRmlyZWQoKTsKIAogICAgIHVuc2lnbmVkIG1fdGltZW91dE1pbGxpc2Vjb25kcyB7
IDAgfTsKLSAgICBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjp0aW1lX3BvaW50IG1fc2VuZGlu
Z1RpbWU7CisgICAgTW9ub3RvbmljVGltZSBtX3NlbmRpbmdUaW1lOwogICAgIFRpbWVyIG1fdGlt
ZW91dFRpbWVyOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9X
ZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCmluZGV4IGQ5
OWYwZWRkZTgxMTM0M2ZjZjE2MjA0NjU1YjdmYTlkNzVmMDg0MmMuLjJjYTRkMWViMTA5NGI0Njg2
YjEwZTVkMDM0MmIxZGJiMTkwNDliYjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dl
YlZpZXcvV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcu
bW0KQEAgLTg1MjMsNyArODUyMyw3IEBAICsgKHZvaWQpX3NldENhY2hlTW9kZWw6KFdlYkNhY2hl
TW9kZWwpY2FjaGVNb2RlbAogICAgIHVuc2lnbmVkIGNhY2hlVG90YWxDYXBhY2l0eSA9IDA7CiAg
ICAgdW5zaWduZWQgY2FjaGVNaW5EZWFkQ2FwYWNpdHkgPSAwOwogICAgIHVuc2lnbmVkIGNhY2hl
TWF4RGVhZENhcGFjaXR5ID0gMDsKLSAgICBhdXRvIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50
ZXJ2YWwgPSBzdGQ6OmNocm9ubzo6c2Vjb25kcyB7IDAgfTsKKyAgICBTZWNvbmRzIGRlYWREZWNv
ZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWw7CiAKICAgICB1bnNpZ25lZCBwYWdlQ2FjaGVTaXplID0g
MDsKIApAQCAtODY1MCw3ICs4NjUwLDcgQEAgKyAodm9pZClfc2V0Q2FjaGVNb2RlbDooV2ViQ2Fj
aGVNb2RlbCljYWNoZU1vZGVsCiAgICAgICAgIC8vIGNhbiBwcm92ZSB0aGF0IHRoZSBvdmVyYWxs
IHN5c3RlbSBnYWluIHdvdWxkIGp1c3RpZnkgdGhlIHJlZ3Jlc3Npb24uCiAgICAgICAgIGNhY2hl
TWF4RGVhZENhcGFjaXR5ID0gc3RkOjptYXg8dW5zaWduZWQ+KDI0LCBjYWNoZU1heERlYWRDYXBh
Y2l0eSk7CiAKLSAgICAgICAgZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCA9IHN0ZDo6
Y2hyb25vOjpzZWNvbmRzIHsgNjAgfTsKKyAgICAgICAgZGVhZERlY29kZWREYXRhRGVsZXRpb25J
bnRlcnZhbCA9IDYwX3M7CiAKICNpZiBQTEFURk9STShJT1MpCiAgICAgICAgIGlmIChtZW1TaXpl
ID49IDEwMjQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJWaWV3LmNwcCBiL1Nv
dXJjZS9XZWJLaXQvd2luL1dlYlZpZXcuY3BwCmluZGV4IDk2YTI3NDYwMTAyYjU5NjdkYmJiZTVl
ZGUyYWMzZDRjODc5N2IzMjkuLjM0N2M1MzYwZjY2Y2FjYWY3YTk2N2FjMDVlZjIyYTg4OGY4MjM3
MDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYlZpZXcuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvd2luL1dlYlZpZXcuY3BwCkBAIC01MjUsNyArNTI1LDcgQEAgdm9pZCBXZWJWaWV3
OjpzZXRDYWNoZU1vZGVsKFdlYkNhY2hlTW9kZWwgY2FjaGVNb2RlbCkKICAgICB1bnNpZ25lZCBj
YWNoZVRvdGFsQ2FwYWNpdHkgPSAwOwogICAgIHVuc2lnbmVkIGNhY2hlTWluRGVhZENhcGFjaXR5
ID0gMDsKICAgICB1bnNpZ25lZCBjYWNoZU1heERlYWRDYXBhY2l0eSA9IDA7Ci0gICAgYXV0byBk
ZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsID0gc3RkOjpjaHJvbm86OnNlY29uZHMgeyAw
IH07CisgICAgU2Vjb25kcyBkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsOwogCiAgICAg
dW5zaWduZWQgcGFnZUNhY2hlU2l6ZSA9IDA7CiAKQEAgLTYzNyw3ICs2MzcsNyBAQCB2b2lkIFdl
YlZpZXc6OnNldENhY2hlTW9kZWwoV2ViQ2FjaGVNb2RlbCBjYWNoZU1vZGVsKQogICAgICAgICAv
LyBjYW4gcHJvdmUgdGhhdCB0aGUgb3ZlcmFsbCBzeXN0ZW0gZ2FpbiB3b3VsZCBqdXN0aWZ5IHRo
ZSByZWdyZXNzaW9uLgogICAgICAgICBjYWNoZU1heERlYWRDYXBhY2l0eSA9IG1heCgyNHUsIGNh
Y2hlTWF4RGVhZENhcGFjaXR5KTsKIAotICAgICAgICBkZWFkRGVjb2RlZERhdGFEZWxldGlvbklu
dGVydmFsID0gc3RkOjpjaHJvbm86OnNlY29uZHMgeyA2MCB9OworICAgICAgICBkZWFkRGVjb2Rl
ZERhdGFEZWxldGlvbkludGVydmFsID0gNjBfczsKIAogICAgICAgICAvLyBNZW1vcnkgY2FjaGUg
Y2FwYWNpdHkgKGluIGJ5dGVzKQogICAgICAgICAvLyAoVGhlc2UgdmFsdWVzIGFyZSBzbWFsbCBi
ZWNhdXNlIFdlYkNvcmUgZG9lcyBtb3N0IGNhY2hpbmcgaXRzZWxmLikKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtMb2FkLmNwcCBiL1NvdXJjZS9XZWJL
aXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtMb2FkLmNwcAppbmRleCBhNDcxYWUzODQ1NDhjMzkw
NTAwYTg5ODhkODM0NDllMzU3ZTA0MDljLi4xYjBhNjM3NzNiZTI2NjZkMmJkNzgyYzdiYTA0ZmFk
MzVjYzdlMWRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrTG9hZC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0xv
YWQuY3BwCkBAIC0zOCw2ICszOCw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9TZXNzaW9uSUQuaD4K
ICNpbmNsdWRlIDxXZWJDb3JlL1NoYXJlZEJ1ZmZlci5oPgogI2luY2x1ZGUgPHd0Zi9NYWluVGhy
ZWFkLmg+CisjaW5jbHVkZSA8d3RmL1NlY29uZHMuaD4KIAogI2lmIFBMQVRGT1JNKENPQ09BKQog
I2luY2x1ZGUgIk5ldHdvcmtEYXRhVGFza0NvY29hLmgiCkBAIC01NCw3ICs1NSw3IEBAIHVzaW5n
IG5hbWVzcGFjZSBXZWJDb3JlOwogI2lmIFVTRShORVRXT1JLX1NFU1NJT04pCiAKIHN0cnVjdCBO
ZXR3b3JrTG9hZDo6VGhyb3R0bGUgewotICAgIFRocm90dGxlKE5ldHdvcmtMb2FkJiBsb2FkLCBz
dGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGRlbGF5LCBSZXNvdXJjZVJlc3BvbnNlJiYgcmVzcG9u
c2UsIFJlc3BvbnNlQ29tcGxldGlvbkhhbmRsZXImJiBoYW5kbGVyKQorICAgIFRocm90dGxlKE5l
dHdvcmtMb2FkJiBsb2FkLCBTZWNvbmRzIGRlbGF5LCBSZXNvdXJjZVJlc3BvbnNlJiYgcmVzcG9u
c2UsIFJlc3BvbnNlQ29tcGxldGlvbkhhbmRsZXImJiBoYW5kbGVyKQogICAgICAgICA6IHRpbWVy
KGxvYWQsICZOZXR3b3JrTG9hZDo6dGhyb3R0bGVEZWxheUNvbXBsZXRlZCkKICAgICAgICAgLCBy
ZXNwb25zZShXVEZNb3ZlKHJlc3BvbnNlKSkKICAgICAgICAgLCByZXNwb25zZUNvbXBsZXRpb25I
YW5kbGVyKFdURk1vdmUoaGFuZGxlcikpCkBAIC0zNzgsNyArMzc5LDcgQEAgdm9pZCBOZXR3b3Jr
TG9hZDo6ZGlkUmVjZWl2ZVJlc3BvbnNlTmV0d29ya1Nlc3Npb24oUmVzb3VyY2VSZXNwb25zZSYm
IHJlc3BvbnNlLAogICAgIH0KIAogICAgIGF1dG8gZGVsYXkgPSBOZXR3b3JrUHJvY2Vzczo6c2lu
Z2xldG9uKCkubG9hZFRocm90dGxlTGF0ZW5jeSgpOwotICAgIGlmIChkZWxheSA+IDBtcykgewor
ICAgIGlmIChkZWxheSA+IDBfcykgewogICAgICAgICBtX3Rocm90dGxlID0gc3RkOjptYWtlX3Vu
aXF1ZTxUaHJvdHRsZT4oKnRoaXMsIGRlbGF5LCBXVEZNb3ZlKHJlc3BvbnNlKSwgV1RGTW92ZShj
b21wbGV0aW9uSGFuZGxlcikpOwogICAgICAgICByZXR1cm47CiAgICAgfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaCBiL1NvdXJjZS9X
ZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKaW5kZXggNTQ4YzJlOGRhYzUz
MTFkMmY2NzNjZWY3OTNkZjM4OTZmMjNhZTQ1Ny4uOGYwNmI2NzkzMjBlZWMwNGE3YmE5NzZjMjQ2
NWMwMWY3NzY3MGEyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mv
TmV0d29ya1Byb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrUHJvY2Vzcy5oCkBAIC0xMjAsNyArMTIwLDcgQEAgcHVibGljOgogICAgIHZvaWQgc2hvdWxk
UGFydGl0aW9uQ29va2llc0ZvclRvcFByaXZhdGVseU93bmVkRG9tYWlucyhjb25zdCBWZWN0b3I8
U3RyaW5nPiYgZG9tYWluc1RvUmVtb3ZlLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgZG9tYWluc1Rv
QWRkKTsKICNlbmRpZgogCi0gICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBsb2FkVGhyb3R0
bGVMYXRlbmN5KCkgY29uc3QgeyByZXR1cm4gbV9sb2FkVGhyb3R0bGVMYXRlbmN5OyB9CisgICAg
U2Vjb25kcyBsb2FkVGhyb3R0bGVMYXRlbmN5KCkgY29uc3QgeyByZXR1cm4gbV9sb2FkVGhyb3R0
bGVMYXRlbmN5OyB9CiAKIHByaXZhdGU6CiAgICAgTmV0d29ya1Byb2Nlc3MoKTsKQEAgLTIxMiw3
ICsyMTIsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9zdXBwcmVzc01lbW9yeVByZXNzdXJlSGFu
ZGxlciB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2Rpc2tDYWNoZUlzRGlzYWJsZWRGb3JUZXN0aW5n
OwogICAgIGJvb2wgbV9jYW5IYW5kbGVIVFRQU1NlcnZlclRydXN0RXZhbHVhdGlvbjsKLSAgICBz
dGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG1fbG9hZFRocm90dGxlTGF0ZW5jeTsKKyAgICBTZWNv
bmRzIG1fbG9hZFRocm90dGxlTGF0ZW5jeTsKIAogICAgIHR5cGVkZWYgSGFzaE1hcDxjb25zdCBj
aGFyKiwgc3RkOjp1bmlxdWVfcHRyPE5ldHdvcmtQcm9jZXNzU3VwcGxlbWVudD4sIFB0ckhhc2g8
Y29uc3QgY2hhcio+PiBOZXR3b3JrUHJvY2Vzc1N1cHBsZW1lbnRNYXA7CiAgICAgTmV0d29ya1By
b2Nlc3NTdXBwbGVtZW50TWFwIG1fc3VwcGxlbWVudHM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFy
YW1ldGVycy5jcHAKaW5kZXggYmZhZWVlZjBhMGNhMDM3ZGU4NjEyNzBkM2M3YTExNWNiNDdlMzkz
NC4uN2Q2ZGYzZDU3MWI5NDk5OWRlNjRiODM2ZDE0NDMzODU3OTdlYTBhYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFt
ZXRlcnMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9j
ZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcApAQCAtMjcsMTUgKzI3LDEyIEBACiAjaW5jbHVkZSAi
TmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaCIKIAogI2luY2x1ZGUgIkFyZ3VtZW50
Q29kZXJzLmgiCisjaW5jbHVkZSAiV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgiCiAKICNpZiBQTEFU
Rk9STShDT0NPQSkKICNpbmNsdWRlICJBcmd1bWVudENvZGVyc0NGLmgiCiAjZW5kaWYKIAotI2lm
IFVTRShTT1VQKQotI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgotI2VuZGlmCi0K
IG5hbWVzcGFjZSBXZWJLaXQgewogCiBOZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6
TmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaCBi
L1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJh
bWV0ZXJzLmgKaW5kZXggZGQ0ZTJlZTExM2RlZGE3ZjE1NTUxYjViNGVmNTRjMWJhNjY4NWFhMy4u
ZDM0Mjk3ODRjNmNkOTAxOWY2MGRjNmEwMmIyOGI4YWFjZjViZmM1OSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRl
cnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzc0Ny
ZWF0aW9uUGFyYW1ldGVycy5oCkBAIC03Myw3ICs3Myw3IEBAIHN0cnVjdCBOZXR3b3JrUHJvY2Vz
c0NyZWF0aW9uUGFyYW1ldGVycyB7CiAjZW5kaWYKICAgICBib29sIHNob3VsZFN1cHByZXNzTWVt
b3J5UHJlc3N1cmVIYW5kbGVyIHsgZmFsc2UgfTsKICAgICBib29sIHNob3VsZFVzZVRlc3RpbmdO
ZXR3b3JrU2Vzc2lvbiB7IGZhbHNlIH07Ci0gICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBs
b2FkVGhyb3R0bGVMYXRlbmN5IHsgMG1zIH07CisgICAgU2Vjb25kcyBsb2FkVGhyb3R0bGVMYXRl
bmN5OwogCiAgICAgVmVjdG9yPFN0cmluZz4gdXJsU2NoZW1lc1JlZ2lzdGVyZWRGb3JDdXN0b21Q
cm90b2NvbHM7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05l
dHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzLmggYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycy5oCmluZGV4IGVlNmY5Y2JiNzFhYjM2
MmQ1NDM3MGE3ZThlZjk0ZTA5N2E4MzRiZGIuLmMxZGE0NTc0OWE0NjVhZTRmZGIzZGEzODUyNGJi
YjI1MDZhM2ZlYjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05l
dHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzLmgKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29y
a1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMuaApAQCAtMzIsNiArMzIsNyBA
QAogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VMb2FkZXJPcHRpb25zLmg+CiAjaW5jbHVkZSA8
V2ViQ29yZS9SZXNvdXJjZVJlcXVlc3QuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Nlc3Npb25JRC5o
PgorI2luY2x1ZGUgPHd0Zi9TZWNvbmRzLmg+CiAKIG5hbWVzcGFjZSBJUEMgewogY2xhc3MgRGVj
b2RlcjsKQEAgLTUwLDcgKzUxLDcgQEAgcHVibGljOgogICAgIFJlc291cmNlTG9hZElkZW50aWZp
ZXIgaWRlbnRpZmllciB7IDAgfTsKICAgICBWZWN0b3I8UmVmUHRyPFNhbmRib3hFeHRlbnNpb24+
PiByZXF1ZXN0Qm9keVNhbmRib3hFeHRlbnNpb25zOyAvLyBDcmVhdGVkIGF1dG9tYXRpY2FsbHkg
Zm9yIHRoZSBzZW5kZXIuCiAgICAgUmVmUHRyPFNhbmRib3hFeHRlbnNpb24+IHJlc291cmNlU2Fu
ZGJveEV4dGVuc2lvbjsgLy8gQ3JlYXRlZCBhdXRvbWF0aWNhbGx5IGZvciB0aGUgc2VuZGVyLgot
ICAgIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgbWF4aW11bUJ1ZmZlcmluZ1RpbWUgeyAwbXMg
fTsKKyAgICBTZWNvbmRzIG1heGltdW1CdWZmZXJpbmdUaW1lOwogICAgIFZlY3RvcjxTdHJpbmc+
IGRlcml2ZWRDYWNoZWREYXRhVHlwZXNUb1JldHJpZXZlOwogfTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKaW5k
ZXggOWNiYjlkODU2ZDc4YjJjYmMwNzI2ZDAwYzZkYzE4MDY1ZGM5NGFmNC4uNWY0ZDgzN2Q0ZTE4
NDUzZWJlYzY4MDQ0ZDkzMzQ3MjdjYmRkYjJhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
TmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC0yMTAsNyAr
MjEwLDcgQEAgdm9pZCBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OnN0YXJ0TmV0d29ya0xvYWQoY29u
c3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0KQogCiAgICAgY29uc3VtZVNhbmRib3hFeHRlbnNp
b25zKCk7CiAKLSAgICBpZiAoaXNTeW5jaHJvbm91cygpIHx8IG1fcGFyYW1ldGVycy5tYXhpbXVt
QnVmZmVyaW5nVGltZSA+IDBtcykKKyAgICBpZiAoaXNTeW5jaHJvbm91cygpIHx8IG1fcGFyYW1l
dGVycy5tYXhpbXVtQnVmZmVyaW5nVGltZSA+IDBfcykKICAgICAgICAgbV9idWZmZXJlZERhdGEg
PSBTaGFyZWRCdWZmZXI6OmNyZWF0ZSgpOwogCiAjaWYgRU5BQkxFKE5FVFdPUktfQ0FDSEUpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2Fj
aGVTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9j
ZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZE1hbmFnZXIuY3BwCmluZGV4IGRi
MzZiYjhlYjJhZDk0ODc3MjUwMjMwZTg0NDRhODUzYTQwZDMwZDkuLmYwMzE4M2Q4YmUxMzFmMmM1
NGQyMzg5NzQyZWJlZGMzZGU4NTQ3YmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdv
cmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZE1hbmFnZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1
bGF0aXZlTG9hZE1hbmFnZXIuY3BwCkBAIC0zOSw2ICszOSw3IEBACiAjaW5jbHVkZSA8d3RmL05l
dmVyRGVzdHJveWVkLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3
dGYvUnVuTG9vcC5oPgorI2luY2x1ZGUgPHd0Zi9TZWNvbmRzLmg+CiAKIG5hbWVzcGFjZSBXZWJL
aXQgewogCkBAIC00Niw3ICs0Nyw3IEBAIG5hbWVzcGFjZSBOZXR3b3JrQ2FjaGUgewogCiB1c2lu
ZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAotc3RhdGljIGNvbnN0IGF1dG8gcHJlbG9hZGVkRW50cnlM
aWZldGltZSA9IDEwczsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHByZWxvYWRlZEVudHJ5TGlmZXRp
bWUgeyAxMF9zIH07CiAKICNpZiAhTE9HX0RJU0FCTEVECiBzdGF0aWMgSGFzaENvdW50ZWRTZXQ8
U3RyaW5nPiYgYWxsU3BlY3VsYXRpdmVMb2FkaW5nRGlhZ25vc3RpY01lc3NhZ2VzKCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVN0
YXRpc3RpY3MuY3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29y
a0NhY2hlU3RhdGlzdGljcy5jcHAKaW5kZXggMGZjOGQxZDNkOGMxMzVhZWNmMTlhODcwYzY2ZjU3
NjI2YTUxYmY5My4uZWNkYWZlYWQ0YTg5M2E5NDFlYzc1ZTNkM2JhZDEzYjczOWI2Mjk1ZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hl
U3RhdGlzdGljcy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUv
TmV0d29ya0NhY2hlU3RhdGlzdGljcy5jcHAKQEAgLTM5LDEyICszOSwxMyBAQAogI2luY2x1ZGUg
PFdlYkNvcmUvU1FMaXRlU3RhdGVtZW50Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9TUUxpdGVUcmFu
c2FjdGlvbi5oPgogI2luY2x1ZGUgPHd0Zi9SdW5Mb29wLmg+CisjaW5jbHVkZSA8d3RmL1NlY29u
ZHMuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CiBuYW1lc3BhY2UgTmV0d29ya0NhY2hlIHsKIAog
c3RhdGljIGNvbnN0IGNoYXIqIFN0YXRpc3RpY3NEYXRhYmFzZU5hbWUgPSAiV2ViS2l0Q2FjaGVT
dGF0aXN0aWNzLmRiIjsKLXN0YXRpYyBjb25zdCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG1p
bmludW1Xcml0ZUludGVydmFsID0gc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcygxMDAwMCk7Citz
dGF0aWMgY29uc3QgU2Vjb25kcyBtaW5pbnVtV3JpdGVJbnRlcnZhbCB7IDEwX3MgfTsKIAogc3Rh
dGljIGJvb2wgZXhlY3V0ZVNRTENvbW1hbmQoV2ViQ29yZTo6U1FMaXRlRGF0YWJhc2UmIGRhdGFi
YXNlLCBjb25zdCBTdHJpbmcmIHNxbCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05l
dHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVN0b3JhZ2UuY3BwIGIvU291cmNlL1dlYktp
dDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3RvcmFnZS5jcHAKaW5kZXggMjZh
NTdhMjI0Mzc5Y2EwYjA4NzAwZGQ4M2ZiZjZmZmMxNGFhMjNlOC4uY2JiNDU3YjIwY2EwZDQ3NzE5
OGQ3N2IzYjE2ZDk2NDA2MjkwM2ZiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29y
a1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3RvcmFnZS5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3RvcmFnZS5jcHAKQEAgLTU3Nyw3
ICs1NzcsNyBAQCB2b2lkIFN0b3JhZ2U6OmRpc3BhdGNoUmVhZE9wZXJhdGlvbihzdGQ6OnVuaXF1
ZV9wdHI8UmVhZE9wZXJhdGlvbj4gcmVhZE9wZXJhdGlvbgogICAgIC8vIEF2b2lkIHJhbmRvbW5l
c3MgZHVyaW5nIHRlc3RpbmcuCiAgICAgaWYgKG1fbW9kZSAhPSBNb2RlOjpUZXN0aW5nKSB7CiAg
ICAgICAgIC8vIEkvTyBwcmVzc3VyZSBtYXkgbWFrZSBkaXNrIG9wZXJhdGlvbnMgc2xvdy4gSWYg
dGhleSBzdGFydCB0YWtpbmcgdmVyeSBsb25nIHRpbWUgd2UgcmF0aGVyIGdvIHRvIG5ldHdvcmsu
Ci0gICAgICAgIGNvbnN0IGF1dG8gcmVhZFRpbWVvdXQgPSAxNTAwbXM7CisgICAgICAgIGNvbnN0
IFNlY29uZHMgcmVhZFRpbWVvdXQgPSAxNTAwX21zOwogICAgICAgICBtX3JlYWRPcGVyYXRpb25U
aW1lb3V0VGltZXIuc3RhcnRPbmVTaG90KHJlYWRUaW1lb3V0KTsKICAgICB9CiAKQEAgLTgwMCw3
ICs4MDAsNyBAQCB2b2lkIFN0b3JhZ2U6OnN0b3JlKGNvbnN0IFJlY29yZCYgcmVjb3JkLCBNYXBw
ZWRCb2R5SGFuZGxlciYmIG1hcHBlZEJvZHlIYW5kbGVyKQogCiAgICAgLy8gRGVsYXkgdGhlIHN0
YXJ0IG9mIHdyaXRlcyBhIGJpdCB0byBhdm9pZCBhZmZlY3RpbmcgZWFybHkgcGFnZSBsb2FkLgog
ICAgIC8vIENvbXBsZXRpbmcgd3JpdGVzIHdpbGwgZGlzcGF0Y2ggbW9yZSB3cml0ZXMgd2l0aG91
dCBkZWxheS4KLSAgICBzdGF0aWMgY29uc3QgYXV0byBpbml0aWFsV3JpdGVEZWxheSA9IDFzOwor
ICAgIHN0YXRpYyBjb25zdCBTZWNvbmRzIGluaXRpYWxXcml0ZURlbGF5ID0gMV9zOwogICAgIG1f
d3JpdGVPcGVyYXRpb25EaXNwYXRjaFRpbWVyLnN0YXJ0T25lU2hvdChpbml0aWFsV3JpdGVEZWxh
eSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9DYWNoZU1vZGVsLmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9DYWNoZU1vZGVsLmNwcAppbmRleCA0MDNmMzRkZmNk
NGI3YWRjNDliYTA0NjJiOWZkZWZhNmRlZjNmZDQ1Li44YTEzYzZjMmJhODA3NmQ5OTlmOTMxYjdk
ZjljYWJhZmQ3NzE5ZGViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2FjaGVN
b2RlbC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0NhY2hlTW9kZWwuY3BwCkBAIC0y
OCwxMSArMjgsMTIgQEAKIAogI2luY2x1ZGUgPGFsZ29yaXRobT4KICNpbmNsdWRlIDx3dGYvUkFN
U2l6ZS5oPgorI2luY2x1ZGUgPHd0Zi9TZWNvbmRzLmg+CiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4
dHJhcy5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotdm9pZCBjYWxjdWxhdGVNZW1vcnlDYWNo
ZVNpemVzKENhY2hlTW9kZWwgY2FjaGVNb2RlbCwgdW5zaWduZWQmIGNhY2hlVG90YWxDYXBhY2l0
eSwgdW5zaWduZWQmIGNhY2hlTWluRGVhZENhcGFjaXR5LCB1bnNpZ25lZCYgY2FjaGVNYXhEZWFk
Q2FwYWNpdHksIHN0ZDo6Y2hyb25vOjpzZWNvbmRzJiBkZWFkRGVjb2RlZERhdGFEZWxldGlvbklu
dGVydmFsLCB1bnNpZ25lZCYgcGFnZUNhY2hlQ2FwYWNpdHkpCit2b2lkIGNhbGN1bGF0ZU1lbW9y
eUNhY2hlU2l6ZXMoQ2FjaGVNb2RlbCBjYWNoZU1vZGVsLCB1bnNpZ25lZCYgY2FjaGVUb3RhbENh
cGFjaXR5LCB1bnNpZ25lZCYgY2FjaGVNaW5EZWFkQ2FwYWNpdHksIHVuc2lnbmVkJiBjYWNoZU1h
eERlYWRDYXBhY2l0eSwgU2Vjb25kcyYgZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCwg
dW5zaWduZWQmIHBhZ2VDYWNoZUNhcGFjaXR5KQogewogICAgIHVpbnQ2NF90IG1lbW9yeVNpemUg
PSByYW1TaXplKCkgLyBNQjsKIApAQCAtMTA5LDcgKzExMCw3IEBAIHZvaWQgY2FsY3VsYXRlTWVt
b3J5Q2FjaGVTaXplcyhDYWNoZU1vZGVsIGNhY2hlTW9kZWwsIHVuc2lnbmVkJiBjYWNoZVRvdGFs
Q2FwYWNpCiAgICAgICAgIC8vIGNhbiBwcm92ZSB0aGF0IHRoZSBvdmVyYWxsIHN5c3RlbSBnYWlu
IHdvdWxkIGp1c3RpZnkgdGhlIHJlZ3Jlc3Npb24uCiAgICAgICAgIGNhY2hlTWF4RGVhZENhcGFj
aXR5ID0gc3RkOjptYXgoMjR1LCBjYWNoZU1heERlYWRDYXBhY2l0eSk7CiAKLSAgICAgICAgZGVh
ZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCA9IHN0ZDo6Y2hyb25vOjpzZWNvbmRzIHsgNjAg
fTsKKyAgICAgICAgZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCA9IDYwX3M7CiAKICAg
ICAgICAgYnJlYWs7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0Nh
Y2hlTW9kZWwuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9DYWNoZU1vZGVsLmgKaW5kZXggY2Y0
NzM0NTRmZTJhYzMzZDNjYTQzYTcyZmE1OTNlNGM0ZTUxZDNkNS4uMmY1N2E2ZjUxZmI4NGRhZjM0
MTgxYTllMGY3NDVlMjZkMzc3MWVkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVk
L0NhY2hlTW9kZWwuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2FjaGVNb2RlbC5oCkBA
IC0yMywxMSArMjMsMTAgQEAKICAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAq
LwogCi0jaWZuZGVmIENhY2hlTW9kZWxfaAotI2RlZmluZSBDYWNoZU1vZGVsX2gKKyNwcmFnbWEg
b25jZQogCi0jaW5jbHVkZSA8Y2hyb25vPgogI2luY2x1ZGUgPHN0ZGludC5oPgorI2luY2x1ZGUg
PHd0Zi9TZWNvbmRzLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCkBAIC0zNyw5ICszNiw3IEBA
IGVudW0gQ2FjaGVNb2RlbCB7CiAgICAgQ2FjaGVNb2RlbFByaW1hcnlXZWJCcm93c2VyCiB9Owog
Ci12b2lkIGNhbGN1bGF0ZU1lbW9yeUNhY2hlU2l6ZXMoQ2FjaGVNb2RlbCwgdW5zaWduZWQmIGNh
Y2hlVG90YWxDYXBhY2l0eSwgdW5zaWduZWQmIGNhY2hlTWluRGVhZENhcGFjaXR5LCB1bnNpZ25l
ZCYgY2FjaGVNYXhEZWFkQ2FwYWNpdHksIHN0ZDo6Y2hyb25vOjpzZWNvbmRzJiBkZWFkRGVjb2Rl
ZERhdGFEZWxldGlvbkludGVydmFsLCB1bnNpZ25lZCYgcGFnZUNhY2hlQ2FwYWNpdHkpOwordm9p
ZCBjYWxjdWxhdGVNZW1vcnlDYWNoZVNpemVzKENhY2hlTW9kZWwsIHVuc2lnbmVkJiBjYWNoZVRv
dGFsQ2FwYWNpdHksIHVuc2lnbmVkJiBjYWNoZU1pbkRlYWRDYXBhY2l0eSwgdW5zaWduZWQmIGNh
Y2hlTWF4RGVhZENhcGFjaXR5LCBTZWNvbmRzJiBkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVy
dmFsLCB1bnNpZ25lZCYgcGFnZUNhY2hlQ2FwYWNpdHkpOwogdm9pZCBjYWxjdWxhdGVVUkxDYWNo
ZVNpemVzKENhY2hlTW9kZWwsIHVpbnQ2NF90IGRpc2tGcmVlU2l6ZSwgdW5zaWduZWQmIHVybENh
Y2hlTWVtb3J5Q2FwYWNpdHksIHVpbnQ2NF90JiB1cmxDYWNoZURpc2tDYXBhY2l0eSk7CiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYktpdAotCi0jZW5kaWYgLy8gQ2FjaGVNb2RlbF9oCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVj
dGlvbi5tbSBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3Rv
cmVDb2xsZWN0aW9uLm1tCmluZGV4IDI2ODM2ZTdiZjM4NjQ3ZTQ4MDBhNjRiMGM3NWNlNmZmYjBj
YTE0YmUuLjBmNGRlYTI4NGU2MTdiZWViMDQ1YWE2NmMzM2Q3NzY3YWQ0ZGM1NmQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xs
ZWN0aW9uLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNr
aW5nU3RvcmVDb2xsZWN0aW9uLm1tCkBAIC0zMiw3ICszMiw3IEBACiAKIGNvbnN0IHN0ZDo6Y2hy
b25vOjpzZWNvbmRzIHZvbGF0aWxlQmFja2luZ1N0b3JlQWdlVGhyZXNob2xkID0gMXM7CiBjb25z
dCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHZvbGF0aWxlU2Vjb25kYXJ5QmFja2luZ1N0b3Jl
QWdlVGhyZXNob2xkID0gMjAwbXM7Ci1jb25zdCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHZv
bGF0aWxpdHlUaW1lckludGVydmFsID0gMjAwbXM7Citjb25zdCBTZWNvbmRzIHZvbGF0aWxpdHlU
aW1lckludGVydmFsID0gMjAwX21zOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0g
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQpp
bmRleCBmNDczYjVkODEyMThlYmYyZjAyYTlhZmZmYmFhNWUxNDk5OWI4YWY2Li5kNDFjZWQwYTdk
YzJhM2JlYTZiOWE3NWM3ZWMyNzJjNjlhNzVlNTM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQpAQCAtMjkyLDcgKzI5
Miw3IEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnBsYXRmb3JtSW5pdGlhbGl6ZU5ldHdvcmtQcm9j
ZXNzKE5ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhCiAjZW5kaWYKIAogICAgIHBhcmFtZXRlcnMu
c2hvdWxkU3VwcHJlc3NNZW1vcnlQcmVzc3VyZUhhbmRsZXIgPSBbZGVmYXVsdHMgYm9vbEZvcktl
eTpXZWJLaXRTdXBwcmVzc01lbW9yeVByZXNzdXJlSGFuZGxlckRlZmF1bHRzS2V5XTsKLSAgICBw
YXJhbWV0ZXJzLmxvYWRUaHJvdHRsZUxhdGVuY3kgPSBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRz
KFtkZWZhdWx0cyBpbnRlZ2VyRm9yS2V5OldlYktpdE5ldHdvcmtMb2FkVGhyb3R0bGVMYXRlbmN5
TWlsbGlzZWNvbmRzRGVmYXVsdHNLZXldKTsKKyAgICBwYXJhbWV0ZXJzLmxvYWRUaHJvdHRsZUxh
dGVuY3kgPSBTZWNvbmRzIHsgW2RlZmF1bHRzIGludGVnZXJGb3JLZXk6V2ViS2l0TmV0d29ya0xv
YWRUaHJvdHRsZUxhdGVuY3lNaWxsaXNlY29uZHNEZWZhdWx0c0tleV0gLyAxMDAwLiB9OwogCiAj
aWYgUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEw
MTEwMAogICAgIFJldGFpblB0cjxDRkRhdGFSZWY+IGNvb2tpZVN0b3JhZ2VEYXRhID0gYWRvcHRD
RihDRkhUVFBDb29raWVTdG9yYWdlQ3JlYXRlSWRlbnRpZnlpbmdEYXRhKGtDRkFsbG9jYXRvckRl
ZmF1bHQsIFtbTlNIVFRQQ29va2llU3RvcmFnZSBzaGFyZWRIVFRQQ29va2llU3RvcmFnZV0gX2Nv
b2tpZVN0b3JhZ2VdKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05l
dHdvcmsvV2ViTG9hZGVyU3RyYXRlZ3kuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9O
ZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5LmNwcAppbmRleCA1MDVhOTVhOTg4ZTY3MDkzNjg5NjE3
ZDAyNzQ0OTIxZmM2Y2IxMzg0Li41MjQ2MTlmMTMzMzVlZjhhNmY3Y2Q0MDE5YmMzMmZiMDhhYWIz
ODlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViTG9h
ZGVyU3RyYXRlZ3kuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9X
ZWJMb2FkZXJTdHJhdGVneS5jcHAKQEAgLTk5LDEwICs5OSwxMCBAQCBSZWZQdHI8TmV0c2NhcGVQ
bHVnSW5TdHJlYW1Mb2FkZXI+IFdlYkxvYWRlclN0cmF0ZWd5OjpzY2hlZHVsZVBsdWdpblN0cmVh
bUxvYWQoRgogICAgIHJldHVybiBsb2FkZXI7CiB9CiAKLXN0YXRpYyBzdGQ6OmNocm9ubzo6bWls
bGlzZWNvbmRzIG1heGltdW1CdWZmZXJpbmdUaW1lKENhY2hlZFJlc291cmNlKiByZXNvdXJjZSkK
K3N0YXRpYyBTZWNvbmRzIG1heGltdW1CdWZmZXJpbmdUaW1lKENhY2hlZFJlc291cmNlKiByZXNv
dXJjZSkKIHsKICAgICBpZiAoIXJlc291cmNlKQotICAgICAgICByZXR1cm4gMG1zOworICAgICAg
ICByZXR1cm4gMF9zOwogCiAgICAgc3dpdGNoIChyZXNvdXJjZS0+dHlwZSgpKSB7CiAgICAgY2Fz
ZSBDYWNoZWRSZXNvdXJjZTo6Q1NTU3R5bGVTaGVldDoKQEAgLTExMSw5ICsxMTEsOSBAQCBzdGF0
aWMgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBtYXhpbXVtQnVmZmVyaW5nVGltZShDYWNoZWRS
ZXNvdXJjZSogcmVzb3VyY2UpCiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6U1ZHRm9udFJlc291
cmNlOgogI2VuZGlmCiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6Rm9udFJlc291cmNlOgotICAg
ICAgICByZXR1cm4gc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kczo6bWF4KCk7CisgICAgICAgIHJl
dHVybiBTZWNvbmRzOjppbmZpbml0eSgpOwogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OkltYWdl
UmVzb3VyY2U6Ci0gICAgICAgIHJldHVybiA1MDBtczsKKyAgICAgICAgcmV0dXJuIDUwMF9tczsK
ICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpNZWRpYVJlc291cmNlOgogICAgIGNhc2UgQ2FjaGVk
UmVzb3VyY2U6Ok1haW5SZXNvdXJjZToKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpSYXdSZXNv
dXJjZToKQEAgLTEyOCwxMSArMTI4LDExIEBAIHN0YXRpYyBzdGQ6OmNocm9ubzo6bWlsbGlzZWNv
bmRzIG1heGltdW1CdWZmZXJpbmdUaW1lKENhY2hlZFJlc291cmNlKiByZXNvdXJjZSkKICNpZiBF
TkFCTEUoWFNMVCkKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpYU0xTdHlsZVNoZWV0OgogI2Vu
ZGlmCi0gICAgICAgIHJldHVybiAwbXM7CisgICAgICAgIHJldHVybiAwX3M7CiAgICAgfQogCiAg
ICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgcmV0dXJuIDBtczsKKyAgICByZXR1cm4gMF9z
OwogfQogCiB2b2lkIFdlYkxvYWRlclN0cmF0ZWd5OjpzY2hlZHVsZUxvYWQoUmVzb3VyY2VMb2Fk
ZXImIHJlc291cmNlTG9hZGVyLCBDYWNoZWRSZXNvdXJjZSogcmVzb3VyY2UsIGJvb2wgc2hvdWxk
Q2xlYXJSZWZlcnJlck9uSFRUUFNUb0hUVFBSZWRpcmVjdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3LmNwcAppbmRleCA0OGUyMDE4OGNiZGQzZGE2
NmE5MTIyNTgyNzJlYzdlMWQ2NzNjMmFjLi42Y2IwM2QwZDQ2M2NkMTkxODBjMDI2ODg3OTExYjJh
YmMyNTAwNjJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMv
UGx1Z2luVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1Bs
dWdpblZpZXcuY3BwCkBAIC04Miw3ICs4Miw3IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwog
bmFtZXNwYWNlIFdlYktpdCB7CiAKIC8vIFRoaXMgc2ltdWxhdGVkIG1vdXNlIGNsaWNrIGRlbGF5
IGluIEhUTUxQbHVnSW5JbWFnZUVsZW1lbnQuY3BwIHNob3VsZCBnZW5lcmFsbHkgYmUgdGhlIHNh
bWUgb3Igc2hvcnRlciB0aGFuIHRoaXMgZGVsYXkuCi1zdGF0aWMgY29uc3QgYXV0byBwbHVnaW5T
bmFwc2hvdFRpbWVyRGVsYXkgPSBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHsgMTEwMCB9Owor
c3RhdGljIGNvbnN0IFNlY29uZHMgcGx1Z2luU25hcHNob3RUaW1lckRlbGF5IHsgMTEwMF9tcyB9
OwogCiBjbGFzcyBQbHVnaW5WaWV3OjpVUkxSZXF1ZXN0IDogcHVibGljIFJlZkNvdW50ZWQ8VVJM
UmVxdWVzdD4gewogcHVibGljOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYS5tbSBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWEubW0K
aW5kZXggNGNiYzBlMzU1ZmQ3ZjI4MGUzMThhNDM2OWM5OWRmYTQzMDNhMDhlMy4uNWM1ZWRhMzFj
NjQ4Zjc2YTI5YTAxMTk2ODJkY2UxMWZmOGJmMGE3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYS5tbQor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1JlbW90ZUxheWVyVHJl
ZURyYXdpbmdBcmVhLm1tCkBAIC0yODUsNyArMjg1LDcgQEAgVGlsZWRCYWNraW5nKiBSZW1vdGVM
YXllclRyZWVEcmF3aW5nQXJlYTo6bWFpbkZyYW1lVGlsZWRCYWNraW5nKCkgY29uc3QKIAogdm9p
ZCBSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYTo6c2NoZWR1bGVDb21wb3NpdGluZ0xheWVyRmx1
c2hJbW1lZGlhdGVseSgpCiB7Ci0gICAgbV9sYXllckZsdXNoVGltZXIuc3RhcnRPbmVTaG90KDBt
cyk7CisgICAgbV9sYXllckZsdXNoVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQg
UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWE6OnNjaGVkdWxlQ29tcG9zaXRpbmdMYXllckZsdXNo
KCkKQEAgLTMwNCw5ICszMDQsOSBAQCB2b2lkIFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhOjpz
Y2hlZHVsZUNvbXBvc2l0aW5nTGF5ZXJGbHVzaCgpCiAgICAgaWYgKG1fbGF5ZXJGbHVzaFRpbWVy
LmlzQWN0aXZlKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIGNvbnN0IGF1dG8gaW5pdGlhbEZs
dXNoRGVsYXkgPSA1MDBtczsKLSAgICBjb25zdCBhdXRvIGZsdXNoRGVsYXkgPSAxNTAwbXM7Ci0g
ICAgYXV0byB0aHJvdHRsZURlbGF5ID0gbV9pc1Rocm90dGxpbmdMYXllckZsdXNoZXMgPyAobV9p
c0luaXRpYWxUaHJvdHRsZWRMYXllckZsdXNoID8gaW5pdGlhbEZsdXNoRGVsYXkgOiBmbHVzaERl
bGF5KSA6IDBtczsKKyAgICBjb25zdCBTZWNvbmRzIGluaXRpYWxGbHVzaERlbGF5ID0gNTAwX21z
OworICAgIGNvbnN0IFNlY29uZHMgZmx1c2hEZWxheSA9IDE1MDBfbXM7CisgICAgU2Vjb25kcyB0
aHJvdHRsZURlbGF5ID0gbV9pc1Rocm90dGxpbmdMYXllckZsdXNoZXMgPyAobV9pc0luaXRpYWxU
aHJvdHRsZWRMYXllckZsdXNoID8gaW5pdGlhbEZsdXNoRGVsYXkgOiBmbHVzaERlbGF5KSA6IDBf
czsKICAgICBtX2lzSW5pdGlhbFRocm90dGxlZExheWVyRmx1c2ggPSBmYWxzZTsKIAogICAgIG1f
bGF5ZXJGbHVzaFRpbWVyLnN0YXJ0T25lU2hvdCh0aHJvdHRsZURlbGF5KTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCmluZGV4IDFkNTAyMTVhMjAzMTE0YjRmMjNkNWQ1
OGYyZDI1M2ZmNzkwNTZkNWUuLmYxM2JjYTBkYzczM2QwOWUwMTQzYTk5MGE0ZDQ3YWY0YWI0ZTg5
NDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcApAQCAtMjAwLDcg
KzIwMCw3IEBAIFdlYlByb2Nlc3M6OldlYlByb2Nlc3MoKQogICAgIG1fcmVzb3VyY2VMb2FkU3Rh
dGlzdGljc1N0b3JlLT5zZXROb3RpZmljYXRpb25DYWxsYmFjayhbdGhpc10gewogICAgICAgICBp
ZiAobV9zdGF0aXN0aWNzQ2hhbmdlZFRpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAgICAgICByZXR1
cm47Ci0gICAgICAgIG1fc3RhdGlzdGljc0NoYW5nZWRUaW1lci5zdGFydE9uZVNob3Qoc3RkOjpj
aHJvbm86OnNlY29uZHMoNSkpOworICAgICAgICBtX3N0YXRpc3RpY3NDaGFuZ2VkVGltZXIuc3Rh
cnRPbmVTaG90KDVfcyk7CiAgICAgfSk7CiB9CiAKQEAgLTU0MCw3ICs1NDAsNyBAQCB2b2lkIFdl
YlByb2Nlc3M6OnNldENhY2hlTW9kZWwodWludDMyX3QgY20pCiAgICAgdW5zaWduZWQgY2FjaGVU
b3RhbENhcGFjaXR5ID0gMDsKICAgICB1bnNpZ25lZCBjYWNoZU1pbkRlYWRDYXBhY2l0eSA9IDA7
CiAgICAgdW5zaWduZWQgY2FjaGVNYXhEZWFkQ2FwYWNpdHkgPSAwOwotICAgIGF1dG8gZGVhZERl
Y29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCA9IHN0ZDo6Y2hyb25vOjpzZWNvbmRzIHsgMCB9Owor
ICAgIFNlY29uZHMgZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbDsKICAgICB1bnNpZ25l
ZCBwYWdlQ2FjaGVTaXplID0gMDsKICAgICBjYWxjdWxhdGVNZW1vcnlDYWNoZVNpemVzKGNhY2hl
TW9kZWwsIGNhY2hlVG90YWxDYXBhY2l0eSwgY2FjaGVNaW5EZWFkQ2FwYWNpdHksIGNhY2hlTWF4
RGVhZENhcGFjaXR5LCBkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsLCBwYWdlQ2FjaGVT
aXplKTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>306582</attachid>
            <date>2017-04-08 14:30:54 -0700</date>
            <delta_ts>2017-04-08 16:19:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-170645-20170408143053.patch</filename>
            <type>text/plain</type>
            <size>48756</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE1MTQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2ZkNWUyYWQyZmQzODE0
ZjRjYzU3Y2ExNTY1NWE1NDc5MDNkMDUxMS4uNDBjYmFiY2FkNjVjYzI2M2VhM2U3NjU1ZGY3YzJm
NjQ3MzU1MWQ0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ3IEBACisyMDE3LTA0LTA4ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgRHJvcCBzdGQ6OmNocm9ubyBz
dXBwb3J0IGZyb20gVGltZXIgY2xhc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE3MDY0NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIERyb3Agc3RkOjpjaHJvbm8gc3VwcG9ydCBmcm9tIFRpbWVyIGNsYXNz
IG5vdyB0aGF0IHdlIHByZWZlciB1c2luZyBTZWNvbmRzIHR5cGUuCisKKyAgICAgICAgKiBjc3Mv
Q1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZS5jcHA6CisgICAgICAgICogaHRtbC9IVE1MUGx1Z0luSW1h
Z2VFbGVtZW50LmNwcDoKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRl
eHRCYXNlLmNwcDoKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6ZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbEZvclJlc291
cmNlVHlwZSk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZTo6ZGVzdHJveURlY29k
ZWREYXRhSWZOZWVkZWQpOgorICAgICAgICAqIGxvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpNZW1vcnlDYWNoZTo6TWVtb3J5Q2FjaGUpOgorICAgICAgICAq
IGxvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5oOgorICAgICAgICAoV2ViQ29yZTo6TWVtb3J5Q2Fj
aGU6OnNldERlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwpOgorICAgICAgICAoV2ViQ29y
ZTo6TWVtb3J5Q2FjaGU6OmRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwpOgorICAgICAg
ICAqIHBhZ2UvUGVyZm9ybWFuY2VNb25pdG9yLmNwcDoKKyAgICAgICAgKiBwYWdlL1N1c3BlbmRh
YmxlVGltZXIuaDoKKyAgICAgICAgKiBwYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVy
Lmg6CisgICAgICAgICogcGFnZS9tYWMvU2VydmljZXNPdmVybGF5Q29udHJvbGxlci5tbToKKyAg
ICAgICAgKFdlYkNvcmU6OlNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6OnNlbGVjdGlvblJlY3Rz
RGlkQ2hhbmdlKToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6
OnJlbWFpbmluZ1RpbWVVbnRpbEhpZ2hsaWdodFNob3VsZEJlU2hvd24pOgorICAgICAgICAoV2Vi
Q29yZTo6U2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6ZGV0ZXJtaW5lQWN0aXZlSGlnaGxpZ2h0
KToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6Om1vdXNlRXZl
bnQpOgorICAgICAgICAqIHBsYXRmb3JtL1RpbWVyLmg6CisgICAgICAgIChXZWJDb3JlOjpUaW1l
ckJhc2U6OnN0YXJ0UmVwZWF0aW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6c3Rh
cnRPbmVTaG90KToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6YXVnbWVudEZpcmVJbnRl
cnZhbCk6CisgICAgICAgIChXZWJDb3JlOjpUaW1lckJhc2U6OmF1Z21lbnRSZXBlYXRJbnRlcnZh
bCk6CisgICAgICAgIChXZWJDb3JlOjpEZWZlcnJhYmxlT25lU2hvdFRpbWVyOjpEZWZlcnJhYmxl
T25lU2hvdFRpbWVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Rm9udENhY2hlOjpmb250Rm9yRmFtaWx5KToKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ29udHJvbGxlci5jcHA6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvY2cvSU9TdXJmYWNlUG9vbC5jcHA6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvY2cvU3ViaW1hZ2VDYWNoZVdpdGhUaW1lci5jcHA6CisgICAgICAgICogeG1sL1hN
TEh0dHBSZXF1ZXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlhNTEh0dHBSZXF1ZXN0OjpzZXRU
aW1lb3V0KToKKyAgICAgICAgKFdlYkNvcmU6OlhNTEh0dHBSZXF1ZXN0OjpjcmVhdGVSZXF1ZXN0
KToKKyAgICAgICAgKiB4bWwvWE1MSHR0cFJlcXVlc3QuaDoKKwogMjAxNy0wNC0wOCAgRXJpYyBD
YXJsc29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBbTWVkaWFTdHJlYW0g
aU9TXSBVcGRhdGUgbXV0ZWQgc3RhdGUgd2hlbiBpbnRlcnJ1cHRlZApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmlu
ZGV4IDg3MDA5ZWEwZTIxODExZjliZDFlZjJmOWUxN2JiMGFmOGU0ZTUwODcuLjM1MTdhNDI3ZTQz
M2E2NDgwMzBhMThjMGY3ZmYyOTAwOTc4YjhmNTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
bWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNSBAQAorMjAxNy0wNC0wOCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisg
ICAgICAgIERyb3Agc3RkOjpjaHJvbm8gc3VwcG9ydCBmcm9tIFRpbWVyIGNsYXNzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzA2NDUKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEcm9wIHN0ZDo6Y2hyb25v
IHN1cHBvcnQgZnJvbSBUaW1lciBjbGFzcyBub3cgdGhhdCB3ZSBwcmVmZXIgdXNpbmcgU2Vjb25k
cyB0eXBlLgorCisgICAgICAgICogV2ViVmlldy9XZWJWaWV3Lm1tOgorICAgICAgICAoK1tXZWJW
aWV3IF9zZXRDYWNoZU1vZGVsOl0pOgorCiAyMDE3LTA0LTA4ICBZb3Vlbm4gRmFibGV0ICA8eW91
ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWJSVEMgdGVzdHMgZ2FyZGVuaW5nCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFu
Z2VMb2cKaW5kZXggNTEwYzI4MDU4MDA5OThjYTUxNWUyNGVlYjk2ZTYzZjMwOGNlNDFlMi4uNDQ4
M2Q1YWU4MTc4NTlhNjgxMmJlMTY5NWVmNjNkMzU1MDJlZGQzOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC93aW4vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE1IEBACisyMDE3LTA0LTA4ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5j
b20+CisKKyAgICAgICAgRHJvcCBzdGQ6OmNocm9ubyBzdXBwb3J0IGZyb20gVGltZXIgY2xhc3MK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MDY0NQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERyb3Agc3Rk
OjpjaHJvbm8gc3VwcG9ydCBmcm9tIFRpbWVyIGNsYXNzIG5vdyB0aGF0IHdlIHByZWZlciB1c2lu
ZyBTZWNvbmRzIHR5cGUuCisKKyAgICAgICAgKiBXZWJWaWV3LmNwcDoKKyAgICAgICAgKFdlYlZp
ZXc6OnNldENhY2hlTW9kZWwpOgorCiAyMDE3LTAzLTMxICBGdWppaSBIaXJvbm9yaSAgPEhpcm9u
b3JpLkZ1amlpQHNvbnkuY29tPgogCiAgICAgICAgIFtXaW5DYWlyb10gV2ViQ29yZTo6UGxhdGZv
cm1EaXNwbGF5Ojp0ZXJtaW5hdGVFR0xEaXNwbGF5IGNhdXNlcyBhIGNyYXNoIGluIGxpYkdMRVN2
Mi5kbGwgd2hpbGUgcHJvY2Vzc2luZyBhdGV4aXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBkMDhhZWE3OTU0N2E2
ZTMyYjBiNGEyNDA3Y2FhYjM5OTgxODRhMWY5Li45YWViNjg4ZTE3NDQ1MjA2OWM0MzA4YzNkNTcx
YmRjYWVmYmQ0ZTE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsNDUgQEAKIDIwMTctMDQtMDggIENo
cmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAorICAgICAgICBEcm9wIHN0ZDo6Y2hyb25v
IHN1cHBvcnQgZnJvbSBUaW1lciBjbGFzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTcwNjQ1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgRHJvcCBzdGQ6OmNocm9ubyBzdXBwb3J0IGZyb20gVGltZXIgY2xh
c3Mgbm93IHRoYXQgd2UgcHJlZmVyIHVzaW5nIFNlY29uZHMgdHlwZS4KKworICAgICAgICAqIE5l
dHdvcmtQcm9jZXNzL05ldHdvcmtMb2FkLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0xv
YWQ6OlRocm90dGxlOjpUaHJvdHRsZSk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtMb2FkOjpk
aWRSZWNlaXZlUmVzcG9uc2VOZXR3b3JrU2Vzc2lvbik6CisgICAgICAgICogTmV0d29ya1Byb2Nl
c3MvTmV0d29ya1Byb2Nlc3MuaDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3M6Omxv
YWRUaHJvdHRsZUxhdGVuY3kpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9j
ZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNz
L05ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzLmg6CisgICAgICAgICogTmV0d29ya1Byb2Nl
c3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Jl
c291cmNlTG9hZGVyOjpzdGFydE5ldHdvcmtMb2FkKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vz
cy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmNwcDoKKyAgICAgICAg
KiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTdGF0aXN0aWNzLmNwcDoKKyAgICAg
ICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTdG9yYWdlLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjpTdG9yYWdlOjpkaXNwYXRjaFJlYWRPcGVyYXRpb24p
OgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OlN0b3JhZ2U6OnN0b3JlKToKKyAgICAg
ICAgKiBTaGFyZWQvQ2FjaGVNb2RlbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OmNhbGN1bGF0ZU1l
bW9yeUNhY2hlU2l6ZXMpOgorICAgICAgICAqIFNoYXJlZC9DYWNoZU1vZGVsLmg6CisgICAgICAg
ICogU2hhcmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb24ubW06CisgICAg
ICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW06CisgICAgICAgIChX
ZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpwbGF0Zm9ybUluaXRpYWxpemVOZXR3b3JrUHJvY2Vzcyk6
CisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5LmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6bWF4aW11bUJ1ZmZlcmluZ1RpbWUpOgorICAgICAgICAqIFdlYlByb2Nl
c3MvUGx1Z2lucy9QbHVnaW5WaWV3LmNwcDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2Uv
bWFjL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhLm1tOgorICAgICAgICAoV2ViS2l0OjpSZW1v
dGVMYXllclRyZWVEcmF3aW5nQXJlYTo6c2NoZWR1bGVDb21wb3NpdGluZ0xheWVyRmx1c2hJbW1l
ZGlhdGVseSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhOjpz
Y2hlZHVsZUNvbXBvc2l0aW5nTGF5ZXJGbHVzaCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQ
cm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6bV9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3Rv
cmUpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpzZXRDYWNoZU1vZGVsKToKKworMjAx
Ny0wNC0wOCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCiAgICAgICAgIFVucmV2
aWV3ZWQgYXR0ZW1wdCB0byBmaXggR1RLIGJ1aWxkIGFmdGVyIHIyMTUxMzguCiAKICAgICAgICAg
KiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRVSUNsaWVudC5jcHA6CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZS5jcHAKaW5kZXggM2M3YzI5OTU2MGE4MWYxN2Fk
Njg3YTVjM2M4YjI5NjM5MzQ3OWY2ZS4uODA3NTgwMWQyZWViMDIxMWMxNjVjZDBhMzcwZWE3NTk3
N2VmMGVkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdlR2VuZXJhdG9y
VmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZUdlbmVyYXRvclZhbHVl
LmNwcApAQCAtMzksNyArMzksNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBj
b25zdCBhdXRvIHRpbWVUb0tlZXBDYWNoZWRHZW5lcmF0ZWRJbWFnZXMgPSBzdGQ6OmNocm9ubzo6
c2Vjb25kcyB7IDMgfTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHRpbWVUb0tlZXBDYWNoZWRHZW5l
cmF0ZWRJbWFnZXMgeyAzX3MgfTsKIAogY2xhc3MgQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZTo6Q2Fj
aGVkR2VuZXJhdGVkSW1hZ2UgewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luSW1hZ2VFbGVtZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkltYWdlRWxlbWVudC5jcHAKaW5kZXggOWY1NmQ2
NmU4MzEzYTM3ZTVjNDFhYjhlYTYyNTY0MTVjZWJhNGJkMi4uYjMwZGJhMzI2YzFhZTQ1MWFjNzhm
ZGFlZWQ5NDU1NzA4ZDYxNmY0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
UGx1Z0luSW1hZ2VFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVn
SW5JbWFnZUVsZW1lbnQuY3BwCkBAIC01NSwxMCArNTUsMTAgQEAgc3RhdGljIGNvbnN0IGZsb2F0
IHNpemluZ0Z1bGxQYWdlQXJlYVJhdGlvVGhyZXNob2xkID0gMC45NjsKIHN0YXRpYyBjb25zdCBT
ZWNvbmRzIGF1dG9zdGFydFNvb25BZnRlclVzZXJHZXN0dXJlVGhyZXNob2xkID0gNV9zOwogCiAv
LyBUaGlzIGRlbGF5IHNob3VsZCBub3QgZXhjZWVkIHRoZSBzbmFwc2hvdCBkZWxheSBpbiBQbHVn
aW5WaWV3LmNwcAotc3RhdGljIGNvbnN0IGF1dG8gc2ltdWxhdGVkTW91c2VDbGlja1RpbWVyRGVs
YXkgPSBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHsgNzUwIH07CitzdGF0aWMgY29uc3QgU2Vj
b25kcyBzaW11bGF0ZWRNb3VzZUNsaWNrVGltZXJEZWxheSB7IDc1MF9tcyB9OwogCiAjaWYgUExB
VEZPUk0oQ09DT0EpCi1zdGF0aWMgY29uc3QgYXV0byByZW1vdmVTbmFwc2hvdFRpbWVyRGVsYXkg
PSBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHsgMTUwMCB9Oworc3RhdGljIGNvbnN0IFNlY29u
ZHMgcmVtb3ZlU25hcHNob3RUaW1lckRlbGF5IHsgMTUwMF9tcyB9OwogI2VuZGlmCiAKIHN0YXRp
YyBjb25zdCBTdHJpbmcgdGl0bGVUZXh0KFBhZ2UmIHBhZ2UsIGNvbnN0IFN0cmluZyYgbWltZVR5
cGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmlu
Z0NvbnRleHRCYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVy
aW5nQ29udGV4dEJhc2UuY3BwCmluZGV4IGI2ZmIyMGJkZDhmNDdkMzM4YzMxN2UwYmU5ZDYyMDYw
NzM3YzU5YzkuLjE1MDA5ZDZjYTg3ZWQxY2VmMjNlN2U0OGU5ZWM5YmZjNGZhOTRhNjggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJh
c2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29u
dGV4dEJhc2UuY3BwCkBAIC0xMDIsNyArMTAyLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBj
b25zdCBkb3VibGUgc2Vjb25kc0JldHdlZW5SZXN0b3JlQXR0ZW1wdHMgPSAxLjA7CiBjb25zdCBp
bnQgbWF4R0xFcnJvcnNBbGxvd2VkVG9Db25zb2xlID0gMjU2Owotc3RhdGljIGNvbnN0IHN0ZDo6
Y2hyb25vOjpzZWNvbmRzIGNoZWNrQ29udGV4dExvc3NIYW5kbGluZ0RlbGF5IHsgMyB9Oworc3Rh
dGljIGNvbnN0IFNlY29uZHMgY2hlY2tDb250ZXh0TG9zc0hhbmRsaW5nRGVsYXkgeyAzX3MgfTsK
IAogbmFtZXNwYWNlIHsKICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9j
YWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2Fj
aGVkUmVzb3VyY2UuY3BwCmluZGV4IDU5MzkwMzk0YmYzZjhhNDZkNDUxNzExYWM3NzMyMWM1ODll
NTZmOGUuLmUyOTVjZWVlMDVhOWU5MmJiYjcxZjAyYWIxNDFkNjA5NTAxNjgwYjEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmNwcApAQCAtMTAyLDEw
ICsxMDIsMTAgQEAgUmVzb3VyY2VMb2FkUHJpb3JpdHkgQ2FjaGVkUmVzb3VyY2U6OmRlZmF1bHRQ
cmlvcml0eUZvclJlc291cmNlVHlwZShUeXBlIHR5cGUpCiAgICAgcmV0dXJuIFJlc291cmNlTG9h
ZFByaW9yaXR5OjpMb3c7CiB9CiAKLXN0YXRpYyBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGRl
YWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWxGb3JSZXNvdXJjZVR5cGUoQ2FjaGVkUmVzb3Vy
Y2U6OlR5cGUgdHlwZSkKK3N0YXRpYyBTZWNvbmRzIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50
ZXJ2YWxGb3JSZXNvdXJjZVR5cGUoQ2FjaGVkUmVzb3VyY2U6OlR5cGUgdHlwZSkKIHsKICAgICBp
ZiAodHlwZSA9PSBDYWNoZWRSZXNvdXJjZTo6U2NyaXB0KQotICAgICAgICByZXR1cm4gc3RkOjpj
aHJvbm86Om1pbGxpc2Vjb25kcyB7IDAgfTsKKyAgICAgICAgcmV0dXJuIDBfczsKIAogICAgIHJl
dHVybiBNZW1vcnlDYWNoZTo6c2luZ2xldG9uKCkuZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRl
cnZhbCgpOwogfQpAQCAtNTM3LDcgKzUzNyw3IEBAIHZvaWQgQ2FjaGVkUmVzb3VyY2U6OmRlc3Ry
b3lEZWNvZGVkRGF0YUlmTmVlZGVkKCkKIHsKICAgICBpZiAoIW1fZGVjb2RlZFNpemUpCiAgICAg
ICAgIHJldHVybjsKLSAgICBpZiAoIU1lbW9yeUNhY2hlOjpzaW5nbGV0b24oKS5kZWFkRGVjb2Rl
ZERhdGFEZWxldGlvbkludGVydmFsKCkuY291bnQoKSkKKyAgICBpZiAoIU1lbW9yeUNhY2hlOjpz
aW5nbGV0b24oKS5kZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsKCkpCiAgICAgICAgIHJl
dHVybjsKICAgICBtX2RlY29kZWREYXRhRGVsZXRpb25UaW1lci5yZXN0YXJ0KCk7CiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuY3BwIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmNwcAppbmRleCBkNDEzZmI4NTUz
Yjg5OWUzOWJmODljYTgzZWMyYTU4YWU5MjQ2YWE4Li44NDg5NjVlOTkxM2I3ZjYwMGYwNWQ1Y2E4
YzI3N2QyNTllYTk0MDc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUv
TWVtb3J5Q2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlD
YWNoZS5jcHAKQEAgLTUxLDcgKzUxLDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogc3RhdGljIGNv
bnN0IGludCBjRGVmYXVsdENhY2hlQ2FwYWNpdHkgPSA4MTkyICogMTAyNDsKIHN0YXRpYyBjb25z
dCBkb3VibGUgY01pbkRlbGF5QmVmb3JlTGl2ZURlY29kZWRQcnVuZSA9IDE7IC8vIFNlY29uZHMu
CiBzdGF0aWMgY29uc3QgZmxvYXQgY1RhcmdldFBydW5lUGVyY2VudGFnZSA9IC45NWY7IC8vIFBl
cmNlbnRhZ2Ugb2YgY2FwYWNpdHkgdG93YXJkIHdoaWNoIHdlIHBydW5lLCB0byBhdm9pZCBpbW1l
ZGlhdGVseSBwcnVuaW5nIGFnYWluLgotc3RhdGljIGNvbnN0IGF1dG8gZGVmYXVsdERlY29kZWRE
YXRhRGVsZXRpb25JbnRlcnZhbCA9IHN0ZDo6Y2hyb25vOjpzZWNvbmRzIHsgMCB9OwogCiBNZW1v
cnlDYWNoZSYgTWVtb3J5Q2FjaGU6OnNpbmdsZXRvbigpCiB7CkBAIC02Niw3ICs2NSw2IEBAIE1l
bW9yeUNhY2hlOjpNZW1vcnlDYWNoZSgpCiAgICAgLCBtX2NhcGFjaXR5KGNEZWZhdWx0Q2FjaGVD
YXBhY2l0eSkKICAgICAsIG1fbWluRGVhZENhcGFjaXR5KDApCiAgICAgLCBtX21heERlYWRDYXBh
Y2l0eShjRGVmYXVsdENhY2hlQ2FwYWNpdHkpCi0gICAgLCBtX2RlYWREZWNvZGVkRGF0YURlbGV0
aW9uSW50ZXJ2YWwoZGVmYXVsdERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCkKICAgICAsIG1f
bGl2ZVNpemUoMCkKICAgICAsIG1fZGVhZFNpemUoMCkKICAgICAsIG1fcHJ1bmVUaW1lcigqdGhp
cywgJk1lbW9yeUNhY2hlOjpwcnVuZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9jYWNoZS9NZW1vcnlDYWNoZS5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9y
eUNhY2hlLmgKaW5kZXggYzVkOTdlMWQzNmFiNjAzYjQ5MDkwZmM0MWU2MWRjZjY0ZjBkMmNhNy4u
N2MyZThjNzM1YzJlZmEzOTY4MjFkZTU2NzU2ZTdjODFmN2ZhYjZmMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmgKQEAgLTEyNSw4ICsxMjUsOCBAQCBwdWJsaWM6
CiAgICAgdm9pZCBwcnVuZVNvb24oKTsKICAgICB1bnNpZ25lZCBzaXplKCkgY29uc3QgeyByZXR1
cm4gbV9saXZlU2l6ZSArIG1fZGVhZFNpemU7IH0KIAotICAgIHZvaWQgc2V0RGVhZERlY29kZWRE
YXRhRGVsZXRpb25JbnRlcnZhbChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGludGVydmFsKSB7
IG1fZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCA9IGludGVydmFsOyB9Ci0gICAgc3Rk
OjpjaHJvbm86Om1pbGxpc2Vjb25kcyBkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsKCkg
Y29uc3QgeyByZXR1cm4gbV9kZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsOyB9CisgICAg
dm9pZCBzZXREZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsKFNlY29uZHMgaW50ZXJ2YWwp
IHsgbV9kZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsID0gaW50ZXJ2YWw7IH0KKyAgICBT
ZWNvbmRzIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiBt
X2RlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWw7IH0KIAogICAgIC8vIENhbGxzIHRvIHB1
dCB0aGUgY2FjaGVkIHJlc291cmNlIGludG8gYW5kIG91dCBvZiBMUlUgbGlzdHMuCiAgICAgdm9p
ZCBpbnNlcnRJbkxSVUxpc3QoQ2FjaGVkUmVzb3VyY2UmKTsKQEAgLTE5NSw3ICsxOTUsNyBAQCBw
cml2YXRlOgogICAgIHVuc2lnbmVkIG1fY2FwYWNpdHk7CiAgICAgdW5zaWduZWQgbV9taW5EZWFk
Q2FwYWNpdHk7CiAgICAgdW5zaWduZWQgbV9tYXhEZWFkQ2FwYWNpdHk7Ci0gICAgc3RkOjpjaHJv
bm86Om1pbGxpc2Vjb25kcyBtX2RlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWw7CisgICAg
U2Vjb25kcyBtX2RlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWw7CiAKICAgICB1bnNpZ25l
ZCBtX2xpdmVTaXplOyAvLyBUaGUgbnVtYmVyIG9mIGJ5dGVzIGN1cnJlbnRseSBjb25zdW1lZCBi
eSAibGl2ZSIgcmVzb3VyY2VzIGluIHRoZSBjYWNoZS4KICAgICB1bnNpZ25lZCBtX2RlYWRTaXpl
OyAvLyBUaGUgbnVtYmVyIG9mIGJ5dGVzIGN1cnJlbnRseSBjb25zdW1lZCBieSAiZGVhZCIgcmVz
b3VyY2VzIGluIHRoZSBjYWNoZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVy
Zm9ybWFuY2VNb25pdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VNb25p
dG9yLmNwcAppbmRleCAxY2NjMjcyOWM5ZjliMWZlNGI1ZWE4MzZmNWZlZjU5MjM2NzBlMTExLi45
MDZkNWM3ZGUyYzI2YTFjNjZhN2EyM2MxYWYyMTdjOGZlMDc1OGU1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlTW9uaXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9QZXJmb3JtYW5jZU1vbml0b3IuY3BwCkBAIC00MSwxNCArNDEsMTQgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogCiAjZGVmaW5lIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoY2hhbm5lbCwg
Zm10LCAuLi4pIFJFTEVBU0VfTE9HX0lGKG1fcGFnZS5pc0Fsd2F5c09uTG9nZ2luZ0FsbG93ZWQo
KSwgY2hhbm5lbCwgIiVwIC0gUGVyZm9ybWFuY2VNb25pdG9yOjoiIGZtdCwgdGhpcywgIyNfX1ZB
X0FSR1NfXykKIAotc3RhdGljIGNvbnN0IHN0ZDo6Y2hyb25vOjpzZWNvbmRzIGNwdVVzYWdlTWVh
c3VyZW1lbnREZWxheSB7IDUgfTsKLXN0YXRpYyBjb25zdCBzdGQ6OmNocm9ubzo6c2Vjb25kcyBw
b3N0TG9hZENQVVVzYWdlTWVhc3VyZW1lbnREdXJhdGlvbiB7IDEwIH07Ci1zdGF0aWMgY29uc3Qg
c3RkOjpjaHJvbm86Om1pbnV0ZXMgYmFja2dyb3VuZENQVVVzYWdlTWVhc3VyZW1lbnREdXJhdGlv
biB7IDUgfTsKLXN0YXRpYyBjb25zdCBzdGQ6OmNocm9ubzo6bWludXRlcyBjcHVVc2FnZVNhbXBs
aW5nSW50ZXJ2YWwgeyAxMCB9Oworc3RhdGljIGNvbnN0IFNlY29uZHMgY3B1VXNhZ2VNZWFzdXJl
bWVudERlbGF5IHsgNV9zIH07CitzdGF0aWMgY29uc3QgU2Vjb25kcyBwb3N0TG9hZENQVVVzYWdl
TWVhc3VyZW1lbnREdXJhdGlvbiB7IDEwX3MgfTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIGJhY2tn
cm91bmRDUFVVc2FnZU1lYXN1cmVtZW50RHVyYXRpb24geyA1X21pbiB9Oworc3RhdGljIGNvbnN0
IFNlY29uZHMgY3B1VXNhZ2VTYW1wbGluZ0ludGVydmFsIHsgMTBfbWluIH07CiAKLXN0YXRpYyBj
b25zdCBzdGQ6OmNocm9ubzo6c2Vjb25kcyBtZW1vcnlVc2FnZU1lYXN1cmVtZW50RGVsYXkgeyAx
MCB9Oworc3RhdGljIGNvbnN0IFNlY29uZHMgbWVtb3J5VXNhZ2VNZWFzdXJlbWVudERlbGF5IHsg
MTBfcyB9OwogCi1zdGF0aWMgY29uc3Qgc3RkOjpjaHJvbm86Om1pbnV0ZXMgZGVsYXlCZWZvcmVQ
cm9jZXNzTWF5QmVjb21lSW5hY3RpdmUgeyA4IH07CitzdGF0aWMgY29uc3QgU2Vjb25kcyBkZWxh
eUJlZm9yZVByb2Nlc3NNYXlCZWNvbWVJbmFjdGl2ZSB7IDhfbWluIH07CiAKIHN0YXRpYyBjb25z
dCBkb3VibGUgcG9zdFBhZ2VMb2FkQ1BVVXNhZ2VEb21haW5SZXBvcnRpbmdUaHJlc2hvbGQgeyAy
MC4wIH07IC8vIFJlcG9ydGluZyBwYWdlcyB1c2luZyBvdmVyIDIwJSBDUFUgaXMgcm91Z2hseSBl
cXVpdmFsZW50IHRvIHJlcG9ydGluZyB0aGUgMTAlIHdvcnN0IHBhZ2VzLgogI2lmICFQTEFURk9S
TShJT1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1N1c3BlbmRhYmxlVGltZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3VzcGVuZGFibGVUaW1lci5oCmluZGV4IGIwNzllNTYz
NmYxYjY1NDI4MmUzYzU5ZmI2YzIyNGE2ZmEwMTQzNmEuLjU5NTM3Zjg5ZjkwYWNhMWRkNGRlZjU4
YzIzMDQ0ODdkYWU2ZDM5NTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3VzcGVu
ZGFibGVUaW1lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3VzcGVuZGFibGVUaW1lci5o
CkBAIC01NSwxNyArNTUsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCBzdGFydFJlcGVhdGluZyhTZWNv
bmRzIHJlcGVhdEludGVydmFsKTsKICAgICB2b2lkIHN0YXJ0T25lU2hvdChTZWNvbmRzIGludGVy
dmFsKTsKIAotICAgIC8vIEZJWE1FOiBVc2UgdGhlIG92ZXJsb2FkcyB0YWtpbmcgU2Vjb25kcyBp
bnN0ZWFkIGFuZCBkcm9wIHRoZXNlLgotICAgIHZvaWQgc3RhcnRSZXBlYXRpbmcoc3RkOjpjaHJv
bm86Om1pbGxpc2Vjb25kcyByZXBlYXRJbnRlcnZhbCkgeyBzdGFydFJlcGVhdGluZyhtc1RvU2Vj
b25kcyhyZXBlYXRJbnRlcnZhbCkpOyB9Ci0gICAgdm9pZCBzdGFydE9uZVNob3Qoc3RkOjpjaHJv
bm86Om1pbGxpc2Vjb25kcyBpbnRlcnZhbCkgeyBzdGFydE9uZVNob3QobXNUb1NlY29uZHMoaW50
ZXJ2YWwpKTsgfQotCiAgICAgdm9pZCBhdWdtZW50RmlyZUludGVydmFsKFNlY29uZHMgZGVsdGEp
OwogICAgIHZvaWQgYXVnbWVudFJlcGVhdEludGVydmFsKFNlY29uZHMgZGVsdGEpOwogCi0gICAg
Ly8gRklYTUU6IFVzZSB0aGUgb3ZlcmxvYWRzIHRha2luZyBTZWNvbmRzIGluc3RlYWQgYW5kIGRy
b3AgdGhlc2UuCi0gICAgdm9pZCBhdWdtZW50RmlyZUludGVydmFsKHN0ZDo6Y2hyb25vOjptaWxs
aXNlY29uZHMgZGVsdGEpIHsgYXVnbWVudEZpcmVJbnRlcnZhbChtc1RvU2Vjb25kcyhkZWx0YSkp
OyB9Ci0gICAgdm9pZCBhdWdtZW50UmVwZWF0SW50ZXJ2YWwoc3RkOjpjaHJvbm86Om1pbGxpc2Vj
b25kcyBkZWx0YSkgeyBhdWdtZW50UmVwZWF0SW50ZXJ2YWwobXNUb1NlY29uZHMoZGVsdGEpKTsg
fQotCiAgICAgdXNpbmcgVGltZXJCYXNlOjpkaWRDaGFuZ2VBbGlnbm1lbnRJbnRlcnZhbDsKICAg
ICB1c2luZyBUaW1lckJhc2U6Om9wZXJhdG9yIG5ldzsKICAgICB1c2luZyBUaW1lckJhc2U6Om9w
ZXJhdG9yIGRlbGV0ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL1NlcnZp
Y2VzT3ZlcmxheUNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL1NlcnZpY2Vz
T3ZlcmxheUNvbnRyb2xsZXIuaAppbmRleCA2NWIxY2VlYzZiMTEyN2IwNTk2MzIxZWM0ODgyNDU3
ZGY0MWIwNGY2Li5hMTMxOWJiMGU5ZWNlZjAyZTk4MTFmMWYzNmQxYWQ5MjM4NDkxNzNjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvU2VydmljZXNPdmVybGF5Q29udHJvbGxl
ci5oCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSAiUGFnZU92ZXJsYXkuaCIKICNpbmNsdWRl
ICJSYW5nZS5oIgogI2luY2x1ZGUgIlRpbWVyLmgiCisjaW5jbHVkZSA8d3RmL01vbm90b25pY1Rp
bWUuaD4KIAogdHlwZWRlZiBzdHJ1Y3QgX19EREhpZ2hsaWdodCAqRERIaWdobGlnaHRSZWY7CiAK
QEAgLTEyMiw3ICsxMjMsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgaGFzUmVsZXZhbnRTZWxlY3Rp
b25TZXJ2aWNlcygpOwogCiAgICAgYm9vbCBtb3VzZUlzT3ZlckhpZ2hsaWdodChIaWdobGlnaHQm
LCBib29sJiBtb3VzZUlzT3ZlckJ1dHRvbikgY29uc3Q7Ci0gICAgc3RkOjpjaHJvbm86Om1pbGxp
c2Vjb25kcyByZW1haW5pbmdUaW1lVW50aWxIaWdobGlnaHRTaG91bGRCZVNob3duKEhpZ2hsaWdo
dCopIGNvbnN0OworICAgIFNlY29uZHMgcmVtYWluaW5nVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxk
QmVTaG93bihIaWdobGlnaHQqKSBjb25zdDsKICAgICB2b2lkIGRldGVybWluZUFjdGl2ZUhpZ2hs
aWdodFRpbWVyRmlyZWQoKTsKIAogICAgIHN0YXRpYyBib29sIGhpZ2hsaWdodHNBcmVFcXVpdmFs
ZW50KGNvbnN0IEhpZ2hsaWdodCogYSwgY29uc3QgSGlnaGxpZ2h0KiBiKTsKQEAgLTE1MSw5ICsx
NTIsOSBAQCBwcml2YXRlOgogCiAgICAgSGlnaGxpZ2h0OjpUeXBlIG1fZGlydHlIaWdobGlnaHRU
eXBlcyB7IDAgfTsKIAotICAgIHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6OnRpbWVfcG9pbnQg
bV9sYXN0U2VsZWN0aW9uQ2hhbmdlVGltZTsKLSAgICBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2Nr
Ojp0aW1lX3BvaW50IG1fbmV4dEFjdGl2ZUhpZ2hsaWdodENoYW5nZVRpbWU7Ci0gICAgc3RkOjpj
aHJvbm86OnN0ZWFkeV9jbG9jazo6dGltZV9wb2ludCBtX2xhc3RNb3VzZVVwVGltZTsKKyAgICBN
b25vdG9uaWNUaW1lIG1fbGFzdFNlbGVjdGlvbkNoYW5nZVRpbWU7CisgICAgTW9ub3RvbmljVGlt
ZSBtX25leHRBY3RpdmVIaWdobGlnaHRDaGFuZ2VUaW1lOworICAgIE1vbm90b25pY1RpbWUgbV9s
YXN0TW91c2VVcFRpbWU7CiAKICAgICBSZWZQdHI8SGlnaGxpZ2h0PiBtX2N1cnJlbnRNb3VzZURv
d25PbkJ1dHRvbkhpZ2hsaWdodDsKICAgICBJbnRQb2ludCBtX21vdXNlUG9zaXRpb247CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVy
Lm1tIGIvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvU2VydmljZXNPdmVybGF5Q29udHJvbGxlci5t
bQppbmRleCA0YjAzZTIyYWU0NmJlODlhZTIzMTAyZmI0OWZmNDkyMWQ0MDQ2OGJlLi5hMTk4M2Y0
ZDQ1NGM3YzBlZTc3MjdlMmI2ZmZiZWQyZjRkMGRhNDA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLm1tCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvbWFjL1NlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIubW0KQEAgLTM2Nyw3ICsz
NjcsNyBAQCB2b2lkIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6OnNlbGVjdGlvblJlY3RzRGlk
Q2hhbmdlKGNvbnN0IFZlY3RvcjxMYXlvdXRSZWN0PgogICAgIG1fY3VycmVudFNlbGVjdGlvblJl
Y3RzID0gcmVjdHM7CiAgICAgbV9pc1RleHRPbmx5ID0gaXNUZXh0T25seTsKIAotICAgIG1fbGFz
dFNlbGVjdGlvbkNoYW5nZVRpbWUgPSBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjpub3coKTsK
KyAgICBtX2xhc3RTZWxlY3Rpb25DaGFuZ2VUaW1lID0gTW9ub3RvbmljVGltZTo6bm93KCk7CiAK
ICAgICBjb21wYWN0UmVjdHNXaXRoR2FwUmVjdHMobV9jdXJyZW50U2VsZWN0aW9uUmVjdHMsIGdh
cFJlY3RzKTsKIApAQCAtNDMyLDE1ICs0MzIsMTUgQEAgYm9vbCBTZXJ2aWNlc092ZXJsYXlDb250
cm9sbGVyOjptb3VzZUlzT3ZlckhpZ2hsaWdodChIaWdobGlnaHQmIGhpZ2hsaWdodCwgYm9vbCYK
ICAgICByZXR1cm4gaG92ZXJlZDsKIH0KIAotc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBTZXJ2
aWNlc092ZXJsYXlDb250cm9sbGVyOjpyZW1haW5pbmdUaW1lVW50aWxIaWdobGlnaHRTaG91bGRC
ZVNob3duKEhpZ2hsaWdodCogaGlnaGxpZ2h0KSBjb25zdAorU2Vjb25kcyBTZXJ2aWNlc092ZXJs
YXlDb250cm9sbGVyOjpyZW1haW5pbmdUaW1lVW50aWxIaWdobGlnaHRTaG91bGRCZVNob3duKEhp
Z2hsaWdodCogaGlnaGxpZ2h0KSBjb25zdAogewogICAgIGlmICghaGlnaGxpZ2h0KQotICAgICAg
ICByZXR1cm4gMG1zOworICAgICAgICByZXR1cm4gMF9zOwogCi0gICAgYXV0byBtaW5pbXVtVGlt
ZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVTaG93biA9IDIwMG1zOworICAgIFNlY29uZHMgbWluaW11
bVRpbWVVbnRpbEhpZ2hsaWdodFNob3VsZEJlU2hvd24gPSAyMDBfbXM7CiAgICAgUGFnZSogcGFn
ZSA9IG1fbWFpbkZyYW1lLnBhZ2UoKTsKICAgICBpZiAocGFnZSAmJiBwYWdlLT5mb2N1c0NvbnRy
b2xsZXIoKS5mb2N1c2VkT3JNYWluRnJhbWUoKS5zZWxlY3Rpb24oKS5zZWxlY3Rpb24oKS5pc0Nv
bnRlbnRFZGl0YWJsZSgpKQotICAgICAgICBtaW5pbXVtVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxk
QmVTaG93biA9IDEwMDBtczsKKyAgICAgICAgbWluaW11bVRpbWVVbnRpbEhpZ2hsaWdodFNob3Vs
ZEJlU2hvd24gPSAxX3M7CiAKICAgICBib29sIG1vdXNlUHJlc3NlZCA9IG1fbWFpbkZyYW1lLmV2
ZW50SGFuZGxlcigpLm1vdXNlUHJlc3NlZCgpOwogCkBAIC00NDgsMTUgKzQ0OCwxNCBAQCBzdGQ6
OmNocm9ubzo6bWlsbGlzZWNvbmRzIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6OnJlbWFpbmlu
Z1RpbWVVbnRpbEhpZ2hsaWdodAogICAgIC8vIGJ5IHZpcnR1ZSBvZiBiZWluZyBleHBhbmRlZCB0
byBpbmNsdWRlIHRoZSBlbnRpcmUgdGVsZXBob25lIG51bWJlci4gSG93ZXZlciwgd2Ugd2lsbCBz
dGlsbCBhdm9pZCBoaWdobGlnaHRpbmcKICAgICAvLyB0ZWxlcGhvbmUgbnVtYmVycyB3aGlsZSB0
aGUgbW91c2UgaXMgZG93bi4KICAgICBpZiAoaGlnaGxpZ2h0LT50eXBlKCkgPT0gSGlnaGxpZ2h0
OjpUZWxlcGhvbmVOdW1iZXJUeXBlKQotICAgICAgICByZXR1cm4gbW91c2VQcmVzc2VkID8gbWlu
aW11bVRpbWVVbnRpbEhpZ2hsaWdodFNob3VsZEJlU2hvd24gOiAwbXM7CisgICAgICAgIHJldHVy
biBtb3VzZVByZXNzZWQgPyBtaW5pbXVtVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVTaG93biA6
IDBfczsKIAotICAgIGF1dG8gbm93ID0gc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6bm93KCk7
Ci0gICAgYXV0byB0aW1lU2luY2VMYXN0U2VsZWN0aW9uQ2hhbmdlID0gbm93IC0gbV9sYXN0U2Vs
ZWN0aW9uQ2hhbmdlVGltZTsKLSAgICBhdXRvIHRpbWVTaW5jZUhpZ2hsaWdodEJlY2FtZUFjdGl2
ZSA9IG5vdyAtIG1fbmV4dEFjdGl2ZUhpZ2hsaWdodENoYW5nZVRpbWU7Ci0gICAgYXV0byB0aW1l
U2luY2VMYXN0TW91c2VVcCA9IG1vdXNlUHJlc3NlZCA/IDBtcyA6IG5vdyAtIG1fbGFzdE1vdXNl
VXBUaW1lOworICAgIE1vbm90b25pY1RpbWUgbm93ID0gTW9ub3RvbmljVGltZTo6bm93KCk7Cisg
ICAgU2Vjb25kcyB0aW1lU2luY2VMYXN0U2VsZWN0aW9uQ2hhbmdlID0gbm93IC0gbV9sYXN0U2Vs
ZWN0aW9uQ2hhbmdlVGltZTsKKyAgICBTZWNvbmRzIHRpbWVTaW5jZUhpZ2hsaWdodEJlY2FtZUFj
dGl2ZSA9IG5vdyAtIG1fbmV4dEFjdGl2ZUhpZ2hsaWdodENoYW5nZVRpbWU7CisgICAgU2Vjb25k
cyB0aW1lU2luY2VMYXN0TW91c2VVcCA9IG1vdXNlUHJlc3NlZCA/IDBfcyA6IG5vdyAtIG1fbGFz
dE1vdXNlVXBUaW1lOwogCi0gICAgYXV0byByZW1haW5pbmdEZWxheSA9IG1pbmltdW1UaW1lVW50
aWxIaWdobGlnaHRTaG91bGRCZVNob3duIC0gc3RkOjptaW4oc3RkOjptaW4odGltZVNpbmNlTGFz
dFNlbGVjdGlvbkNoYW5nZSwgdGltZVNpbmNlSGlnaGxpZ2h0QmVjYW1lQWN0aXZlKSwgdGltZVNp
bmNlTGFzdE1vdXNlVXApOwotICAgIHJldHVybiBzdGQ6OmNocm9ubzo6ZHVyYXRpb25fY2FzdDxz
dGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzPihyZW1haW5pbmdEZWxheSk7CisgICAgcmV0dXJuIG1p
bmltdW1UaW1lVW50aWxIaWdobGlnaHRTaG91bGRCZVNob3duIC0gc3RkOjptaW4oc3RkOjptaW4o
dGltZVNpbmNlTGFzdFNlbGVjdGlvbkNoYW5nZSwgdGltZVNpbmNlSGlnaGxpZ2h0QmVjYW1lQWN0
aXZlKSwgdGltZVNpbmNlTGFzdE1vdXNlVXApOwogfQogCiB2b2lkIFNlcnZpY2VzT3ZlcmxheUNv
bnRyb2xsZXI6OmRldGVybWluZUFjdGl2ZUhpZ2hsaWdodFRpbWVyRmlyZWQoKQpAQCAtNzE3LDcg
KzcxNiw3IEBAIHZvaWQgU2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6ZGV0ZXJtaW5lQWN0aXZl
SGlnaGxpZ2h0KGJvb2wmIG1vdXNlSXNPdmVyQWN0aXZlCiAgICAgICAgIC8vIGhpZ2hsaWdodCwg
YW5kIG9ubHkgcmVzZXQgdGhlIGFjdGl2ZSBoaWdobGlnaHQgaHlzdGVyZXNpcyB3aGVuIHRoYXQg
Y2hhbmdlcy4KICAgICAgICAgaWYgKG1fbmV4dEFjdGl2ZUhpZ2hsaWdodCAhPSBuZXdBY3RpdmVI
aWdobGlnaHQpIHsKICAgICAgICAgICAgIG1fbmV4dEFjdGl2ZUhpZ2hsaWdodCA9IG5ld0FjdGl2
ZUhpZ2hsaWdodDsKLSAgICAgICAgICAgIG1fbmV4dEFjdGl2ZUhpZ2hsaWdodENoYW5nZVRpbWUg
PSBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjpub3coKTsKKyAgICAgICAgICAgIG1fbmV4dEFj
dGl2ZUhpZ2hsaWdodENoYW5nZVRpbWUgPSBNb25vdG9uaWNUaW1lOjpub3coKTsKICAgICAgICAg
fQogCiAgICAgICAgIG1fY3VycmVudE1vdXNlRG93bk9uQnV0dG9uSGlnaGxpZ2h0ID0gbnVsbHB0
cjsKQEAgLTcyOCw3ICs3MjcsNyBAQCB2b2lkIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6OmRl
dGVybWluZUFjdGl2ZUhpZ2hsaWdodChib29sJiBtb3VzZUlzT3ZlckFjdGl2ZQogICAgICAgICB9
CiAKICAgICAgICAgYXV0byByZW1haW5pbmdUaW1lVW50aWxIaWdobGlnaHRTaG91bGRCZVNob3du
ID0gdGhpcy0+cmVtYWluaW5nVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVTaG93bihuZXdBY3Rp
dmVIaWdobGlnaHQuZ2V0KCkpOwotICAgICAgICBpZiAocmVtYWluaW5nVGltZVVudGlsSGlnaGxp
Z2h0U2hvdWxkQmVTaG93biA+IHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6OmR1cmF0aW9uOjp6
ZXJvKCkpIHsKKyAgICAgICAgaWYgKHJlbWFpbmluZ1RpbWVVbnRpbEhpZ2hsaWdodFNob3VsZEJl
U2hvd24gPiAwX3MpIHsKICAgICAgICAgICAgIG1fZGV0ZXJtaW5lQWN0aXZlSGlnaGxpZ2h0VGlt
ZXIuc3RhcnRPbmVTaG90KHJlbWFpbmluZ1RpbWVVbnRpbEhpZ2hsaWdodFNob3VsZEJlU2hvd24p
OwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CkBAIC03NjAsNyArNzU5LDcgQEAgYm9v
bCBTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyOjptb3VzZUV2ZW50KFBhZ2VPdmVybGF5JiwgY29u
c3QgUGxhdGZvcm1Nb3VzZUV2ZW4KICAgICAgICAgUmVmUHRyPEhpZ2hsaWdodD4gbW91c2VEb3du
SGlnaGxpZ2h0ID0gbV9jdXJyZW50TW91c2VEb3duT25CdXR0b25IaWdobGlnaHQ7CiAgICAgICAg
IG1fY3VycmVudE1vdXNlRG93bk9uQnV0dG9uSGlnaGxpZ2h0ID0gbnVsbHB0cjsKIAotICAgICAg
ICBtX2xhc3RNb3VzZVVwVGltZSA9IHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygpOwor
ICAgICAgICBtX2xhc3RNb3VzZVVwVGltZSA9IE1vbm90b25pY1RpbWU6Om5vdygpOwogCiAgICAg
ICAgIGlmIChtb3VzZUlzT3ZlckFjdGl2ZUhpZ2hsaWdodEJ1dHRvbiAmJiBtb3VzZURvd25IaWdo
bGlnaHQpIHsKICAgICAgICAgICAgIGhhbmRsZUNsaWNrKG1fbW91c2VQb3NpdGlvbiwgKm1vdXNl
RG93bkhpZ2hsaWdodCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaW1l
ci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuaAppbmRleCA5NmM0ZjEwOTE5ZDEz
N2FiZjMzMjhiOTAzMDVkZGE2ZGU1MGFjNGFkLi4wZjMzYTBiMThkNGVkNDg4MDU0OWE3MDIyZDY5
NzYwMzcxMWEyMzlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmgKQEAgLTQ4LDEwICs0OCw2IEBA
IGNsYXNzIFRpbWVySGVhcEVsZW1lbnQ7CiBjbGFzcyBUaW1lckJhc2UgewogICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFRpbWVyQmFzZSk7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7Ci1w
cm90ZWN0ZWQ6Ci0gICAgc3RhdGljIGlubGluZSBkb3VibGUgbXNUb1NlY29uZHMoc3RkOjpjaHJv
bm86Om1pbGxpc2Vjb25kcyBkdXJhdGlvbikgeyByZXR1cm4gZHVyYXRpb24uY291bnQoKSAqIDAu
MDAxOyB9Ci0gICAgc3RhdGljIGlubGluZSBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHNlY29u
ZHNUb01TKGRvdWJsZSBkdXJhdGlvbikgeyByZXR1cm4gc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25k
cygoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kczo6cmVwKShkdXJhdGlvbiAqIDEwMDApKTsgfQot
CiBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgVGltZXJCYXNlKCk7CiAgICAgV0VCQ09SRV9F
WFBPUlQgdmlydHVhbCB+VGltZXJCYXNlKCk7CkBAIC02MCwxMSArNTYsOSBAQCBwdWJsaWM6CiAg
ICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzdGFydChkb3VibGUgbmV4dEZpcmVJbnRlcnZhbCwgZG91
YmxlIHJlcGVhdEludGVydmFsKTsKIAogICAgIHZvaWQgc3RhcnRSZXBlYXRpbmcoZG91YmxlIHJl
cGVhdEludGVydmFsKSB7IHN0YXJ0KHJlcGVhdEludGVydmFsLCByZXBlYXRJbnRlcnZhbCk7IH0K
LSAgICB2b2lkIHN0YXJ0UmVwZWF0aW5nKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgcmVwZWF0
SW50ZXJ2YWwpIHsgc3RhcnRSZXBlYXRpbmcobXNUb1NlY29uZHMocmVwZWF0SW50ZXJ2YWwpKTsg
fQogICAgIHZvaWQgc3RhcnRSZXBlYXRpbmcoU2Vjb25kcyByZXBlYXRJbnRlcnZhbCkgeyBzdGFy
dFJlcGVhdGluZyhyZXBlYXRJbnRlcnZhbC52YWx1ZSgpKTsgfQogCiAgICAgdm9pZCBzdGFydE9u
ZVNob3QoZG91YmxlIGludGVydmFsKSB7IHN0YXJ0KGludGVydmFsLCAwKTsgfQotICAgIHZvaWQg
c3RhcnRPbmVTaG90KHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgaW50ZXJ2YWwpIHsgc3RhcnRP
bmVTaG90KG1zVG9TZWNvbmRzKGludGVydmFsKSk7IH0KICAgICB2b2lkIHN0YXJ0T25lU2hvdChT
ZWNvbmRzIGludGVydmFsKSB7IHN0YXJ0KGludGVydmFsLCAwX3MpOyB9CiAKICAgICBXRUJDT1JF
X0VYUE9SVCB2b2lkIHN0b3AoKTsKQEAgLTc1LDExICs2OSw5IEBAIHB1YmxpYzoKICAgICBTZWNv
bmRzIHJlcGVhdEludGVydmFsKCkgY29uc3QgeyByZXR1cm4gbV9yZXBlYXRJbnRlcnZhbDsgfQog
CiAgICAgdm9pZCBhdWdtZW50RmlyZUludGVydmFsKFNlY29uZHMgZGVsdGEpIHsgc2V0TmV4dEZp
cmVUaW1lKG1fbmV4dEZpcmVUaW1lICsgZGVsdGEpOyB9Ci0gICAgdm9pZCBhdWdtZW50RmlyZUlu
dGVydmFsKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgZGVsdGEpIHsgYXVnbWVudEZpcmVJbnRl
cnZhbChtc1RvU2Vjb25kcyhkZWx0YSkpOyB9CiAgICAgdm9pZCBhdWdtZW50RmlyZUludGVydmFs
KGRvdWJsZSBkZWx0YSkgeyBhdWdtZW50RmlyZUludGVydmFsKFNlY29uZHMgeyBkZWx0YSB9KTsg
fQogCiAgICAgdm9pZCBhdWdtZW50UmVwZWF0SW50ZXJ2YWwoU2Vjb25kcyBkZWx0YSkgeyBhdWdt
ZW50RmlyZUludGVydmFsKGRlbHRhKTsgbV9yZXBlYXRJbnRlcnZhbCArPSBkZWx0YTsgfQotICAg
IHZvaWQgYXVnbWVudFJlcGVhdEludGVydmFsKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgZGVs
dGEpIHsgYXVnbWVudFJlcGVhdEludGVydmFsKG1zVG9TZWNvbmRzKGRlbHRhKSk7IH0KICAgICB2
b2lkIGF1Z21lbnRSZXBlYXRJbnRlcnZhbChkb3VibGUgZGVsdGEpIHsgYXVnbWVudFJlcGVhdElu
dGVydmFsKFNlY29uZHMgeyBkZWx0YSB9KTsgfQogCiAgICAgdm9pZCBkaWRDaGFuZ2VBbGlnbm1l
bnRJbnRlcnZhbCgpOwpAQCAtMTY2LDEyICsxNTgsMTIgQEAgaW5saW5lIGJvb2wgVGltZXJCYXNl
Ojppc0FjdGl2ZSgpIGNvbnN0CiBjbGFzcyBEZWZlcnJhYmxlT25lU2hvdFRpbWVyIDogcHJvdGVj
dGVkIFRpbWVyQmFzZSB7CiBwdWJsaWM6CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVGltZXJGaXJl
ZENsYXNzPgotICAgIERlZmVycmFibGVPbmVTaG90VGltZXIoVGltZXJGaXJlZENsYXNzJiBvYmpl
Y3QsIHZvaWQgKFRpbWVyRmlyZWRDbGFzczo6KmZ1bmN0aW9uKSgpLCBzdGQ6OmNocm9ubzo6bWls
bGlzZWNvbmRzIGRlbGF5KQorICAgIERlZmVycmFibGVPbmVTaG90VGltZXIoVGltZXJGaXJlZENs
YXNzJiBvYmplY3QsIHZvaWQgKFRpbWVyRmlyZWRDbGFzczo6KmZ1bmN0aW9uKSgpLCBTZWNvbmRz
IGRlbGF5KQogICAgICAgICA6IERlZmVycmFibGVPbmVTaG90VGltZXIoc3RkOjpiaW5kKGZ1bmN0
aW9uLCAmb2JqZWN0KSwgZGVsYXkpCiAgICAgewogICAgIH0KIAotICAgIERlZmVycmFibGVPbmVT
aG90VGltZXIoc3RkOjpmdW5jdGlvbjx2b2lkICgpPiBmdW5jdGlvbiwgc3RkOjpjaHJvbm86Om1p
bGxpc2Vjb25kcyBkZWxheSkKKyAgICBEZWZlcnJhYmxlT25lU2hvdFRpbWVyKHN0ZDo6ZnVuY3Rp
b248dm9pZCAoKT4gZnVuY3Rpb24sIFNlY29uZHMgZGVsYXkpCiAgICAgICAgIDogbV9mdW5jdGlv
bihXVEZNb3ZlKGZ1bmN0aW9uKSkKICAgICAgICAgLCBtX2RlbGF5KGRlbGF5KQogICAgICAgICAs
IG1fc2hvdWxkUmVzdGFydFdoZW5UaW1lckZpcmVzKGZhbHNlKQpAQCAtMjEzLDcgKzIwNSw3IEBA
IHByaXZhdGU6CiAKICAgICBzdGQ6OmZ1bmN0aW9uPHZvaWQgKCk+IG1fZnVuY3Rpb247CiAKLSAg
ICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG1fZGVsYXk7CisgICAgU2Vjb25kcyBtX2RlbGF5
OwogICAgIGJvb2wgbV9zaG91bGRSZXN0YXJ0V2hlblRpbWVyRmlyZXM7CiB9OwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmNwcAppbmRleCA3MjE2MDY5
MjQyM2VmNmNlYTkyMDJjMTc2YTQ2ZDMyNzJhNDY1ZmFhLi4yMzE3MmZkNTU1ODYwODM3YjY3M2I4
YmYwZTk4YzBjYzA1NmViZjMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9Gb250Q2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0ZvbnRDYWNoZS5jcHAKQEAgLTMyOSw3ICszMjksNyBAQCBjb25zdCB1bnNpZ25lZCBjVGFy
Z2V0VW5kZXJNZW1vcnlQcmVzc3VyZUluYWN0aXZlRm9udERhdGEgPSAzMDsKIFJlZlB0cjxGb250
PiBGb250Q2FjaGU6OmZvbnRGb3JGYW1pbHkoY29uc3QgRm9udERlc2NyaXB0aW9uJiBmb250RGVz
Y3JpcHRpb24sIGNvbnN0IEF0b21pY1N0cmluZyYgZmFtaWx5LCBjb25zdCBGb250RmVhdHVyZVNl
dHRpbmdzKiBmb250RmFjZUZlYXR1cmVzLCBjb25zdCBGb250VmFyaWFudFNldHRpbmdzKiBmb250
RmFjZVZhcmlhbnRTZXR0aW5ncywgYm9vbCBjaGVja2luZ0FsdGVybmF0ZU5hbWUpCiB7CiAgICAg
aWYgKCFtX3B1cmdlVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9wdXJnZVRpbWVyLnN0YXJ0
T25lU2hvdCgwbXMpOworICAgICAgICBtX3B1cmdlVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAK
ICAgICBGb250UGxhdGZvcm1EYXRhKiBwbGF0Zm9ybURhdGEgPSBnZXRDYWNoZWRGb250UGxhdGZv
cm1EYXRhKGZvbnREZXNjcmlwdGlvbiwgZmFtaWx5LCBmb250RmFjZUZlYXR1cmVzLCBmb250RmFj
ZVZhcmlhbnRTZXR0aW5ncywgY2hlY2tpbmdBbHRlcm5hdGVOYW1lKTsKICAgICBpZiAoIXBsYXRm
b3JtRGF0YSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nh
L1RpbGVDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nh
L1RpbGVDb250cm9sbGVyLmNwcAppbmRleCAwMWVhOWFmMjhjZWMxYWJiYWI2ZWJiNjViZTg4MDAw
NDBmMzA1MjNhLi44Y2YwODU2NWY2OWM3YWJlYmYxMDQ4MGRlOGQxZTliOGVmNDM5MzUwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ29udHJvbGxl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUNvbnRy
b2xsZXIuY3BwCkBAIC00OSw3ICs0OSw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3Rh
dGljIGNvbnN0IGF1dG8gdGlsZVNpemVVcGRhdGVEZWxheSA9IHN0ZDo6Y2hyb25vOjptaWxsaXNl
Y29uZHMgeyA1MDAgfTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHRpbGVTaXplVXBkYXRlRGVsYXkg
eyA1MDBfbXMgfTsKIAogU3RyaW5nIFRpbGVDb250cm9sbGVyOjp0aWxlR3JpZENvbnRhaW5lckxh
eWVyTmFtZSgpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jZy9JT1N1cmZhY2VQb29sLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NnL0lPU3VyZmFjZVBvb2wuY3BwCmluZGV4IDk2NWZjODA3OTNhODhkYjlmZTE4NTFlN2RiYzAy
ZjEzOGI2ODYwMDguLjg1YzBiNGRiN2Y1OWY2N2E5NDM2NWZkMTZlYTVjZGQwZDc5MGZjZWQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0lPU3VyZmFjZVBv
b2wuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0lPU3VyZmFj
ZVBvb2wuY3BwCkBAIC0zMyw3ICszMyw3IEBACiAjaW5jbHVkZSA8Y2hyb25vPgogI2luY2x1ZGUg
PHd0Zi9OZXZlckRlc3Ryb3llZC5oPgogCi1jb25zdCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRz
IGNvbGxlY3Rpb25JbnRlcnZhbCA9IDUwMG1zOworc3RhdGljIGNvbnN0IFNlY29uZHMgY29sbGVj
dGlvbkludGVydmFsIHsgNTAwX21zIH07CiBjb25zdCBzdGQ6OmNocm9ubzo6c2Vjb25kcyBzdXJm
YWNlQWdlQmVmb3JlTWFya2luZ1B1cmdlYWJsZSA9IDJzOwogY29uc3Qgc2l6ZV90IGRlZmF1bHRN
YXhpbXVtQnl0ZXNDYWNoZWQgPSAxMDI0ICogMTAyNCAqIDY0OwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9TdWJpbWFnZUNhY2hlV2l0aFRpbWVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL1N1YmltYWdlQ2FjaGVXaXRo
VGltZXIuY3BwCmluZGV4IDRmYWY3N2UyNTRlMmFhYzQwOGI0ZTgzNjNmNDhlM2VkMjMwZmZkNzYu
LjMzOTIzZWM0OTAxMWFjMzRlYmY5ZDA3NTFjOTcwODYxN2MxMzhhYWEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL1N1YmltYWdlQ2FjaGVXaXRoVGltZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL1N1YmltYWdlQ2Fj
aGVXaXRoVGltZXIuY3BwCkBAIC0zNCw3ICszNCw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAotc3RhdGljIGNvbnN0IGF1dG8gc3ViaW1hZ2VDYWNoZUNsZWFyRGVsYXkgPSBzdGQ6OmNocm9u
bzo6c2Vjb25kcyB7IDEgfTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHN1YmltYWdlQ2FjaGVDbGVh
ckRlbGF5IHsgMV9zIH07CiBzdGF0aWMgY29uc3QgaW50IG1heFN1YmltYWdlQ2FjaGVTaXplID0g
MzAwOwogCiBzdHJ1Y3QgU3ViaW1hZ2VSZXF1ZXN0IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3htbC9YTUxIdHRwUmVxdWVzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJl
cXVlc3QuY3BwCmluZGV4IDk0ZjEwYTJhNDc2NTJkODRhNGM1NzQ2ZGQ3NWI5MWM5NTRiNDZiMWYu
LjgzZWRmYzlhZGY0MmJkNzBkNzJlNmU2NWI5OWEyMzEyNDBmNDNhODEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
eG1sL1hNTEh0dHBSZXF1ZXN0LmNwcApAQCAtMjQ1LDggKzI0NSw4IEBAIEV4Y2VwdGlvbk9yPHZv
aWQ+IFhNTEh0dHBSZXF1ZXN0OjpzZXRUaW1lb3V0KHVuc2lnbmVkIHRpbWVvdXQpCiAgICAgICAg
IHJldHVybiB7IH07CiAKICAgICAvLyBJZiB0aW1lb3V0IGlzIHplcm8sIHdlIHNob3VsZCB1c2Ug
dGhlIGRlZmF1bHQgbmV0d29yayB0aW1lb3V0LiBCdXQgd2UgZGlzYWJsZWQgaXQgc28gbGV0J3Mg
bWltaWMgaXQgd2l0aCBhIDYwIHNlY29uZHMgdGltZW91dCB2YWx1ZS4KLSAgICBzdGQ6OmNocm9u
bzo6ZHVyYXRpb248ZG91YmxlPiBpbnRlcnZhbCA9IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMg
eyBtX3RpbWVvdXRNaWxsaXNlY29uZHMgPyBtX3RpbWVvdXRNaWxsaXNlY29uZHMgOiA2MDAwMCB9
IC0gKHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygpIC0gbV9zZW5kaW5nVGltZSk7Ci0g
ICAgbV90aW1lb3V0VGltZXIuc3RhcnRPbmVTaG90KHN0ZDo6bWF4KDAuMCwgaW50ZXJ2YWwuY291
bnQoKSkpOworICAgIFNlY29uZHMgaW50ZXJ2YWwgPSBTZWNvbmRzIHsgbV90aW1lb3V0TWlsbGlz
ZWNvbmRzID8gbV90aW1lb3V0TWlsbGlzZWNvbmRzIC8gMTAwMC4gOiA2MC4gfSAtIChNb25vdG9u
aWNUaW1lOjpub3coKSAtIG1fc2VuZGluZ1RpbWUpOworICAgIG1fdGltZW91dFRpbWVyLnN0YXJ0
T25lU2hvdChzdGQ6Om1heChpbnRlcnZhbCwgMF9zKSk7CiAgICAgcmV0dXJuIHsgfTsKIH0KIApA
QCAtNzM3LDggKzczNyw4IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IFhNTEh0dHBSZXF1ZXN0OjpjcmVh
dGVSZXF1ZXN0KCkKICAgICAgICAgICAgIHJlcXVlc3Quc2V0VGltZW91dEludGVydmFsKG1fdGlt
ZW91dE1pbGxpc2Vjb25kcyAvIDEwMDAuMCk7CiAgICAgICAgIGVsc2UgewogICAgICAgICAgICAg
cmVxdWVzdC5zZXRUaW1lb3V0SW50ZXJ2YWwoc3RkOjpudW1lcmljX2xpbWl0czxkb3VibGU+Ojpp
bmZpbml0eSgpKTsKLSAgICAgICAgICAgIG1fc2VuZGluZ1RpbWUgPSBzdGQ6OmNocm9ubzo6c3Rl
YWR5X2Nsb2NrOjpub3coKTsKLSAgICAgICAgICAgIG1fdGltZW91dFRpbWVyLnN0YXJ0T25lU2hv
dChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHsgbV90aW1lb3V0TWlsbGlzZWNvbmRzIH0pOwor
ICAgICAgICAgICAgbV9zZW5kaW5nVGltZSA9IE1vbm90b25pY1RpbWU6Om5vdygpOworICAgICAg
ICAgICAgbV90aW1lb3V0VGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMgeyBtX3RpbWVvdXRNaWxs
aXNlY29uZHMgLyAxMDAwLiB9KTsKICAgICAgICAgfQogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmggYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1M
SHR0cFJlcXVlc3QuaAppbmRleCBkNjdiMjU5MjVkYTdkZDUzM2Q2NzdlOTY2MmJhZmVmZTg4MDBi
MzE5Li5mNmQ5NTk0ZjkxNTE0NjUwYzFlMDU5YjlmOGI3ZDBkMDU2ODU4Yjg5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS94bWwvWE1MSHR0cFJlcXVlc3QuaApAQCAtMjM4LDcgKzIzOCw3IEBAIHByaXZhdGU6CiAgICAg
dm9pZCBuZXR3b3JrRXJyb3JUaW1lckZpcmVkKCk7CiAKICAgICB1bnNpZ25lZCBtX3RpbWVvdXRN
aWxsaXNlY29uZHMgeyAwIH07Ci0gICAgc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6dGltZV9w
b2ludCBtX3NlbmRpbmdUaW1lOworICAgIE1vbm90b25pY1RpbWUgbV9zZW5kaW5nVGltZTsKICAg
ICBUaW1lciBtX3RpbWVvdXRUaW1lcjsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
bWFjL1dlYlZpZXcvV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmll
dy5tbQppbmRleCBkOTlmMGVkZGU4MTEzNDNmY2YxNjIwNDY1NWI3ZmE5ZDc1ZjA4NDJjLi4yY2E0
ZDFlYjEwOTRiNDY4NmIxMGU1ZDAzNDJiMWRiYjE5MDQ5YmIxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2Vi
Vmlldy9XZWJWaWV3Lm1tCkBAIC04NTIzLDcgKzg1MjMsNyBAQCArICh2b2lkKV9zZXRDYWNoZU1v
ZGVsOihXZWJDYWNoZU1vZGVsKWNhY2hlTW9kZWwKICAgICB1bnNpZ25lZCBjYWNoZVRvdGFsQ2Fw
YWNpdHkgPSAwOwogICAgIHVuc2lnbmVkIGNhY2hlTWluRGVhZENhcGFjaXR5ID0gMDsKICAgICB1
bnNpZ25lZCBjYWNoZU1heERlYWRDYXBhY2l0eSA9IDA7Ci0gICAgYXV0byBkZWFkRGVjb2RlZERh
dGFEZWxldGlvbkludGVydmFsID0gc3RkOjpjaHJvbm86OnNlY29uZHMgeyAwIH07CisgICAgU2Vj
b25kcyBkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsOwogCiAgICAgdW5zaWduZWQgcGFn
ZUNhY2hlU2l6ZSA9IDA7CiAKQEAgLTg2NTAsNyArODY1MCw3IEBAICsgKHZvaWQpX3NldENhY2hl
TW9kZWw6KFdlYkNhY2hlTW9kZWwpY2FjaGVNb2RlbAogICAgICAgICAvLyBjYW4gcHJvdmUgdGhh
dCB0aGUgb3ZlcmFsbCBzeXN0ZW0gZ2FpbiB3b3VsZCBqdXN0aWZ5IHRoZSByZWdyZXNzaW9uLgog
ICAgICAgICBjYWNoZU1heERlYWRDYXBhY2l0eSA9IHN0ZDo6bWF4PHVuc2lnbmVkPigyNCwgY2Fj
aGVNYXhEZWFkQ2FwYWNpdHkpOwogCi0gICAgICAgIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50
ZXJ2YWwgPSBzdGQ6OmNocm9ubzo6c2Vjb25kcyB7IDYwIH07CisgICAgICAgIGRlYWREZWNvZGVk
RGF0YURlbGV0aW9uSW50ZXJ2YWwgPSA2MF9zOwogCiAjaWYgUExBVEZPUk0oSU9TKQogICAgICAg
ICBpZiAobWVtU2l6ZSA+PSAxMDI0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vV2Vi
Vmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJWaWV3LmNwcAppbmRleCA5NmEyNzQ2MDEw
MmI1OTY3ZGJiYmU1ZWRlMmFjM2Q0Yzg3OTdiMzI5Li4zNDdjNTM2MGY2NmNhY2FmN2E5NjdhYzA1
ZWYyMmE4ODhmODIzNzA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJWaWV3LmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJWaWV3LmNwcApAQCAtNTI1LDcgKzUyNSw3IEBA
IHZvaWQgV2ViVmlldzo6c2V0Q2FjaGVNb2RlbChXZWJDYWNoZU1vZGVsIGNhY2hlTW9kZWwpCiAg
ICAgdW5zaWduZWQgY2FjaGVUb3RhbENhcGFjaXR5ID0gMDsKICAgICB1bnNpZ25lZCBjYWNoZU1p
bkRlYWRDYXBhY2l0eSA9IDA7CiAgICAgdW5zaWduZWQgY2FjaGVNYXhEZWFkQ2FwYWNpdHkgPSAw
OwotICAgIGF1dG8gZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCA9IHN0ZDo6Y2hyb25v
OjpzZWNvbmRzIHsgMCB9OworICAgIFNlY29uZHMgZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRl
cnZhbDsKIAogICAgIHVuc2lnbmVkIHBhZ2VDYWNoZVNpemUgPSAwOwogCkBAIC02MzcsNyArNjM3
LDcgQEAgdm9pZCBXZWJWaWV3OjpzZXRDYWNoZU1vZGVsKFdlYkNhY2hlTW9kZWwgY2FjaGVNb2Rl
bCkKICAgICAgICAgLy8gY2FuIHByb3ZlIHRoYXQgdGhlIG92ZXJhbGwgc3lzdGVtIGdhaW4gd291
bGQganVzdGlmeSB0aGUgcmVncmVzc2lvbi4KICAgICAgICAgY2FjaGVNYXhEZWFkQ2FwYWNpdHkg
PSBtYXgoMjR1LCBjYWNoZU1heERlYWRDYXBhY2l0eSk7CiAKLSAgICAgICAgZGVhZERlY29kZWRE
YXRhRGVsZXRpb25JbnRlcnZhbCA9IHN0ZDo6Y2hyb25vOjpzZWNvbmRzIHsgNjAgfTsKKyAgICAg
ICAgZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCA9IDYwX3M7CiAKICAgICAgICAgLy8g
TWVtb3J5IGNhY2hlIGNhcGFjaXR5IChpbiBieXRlcykKICAgICAgICAgLy8gKFRoZXNlIHZhbHVl
cyBhcmUgc21hbGwgYmVjYXVzZSBXZWJDb3JlIGRvZXMgbW9zdCBjYWNoaW5nIGl0c2VsZi4pCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrTG9hZC5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrTG9hZC5jcHAKaW5kZXggYTQ3
MWFlMzg0NTQ4YzM5MDUwMGE4OTg4ZDgzNDQ5ZTM1N2UwNDA5Yy4uMWIwYTYzNzczYmUyNjY2ZDJi
ZDc4MmM3YmEwNGZhZDM1Y2M3ZTFkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29y
a1Byb2Nlc3MvTmV0d29ya0xvYWQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9j
ZXNzL05ldHdvcmtMb2FkLmNwcApAQCAtMzgsNiArMzgsNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUv
U2Vzc2lvbklELmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9TaGFyZWRCdWZmZXIuaD4KICNpbmNsdWRl
IDx3dGYvTWFpblRocmVhZC5oPgorI2luY2x1ZGUgPHd0Zi9TZWNvbmRzLmg+CiAKICNpZiBQTEFU
Rk9STShDT0NPQSkKICNpbmNsdWRlICJOZXR3b3JrRGF0YVRhc2tDb2NvYS5oIgpAQCAtNTQsNyAr
NTUsNyBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKICNpZiBVU0UoTkVUV09SS19TRVNTSU9O
KQogCiBzdHJ1Y3QgTmV0d29ya0xvYWQ6OlRocm90dGxlIHsKLSAgICBUaHJvdHRsZShOZXR3b3Jr
TG9hZCYgbG9hZCwgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBkZWxheSwgUmVzb3VyY2VSZXNw
b25zZSYmIHJlc3BvbnNlLCBSZXNwb25zZUNvbXBsZXRpb25IYW5kbGVyJiYgaGFuZGxlcikKKyAg
ICBUaHJvdHRsZShOZXR3b3JrTG9hZCYgbG9hZCwgU2Vjb25kcyBkZWxheSwgUmVzb3VyY2VSZXNw
b25zZSYmIHJlc3BvbnNlLCBSZXNwb25zZUNvbXBsZXRpb25IYW5kbGVyJiYgaGFuZGxlcikKICAg
ICAgICAgOiB0aW1lcihsb2FkLCAmTmV0d29ya0xvYWQ6OnRocm90dGxlRGVsYXlDb21wbGV0ZWQp
CiAgICAgICAgICwgcmVzcG9uc2UoV1RGTW92ZShyZXNwb25zZSkpCiAgICAgICAgICwgcmVzcG9u
c2VDb21wbGV0aW9uSGFuZGxlcihXVEZNb3ZlKGhhbmRsZXIpKQpAQCAtMzc4LDcgKzM3OSw3IEBA
IHZvaWQgTmV0d29ya0xvYWQ6OmRpZFJlY2VpdmVSZXNwb25zZU5ldHdvcmtTZXNzaW9uKFJlc291
cmNlUmVzcG9uc2UmJiByZXNwb25zZSwKICAgICB9CiAKICAgICBhdXRvIGRlbGF5ID0gTmV0d29y
a1Byb2Nlc3M6OnNpbmdsZXRvbigpLmxvYWRUaHJvdHRsZUxhdGVuY3koKTsKLSAgICBpZiAoZGVs
YXkgPiAwbXMpIHsKKyAgICBpZiAoZGVsYXkgPiAwX3MpIHsKICAgICAgICAgbV90aHJvdHRsZSA9
IHN0ZDo6bWFrZV91bmlxdWU8VGhyb3R0bGU+KCp0aGlzLCBkZWxheSwgV1RGTW92ZShyZXNwb25z
ZSksIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNz
LmggYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCmluZGV4
IDU0OGMyZThkYWM1MzExZDJmNjczY2VmNzkzZGYzODk2ZjIzYWU0NTcuLjhmMDZiNjc5MzIwZWVj
MDRhN2JhOTc2YzI0NjVjMDFmNzc2NzBhMjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05l
dHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29y
a1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaApAQCAtMTIwLDcgKzEyMCw3IEBAIHB1YmxpYzoKICAg
ICB2b2lkIHNob3VsZFBhcnRpdGlvbkNvb2tpZXNGb3JUb3BQcml2YXRlbHlPd25lZERvbWFpbnMo
Y29uc3QgVmVjdG9yPFN0cmluZz4mIGRvbWFpbnNUb1JlbW92ZSwgY29uc3QgVmVjdG9yPFN0cmlu
Zz4mIGRvbWFpbnNUb0FkZCk7CiAjZW5kaWYKIAotICAgIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29u
ZHMgbG9hZFRocm90dGxlTGF0ZW5jeSgpIGNvbnN0IHsgcmV0dXJuIG1fbG9hZFRocm90dGxlTGF0
ZW5jeTsgfQorICAgIFNlY29uZHMgbG9hZFRocm90dGxlTGF0ZW5jeSgpIGNvbnN0IHsgcmV0dXJu
IG1fbG9hZFRocm90dGxlTGF0ZW5jeTsgfQogCiBwcml2YXRlOgogICAgIE5ldHdvcmtQcm9jZXNz
KCk7CkBAIC0yMTIsNyArMjEyLDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1fc3VwcHJlc3NNZW1v
cnlQcmVzc3VyZUhhbmRsZXIgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9kaXNrQ2FjaGVJc0Rpc2Fi
bGVkRm9yVGVzdGluZzsKICAgICBib29sIG1fY2FuSGFuZGxlSFRUUFNTZXJ2ZXJUcnVzdEV2YWx1
YXRpb247Ci0gICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBtX2xvYWRUaHJvdHRsZUxhdGVu
Y3k7CisgICAgU2Vjb25kcyBtX2xvYWRUaHJvdHRsZUxhdGVuY3k7CiAKICAgICB0eXBlZGVmIEhh
c2hNYXA8Y29uc3QgY2hhciosIHN0ZDo6dW5pcXVlX3B0cjxOZXR3b3JrUHJvY2Vzc1N1cHBsZW1l
bnQ+LCBQdHJIYXNoPGNvbnN0IGNoYXIqPj4gTmV0d29ya1Byb2Nlc3NTdXBwbGVtZW50TWFwOwog
ICAgIE5ldHdvcmtQcm9jZXNzU3VwcGxlbWVudE1hcCBtX3N1cHBsZW1lbnRzOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBh
cmFtZXRlcnMuY3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwCmluZGV4IGJmYWVlZWYwYTBjYTAzN2RlODYxMjcwZDNj
N2ExMTVjYjQ3ZTM5MzQuLjdkNmRmM2Q1NzFiOTQ5OTlkZTY0YjgzNmQxNDQzMzg1Nzk3ZWEwYWEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNz
Q3JlYXRpb25QYXJhbWV0ZXJzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAKQEAgLTI3LDE1ICsyNywxMiBA
QAogI2luY2x1ZGUgIk5ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgiCiAKICNpbmNs
dWRlICJBcmd1bWVudENvZGVycy5oIgorI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5o
IgogCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAjaW5jbHVkZSAiQXJndW1lbnRDb2RlcnNDRi5oIgog
I2VuZGlmCiAKLSNpZiBVU0UoU09VUCkKLSNpbmNsdWRlICJXZWJDb3JlQXJndW1lbnRDb2RlcnMu
aCIKLSNlbmRpZgotCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogTmV0d29ya1Byb2Nlc3NDcmVhdGlv
blBhcmFtZXRlcnM6Ok5ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzKCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzQ3JlYXRpb25Q
YXJhbWV0ZXJzLmggYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vz
c0NyZWF0aW9uUGFyYW1ldGVycy5oCmluZGV4IGRkNGUyZWUxMTNkZWRhN2YxNTU1MWI1YjRlZjU0
YzFiYTY2ODVhYTMuLmQzNDI5Nzg0YzZjZDkwMTlmNjBkYzZhMDJiMjhiOGFhY2Y1YmZjNTkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzLmgKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0
d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaApAQCAtNzMsNyArNzMsNyBAQCBzdHJ1Y3Qg
TmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMgewogI2VuZGlmCiAgICAgYm9vbCBzaG91
bGRTdXBwcmVzc01lbW9yeVByZXNzdXJlSGFuZGxlciB7IGZhbHNlIH07CiAgICAgYm9vbCBzaG91
bGRVc2VUZXN0aW5nTmV0d29ya1Nlc3Npb24geyBmYWxzZSB9OwotICAgIHN0ZDo6Y2hyb25vOjpt
aWxsaXNlY29uZHMgbG9hZFRocm90dGxlTGF0ZW5jeSB7IDBtcyB9OworICAgIFNlY29uZHMgbG9h
ZFRocm90dGxlTGF0ZW5jeTsKIAogICAgIFZlY3RvcjxTdHJpbmc+IHVybFNjaGVtZXNSZWdpc3Rl
cmVkRm9yQ3VzdG9tUHJvdG9jb2xzOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycy5oIGIvU291cmNlL1dlYktp
dDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMuaAppbmRleCBl
ZTZmOWNiYjcxYWIzNjJkNTQzNzBhN2U4ZWY5NGUwOTdhODM0YmRiLi5jMWRhNDU3NDlhNDY1YWU0
ZmRiM2RhMzg1MjRiYmIyNTA2YTNmZWI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycy5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzLmgKQEAg
LTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlTG9hZGVyT3B0aW9ucy5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VSZXF1ZXN0Lmg+CiAjaW5jbHVkZSA8V2ViQ29y
ZS9TZXNzaW9uSUQuaD4KKyNpbmNsdWRlIDx3dGYvU2Vjb25kcy5oPgogCiBuYW1lc3BhY2UgSVBD
IHsKIGNsYXNzIERlY29kZXI7CkBAIC01MCw3ICs1MSw3IEBAIHB1YmxpYzoKICAgICBSZXNvdXJj
ZUxvYWRJZGVudGlmaWVyIGlkZW50aWZpZXIgeyAwIH07CiAgICAgVmVjdG9yPFJlZlB0cjxTYW5k
Ym94RXh0ZW5zaW9uPj4gcmVxdWVzdEJvZHlTYW5kYm94RXh0ZW5zaW9uczsgLy8gQ3JlYXRlZCBh
dXRvbWF0aWNhbGx5IGZvciB0aGUgc2VuZGVyLgogICAgIFJlZlB0cjxTYW5kYm94RXh0ZW5zaW9u
PiByZXNvdXJjZVNhbmRib3hFeHRlbnNpb247IC8vIENyZWF0ZWQgYXV0b21hdGljYWxseSBmb3Ig
dGhlIHNlbmRlci4KLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG1heGltdW1CdWZmZXJp
bmdUaW1lIHsgMG1zIH07CisgICAgU2Vjb25kcyBtYXhpbXVtQnVmZmVyaW5nVGltZTsKICAgICBW
ZWN0b3I8U3RyaW5nPiBkZXJpdmVkQ2FjaGVkRGF0YVR5cGVzVG9SZXRyaWV2ZTsKIH07CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxv
YWRlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VM
b2FkZXIuY3BwCmluZGV4IDljYmI5ZDg1NmQ3OGIyY2JjMDcyNmQwMGM2ZGMxODA2NWRjOTRhZjQu
LjVmNGQ4MzdkNGUxODQ1M2ViZWM2ODA0NGQ5MzM0NzI3Y2JkZGIyYWIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNw
cApAQCAtMjEwLDcgKzIxMCw3IEBAIHZvaWQgTmV0d29ya1Jlc291cmNlTG9hZGVyOjpzdGFydE5l
dHdvcmtMb2FkKGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCkKIAogICAgIGNvbnN1bWVT
YW5kYm94RXh0ZW5zaW9ucygpOwogCi0gICAgaWYgKGlzU3luY2hyb25vdXMoKSB8fCBtX3BhcmFt
ZXRlcnMubWF4aW11bUJ1ZmZlcmluZ1RpbWUgPiAwbXMpCisgICAgaWYgKGlzU3luY2hyb25vdXMo
KSB8fCBtX3BhcmFtZXRlcnMubWF4aW11bUJ1ZmZlcmluZ1RpbWUgPiAwX3MpCiAgICAgICAgIG1f
YnVmZmVyZWREYXRhID0gU2hhcmVkQnVmZmVyOjpjcmVhdGUoKTsKIAogI2lmIEVOQUJMRShORVRX
T1JLX0NBQ0hFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2Fj
aGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWRNYW5hZ2Vy
LmNwcAppbmRleCBkYjM2YmI4ZWIyYWQ5NDg3NzI1MDIzMGU4NDQ0YTg1M2E0MGQzMGQ5Li5mMDMx
ODNkOGJlMTMxZjJjNTRkMjM4OTc0MmViZWRjM2RlODU0N2JjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWRN
YW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3
b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmNwcApAQCAtMzksNiArMzksNyBAQAogI2lu
Y2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+
CiAjaW5jbHVkZSA8d3RmL1J1bkxvb3AuaD4KKyNpbmNsdWRlIDx3dGYvU2Vjb25kcy5oPgogCiBu
YW1lc3BhY2UgV2ViS2l0IHsKIApAQCAtNDYsNyArNDcsNyBAQCBuYW1lc3BhY2UgTmV0d29ya0Nh
Y2hlIHsKIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKLXN0YXRpYyBjb25zdCBhdXRvIHBy
ZWxvYWRlZEVudHJ5TGlmZXRpbWUgPSAxMHM7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBwcmVsb2Fk
ZWRFbnRyeUxpZmV0aW1lIHsgMTBfcyB9OwogCiAjaWYgIUxPR19ESVNBQkxFRAogc3RhdGljIEhh
c2hDb3VudGVkU2V0PFN0cmluZz4mIGFsbFNwZWN1bGF0aXZlTG9hZGluZ0RpYWdub3N0aWNNZXNz
YWdlcygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9O
ZXR3b3JrQ2FjaGVTdGF0aXN0aWNzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNz
L2NhY2hlL05ldHdvcmtDYWNoZVN0YXRpc3RpY3MuY3BwCmluZGV4IDBmYzhkMWQzZDhjMTM1YWVj
ZjE5YTg3MGM2NmY1NzYyNmE1MWJmOTMuLmVjZGFmZWFkNGE4OTNhOTQxZWM3NWUzZDNiYWQxM2I3
MzliNjI5NWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hl
L05ldHdvcmtDYWNoZVN0YXRpc3RpY3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQ
cm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVN0YXRpc3RpY3MuY3BwCkBAIC0zOSwxMiArMzksMTMg
QEAKICNpbmNsdWRlIDxXZWJDb3JlL1NRTGl0ZVN0YXRlbWVudC5oPgogI2luY2x1ZGUgPFdlYkNv
cmUvU1FMaXRlVHJhbnNhY3Rpb24uaD4KICNpbmNsdWRlIDx3dGYvUnVuTG9vcC5oPgorI2luY2x1
ZGUgPHd0Zi9TZWNvbmRzLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogbmFtZXNwYWNlIE5ldHdv
cmtDYWNoZSB7CiAKIHN0YXRpYyBjb25zdCBjaGFyKiBTdGF0aXN0aWNzRGF0YWJhc2VOYW1lID0g
IldlYktpdENhY2hlU3RhdGlzdGljcy5kYiI7Ci1zdGF0aWMgY29uc3Qgc3RkOjpjaHJvbm86Om1p
bGxpc2Vjb25kcyBtaW5pbnVtV3JpdGVJbnRlcnZhbCA9IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29u
ZHMoMTAwMDApOworc3RhdGljIGNvbnN0IFNlY29uZHMgbWluaW51bVdyaXRlSW50ZXJ2YWwgeyAx
MF9zIH07CiAKIHN0YXRpYyBib29sIGV4ZWN1dGVTUUxDb21tYW5kKFdlYkNvcmU6OlNRTGl0ZURh
dGFiYXNlJiBkYXRhYmFzZSwgY29uc3QgU3RyaW5nJiBzcWwpCiB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTdG9yYWdlLmNwcCBi
L1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVN0b3JhZ2Uu
Y3BwCmluZGV4IDI2YTU3YTIyNDM3OWNhMGIwODcwMGRkODNmYmY2ZmZjMTRhYTIzZTguLmNiYjQ1
N2IyMGNhMGQ0NzcxOThkNzdiM2IxNmQ5NjQwNjI5MDNmYjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVN0b3JhZ2UuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVN0b3JhZ2Uu
Y3BwCkBAIC01NzcsNyArNTc3LDcgQEAgdm9pZCBTdG9yYWdlOjpkaXNwYXRjaFJlYWRPcGVyYXRp
b24oc3RkOjp1bmlxdWVfcHRyPFJlYWRPcGVyYXRpb24+IHJlYWRPcGVyYXRpb24KICAgICAvLyBB
dm9pZCByYW5kb21uZXNzIGR1cmluZyB0ZXN0aW5nLgogICAgIGlmIChtX21vZGUgIT0gTW9kZTo6
VGVzdGluZykgewogICAgICAgICAvLyBJL08gcHJlc3N1cmUgbWF5IG1ha2UgZGlzayBvcGVyYXRp
b25zIHNsb3cuIElmIHRoZXkgc3RhcnQgdGFraW5nIHZlcnkgbG9uZyB0aW1lIHdlIHJhdGhlciBn
byB0byBuZXR3b3JrLgotICAgICAgICBjb25zdCBhdXRvIHJlYWRUaW1lb3V0ID0gMTUwMG1zOwor
ICAgICAgICBjb25zdCBTZWNvbmRzIHJlYWRUaW1lb3V0ID0gMTUwMF9tczsKICAgICAgICAgbV9y
ZWFkT3BlcmF0aW9uVGltZW91dFRpbWVyLnN0YXJ0T25lU2hvdChyZWFkVGltZW91dCk7CiAgICAg
fQogCkBAIC04MDAsNyArODAwLDcgQEAgdm9pZCBTdG9yYWdlOjpzdG9yZShjb25zdCBSZWNvcmQm
IHJlY29yZCwgTWFwcGVkQm9keUhhbmRsZXImJiBtYXBwZWRCb2R5SGFuZGxlcikKIAogICAgIC8v
IERlbGF5IHRoZSBzdGFydCBvZiB3cml0ZXMgYSBiaXQgdG8gYXZvaWQgYWZmZWN0aW5nIGVhcmx5
IHBhZ2UgbG9hZC4KICAgICAvLyBDb21wbGV0aW5nIHdyaXRlcyB3aWxsIGRpc3BhdGNoIG1vcmUg
d3JpdGVzIHdpdGhvdXQgZGVsYXkuCi0gICAgc3RhdGljIGNvbnN0IGF1dG8gaW5pdGlhbFdyaXRl
RGVsYXkgPSAxczsKKyAgICBzdGF0aWMgY29uc3QgU2Vjb25kcyBpbml0aWFsV3JpdGVEZWxheSA9
IDFfczsKICAgICBtX3dyaXRlT3BlcmF0aW9uRGlzcGF0Y2hUaW1lci5zdGFydE9uZVNob3QoaW5p
dGlhbFdyaXRlRGVsYXkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
Q2FjaGVNb2RlbC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2FjaGVNb2RlbC5jcHAKaW5k
ZXggNDAzZjM0ZGZjZDRiN2FkYzQ5YmEwNDYyYjlmZGVmYTZkZWYzZmQ0NS4uOGExM2M2YzJiYTgw
NzZkOTk5ZjkzMWI3ZGY5Y2FiYWZkNzcxOWRlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
U2hhcmVkL0NhY2hlTW9kZWwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9DYWNoZU1v
ZGVsLmNwcApAQCAtMjgsMTEgKzI4LDEyIEBACiAKICNpbmNsdWRlIDxhbGdvcml0aG0+CiAjaW5j
bHVkZSA8d3RmL1JBTVNpemUuaD4KKyNpbmNsdWRlIDx3dGYvU2Vjb25kcy5oPgogI2luY2x1ZGUg
PHd0Zi9TdGRMaWJFeHRyYXMuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLXZvaWQgY2FsY3Vs
YXRlTWVtb3J5Q2FjaGVTaXplcyhDYWNoZU1vZGVsIGNhY2hlTW9kZWwsIHVuc2lnbmVkJiBjYWNo
ZVRvdGFsQ2FwYWNpdHksIHVuc2lnbmVkJiBjYWNoZU1pbkRlYWRDYXBhY2l0eSwgdW5zaWduZWQm
IGNhY2hlTWF4RGVhZENhcGFjaXR5LCBzdGQ6OmNocm9ubzo6c2Vjb25kcyYgZGVhZERlY29kZWRE
YXRhRGVsZXRpb25JbnRlcnZhbCwgdW5zaWduZWQmIHBhZ2VDYWNoZUNhcGFjaXR5KQordm9pZCBj
YWxjdWxhdGVNZW1vcnlDYWNoZVNpemVzKENhY2hlTW9kZWwgY2FjaGVNb2RlbCwgdW5zaWduZWQm
IGNhY2hlVG90YWxDYXBhY2l0eSwgdW5zaWduZWQmIGNhY2hlTWluRGVhZENhcGFjaXR5LCB1bnNp
Z25lZCYgY2FjaGVNYXhEZWFkQ2FwYWNpdHksIFNlY29uZHMmIGRlYWREZWNvZGVkRGF0YURlbGV0
aW9uSW50ZXJ2YWwsIHVuc2lnbmVkJiBwYWdlQ2FjaGVDYXBhY2l0eSkKIHsKICAgICB1aW50NjRf
dCBtZW1vcnlTaXplID0gcmFtU2l6ZSgpIC8gTUI7CiAKQEAgLTEwOSw3ICsxMTAsNyBAQCB2b2lk
IGNhbGN1bGF0ZU1lbW9yeUNhY2hlU2l6ZXMoQ2FjaGVNb2RlbCBjYWNoZU1vZGVsLCB1bnNpZ25l
ZCYgY2FjaGVUb3RhbENhcGFjaQogICAgICAgICAvLyBjYW4gcHJvdmUgdGhhdCB0aGUgb3ZlcmFs
bCBzeXN0ZW0gZ2FpbiB3b3VsZCBqdXN0aWZ5IHRoZSByZWdyZXNzaW9uLgogICAgICAgICBjYWNo
ZU1heERlYWRDYXBhY2l0eSA9IHN0ZDo6bWF4KDI0dSwgY2FjaGVNYXhEZWFkQ2FwYWNpdHkpOwog
Ci0gICAgICAgIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwgPSBzdGQ6OmNocm9ubzo6
c2Vjb25kcyB7IDYwIH07CisgICAgICAgIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwg
PSA2MF9zOwogCiAgICAgICAgIGJyZWFrOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9DYWNoZU1vZGVsLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2FjaGVNb2Rl
bC5oCmluZGV4IGNmNDczNDU0ZmUyYWMzM2QzY2E0M2E3MmZhNTkzZTRjNGU1MWQzZDUuLjJmNTdh
NmY1MWZiODRkYWYzNDE4MWE5ZTBmNzQ1ZTI2ZDM3NzFlZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9DYWNoZU1vZGVsLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0Nh
Y2hlTW9kZWwuaApAQCAtMjMsMTEgKzIzLDEwIEBACiAgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCiAgKi8KIAotI2lmbmRlZiBDYWNoZU1vZGVsX2gKLSNkZWZpbmUgQ2FjaGVNb2Rl
bF9oCisjcHJhZ21hIG9uY2UKIAotI2luY2x1ZGUgPGNocm9ubz4KICNpbmNsdWRlIDxzdGRpbnQu
aD4KKyNpbmNsdWRlIDx3dGYvU2Vjb25kcy5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIApAQCAt
MzcsOSArMzYsNyBAQCBlbnVtIENhY2hlTW9kZWwgewogICAgIENhY2hlTW9kZWxQcmltYXJ5V2Vi
QnJvd3NlcgogfTsKIAotdm9pZCBjYWxjdWxhdGVNZW1vcnlDYWNoZVNpemVzKENhY2hlTW9kZWws
IHVuc2lnbmVkJiBjYWNoZVRvdGFsQ2FwYWNpdHksIHVuc2lnbmVkJiBjYWNoZU1pbkRlYWRDYXBh
Y2l0eSwgdW5zaWduZWQmIGNhY2hlTWF4RGVhZENhcGFjaXR5LCBzdGQ6OmNocm9ubzo6c2Vjb25k
cyYgZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCwgdW5zaWduZWQmIHBhZ2VDYWNoZUNh
cGFjaXR5KTsKK3ZvaWQgY2FsY3VsYXRlTWVtb3J5Q2FjaGVTaXplcyhDYWNoZU1vZGVsLCB1bnNp
Z25lZCYgY2FjaGVUb3RhbENhcGFjaXR5LCB1bnNpZ25lZCYgY2FjaGVNaW5EZWFkQ2FwYWNpdHks
IHVuc2lnbmVkJiBjYWNoZU1heERlYWRDYXBhY2l0eSwgU2Vjb25kcyYgZGVhZERlY29kZWREYXRh
RGVsZXRpb25JbnRlcnZhbCwgdW5zaWduZWQmIHBhZ2VDYWNoZUNhcGFjaXR5KTsKIHZvaWQgY2Fs
Y3VsYXRlVVJMQ2FjaGVTaXplcyhDYWNoZU1vZGVsLCB1aW50NjRfdCBkaXNrRnJlZVNpemUsIHVu
c2lnbmVkJiB1cmxDYWNoZU1lbW9yeUNhcGFjaXR5LCB1aW50NjRfdCYgdXJsQ2FjaGVEaXNrQ2Fw
YWNpdHkpOwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKLQotI2VuZGlmIC8vIENhY2hlTW9kZWxf
aApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllckJhY2tp
bmdTdG9yZUNvbGxlY3Rpb24ubW0gYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxh
eWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbi5tbQppbmRleCAyNjgzNmU3YmYzODY0N2U0ODAwYTY0
YjBjNzVjZTZmZmIwY2ExNGJlLi4wZjRkZWEyODRlNjE3YmVlYjA0NWFhNjZjMzNkNzc2N2FkNGRj
NTZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyQmFj
a2luZ1N0b3JlQ29sbGVjdGlvbi5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1Jl
bW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbi5tbQpAQCAtMzIsNyArMzIsNyBAQAogCiBj
b25zdCBzdGQ6OmNocm9ubzo6c2Vjb25kcyB2b2xhdGlsZUJhY2tpbmdTdG9yZUFnZVRocmVzaG9s
ZCA9IDFzOwogY29uc3Qgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyB2b2xhdGlsZVNlY29uZGFy
eUJhY2tpbmdTdG9yZUFnZVRocmVzaG9sZCA9IDIwMG1zOwotY29uc3Qgc3RkOjpjaHJvbm86Om1p
bGxpc2Vjb25kcyB2b2xhdGlsaXR5VGltZXJJbnRlcnZhbCA9IDIwMG1zOworY29uc3QgU2Vjb25k
cyB2b2xhdGlsaXR5VGltZXJJbnRlcnZhbCA9IDIwMF9tczsKIAogbmFtZXNwYWNlIFdlYktpdCB7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNz
UG9vbENvY29hLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQ
b29sQ29jb2EubW0KaW5kZXggZjQ3M2I1ZDgxMjE4ZWJmMmYwMmE5YWZmZmJhYTVlMTQ5OTliOGFm
Ni4uZDQxY2VkMGE3ZGMyYTNiZWE2YjlhNzVjN2VjMjcyYzY5YTc1ZTUzNCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0KKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0K
QEAgLTI5Miw3ICsyOTIsNyBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjpwbGF0Zm9ybUluaXRpYWxp
emVOZXR3b3JrUHJvY2VzcyhOZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYQogI2VuZGlmCiAKICAg
ICBwYXJhbWV0ZXJzLnNob3VsZFN1cHByZXNzTWVtb3J5UHJlc3N1cmVIYW5kbGVyID0gW2RlZmF1
bHRzIGJvb2xGb3JLZXk6V2ViS2l0U3VwcHJlc3NNZW1vcnlQcmVzc3VyZUhhbmRsZXJEZWZhdWx0
c0tleV07Ci0gICAgcGFyYW1ldGVycy5sb2FkVGhyb3R0bGVMYXRlbmN5ID0gc3RkOjpjaHJvbm86
Om1pbGxpc2Vjb25kcyhbZGVmYXVsdHMgaW50ZWdlckZvcktleTpXZWJLaXROZXR3b3JrTG9hZFRo
cm90dGxlTGF0ZW5jeU1pbGxpc2Vjb25kc0RlZmF1bHRzS2V5XSk7CisgICAgcGFyYW1ldGVycy5s
b2FkVGhyb3R0bGVMYXRlbmN5ID0gU2Vjb25kcyB7IFtkZWZhdWx0cyBpbnRlZ2VyRm9yS2V5Oldl
YktpdE5ldHdvcmtMb2FkVGhyb3R0bGVMYXRlbmN5TWlsbGlzZWNvbmRzRGVmYXVsdHNLZXldIC8g
MTAwMC4gfTsKIAogI2lmIFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9S
RVFVSVJFRCA+PSAxMDExMDAKICAgICBSZXRhaW5QdHI8Q0ZEYXRhUmVmPiBjb29raWVTdG9yYWdl
RGF0YSA9IGFkb3B0Q0YoQ0ZIVFRQQ29va2llU3RvcmFnZUNyZWF0ZUlkZW50aWZ5aW5nRGF0YShr
Q0ZBbGxvY2F0b3JEZWZhdWx0LCBbW05TSFRUUENvb2tpZVN0b3JhZ2Ugc2hhcmVkSFRUUENvb2tp
ZVN0b3JhZ2VdIF9jb29raWVTdG9yYWdlXSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9OZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5LmNwcCBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvTmV0d29yay9XZWJMb2FkZXJTdHJhdGVneS5jcHAKaW5kZXggNTA1YTk1YTk4
OGU2NzA5MzY4OTYxN2QwMjc0NDkyMWZjNmNiMTM4NC4uNTI0NjE5ZjEzMzM1ZWY4YTZmN2NkNDAx
OWJjMzJmYjA4YWFiMzg5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9O
ZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL05ldHdvcmsvV2ViTG9hZGVyU3RyYXRlZ3kuY3BwCkBAIC05OSwxMCArOTksMTAgQEAgUmVm
UHRyPE5ldHNjYXBlUGx1Z0luU3RyZWFtTG9hZGVyPiBXZWJMb2FkZXJTdHJhdGVneTo6c2NoZWR1
bGVQbHVnaW5TdHJlYW1Mb2FkKEYKICAgICByZXR1cm4gbG9hZGVyOwogfQogCi1zdGF0aWMgc3Rk
OjpjaHJvbm86Om1pbGxpc2Vjb25kcyBtYXhpbXVtQnVmZmVyaW5nVGltZShDYWNoZWRSZXNvdXJj
ZSogcmVzb3VyY2UpCitzdGF0aWMgU2Vjb25kcyBtYXhpbXVtQnVmZmVyaW5nVGltZShDYWNoZWRS
ZXNvdXJjZSogcmVzb3VyY2UpCiB7CiAgICAgaWYgKCFyZXNvdXJjZSkKLSAgICAgICAgcmV0dXJu
IDBtczsKKyAgICAgICAgcmV0dXJuIDBfczsKIAogICAgIHN3aXRjaCAocmVzb3VyY2UtPnR5cGUo
KSkgewogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OkNTU1N0eWxlU2hlZXQ6CkBAIC0xMTEsOSAr
MTExLDkgQEAgc3RhdGljIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgbWF4aW11bUJ1ZmZlcmlu
Z1RpbWUoQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNlKQogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6
OlNWR0ZvbnRSZXNvdXJjZToKICNlbmRpZgogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OkZvbnRS
ZXNvdXJjZToKLSAgICAgICAgcmV0dXJuIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHM6Om1heCgp
OworICAgICAgICByZXR1cm4gU2Vjb25kczo6aW5maW5pdHkoKTsKICAgICBjYXNlIENhY2hlZFJl
c291cmNlOjpJbWFnZVJlc291cmNlOgotICAgICAgICByZXR1cm4gNTAwbXM7CisgICAgICAgIHJl
dHVybiA1MDBfbXM7CiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6TWVkaWFSZXNvdXJjZToKICAg
ICBjYXNlIENhY2hlZFJlc291cmNlOjpNYWluUmVzb3VyY2U6CiAgICAgY2FzZSBDYWNoZWRSZXNv
dXJjZTo6UmF3UmVzb3VyY2U6CkBAIC0xMjgsMTEgKzEyOCwxMSBAQCBzdGF0aWMgc3RkOjpjaHJv
bm86Om1pbGxpc2Vjb25kcyBtYXhpbXVtQnVmZmVyaW5nVGltZShDYWNoZWRSZXNvdXJjZSogcmVz
b3VyY2UpCiAjaWYgRU5BQkxFKFhTTFQpCiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6WFNMU3R5
bGVTaGVldDoKICNlbmRpZgotICAgICAgICByZXR1cm4gMG1zOworICAgICAgICByZXR1cm4gMF9z
OwogICAgIH0KIAogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIHJldHVybiAwbXM7Cisg
ICAgcmV0dXJuIDBfczsKIH0KIAogdm9pZCBXZWJMb2FkZXJTdHJhdGVneTo6c2NoZWR1bGVMb2Fk
KFJlc291cmNlTG9hZGVyJiByZXNvdXJjZUxvYWRlciwgQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNl
LCBib29sIHNob3VsZENsZWFyUmVmZXJyZXJPbkhUVFBTVG9IVFRQUmVkaXJlY3QpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5jcHAKaW5kZXggNDhl
MjAxODhjYmRkM2RhNjZhOTEyMjU4MjcyZWM3ZTFkNjczYzJhYy4uNmNiMDNkMGQ0NjNjZDE5MTgw
YzAyNjg4NzkxMWIyYWJjMjUwMDYyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9QbHVnaW5zL1BsdWdpblZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvUGx1Z2lucy9QbHVnaW5WaWV3LmNwcApAQCAtODIsNyArODIsNyBAQCB1c2luZyBuYW1lc3Bh
Y2UgV2ViQ29yZTsKIG5hbWVzcGFjZSBXZWJLaXQgewogCiAvLyBUaGlzIHNpbXVsYXRlZCBtb3Vz
ZSBjbGljayBkZWxheSBpbiBIVE1MUGx1Z0luSW1hZ2VFbGVtZW50LmNwcCBzaG91bGQgZ2VuZXJh
bGx5IGJlIHRoZSBzYW1lIG9yIHNob3J0ZXIgdGhhbiB0aGlzIGRlbGF5Lgotc3RhdGljIGNvbnN0
IGF1dG8gcGx1Z2luU25hcHNob3RUaW1lckRlbGF5ID0gc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25k
cyB7IDExMDAgfTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHBsdWdpblNuYXBzaG90VGltZXJEZWxh
eSB7IDExMDBfbXMgfTsKIAogY2xhc3MgUGx1Z2luVmlldzo6VVJMUmVxdWVzdCA6IHB1YmxpYyBS
ZWZDb3VudGVkPFVSTFJlcXVlc3Q+IHsKIHB1YmxpYzoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWEubW0g
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1JlbW90ZUxheWVyVHJlZURy
YXdpbmdBcmVhLm1tCmluZGV4IDRjYmMwZTM1NWZkN2YyODBlMzE4YTQzNjljOTlkZmE0MzAzYTA4
ZTMuLjVjNWVkYTMxYzY0OGY3NmEyOWEwMTE5NjgyZGNlMTFmZjhiZjBhN2MgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJh
d2luZ0FyZWEubW0KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9S
ZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYS5tbQpAQCAtMjg1LDcgKzI4NSw3IEBAIFRpbGVkQmFj
a2luZyogUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWE6Om1haW5GcmFtZVRpbGVkQmFja2luZygp
IGNvbnN0CiAKIHZvaWQgUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWE6OnNjaGVkdWxlQ29tcG9z
aXRpbmdMYXllckZsdXNoSW1tZWRpYXRlbHkoKQogewotICAgIG1fbGF5ZXJGbHVzaFRpbWVyLnN0
YXJ0T25lU2hvdCgwbXMpOworICAgIG1fbGF5ZXJGbHVzaFRpbWVyLnN0YXJ0T25lU2hvdCgwX3Mp
OwogfQogCiB2b2lkIFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhOjpzY2hlZHVsZUNvbXBvc2l0
aW5nTGF5ZXJGbHVzaCgpCkBAIC0zMDQsOSArMzA0LDkgQEAgdm9pZCBSZW1vdGVMYXllclRyZWVE
cmF3aW5nQXJlYTo6c2NoZWR1bGVDb21wb3NpdGluZ0xheWVyRmx1c2goKQogICAgIGlmIChtX2xh
eWVyRmx1c2hUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBjb25zdCBh
dXRvIGluaXRpYWxGbHVzaERlbGF5ID0gNTAwbXM7Ci0gICAgY29uc3QgYXV0byBmbHVzaERlbGF5
ID0gMTUwMG1zOwotICAgIGF1dG8gdGhyb3R0bGVEZWxheSA9IG1faXNUaHJvdHRsaW5nTGF5ZXJG
bHVzaGVzID8gKG1faXNJbml0aWFsVGhyb3R0bGVkTGF5ZXJGbHVzaCA/IGluaXRpYWxGbHVzaERl
bGF5IDogZmx1c2hEZWxheSkgOiAwbXM7CisgICAgY29uc3QgU2Vjb25kcyBpbml0aWFsRmx1c2hE
ZWxheSA9IDUwMF9tczsKKyAgICBjb25zdCBTZWNvbmRzIGZsdXNoRGVsYXkgPSAxNTAwX21zOwor
ICAgIFNlY29uZHMgdGhyb3R0bGVEZWxheSA9IG1faXNUaHJvdHRsaW5nTGF5ZXJGbHVzaGVzID8g
KG1faXNJbml0aWFsVGhyb3R0bGVkTGF5ZXJGbHVzaCA/IGluaXRpYWxGbHVzaERlbGF5IDogZmx1
c2hEZWxheSkgOiAwX3M7CiAgICAgbV9pc0luaXRpYWxUaHJvdHRsZWRMYXllckZsdXNoID0gZmFs
c2U7CiAKICAgICBtX2xheWVyRmx1c2hUaW1lci5zdGFydE9uZVNob3QodGhyb3R0bGVEZWxheSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAppbmRleCAxZDUwMjE1YTIw
MzExNGI0ZjIzZDVkNThmMmQyNTNmZjc5MDU2ZDVlLi5mMTNiY2EwZGM3MzNkMDllMDE0M2E5OTBh
NGQ0N2FmNGFiNGU4OTQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5j
cHAKQEAgLTIwMCw3ICsyMDAsNyBAQCBXZWJQcm9jZXNzOjpXZWJQcm9jZXNzKCkKICAgICBtX3Jl
c291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS0+c2V0Tm90aWZpY2F0aW9uQ2FsbGJhY2soW3RoaXNd
IHsKICAgICAgICAgaWYgKG1fc3RhdGlzdGljc0NoYW5nZWRUaW1lci5pc0FjdGl2ZSgpKQogICAg
ICAgICAgICAgcmV0dXJuOwotICAgICAgICBtX3N0YXRpc3RpY3NDaGFuZ2VkVGltZXIuc3RhcnRP
bmVTaG90KHN0ZDo6Y2hyb25vOjpzZWNvbmRzKDUpKTsKKyAgICAgICAgbV9zdGF0aXN0aWNzQ2hh
bmdlZFRpbWVyLnN0YXJ0T25lU2hvdCg1X3MpOwogICAgIH0pOwogfQogCkBAIC01NDAsNyArNTQw
LDcgQEAgdm9pZCBXZWJQcm9jZXNzOjpzZXRDYWNoZU1vZGVsKHVpbnQzMl90IGNtKQogICAgIHVu
c2lnbmVkIGNhY2hlVG90YWxDYXBhY2l0eSA9IDA7CiAgICAgdW5zaWduZWQgY2FjaGVNaW5EZWFk
Q2FwYWNpdHkgPSAwOwogICAgIHVuc2lnbmVkIGNhY2hlTWF4RGVhZENhcGFjaXR5ID0gMDsKLSAg
ICBhdXRvIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwgPSBzdGQ6OmNocm9ubzo6c2Vj
b25kcyB7IDAgfTsKKyAgICBTZWNvbmRzIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWw7
CiAgICAgdW5zaWduZWQgcGFnZUNhY2hlU2l6ZSA9IDA7CiAgICAgY2FsY3VsYXRlTWVtb3J5Q2Fj
aGVTaXplcyhjYWNoZU1vZGVsLCBjYWNoZVRvdGFsQ2FwYWNpdHksIGNhY2hlTWluRGVhZENhcGFj
aXR5LCBjYWNoZU1heERlYWRDYXBhY2l0eSwgZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZh
bCwgcGFnZUNhY2hlU2l6ZSk7CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>