<?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>233051</bug_id>
          
          <creation_ts>2021-11-12 10:39:15 -0800</creation_ts>
          <short_desc>Attach IOHIDEvent timestamps to wheel events</short_desc>
          <delta_ts>2021-11-14 10:38:54 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>UI Events</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1814514</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-11-12 10:39:15 -0800</bug_when>
    <thetext>Attach IOHIDEvent timestamps to wheel events</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1814516</commentid>
    <comment_count>1</comment_count>
      <attachid>444081</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-11-12 10:47:40 -0800</bug_when>
    <thetext>Created attachment 444081
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1814517</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-11-12 10:48:27 -0800</bug_when>
    <thetext>&lt;rdar://problem/85349306&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1814833</commentid>
    <comment_count>3</comment_count>
      <attachid>444165</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-11-13 21:32:17 -0800</bug_when>
    <thetext>Created attachment 444165
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1814834</commentid>
    <comment_count>4</comment_count>
      <attachid>444166</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-11-13 21:48:04 -0800</bug_when>
    <thetext>Created attachment 444166
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1814835</commentid>
    <comment_count>5</comment_count>
      <attachid>444167</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-11-13 22:37:43 -0800</bug_when>
    <thetext>Created attachment 444167
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1814836</commentid>
    <comment_count>6</comment_count>
      <attachid>444168</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-11-13 23:16:17 -0800</bug_when>
    <thetext>Created attachment 444168
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1814837</commentid>
    <comment_count>7</comment_count>
      <attachid>444169</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-11-13 23:23:05 -0800</bug_when>
    <thetext>Created attachment 444169
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1814869</commentid>
    <comment_count>8</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-11-14 10:38:52 -0800</bug_when>
    <thetext>Committed r285790 (244234@main): &lt;https://commits.webkit.org/244234@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 444169.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>444081</attachid>
            <date>2021-11-12 10:47:40 -0800</date>
            <delta_ts>2021-11-12 11:18:45 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233051-20211112104739.patch</filename>
            <type>text/plain</type>
            <size>22561</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1NTM5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2MwYzA2NjM2MTc4MjI5
ZWM3NGQ1MWUyZGI1OGQ2NzY2MjljMTJmZS4uOTY2ZTQzNzE2NzQxNjg0NjQwMjNkNGViOGQ0OGU4
ZmUwOWQ3YmZkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDIxLTExLTEyICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIEF0dGFjaCBJT0hJ
REV2ZW50IHRpbWVzdGFtcHMgdG8gd2hlZWwgZXZlbnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzMwNTEKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBPbiBzb21lIG1hY09TIGRldmljZXMsIHRoZXJlIGNh
biBiZSBzaWduaWZpY2FudCBkZWx0YXMgYmV0d2VlbiBOU0V2ZW50IHRpbWVzdGFtcHMsCisgICAg
ICAgIGFuZCB0aGUgdGltZXN0YW1wcyBvbiB1bmRlcmx5aW5nIElPSElERXZlbnRzIChyZGFyOi8v
ODUzMDk2MzkpLiBUaGlzIG1ha2VzIG1vbWVudHVtCisgICAgICAgIHZlbG9jaXR5IGNvbXB1dGF0
aW9uIHVucHJlZGljdGFibGU7IHdlIGNhbiBnZXQgYmV0dGVyIHJlc3VsdHMgYnkgdXNpbmcgSU9I
SURFdmVudAorICAgICAgICB0aW1lc3RhbXBzLgorCisgICAgICAgICogcGxhdGZvcm0vUGxhdGZv
cm1XaGVlbEV2ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtV2hlZWxFdmVudDo6
Y3JlYXRlRnJvbUdlc3R1cmUpOgorICAgICAgICAqIHBsYXRmb3JtL1BsYXRmb3JtV2hlZWxFdmVu
dC5oOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1XaGVlbEV2ZW50Ojppb0hJREV2ZW50VGlt
ZXN0YW1wIGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvUGxhdGZvcm1FdmVudEZhY3Rv
cnlNYWMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvUGxhdGZvcm1FdmVudEZhY3RvcnlNYWMu
bW06CisgICAgICAgIChXZWJDb3JlOjpldmVudFRpbWVTdGFtcFNpbmNlMTk3MCk6CisgICAgICAg
IChXZWJDb3JlOjpQbGF0Zm9ybU1vdXNlRXZlbnRCdWlsZGVyOjpQbGF0Zm9ybU1vdXNlRXZlbnRC
dWlsZGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtV2hlZWxFdmVudEJ1aWxkZXI6OlBs
YXRmb3JtV2hlZWxFdmVudEJ1aWxkZXIpOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1LZXli
b2FyZEV2ZW50QnVpbGRlcjo6UGxhdGZvcm1LZXlib2FyZEV2ZW50QnVpbGRlcik6CisKIDIwMjEt
MTEtMDkgIENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3JnPgogCiAgICAgICAg
IFVucmV2aWV3ZWQsIHJldmVydGluZyByMjg1MjQ2LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvUEFML0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKaW5kZXggZjdi
YjQzYWE1OWQwYWRhYzRkMWFhYWJkMjMxMWRlMjNmNjY5NWM4YS4uYzc4MjNiMTVkYTFhMjNjNTll
OTE1ZTg2YzgyNGZhYTA3MDA2NTFkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUg
QEAKKzIwMjEtMTEtMTIgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisK
KyAgICAgICAgQXR0YWNoIElPSElERXZlbnQgdGltZXN0YW1wcyB0byB3aGVlbCBldmVudHMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMzA1MQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAgICAKKyAgICAgICAgRXhw
b3NlIGEgZmV3IGJpdHMgb2YgU1BJIG5lZWRlZC4KKworICAgICAgICAqIHBhbC9zcGkvY2cvQ29y
ZUdyYXBoaWNzU1BJLmg6CisgICAgICAgICogcGFsL3NwaS9jb2NvYS9JT0tpdFNQSS5oOgorCiAy
MDIxLTExLTA5ICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KIAogICAgICAgICBS
RUdSRVNTSU9OKHIyNzE3MzUpOiBQYXltZW50U2hpcHBpbmdPcHRpb24uc2VsZWN0ZWQgaWdub3Jl
ZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZwppbmRleCBjNTM2MTA0NDczMzNiNjBkZmNjYzliZTk1NjdjMmJiMjk1NjQ0YjBlLi44
ODBkYWRiYzNiMjg4ODhjZWYzMDdmMDIwNjY3MDcyMGIzNTZkMGRkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDMzIEBACisyMDIxLTExLTEyICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUu
Y29tPgorCisgICAgICAgIEF0dGFjaCBJT0hJREV2ZW50IHRpbWVzdGFtcHMgdG8gd2hlZWwgZXZl
bnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzMw
NTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKyAgICAgICAgCisgICAg
ICAgIE9uIHNvbWUgbWFjT1MgZGV2aWNlcywgdGhlcmUgY2FuIGJlIHNpZ25pZmljYW50IGRlbHRh
cyBiZXR3ZWVuIE5TRXZlbnQgdGltZXN0YW1wcywKKyAgICAgICAgYW5kIHRoZSB0aW1lc3RhbXBz
IG9uIHVuZGVybHlpbmcgSU9ISURFdmVudHMgKHJkYXI6Ly84NTMwOTYzOSkuIFRoaXMgbWFrZXMg
bW9tZW50dW0KKyAgICAgICAgdmVsb2NpdHkgY29tcHV0YXRpb24gdW5wcmVkaWN0YWJsZTsgd2Ug
Y2FuIGdldCBiZXR0ZXIgcmVzdWx0cyBieSB1c2luZyBJT0hJREV2ZW50CisgICAgICAgIHRpbWVz
dGFtcHMuCisKKyAgICAgICAgKiBTaGFyZWQvV2ViRXZlbnRDb252ZXJzaW9uLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6V2ViS2l0MlBsYXRmb3JtV2hlZWxFdmVudDo6V2ViS2l0MlBsYXRmb3JtV2hl
ZWxFdmVudCk6CisgICAgICAgICogU2hhcmVkL1dlYldoZWVsRXZlbnQuY3BwOgorICAgICAgICAo
V2ViS2l0OjpXZWJXaGVlbEV2ZW50OjpXZWJXaGVlbEV2ZW50KToKKyAgICAgICAgKFdlYktpdDo6
V2ViV2hlZWxFdmVudDo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6V2ViV2hlZWxF
dmVudDo6ZGVjb2RlKToKKyAgICAgICAgKiBTaGFyZWQvV2ViV2hlZWxFdmVudC5oOgorICAgICAg
ICAoV2ViS2l0OjpXZWJXaGVlbEV2ZW50Ojppb0hJREV2ZW50VGltZXN0YW1wIGNvbnN0KToKKyAg
ICAgICAgKiBTaGFyZWQvV2ViV2hlZWxFdmVudENvYWxlc2Nlci5jcHA6CisgICAgICAgIChXZWJL
aXQ6OldlYldoZWVsRXZlbnRDb2FsZXNjZXI6OmNvYWxlc2NlKToKKyAgICAgICAgKiBTaGFyZWQv
aW9zL1dlYklPU0V2ZW50RmFjdG9yeS5tbToKKyAgICAgICAgKFdlYklPU0V2ZW50RmFjdG9yeTo6
Y3JlYXRlV2ViV2hlZWxFdmVudCk6CisgICAgICAgICogU2hhcmVkL21hYy9OYXRpdmVXZWJHZXN0
dXJlRXZlbnRNYWMubW06CisgICAgICAgICogU2hhcmVkL21hYy9XZWJFdmVudEZhY3RvcnkubW06
CisgICAgICAgIChXZWJLaXQ6OldlYkV2ZW50RmFjdG9yeTo6Y3JlYXRlV2ViTW91c2VFdmVudCk6
CisgICAgICAgIChXZWJLaXQ6OldlYkV2ZW50RmFjdG9yeTo6Y3JlYXRlV2ViV2hlZWxFdmVudCk6
CisgICAgICAgIChXZWJLaXQ6OldlYkV2ZW50RmFjdG9yeTo6Y3JlYXRlV2ViS2V5Ym9hcmRFdmVu
dCk6CisKIDIwMjEtMTEtMDkgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgogCiAg
ICAgICAgIFVucmV2aWV3ZWQgaW50ZXJuYWwgYnVpbGQgZml4IGFmdGVyIHIyODU0NDQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NnL0NvcmVHcmFwaGljc1NQSS5oIGIv
U291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY2cvQ29yZUdyYXBoaWNzU1BJLmgKaW5kZXggNmM1
NjIxMDhjMDc4ZTBhMjE5MWYzZTQwNTgxNTQxMzdkOGYyZDkyZS4uMjhiNDA0ODBhNzE3YWI0MmRk
YTM3NTRjMmJlYWMxZDc5YTIwN2RkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3Bh
bC9zcGkvY2cvQ29yZUdyYXBoaWNzU1BJLmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9z
cGkvY2cvQ29yZUdyYXBoaWNzU1BJLmgKQEAgLTI3LDYgKzI3LDcgQEAKIAogI2luY2x1ZGUgPENv
cmVGb3VuZGF0aW9uL0NvcmVGb3VuZGF0aW9uLmg+CiAjaW5jbHVkZSA8Q29yZUdyYXBoaWNzL0Nv
cmVHcmFwaGljcy5oPgorI2luY2x1ZGUgPHBhbC9zcGkvY29jb2EvSU9LaXRTUEkuaD4KIAogI2lm
IEhBVkUoSU9TVVJGQUNFKQogI2luY2x1ZGUgPHBhbC9zcGkvY29jb2EvSU9TdXJmYWNlU1BJLmg+
CkBAIC00Miw2ICs0Myw3IEBACiAKICNpZiBQTEFURk9STShNQUMpCiAjaW5jbHVkZSA8Q29yZUdy
YXBoaWNzL0NHQWNjZXNzaWJpbGl0eS5oPgorI2luY2x1ZGUgPENvcmVHcmFwaGljcy9DR0V2ZW50
UHJpdmF0ZS5oPgogI2VuZGlmCiAKICNlbHNlCkBAIC0zNTEsNiArMzUzLDcgQEAgQ0dFcnJvciBD
R1NTZXREZW55V2luZG93U2VydmVyQ29ubmVjdGlvbnMoYm9vbCk7CiB0eXBlZGVmIGludDMyX3Qg
Q0dTRGlzcGxheUlEOwogQ0dTRGlzcGxheUlEIENHU01haW5EaXNwbGF5SUQodm9pZCk7CiAKK0lP
SElERXZlbnRSZWYgQ0dFdmVudENvcHlJT0hJREV2ZW50KENHRXZlbnRSZWYpOwogI2VuZGlmIC8v
IFBMQVRGT1JNKE1BQykKIAogI2lmIEVOQUJMRShQREZLSVRfUExVR0lOKSAmJiAhVVNFKEFQUExF
X0lOVEVSTkFMX1NESykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2Nv
Y29hL0lPS2l0U1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9JT0tpdFNQ
SS5oCmluZGV4IDEyODgzZTJmNzAyY2ZlMTBiNDUwZjU3MGE3NjBkNmUwZTUzOTkyNzguLmJlZDY1
N2RlMWU1Y2MzMzEyN2VjZGNhNThjODIxZWEzZjhkOTAzZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL0lPS2l0U1BJLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
UEFML3BhbC9zcGkvY29jb2EvSU9LaXRTUEkuaApAQCAtMTQwLDYgKzE0MCw3IEBAIElPSElERXZl
bnRSZWYgSU9ISURFdmVudENyZWF0ZVZlbmRvckRlZmluZWRFdmVudChDRkFsbG9jYXRvclJlZiwg
dWludDY0X3QsIHVpbnQzCiBJT0hJREV2ZW50UmVmIElPSElERXZlbnRDcmVhdGVEaWdpdGl6ZXJT
dHlsdXNFdmVudFdpdGhQb2xhck9yaWVudGF0aW9uKENGQWxsb2NhdG9yUmVmLCB1aW50NjRfdCwg
dWludDMyX3QsIHVpbnQzMl90LCBJT0hJRERpZ2l0aXplckV2ZW50TWFzaywgdWludDMyX3QsIElP
SElERmxvYXQsIElPSElERmxvYXQsIElPSElERmxvYXQsIElPSElERmxvYXQsIElPSElERmxvYXQs
IElPSElERmxvYXQsIElPSElERmxvYXQsIElPSElERmxvYXQsIGJvb2xlYW5fdCwgYm9vbGVhbl90
LCBJT0hJREV2ZW50T3B0aW9uQml0cyk7CiAKIElPSElERXZlbnRUeXBlIElPSElERXZlbnRHZXRU
eXBlKElPSElERXZlbnRSZWYpOwordWludDY0X3QgSU9ISURFdmVudEdldFRpbWVTdGFtcChJT0hJ
REV2ZW50UmVmKTsKIAogdm9pZCBJT0hJREV2ZW50U2V0RmxvYXRWYWx1ZShJT0hJREV2ZW50UmVm
LCBJT0hJREV2ZW50RmllbGQsIElPSElERmxvYXQpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVdoZWVsRXZlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vUGxhdGZvcm1XaGVlbEV2ZW50LmNwcAppbmRleCBiZDdlZWMxODIzMDZjZTExN2EzYTc2
OWZhOTljNmU2NDQyY2QxNDc4Li5jMWQwNDNhNzIxNDhlYmFmNzVhOGYwOWJhZmI2YmU0ZjIwZjM4
MzdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVdoZWVsRXZl
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtV2hlZWxFdmVudC5j
cHAKQEAgLTc1LDYgKzc1LDcgQEAgUGxhdGZvcm1XaGVlbEV2ZW50IFBsYXRmb3JtV2hlZWxFdmVu
dDo6Y3JlYXRlRnJvbUdlc3R1cmUoY29uc3QgUGxhdGZvcm1HZXN0dXJlRXYKICNlbmRpZiAvLyBF
TkFCTEUoS0lORVRJQ19TQ1JPTExJTkcpCiAKICNpZiBQTEFURk9STShDT0NPQSkKKyAgICBwbGF0
Zm9ybVdoZWVsRXZlbnQubV9pb0hJREV2ZW50VGltZXN0YW1wID0gcGxhdGZvcm1XaGVlbEV2ZW50
Lm1fdGltZXN0YW1wOwogICAgIHBsYXRmb3JtV2hlZWxFdmVudC5tX3VuYWNjZWxlcmF0ZWRTY3Jv
bGxpbmdEZWx0YVkgPSBkZWx0YVk7CiAjZW5kaWYgLy8gUExBVEZPUk0oQ09DT0EpCiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtV2hlZWxFdmVudC5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1XaGVlbEV2ZW50LmgKaW5kZXggMmExMWZkNGE5
MjhmMzcxN2E5MWYwNTY3YWNjMzJiNzc0NWE1OGU4NC4uMzJjZTczMzU1YmI0Zjk5NWU3ODM0ZjAw
NDY1MTExM2M1ZmUxNjg0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxh
dGZvcm1XaGVlbEV2ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1X
aGVlbEV2ZW50LmgKQEAgLTE1MSw2ICsxNTEsOCBAQCBwdWJsaWM6CiAjaWYgUExBVEZPUk0oQ09D
T0EpCiAgICAgdW5zaWduZWQgc2Nyb2xsQ291bnQoKSBjb25zdCB7IHJldHVybiBtX3Njcm9sbENv
dW50OyB9CiAgICAgRmxvYXRTaXplIHVuYWNjZWxlcmF0ZWRTY3JvbGxpbmdEZWx0YSgpIGNvbnN0
IHsgcmV0dXJuIHsgbV91bmFjY2VsZXJhdGVkU2Nyb2xsaW5nRGVsdGFYLCBtX3VuYWNjZWxlcmF0
ZWRTY3JvbGxpbmdEZWx0YVkgfTsgfQorICAgIAorICAgIFdhbGxUaW1lIGlvSElERXZlbnRUaW1l
c3RhbXAoKSBjb25zdCB7IHJldHVybiBtX2lvSElERXZlbnRUaW1lc3RhbXA7IH0KICNlbmRpZgog
CiAjaWYgRU5BQkxFKEFTWU5DX1NDUk9MTElORykKQEAgLTE5OSw2ICsyMDEsNyBAQCBwcm90ZWN0
ZWQ6CiAgICAgUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2UgbV9tb21lbnR1bVBoYXNlIHsgUGxhdGZv
cm1XaGVlbEV2ZW50UGhhc2U6Ok5vbmUgfTsKICNlbmRpZgogI2lmIFBMQVRGT1JNKENPQ09BKQor
ICAgIFdhbGxUaW1lIG1faW9ISURFdmVudFRpbWVzdGFtcDsKICAgICB1bnNpZ25lZCBtX3Njcm9s
bENvdW50IHsgMCB9OwogICAgIGZsb2F0IG1fdW5hY2NlbGVyYXRlZFNjcm9sbGluZ0RlbHRhWCB7
IDAgfTsKICAgICBmbG9hdCBtX3VuYWNjZWxlcmF0ZWRTY3JvbGxpbmdEZWx0YVkgeyAwIH07CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUGxhdGZvcm1FdmVudEZhY3Rv
cnlNYWMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9QbGF0Zm9ybUV2ZW50RmFjdG9y
eU1hYy5oCmluZGV4IDJmMThmOTU5MzkyOGZlOTNmZTA3MzVjMjQ1Y2E2N2VkNjg4NTk5ODEuLjZi
ZjI0Mzg0NGQwMTIzZWFiOTRlYmMxMWY4M2U0ODA4YzNjZjdmMTggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9QbGF0Zm9ybUV2ZW50RmFjdG9yeU1hYy5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9QbGF0Zm9ybUV2ZW50RmFjdG9yeU1hYy5oCkBAIC01
MCw3ICs1MCw3IEBAIFdFQkNPUkVfRVhQT1JUIGludCB3aW5kb3dzS2V5Q29kZUZvcktleUV2ZW50
KE5TRXZlbnQgKik7CiBXRUJDT1JFX0VYUE9SVCBTdHJpbmcga2V5SWRlbnRpZmllckZvcktleUV2
ZW50KE5TRXZlbnQgKik7CiBXRUJDT1JFX0VYUE9SVCBTdHJpbmcga2V5Rm9yS2V5RXZlbnQoTlNF
dmVudCAqKTsKIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBjb2RlRm9yS2V5RXZlbnQoTlNFdmVudCAq
KTsKLVdFQkNPUkVfRVhQT1JUIFdhbGxUaW1lIGV2ZW50VGltZVN0YW1wU2luY2UxOTcwKE5TRXZl
bnQgKik7CitXRUJDT1JFX0VYUE9SVCBXYWxsVGltZSBldmVudFRpbWVTdGFtcFNpbmNlMTk3MChO
U1RpbWVJbnRlcnZhbCk7CiAKIFdFQkNPUkVfRVhQT1JUIE9wdGlvblNldDxQbGF0Zm9ybUV2ZW50
OjpNb2RpZmllcj4gbW9kaWZpZXJzRm9yRXZlbnQoTlNFdmVudCAqKTsKIFdFQkNPUkVfRVhQT1JU
IHZvaWQgZ2V0V2hlZWxFdmVudERlbHRhcyhOU0V2ZW50ICosIGZsb2F0JiBkZWx0YVgsIGZsb2F0
JiBkZWx0YVksIEJPT0wmIGNvbnRpbnVvdXMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWFjL1BsYXRmb3JtRXZlbnRGYWN0b3J5TWFjLm1tIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWFjL1BsYXRmb3JtRXZlbnRGYWN0b3J5TWFjLm1tCmluZGV4IDRjNzg3MjY1ZjJj
OGNkNTcwYzI2ZmZkNWVkMDBjZDIwMmViYTM0ZDAuLjM1ZmM2YWY1OWI2YWZjYjRmOTU1NGMwZjJh
ODRhMzM0MjgzOTZlNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9Q
bGF0Zm9ybUV2ZW50RmFjdG9yeU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
YWMvUGxhdGZvcm1FdmVudEZhY3RvcnlNYWMubW0KQEAgLTYwNyw5ICs2MDcsOSBAQCBzdGF0aWMg
Q0ZUaW1lSW50ZXJ2YWwgY2FjaGVkU3RhcnR1cFRpbWVJbnRlcnZhbFNpbmNlMTk3MCgpCiAgICAg
cmV0dXJuIHN5c3RlbVN0YXJ0dXBUaW1lOwogfQogCi1XYWxsVGltZSBldmVudFRpbWVTdGFtcFNp
bmNlMTk3MChOU0V2ZW50KiBldmVudCkKK1dhbGxUaW1lIGV2ZW50VGltZVN0YW1wU2luY2UxOTcw
KE5TVGltZUludGVydmFsIHRpbWVzdGFtcCkKIHsKLSAgICByZXR1cm4gV2FsbFRpbWU6OmZyb21S
YXdTZWNvbmRzKHN0YXRpY19jYXN0PGRvdWJsZT4oY2FjaGVkU3RhcnR1cFRpbWVJbnRlcnZhbFNp
bmNlMTk3MCgpICsgW2V2ZW50IHRpbWVzdGFtcF0pKTsKKyAgICByZXR1cm4gV2FsbFRpbWU6OmZy
b21SYXdTZWNvbmRzKHN0YXRpY19jYXN0PGRvdWJsZT4oY2FjaGVkU3RhcnR1cFRpbWVJbnRlcnZh
bFNpbmNlMTk3MCgpICsgdGltZXN0YW1wKSk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgYm9vbCBpc0tl
eVVwRXZlbnQoTlNFdmVudCAqZXZlbnQpCkBAIC03MjAsNyArNzIwLDcgQEAgcHVibGljOgogICAg
ICAgICB9CiAKICAgICAgICAgbV9tb2RpZmllcnMgPSBtb2RpZmllcnNGb3JFdmVudChldmVudCk7
Ci0gICAgICAgIG1fdGltZXN0YW1wID0gZXZlbnRUaW1lU3RhbXBTaW5jZTE5NzAoZXZlbnQpOwor
ICAgICAgICBtX3RpbWVzdGFtcCA9IGV2ZW50VGltZVN0YW1wU2luY2UxOTcwKGV2ZW50LnRpbWVz
dGFtcCk7CiAKICAgICAgICAgLy8gUGxhdGZvcm1Nb3VzZUV2ZW50CiAgICAgICAgIG1fcG9zaXRp
b24gPSBwb2ludEZvckV2ZW50KGV2ZW50LCB3aW5kb3dWaWV3KTsKQEAgLTc1NSw3ICs3NTUsNyBA
QCBwdWJsaWM6CiAgICAgICAgIC8vIFBsYXRmb3JtRXZlbnQKICAgICAgICAgbV90eXBlID0gUGxh
dGZvcm1FdmVudDo6V2hlZWw7CiAgICAgICAgIG1fbW9kaWZpZXJzID0gbW9kaWZpZXJzRm9yRXZl
bnQoZXZlbnQpOwotICAgICAgICBtX3RpbWVzdGFtcCA9IGV2ZW50VGltZVN0YW1wU2luY2UxOTcw
KGV2ZW50KTsKKyAgICAgICAgbV90aW1lc3RhbXAgPSBldmVudFRpbWVTdGFtcFNpbmNlMTk3MChl
dmVudC50aW1lc3RhbXApOwogCiAgICAgICAgIC8vIFBsYXRmb3JtV2hlZWxFdmVudAogICAgICAg
ICBtX3Bvc2l0aW9uID0gcG9pbnRGb3JFdmVudChldmVudCwgd2luZG93Vmlldyk7CkBAIC03OTQs
NyArNzk0LDcgQEAgcHVibGljOgogICAgICAgICAvLyBQbGF0Zm9ybUV2ZW50CiAgICAgICAgIG1f
dHlwZSA9IGlzS2V5VXBFdmVudChldmVudCkgPyBQbGF0Zm9ybUV2ZW50OjpLZXlVcCA6IFBsYXRm
b3JtRXZlbnQ6OktleURvd247CiAgICAgICAgIG1fbW9kaWZpZXJzID0gbW9kaWZpZXJzRm9yRXZl
bnQoZXZlbnQpOwotICAgICAgICBtX3RpbWVzdGFtcCA9IGV2ZW50VGltZVN0YW1wU2luY2UxOTcw
KGV2ZW50KTsKKyAgICAgICAgbV90aW1lc3RhbXAgPSBldmVudFRpbWVTdGFtcFNpbmNlMTk3MChl
dmVudC50aW1lc3RhbXApOwogCiAgICAgICAgIC8vIFBsYXRmb3JtS2V5Ym9hcmRFdmVudAogICAg
ICAgICBtX3RleHQgPSB0ZXh0RnJvbUV2ZW50KGV2ZW50KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL1dlYkV2ZW50Q29udmVyc2lvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9XZWJFdmVudENvbnZlcnNpb24uY3BwCmluZGV4IGY5ZTljYjYzZGNlZjdmNjI2MjI0MDA1YzU2
MzIwYzM1MjFhMmU4OTUuLmQ2OTI4YmIzNGNlMTk3ODk0ZWU2ZmEwZTY3YWE2NTMzYzFmMzZkMWUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkV2ZW50Q29udmVyc2lvbi5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViRXZlbnRDb252ZXJzaW9uLmNwcApAQCAtMTY5
LDYgKzE2OSw3IEBAIHB1YmxpYzoKICAgICAgICAgbV9oYXNQcmVjaXNlU2Nyb2xsaW5nRGVsdGFz
ID0gd2ViRXZlbnQuaGFzUHJlY2lzZVNjcm9sbGluZ0RlbHRhcygpOwogI2VuZGlmCiAjaWYgUExB
VEZPUk0oQ09DT0EpCisgICAgICAgIG1faW9ISURFdmVudFRpbWVzdGFtcCA9IHdlYkV2ZW50Lmlv
SElERXZlbnRUaW1lc3RhbXAoKTsKICAgICAgICAgbV9zY3JvbGxDb3VudCA9IHdlYkV2ZW50LnNj
cm9sbENvdW50KCk7CiAgICAgICAgIG1fdW5hY2NlbGVyYXRlZFNjcm9sbGluZ0RlbHRhWCA9IHdl
YkV2ZW50LnVuYWNjZWxlcmF0ZWRTY3JvbGxpbmdEZWx0YSgpLndpZHRoKCk7CiAgICAgICAgIG1f
dW5hY2NlbGVyYXRlZFNjcm9sbGluZ0RlbHRhWSA9IHdlYkV2ZW50LnVuYWNjZWxlcmF0ZWRTY3Jv
bGxpbmdEZWx0YSgpLmhlaWdodCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQv
V2ViV2hlZWxFdmVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJXaGVlbEV2ZW50LmNw
cAppbmRleCBjMDNmZTIzZWJkN2VhYzYzODUxZWMwYWU5YTNiZGZiZDE2OWY4OWFiLi5hNmIyM2Rh
YzdhMzFmMzRmYmI5NjI5YTMxNTY2MzkxZDEyMTA5ZmVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9XZWJXaGVlbEV2ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9X
ZWJXaGVlbEV2ZW50LmNwcApAQCAtNDQsNyArNDQsNyBAQCBXZWJXaGVlbEV2ZW50OjpXZWJXaGVl
bEV2ZW50KFR5cGUgdHlwZSwgY29uc3QgSW50UG9pbnQmIHBvc2l0aW9uLCBjb25zdCBJbnRQb2lu
dAogfQogCiAjaWYgUExBVEZPUk0oQ09DT0EpCi1XZWJXaGVlbEV2ZW50OjpXZWJXaGVlbEV2ZW50
KFR5cGUgdHlwZSwgY29uc3QgSW50UG9pbnQmIHBvc2l0aW9uLCBjb25zdCBJbnRQb2ludCYgZ2xv
YmFsUG9zaXRpb24sIGNvbnN0IEZsb2F0U2l6ZSYgZGVsdGEsIGNvbnN0IEZsb2F0U2l6ZSYgd2hl
ZWxUaWNrcywgR3JhbnVsYXJpdHkgZ3JhbnVsYXJpdHksIGJvb2wgZGlyZWN0aW9uSW52ZXJ0ZWRG
cm9tRGV2aWNlLCBQaGFzZSBwaGFzZSwgUGhhc2UgbW9tZW50dW1QaGFzZSwgYm9vbCBoYXNQcmVj
aXNlU2Nyb2xsaW5nRGVsdGFzLCB1aW50MzJfdCBzY3JvbGxDb3VudCwgY29uc3QgV2ViQ29yZTo6
RmxvYXRTaXplJiB1bmFjY2VsZXJhdGVkU2Nyb2xsaW5nRGVsdGEsIE9wdGlvblNldDxNb2RpZmll
cj4gbW9kaWZpZXJzLCBXYWxsVGltZSB0aW1lc3RhbXApCitXZWJXaGVlbEV2ZW50OjpXZWJXaGVl
bEV2ZW50KFR5cGUgdHlwZSwgY29uc3QgSW50UG9pbnQmIHBvc2l0aW9uLCBjb25zdCBJbnRQb2lu
dCYgZ2xvYmFsUG9zaXRpb24sIGNvbnN0IEZsb2F0U2l6ZSYgZGVsdGEsIGNvbnN0IEZsb2F0U2l6
ZSYgd2hlZWxUaWNrcywgR3JhbnVsYXJpdHkgZ3JhbnVsYXJpdHksIGJvb2wgZGlyZWN0aW9uSW52
ZXJ0ZWRGcm9tRGV2aWNlLCBQaGFzZSBwaGFzZSwgUGhhc2UgbW9tZW50dW1QaGFzZSwgYm9vbCBo
YXNQcmVjaXNlU2Nyb2xsaW5nRGVsdGFzLCB1aW50MzJfdCBzY3JvbGxDb3VudCwgY29uc3QgV2Vi
Q29yZTo6RmxvYXRTaXplJiB1bmFjY2VsZXJhdGVkU2Nyb2xsaW5nRGVsdGEsIE9wdGlvblNldDxN
b2RpZmllcj4gbW9kaWZpZXJzLCBXYWxsVGltZSB0aW1lc3RhbXAsIFdhbGxUaW1lIGlvSElERXZl
bnRUaW1lc3RhbXApCiAgICAgOiBXZWJFdmVudCh0eXBlLCBtb2RpZmllcnMsIHRpbWVzdGFtcCkK
ICAgICAsIG1fcG9zaXRpb24ocG9zaXRpb24pCiAgICAgLCBtX2dsb2JhbFBvc2l0aW9uKGdsb2Jh
bFBvc2l0aW9uKQpAQCAtNTUsNiArNTUsNyBAQCBXZWJXaGVlbEV2ZW50OjpXZWJXaGVlbEV2ZW50
KFR5cGUgdHlwZSwgY29uc3QgSW50UG9pbnQmIHBvc2l0aW9uLCBjb25zdCBJbnRQb2ludAogICAg
ICwgbV9tb21lbnR1bVBoYXNlKG1vbWVudHVtUGhhc2UpCiAgICAgLCBtX2RpcmVjdGlvbkludmVy
dGVkRnJvbURldmljZShkaXJlY3Rpb25JbnZlcnRlZEZyb21EZXZpY2UpCiAgICAgLCBtX2hhc1By
ZWNpc2VTY3JvbGxpbmdEZWx0YXMoaGFzUHJlY2lzZVNjcm9sbGluZ0RlbHRhcykKKyAgICAsIG1f
aW9ISURFdmVudFRpbWVzdGFtcChpb0hJREV2ZW50VGltZXN0YW1wKQogICAgICwgbV9zY3JvbGxD
b3VudChzY3JvbGxDb3VudCkKICAgICAsIG1fdW5hY2NlbGVyYXRlZFNjcm9sbGluZ0RlbHRhKHVu
YWNjZWxlcmF0ZWRTY3JvbGxpbmdEZWx0YSkKIHsKQEAgLTkyLDYgKzkzLDcgQEAgdm9pZCBXZWJX
aGVlbEV2ZW50OjplbmNvZGUoSVBDOjpFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogICAgIGVuY29k
ZXIgPDwgbV9oYXNQcmVjaXNlU2Nyb2xsaW5nRGVsdGFzOwogI2VuZGlmCiAjaWYgUExBVEZPUk0o
Q09DT0EpCisgICAgZW5jb2RlciA8PCBtX2lvSElERXZlbnRUaW1lc3RhbXA7CiAgICAgZW5jb2Rl
ciA8PCBtX3Njcm9sbENvdW50OwogICAgIGVuY29kZXIgPDwgbV91bmFjY2VsZXJhdGVkU2Nyb2xs
aW5nRGVsdGE7CiAjZW5kaWYKQEAgLTEyMiw2ICsxMjQsOCBAQCBib29sIFdlYldoZWVsRXZlbnQ6
OmRlY29kZShJUEM6OkRlY29kZXImIGRlY29kZXIsIFdlYldoZWVsRXZlbnQmIHQpCiAgICAgICAg
IHJldHVybiBmYWxzZTsKICNlbmRpZgogI2lmIFBMQVRGT1JNKENPQ09BKQorICAgIGlmICghZGVj
b2Rlci5kZWNvZGUodC5tX2lvSElERXZlbnRUaW1lc3RhbXApKQorICAgICAgICByZXR1cm4gZmFs
c2U7CiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZSh0Lm1fc2Nyb2xsQ291bnQpKQogICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZSh0Lm1fdW5hY2NlbGVyYXRlZFNj
cm9sbGluZ0RlbHRhKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYldoZWVs
RXZlbnQuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYldoZWVsRXZlbnQuaAppbmRleCBlMDkx
ZGI4ZmI5MGMzOTk1ZDA0N2Q0OTE2ZTU0ODMxNzcwY2RjNTcwLi45OWRjYjZiMDUwNGM2ODlhZWIw
MTBmMTcyZjU0NGI5MTIzZTBhMWNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9X
ZWJXaGVlbEV2ZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViV2hlZWxFdmVudC5o
CkBAIC01Myw3ICs1Myw3IEBAIHB1YmxpYzoKIAogICAgIFdlYldoZWVsRXZlbnQoVHlwZSwgY29u
c3QgV2ViQ29yZTo6SW50UG9pbnQmIHBvc2l0aW9uLCBjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYg
Z2xvYmFsUG9zaXRpb24sIGNvbnN0IFdlYkNvcmU6OkZsb2F0U2l6ZSYgZGVsdGEsIGNvbnN0IFdl
YkNvcmU6OkZsb2F0U2l6ZSYgd2hlZWxUaWNrcywgR3JhbnVsYXJpdHksIE9wdGlvblNldDxNb2Rp
Zmllcj4sIFdhbGxUaW1lIHRpbWVzdGFtcCk7CiAjaWYgUExBVEZPUk0oQ09DT0EpCi0gICAgV2Vi
V2hlZWxFdmVudChUeXBlLCBjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgcG9zaXRpb24sIGNvbnN0
IFdlYkNvcmU6OkludFBvaW50JiBnbG9iYWxQb3NpdGlvbiwgY29uc3QgV2ViQ29yZTo6RmxvYXRT
aXplJiBkZWx0YSwgY29uc3QgV2ViQ29yZTo6RmxvYXRTaXplJiB3aGVlbFRpY2tzLCBHcmFudWxh
cml0eSwgYm9vbCBkaXJlY3Rpb25JbnZlcnRlZEZyb21EZXZpY2UsIFBoYXNlLCBQaGFzZSBtb21l
bnR1bVBoYXNlLCBib29sIGhhc1ByZWNpc2VTY3JvbGxpbmdEZWx0YXMsIHVpbnQzMl90IHNjcm9s
bENvdW50LCBjb25zdCBXZWJDb3JlOjpGbG9hdFNpemUmIHVuYWNjZWxlcmF0ZWRTY3JvbGxpbmdE
ZWx0YSwgT3B0aW9uU2V0PE1vZGlmaWVyPiwgV2FsbFRpbWUgdGltZXN0YW1wKTsKKyAgICBXZWJX
aGVlbEV2ZW50KFR5cGUsIGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBwb3NpdGlvbiwgY29uc3Qg
V2ViQ29yZTo6SW50UG9pbnQmIGdsb2JhbFBvc2l0aW9uLCBjb25zdCBXZWJDb3JlOjpGbG9hdFNp
emUmIGRlbHRhLCBjb25zdCBXZWJDb3JlOjpGbG9hdFNpemUmIHdoZWVsVGlja3MsIEdyYW51bGFy
aXR5LCBib29sIGRpcmVjdGlvbkludmVydGVkRnJvbURldmljZSwgUGhhc2UsIFBoYXNlIG1vbWVu
dHVtUGhhc2UsIGJvb2wgaGFzUHJlY2lzZVNjcm9sbGluZ0RlbHRhcywgdWludDMyX3Qgc2Nyb2xs
Q291bnQsIGNvbnN0IFdlYkNvcmU6OkZsb2F0U2l6ZSYgdW5hY2NlbGVyYXRlZFNjcm9sbGluZ0Rl
bHRhLCBPcHRpb25TZXQ8TW9kaWZpZXI+LCBXYWxsVGltZSB0aW1lc3RhbXAsIFdhbGxUaW1lIGlv
SElERXZlbnRUaW1lc3RhbXApOwogI2VsaWYgUExBVEZPUk0oR1RLKSB8fCBVU0UoTElCV1BFKQog
ICAgIFdlYldoZWVsRXZlbnQoVHlwZSwgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIHBvc2l0aW9u
LCBjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgZ2xvYmFsUG9zaXRpb24sIGNvbnN0IFdlYkNvcmU6
OkZsb2F0U2l6ZSYgZGVsdGEsIGNvbnN0IFdlYkNvcmU6OkZsb2F0U2l6ZSYgd2hlZWxUaWNrcywg
UGhhc2UsIFBoYXNlIG1vbWVudHVtUGhhc2UsIEdyYW51bGFyaXR5LCBib29sIGhhc1ByZWNpc2VT
Y3JvbGxpbmdEZWx0YXMsIE9wdGlvblNldDxNb2RpZmllcj4sIFdhbGxUaW1lIHRpbWVzdGFtcCk7
CiAjZW5kaWYKQEAgLTcwLDYgKzcwLDcgQEAgcHVibGljOgogICAgIGJvb2wgaGFzUHJlY2lzZVNj
cm9sbGluZ0RlbHRhcygpIGNvbnN0IHsgcmV0dXJuIG1faGFzUHJlY2lzZVNjcm9sbGluZ0RlbHRh
czsgfQogI2VuZGlmCiAjaWYgUExBVEZPUk0oQ09DT0EpCisgICAgV2FsbFRpbWUgaW9ISURFdmVu
dFRpbWVzdGFtcCgpIGNvbnN0IHsgcmV0dXJuIG1faW9ISURFdmVudFRpbWVzdGFtcDsgfQogICAg
IHVpbnQzMl90IHNjcm9sbENvdW50KCkgY29uc3QgeyByZXR1cm4gbV9zY3JvbGxDb3VudDsgfQog
ICAgIGNvbnN0IFdlYkNvcmU6OkZsb2F0U2l6ZSYgdW5hY2NlbGVyYXRlZFNjcm9sbGluZ0RlbHRh
KCkgY29uc3QgeyByZXR1cm4gbV91bmFjY2VsZXJhdGVkU2Nyb2xsaW5nRGVsdGE7IH0KICNlbmRp
ZgpAQCAtODcsMTEgKzg4LDEzIEBAIHByaXZhdGU6CiAgICAgdWludDMyX3QgbV9ncmFudWxhcml0
eSB7IFNjcm9sbEJ5UGFnZVdoZWVsRXZlbnQgfTsKICAgICB1aW50MzJfdCBtX3BoYXNlIHsgUGhh
c2U6OlBoYXNlTm9uZSB9OwogICAgIHVpbnQzMl90IG1fbW9tZW50dW1QaGFzZSB7IFBoYXNlOjpQ
aGFzZU5vbmUgfTsKKwogICAgIGJvb2wgbV9kaXJlY3Rpb25JbnZlcnRlZEZyb21EZXZpY2UgeyBm
YWxzZSB9OwogI2lmIFBMQVRGT1JNKENPQ09BKSB8fCBQTEFURk9STShHVEspIHx8IFVTRShMSUJX
UEUpCiAgICAgYm9vbCBtX2hhc1ByZWNpc2VTY3JvbGxpbmdEZWx0YXMgeyBmYWxzZSB9OwogI2Vu
ZGlmCiAjaWYgUExBVEZPUk0oQ09DT0EpCisgICAgV2FsbFRpbWUgbV9pb0hJREV2ZW50VGltZXN0
YW1wOwogICAgIHVpbnQzMl90IG1fc2Nyb2xsQ291bnQgeyAwIH07CiAgICAgV2ViQ29yZTo6Rmxv
YXRTaXplIG1fdW5hY2NlbGVyYXRlZFNjcm9sbGluZ0RlbHRhOwogI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJXaGVlbEV2ZW50Q29hbGVzY2VyLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL1dlYldoZWVsRXZlbnRDb2FsZXNjZXIuY3BwCmluZGV4IGVkNjBjYmRh
MDVmN2VkNWYxZDJkMTIyODMxN2Q4NDM4YTRiZDljOTQuLmU2NzU1ZmEwZWYzZDYwNDlmZjljM2E0
OWQ4MjkxMTYyNDYwNTEyOGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYldo
ZWVsRXZlbnRDb2FsZXNjZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYldoZWVs
RXZlbnRDb2FsZXNjZXIuY3BwCkBAIC03OCw3ICs3OCw3IEBAIFdlYldoZWVsRXZlbnQgV2ViV2hl
ZWxFdmVudENvYWxlc2Nlcjo6Y29hbGVzY2UoY29uc3QgV2ViV2hlZWxFdmVudCYgYSwgY29uc3Qg
V2ViCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgYXV0byBtZXJnZWRVbmFjY2VsZXJhdGVkU2Ny
b2xsaW5nRGVsdGEgPSBhLnVuYWNjZWxlcmF0ZWRTY3JvbGxpbmdEZWx0YSgpICsgYi51bmFjY2Vs
ZXJhdGVkU2Nyb2xsaW5nRGVsdGEoKTsKIAotICAgIHJldHVybiBXZWJXaGVlbEV2ZW50KFdlYkV2
ZW50OjpXaGVlbCwgYi5wb3NpdGlvbigpLCBiLmdsb2JhbFBvc2l0aW9uKCksIG1lcmdlZERlbHRh
LCBtZXJnZWRXaGVlbFRpY2tzLCBiLmdyYW51bGFyaXR5KCksIGIuZGlyZWN0aW9uSW52ZXJ0ZWRG
cm9tRGV2aWNlKCksIGIucGhhc2UoKSwgYi5tb21lbnR1bVBoYXNlKCksIGIuaGFzUHJlY2lzZVNj
cm9sbGluZ0RlbHRhcygpLCBiLnNjcm9sbENvdW50KCksIG1lcmdlZFVuYWNjZWxlcmF0ZWRTY3Jv
bGxpbmdEZWx0YSwgYi5tb2RpZmllcnMoKSwgYi50aW1lc3RhbXAoKSk7CisgICAgcmV0dXJuIFdl
YldoZWVsRXZlbnQoV2ViRXZlbnQ6OldoZWVsLCBiLnBvc2l0aW9uKCksIGIuZ2xvYmFsUG9zaXRp
b24oKSwgbWVyZ2VkRGVsdGEsIG1lcmdlZFdoZWVsVGlja3MsIGIuZ3JhbnVsYXJpdHkoKSwgYi5k
aXJlY3Rpb25JbnZlcnRlZEZyb21EZXZpY2UoKSwgYi5waGFzZSgpLCBiLm1vbWVudHVtUGhhc2Uo
KSwgYi5oYXNQcmVjaXNlU2Nyb2xsaW5nRGVsdGFzKCksIGIuc2Nyb2xsQ291bnQoKSwgbWVyZ2Vk
VW5hY2NlbGVyYXRlZFNjcm9sbGluZ0RlbHRhLCBiLm1vZGlmaWVycygpLCBiLnRpbWVzdGFtcCgp
LCBiLmlvSElERXZlbnRUaW1lc3RhbXAoKSk7CiAjZWxpZiBQTEFURk9STShHVEspIHx8IFVTRShM
SUJXUEUpCiAgICAgcmV0dXJuIFdlYldoZWVsRXZlbnQoV2ViRXZlbnQ6OldoZWVsLCBiLnBvc2l0
aW9uKCksIGIuZ2xvYmFsUG9zaXRpb24oKSwgbWVyZ2VkRGVsdGEsIG1lcmdlZFdoZWVsVGlja3Ms
IGIucGhhc2UoKSwgYi5tb21lbnR1bVBoYXNlKCksIGIuZ3JhbnVsYXJpdHkoKSwgYi5oYXNQcmVj
aXNlU2Nyb2xsaW5nRGVsdGFzKCksIGIubW9kaWZpZXJzKCksIGIudGltZXN0YW1wKCkpOwogI2Vs
c2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL2lvcy9XZWJJT1NFdmVudEZhY3Rv
cnkubW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9pb3MvV2ViSU9TRXZlbnRGYWN0b3J5Lm1tCmlu
ZGV4IDJlMzkzM2JjYmUzNjcyZDI3M2JmZmMzOTExMzNkY2UxMmMyMjI0M2UuLjI5OWE0Y2NiMDA4
ZTczMWViYTA3OTdhNmZiZGJlNzY2YzFkMDA0NTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL2lvcy9XZWJJT1NFdmVudEZhY3RvcnkubW0KKysrIGIvU291cmNlL1dlYktpdC9TaGFy
ZWQvaW9zL1dlYklPU0V2ZW50RmFjdG9yeS5tbQpAQCAtMTYxLDcgKzE2MSw3IEBAIFdlYktpdDo6
V2ViV2hlZWxFdmVudCBXZWJJT1NFdmVudEZhY3Rvcnk6OmNyZWF0ZVdlYldoZWVsRXZlbnQoVUlT
Y3JvbGxFdmVudCAqZXZlCiAgICAgV2ViQ29yZTo6RmxvYXRTaXplIGRlbHRhKGRlbHRhVmVjdG9y
LmR4LCBkZWx0YVZlY3Rvci5keSk7CiAgICAgV2ViQ29yZTo6RmxvYXRTaXplIHdoZWVsVGlja3Mg
PSBkZWx0YTsKICAgICB3aGVlbFRpY2tzLnNjYWxlKDEuIC8gc3RhdGljX2Nhc3Q8ZmxvYXQ+KFdl
YkNvcmU6OlNjcm9sbGJhcjo6cGl4ZWxzUGVyTGluZVN0ZXAoKSkpOwotCisgICAgYXV0byB0aW1l
c3RhbXAgPSBNb25vdG9uaWNUaW1lOjpmcm9tUmF3U2Vjb25kcyhldmVudC50aW1lc3RhbXApLmFw
cHJveGltYXRlV2FsbFRpbWUoKTsKICAgICByZXR1cm4gewogICAgICAgICBXZWJLaXQ6OldlYkV2
ZW50OjpXaGVlbCwKICAgICAgICAgc2Nyb2xsTG9jYXRpb24sCkBAIC0xNzYsNyArMTc2LDggQEAg
V2ViS2l0OjpXZWJXaGVlbEV2ZW50IFdlYklPU0V2ZW50RmFjdG9yeTo6Y3JlYXRlV2ViV2hlZWxF
dmVudChVSVNjcm9sbEV2ZW50ICpldmUKICAgICAgICAgMSwKICAgICAgICAgZGVsdGEsCiAgICAg
ICAgIHsgfSwKLSAgICAgICAgTW9ub3RvbmljVGltZTo6ZnJvbVJhd1NlY29uZHMoZXZlbnQudGlt
ZXN0YW1wKS5hcHByb3hpbWF0ZVdhbGxUaW1lKCkKKyAgICAgICAgdGltZXN0YW1wLAorICAgICAg
ICB0aW1lc3RhbXAKICAgICB9OwogfQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9tYWMvTmF0aXZlV2ViR2VzdHVyZUV2ZW50TWFjLm1tIGIvU291cmNlL1dlYktpdC9T
aGFyZWQvbWFjL05hdGl2ZVdlYkdlc3R1cmVFdmVudE1hYy5tbQppbmRleCBjMWQyMWQ4MWI0MjQy
NDJiMzRiZjM4ZWZhYWFlNmU1Y2JjZGJjMWE0Li42ZTBmMmNkNjFlZjVlMDhmNjUyZjI0NDZmMGM1
MWIwOTA1OGQwYWYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMvTmF0aXZl
V2ViR2VzdHVyZUV2ZW50TWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL21hYy9OYXRp
dmVXZWJHZXN0dXJlRXZlbnRNYWMubW0KQEAgLTYyLDcgKzYyLDcgQEAgTmF0aXZlV2ViR2VzdHVy
ZUV2ZW50OjpOYXRpdmVXZWJHZXN0dXJlRXZlbnQoTlNFdmVudCAqZXZlbnQsIE5TVmlldyAqdmll
dykKICAgICA6IFdlYkdlc3R1cmVFdmVudCgKICAgICAgICAgd2ViRXZlbnRUeXBlRm9yTlNFdmVu
dChldmVudCksCiAgICAgICAgIE9wdGlvblNldDxXZWJFdmVudDo6TW9kaWZpZXI+IHsgfSwKLSAg
ICAgICAgV2ViQ29yZTo6ZXZlbnRUaW1lU3RhbXBTaW5jZTE5NzAoZXZlbnQpLAorICAgICAgICBX
ZWJDb3JlOjpldmVudFRpbWVTdGFtcFNpbmNlMTk3MChldmVudC50aW1lc3RhbXApLAogICAgICAg
ICBXZWJDb3JlOjpJbnRQb2ludChwb2ludEZvckV2ZW50KGV2ZW50LCB2aWV3KSksCiAgICAgICAg
IGV2ZW50LnR5cGUgPT0gTlNFdmVudFR5cGVNYWduaWZ5ID8gZXZlbnQubWFnbmlmaWNhdGlvbiA6
IDAsCiAgICAgICAgIGV2ZW50LnR5cGUgPT0gTlNFdmVudFR5cGVSb3RhdGUgPyBldmVudC5yb3Rh
dGlvbiA6IDApCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMvV2ViRXZlbnRG
YWN0b3J5Lm1tIGIvU291cmNlL1dlYktpdC9TaGFyZWQvbWFjL1dlYkV2ZW50RmFjdG9yeS5tbQpp
bmRleCAzNjljY2RlOTI2Yzg0YzliMDA0Yzc4OWU4ZDcwZWJmNDQ3NDdmMGMyLi44ZDUxNDBjODRk
YjlkMzQ4MWI3ZjAwMmYwZjc1MGVkMDJiZmU1OTNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9tYWMvV2ViRXZlbnRGYWN0b3J5Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L21hYy9XZWJFdmVudEZhY3RvcnkubW0KQEAgLTMyLDYgKzMyLDcgQEAKICNpbXBvcnQgPFdlYkNv
cmUvUGxhdGZvcm1FdmVudEZhY3RvcnlNYWMuaD4KICNpbXBvcnQgPFdlYkNvcmUvU2Nyb2xsYmFy
Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL1dpbmRvd3NLZXlib2FyZENvZGVzLmg+CisjaW1wb3J0IDxw
YWwvc3BpL2NnL0NvcmVHcmFwaGljc1NQSS5oPgogI2ltcG9ydCA8cGFsL3NwaS9tYWMvTlNNZW51
U1BJLmg+CiAjaW1wb3J0IDx3dGYvQVNDSUlDVHlwZS5oPgogCkBAIC0zNTMsNyArMzU0LDcgQEAg
V2ViTW91c2VFdmVudCBXZWJFdmVudEZhY3Rvcnk6OmNyZWF0ZVdlYk1vdXNlRXZlbnQoTlNFdmVu
dCAqZXZlbnQsIE5TRXZlbnQgKmxhc3QKICAgICBmbG9hdCBkZWx0YVogPSBbZXZlbnQgZGVsdGFa
XTsKICAgICBpbnQgY2xpY2tDb3VudCA9IGNsaWNrQ291bnRGb3JFdmVudChldmVudCk7CiAgICAg
YXV0byBtb2RpZmllcnMgPSBtb2RpZmllcnNGb3JFdmVudChldmVudCk7Ci0gICAgYXV0byB0aW1l
c3RhbXAgPSBXZWJDb3JlOjpldmVudFRpbWVTdGFtcFNpbmNlMTk3MChldmVudCk7CisgICAgYXV0
byB0aW1lc3RhbXAgPSBXZWJDb3JlOjpldmVudFRpbWVTdGFtcFNpbmNlMTk3MChldmVudC50aW1l
c3RhbXApOwogICAgIGludCBldmVudE51bWJlciA9IFtldmVudCBldmVudE51bWJlcl07CiAgICAg
aW50IG1lbnVUeXBlRm9yRXZlbnQgPSB0eXBlRm9yRXZlbnQoZXZlbnQpOwogCkBAIC00MDgsOSAr
NDA5LDI2IEBAIFdlYldoZWVsRXZlbnQgV2ViRXZlbnRGYWN0b3J5OjpjcmVhdGVXZWJXaGVlbEV2
ZW50KE5TRXZlbnQgKmV2ZW50LCBOU1ZpZXcgKndpbmRvCiAgICAgfQogCiAgICAgYXV0byBtb2Rp
ZmllcnMgPSBtb2RpZmllcnNGb3JFdmVudChldmVudCk7Ci0gICAgYXV0byB0aW1lc3RhbXAgPSBX
ZWJDb3JlOjpldmVudFRpbWVTdGFtcFNpbmNlMTk3MChldmVudCk7CisgICAgYXV0byB0aW1lc3Rh
bXAgPSBXZWJDb3JlOjpldmVudFRpbWVTdGFtcFNpbmNlMTk3MChldmVudC50aW1lc3RhbXApOwog
Ci0gICAgcmV0dXJuIFdlYldoZWVsRXZlbnQoV2ViRXZlbnQ6OldoZWVsLCBXZWJDb3JlOjpJbnRQ
b2ludChwb3NpdGlvbiksIFdlYkNvcmU6OkludFBvaW50KGdsb2JhbFBvc2l0aW9uKSwgV2ViQ29y
ZTo6RmxvYXRTaXplKGRlbHRhWCwgZGVsdGFZKSwgV2ViQ29yZTo6RmxvYXRTaXplKHdoZWVsVGlj
a3NYLCB3aGVlbFRpY2tzWSksIGdyYW51bGFyaXR5LCBkaXJlY3Rpb25JbnZlcnRlZEZyb21EZXZp
Y2UsIHBoYXNlLCBtb21lbnR1bVBoYXNlLCBoYXNQcmVjaXNlU2Nyb2xsaW5nRGVsdGFzLCBzY3Jv
bGxDb3VudCwgdW5hY2NlbGVyYXRlZFNjcm9sbGluZ0RlbHRhLCBtb2RpZmllcnMsIHRpbWVzdGFt
cCk7CisgICAgYXV0byBpb0hJREV2ZW50VGltZXN0YW1wID0gW10oTlNFdmVudCAqZXZlbnQpIHsK
KyAgICAgICAgYXV0byBjZ0V2ZW50ID0gZXZlbnQuQ0dFdmVudDsKKyAgICAgICAgaWYgKCFjZ0V2
ZW50KQorICAgICAgICAgICAgcmV0dXJuIGV2ZW50LnRpbWVzdGFtcDsKKworICAgICAgICBhdXRv
IGlvaGlkRXZlbnQgPSBhZG9wdENGKENHRXZlbnRDb3B5SU9ISURFdmVudChjZ0V2ZW50KSk7Cisg
ICAgICAgIGlmICghaW9oaWRFdmVudCkKKyAgICAgICAgICAgIHJldHVybiBldmVudC50aW1lc3Rh
bXA7CisKKyAgICAgICAgYXV0byBpb0hJREV2ZW50VGltZXN0YW1wID0gSU9ISURFdmVudEdldFRp
bWVTdGFtcChpb2hpZEV2ZW50LmdldCgpKTsgLy8gSU9FdmVudFJlZiB0aW1lc3RhbXAgaXMgbWFj
aF9hYnNvbHV0ZV90aW1lIHVuaXRzLgorICAgICAgICByZXR1cm4gTW9ub3RvbmljVGltZTo6ZnJv
bU1hY2hBYnNvbHV0ZVRpbWUoaW9ISURFdmVudFRpbWVzdGFtcCkuc2Vjb25kc1NpbmNlRXBvY2go
KS5zZWNvbmRzKCk7CisgICAgfShldmVudCk7CisKKyAgICBhdXRvIGlvSElERXZlbnRXYWxsVGlt
ZSA9IFdlYkNvcmU6OmV2ZW50VGltZVN0YW1wU2luY2UxOTcwKGlvSElERXZlbnRUaW1lc3RhbXAp
OworCisgICAgcmV0dXJuIFdlYldoZWVsRXZlbnQoV2ViRXZlbnQ6OldoZWVsLCBXZWJDb3JlOjpJ
bnRQb2ludChwb3NpdGlvbiksIFdlYkNvcmU6OkludFBvaW50KGdsb2JhbFBvc2l0aW9uKSwgV2Vi
Q29yZTo6RmxvYXRTaXplKGRlbHRhWCwgZGVsdGFZKSwgV2ViQ29yZTo6RmxvYXRTaXplKHdoZWVs
VGlja3NYLCB3aGVlbFRpY2tzWSksCisgICAgICAgIGdyYW51bGFyaXR5LCBkaXJlY3Rpb25JbnZl
cnRlZEZyb21EZXZpY2UsIHBoYXNlLCBtb21lbnR1bVBoYXNlLCBoYXNQcmVjaXNlU2Nyb2xsaW5n
RGVsdGFzLAorICAgICAgICBzY3JvbGxDb3VudCwgdW5hY2NlbGVyYXRlZFNjcm9sbGluZ0RlbHRh
LCBtb2RpZmllcnMsIHRpbWVzdGFtcCwgaW9ISURFdmVudFdhbGxUaW1lKTsKIH0KIAogV2ViS2V5
Ym9hcmRFdmVudCBXZWJFdmVudEZhY3Rvcnk6OmNyZWF0ZVdlYktleWJvYXJkRXZlbnQoTlNFdmVu
dCAqZXZlbnQsIGJvb2wgaGFuZGxlZEJ5SW5wdXRNZXRob2QsIGJvb2wgcmVwbGFjZXNTb2Z0U3Bh
Y2UsIGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpLZXlwcmVzc0NvbW1hbmQ+JiBjb21tYW5kcykKQEAg
LTQyOCw3ICs0NDYsNyBAQCBXZWJLZXlib2FyZEV2ZW50IFdlYkV2ZW50RmFjdG9yeTo6Y3JlYXRl
V2ViS2V5Ym9hcmRFdmVudChOU0V2ZW50ICpldmVudCwgYm9vbCBoYQogICAgIGJvb2wgaXNLZXlw
YWQgICAgICAgICAgICAgICAgICAgPSBpc0tleXBhZEV2ZW50KGV2ZW50KTsKICAgICBib29sIGlz
U3lzdGVtS2V5ICAgICAgICAgICAgICAgID0gZmFsc2U7IC8vIFN5c3RlbUtleSBpcyBhbHdheXMg
ZmFsc2Ugb24gdGhlIE1hYy4KICAgICBhdXRvIG1vZGlmaWVycyA9IG1vZGlmaWVyc0ZvckV2ZW50
KGV2ZW50KTsKLSAgICBhdXRvIHRpbWVzdGFtcCAgICAgICAgICAgICAgICAgID0gV2ViQ29yZTo6
ZXZlbnRUaW1lU3RhbXBTaW5jZTE5NzAoZXZlbnQpOworICAgIGF1dG8gdGltZXN0YW1wICAgICAg
ICAgICAgICAgICAgPSBXZWJDb3JlOjpldmVudFRpbWVTdGFtcFNpbmNlMTk3MChldmVudC50aW1l
c3RhbXApOwogCiAgICAgLy8gQWx3YXlzIHVzZSAxMyBmb3IgRW50ZXIvUmV0dXJuIC0tIHdlIGRv
bid0IHdhbnQgdG8gdXNlIEFwcEtpdCdzIGRpZmZlcmVudCBjaGFyYWN0ZXIgZm9yIEVudGVyLgog
ICAgIGlmICh3aW5kb3dzVmlydHVhbEtleUNvZGUgPT0gVktfUkVUVVJOKSB7Cg==
</data>
<flag name="review"
          id="469001"
          type_id="1"
          status="+"
          setter="wenson_hsieh"
    />
    <flag name="commit-queue"
          id="469005"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>444165</attachid>
            <date>2021-11-13 21:32:17 -0800</date>
            <delta_ts>2021-11-13 22:37:55 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233051-20211113213216.patch</filename>
            <type>text/plain</type>
            <size>22126</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1Nzg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDM1YWUxOTJmZDMyODFm
N2VhYTJlYWFhMzIzNTJiNzQ4YjdmN2ExOS4uOGIzNWNiNThhNTIwMTBkZGI2YmUxYThiMWI2YWFi
MmNiOTVhZDdjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDIxLTExLTEzICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIEF0dGFjaCBJT0hJ
REV2ZW50IHRpbWVzdGFtcHMgdG8gd2hlZWwgZXZlbnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzMwNTEKKworICAgICAgICBSZXZpZXdlZCBieSBX
ZW5zb24gSHNpZWguCisKKyAgICAgICAgT24gc29tZSBtYWNPUyBkZXZpY2VzLCB0aGVyZSBjYW4g
YmUgc2lnbmlmaWNhbnQgZGVsdGFzIGJldHdlZW4gTlNFdmVudCB0aW1lc3RhbXBzLAorICAgICAg
ICBhbmQgdGhlIHRpbWVzdGFtcHMgb24gdW5kZXJseWluZyBJT0hJREV2ZW50cyAocmRhcjovLzg1
MzA5NjM5KS4gVGhpcyBtYWtlcyBtb21lbnR1bQorICAgICAgICB2ZWxvY2l0eSBjb21wdXRhdGlv
biB1bnByZWRpY3RhYmxlOyB3ZSBjYW4gZ2V0IGJldHRlciByZXN1bHRzIGJ5IHVzaW5nIElPSElE
RXZlbnQKKyAgICAgICAgdGltZXN0YW1wcy4KKworICAgICAgICAqIHBsYXRmb3JtL1BsYXRmb3Jt
V2hlZWxFdmVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybVdoZWVsRXZlbnQ6OmNy
ZWF0ZUZyb21HZXN0dXJlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9QbGF0Zm9ybVdoZWVsRXZlbnQu
aDoKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtV2hlZWxFdmVudDo6aW9ISURFdmVudFRpbWVz
dGFtcCBjb25zdCk6CisgICAgICAgICogcGxhdGZvcm0vbWFjL1BsYXRmb3JtRXZlbnRGYWN0b3J5
TWFjLmg6CisgICAgICAgICogcGxhdGZvcm0vbWFjL1BsYXRmb3JtRXZlbnRGYWN0b3J5TWFjLm1t
OgorICAgICAgICAoV2ViQ29yZTo6ZXZlbnRUaW1lU3RhbXBTaW5jZTE5NzApOgorICAgICAgICAo
V2ViQ29yZTo6UGxhdGZvcm1Nb3VzZUV2ZW50QnVpbGRlcjo6UGxhdGZvcm1Nb3VzZUV2ZW50QnVp
bGRlcik6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybVdoZWVsRXZlbnRCdWlsZGVyOjpQbGF0
Zm9ybVdoZWVsRXZlbnRCdWlsZGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtS2V5Ym9h
cmRFdmVudEJ1aWxkZXI6OlBsYXRmb3JtS2V5Ym9hcmRFdmVudEJ1aWxkZXIpOgorCiAyMDIxLTEx
LTEzICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgogCiAgICAgICAgIENs
ZWFuIHVwIElPS2l0IFNQSSBoZWFkZXJzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCA4ZWFkMGM5NjI4
NjQ1MGVmOTk5NzVhNzVlOTFhNjNjNzQ3N2FjNmE2Li4yYTM5NTU2NTk0NzhlNTExYjU2NWEyZjUx
OWIxNDk1MjFiNGU1Mzc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAy
MS0xMS0xMyAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKworICAgICAg
ICBBdHRhY2ggSU9ISURFdmVudCB0aW1lc3RhbXBzIHRvIHdoZWVsIGV2ZW50cworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzMDUxCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgV2Vuc29uIEhzaWVoLgorICAgICAgICAKKyAgICAgICAgRXhwb3NlIGEgZmV3
IGJpdHMgb2YgU1BJIG5lZWRlZC4KKworICAgICAgICAqIHBhbC9zcGkvY2cvQ29yZUdyYXBoaWNz
U1BJLmg6CisgICAgICAgICogcGFsL3NwaS9jb2NvYS9JT0tpdFNQSS5oOgorCiAyMDIxLTExLTEz
ICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgogCiAgICAgICAgIENsZWFu
IHVwIElPS2l0IFNQSSBoZWFkZXJzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDk0YWVhZDIxODg1ZmVlNzU0MjJlZTg4
NDIzYmY2N2RmODVlMTM2NWUuLjI1NzA2ZjBhOWVmYTRjOGU4YmM5YzA4NDg3MGI5NWJjNDEyMzlj
OTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzMgQEAKKzIwMjEtMTEtMTMgIFNpbW9uIEZyYXNlciAg
PHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgQXR0YWNoIElPSElERXZlbnQgdGlt
ZXN0YW1wcyB0byB3aGVlbCBldmVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIzMzA1MQorCisgICAgICAgIFJldmlld2VkIGJ5IFdlbnNvbiBIc2ll
aC4KKyAgICAgICAgCisgICAgICAgIE9uIHNvbWUgbWFjT1MgZGV2aWNlcywgdGhlcmUgY2FuIGJl
IHNpZ25pZmljYW50IGRlbHRhcyBiZXR3ZWVuIE5TRXZlbnQgdGltZXN0YW1wcywKKyAgICAgICAg
YW5kIHRoZSB0aW1lc3RhbXBzIG9uIHVuZGVybHlpbmcgSU9ISURFdmVudHMgKHJkYXI6Ly84NTMw
OTYzOSkuIFRoaXMgbWFrZXMgbW9tZW50dW0KKyAgICAgICAgdmVsb2NpdHkgY29tcHV0YXRpb24g
dW5wcmVkaWN0YWJsZTsgd2UgY2FuIGdldCBiZXR0ZXIgcmVzdWx0cyBieSB1c2luZyBJT0hJREV2
ZW50CisgICAgICAgIHRpbWVzdGFtcHMuCisKKyAgICAgICAgKiBTaGFyZWQvV2ViRXZlbnRDb252
ZXJzaW9uLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViS2l0MlBsYXRmb3JtV2hlZWxFdmVudDo6
V2ViS2l0MlBsYXRmb3JtV2hlZWxFdmVudCk6CisgICAgICAgICogU2hhcmVkL1dlYldoZWVsRXZl
bnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJXaGVlbEV2ZW50OjpXZWJXaGVlbEV2ZW50KToK
KyAgICAgICAgKFdlYktpdDo6V2ViV2hlZWxFdmVudDo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAg
KFdlYktpdDo6V2ViV2hlZWxFdmVudDo6ZGVjb2RlKToKKyAgICAgICAgKiBTaGFyZWQvV2ViV2hl
ZWxFdmVudC5oOgorICAgICAgICAoV2ViS2l0OjpXZWJXaGVlbEV2ZW50Ojppb0hJREV2ZW50VGlt
ZXN0YW1wIGNvbnN0KToKKyAgICAgICAgKiBTaGFyZWQvV2ViV2hlZWxFdmVudENvYWxlc2Nlci5j
cHA6CisgICAgICAgIChXZWJLaXQ6OldlYldoZWVsRXZlbnRDb2FsZXNjZXI6OmNvYWxlc2NlKToK
KyAgICAgICAgKiBTaGFyZWQvaW9zL1dlYklPU0V2ZW50RmFjdG9yeS5tbToKKyAgICAgICAgKFdl
YklPU0V2ZW50RmFjdG9yeTo6Y3JlYXRlV2ViV2hlZWxFdmVudCk6CisgICAgICAgICogU2hhcmVk
L21hYy9OYXRpdmVXZWJHZXN0dXJlRXZlbnRNYWMubW06CisgICAgICAgICogU2hhcmVkL21hYy9X
ZWJFdmVudEZhY3RvcnkubW06CisgICAgICAgIChXZWJLaXQ6OldlYkV2ZW50RmFjdG9yeTo6Y3Jl
YXRlV2ViTW91c2VFdmVudCk6CisgICAgICAgIChXZWJLaXQ6OldlYkV2ZW50RmFjdG9yeTo6Y3Jl
YXRlV2ViV2hlZWxFdmVudCk6CisgICAgICAgIChXZWJLaXQ6OldlYkV2ZW50RmFjdG9yeTo6Y3Jl
YXRlV2ViS2V5Ym9hcmRFdmVudCk6CisKIDIwMjEtMTEtMTMgIFBlciBBcm5lIFZvbGxhbiA8cHZv
bGxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW21hY09TXVtHUFVQXSBSZW1vdmUgbG9nZ2luZyBv
ZiB1c2VkIHN5c2NhbGxzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9j
Zy9Db3JlR3JhcGhpY3NTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NnL0NvcmVH
cmFwaGljc1NQSS5oCmluZGV4IDZjNTYyMTA4YzA3OGUwYTIxOTFmM2U0MDU4MTU0MTM3ZDhmMmQ5
MmUuLjI4YjQwNDgwYTcxN2FiNDJkZGEzNzU0YzJiZWFjMWQ3OWEyMDdkZGUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NnL0NvcmVHcmFwaGljc1NQSS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NnL0NvcmVHcmFwaGljc1NQSS5oCkBAIC0yNyw2ICsy
Nyw3IEBACiAKICNpbmNsdWRlIDxDb3JlRm91bmRhdGlvbi9Db3JlRm91bmRhdGlvbi5oPgogI2lu
Y2x1ZGUgPENvcmVHcmFwaGljcy9Db3JlR3JhcGhpY3MuaD4KKyNpbmNsdWRlIDxwYWwvc3BpL2Nv
Y29hL0lPS2l0U1BJLmg+CiAKICNpZiBIQVZFKElPU1VSRkFDRSkKICNpbmNsdWRlIDxwYWwvc3Bp
L2NvY29hL0lPU3VyZmFjZVNQSS5oPgpAQCAtNDIsNiArNDMsNyBAQAogCiAjaWYgUExBVEZPUk0o
TUFDKQogI2luY2x1ZGUgPENvcmVHcmFwaGljcy9DR0FjY2Vzc2liaWxpdHkuaD4KKyNpbmNsdWRl
IDxDb3JlR3JhcGhpY3MvQ0dFdmVudFByaXZhdGUuaD4KICNlbmRpZgogCiAjZWxzZQpAQCAtMzUx
LDYgKzM1Myw3IEBAIENHRXJyb3IgQ0dTU2V0RGVueVdpbmRvd1NlcnZlckNvbm5lY3Rpb25zKGJv
b2wpOwogdHlwZWRlZiBpbnQzMl90IENHU0Rpc3BsYXlJRDsKIENHU0Rpc3BsYXlJRCBDR1NNYWlu
RGlzcGxheUlEKHZvaWQpOwogCitJT0hJREV2ZW50UmVmIENHRXZlbnRDb3B5SU9ISURFdmVudChD
R0V2ZW50UmVmKTsKICNlbmRpZiAvLyBQTEFURk9STShNQUMpCiAKICNpZiBFTkFCTEUoUERGS0lU
X1BMVUdJTikgJiYgIVVTRShBUFBMRV9JTlRFUk5BTF9TREspCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9QQUwvcGFsL3NwaS9tYWMvSU9LaXRTUElNYWMuaCBiL1NvdXJjZS9XZWJDb3JlL1BB
TC9wYWwvc3BpL21hYy9JT0tpdFNQSU1hYy5oCmluZGV4IDljYWM5MjI0YmY3Y2I0M2ViNmJlYTBm
NzYwMDBiMDlmN2QzZWQwNWMuLmIzYTc5NDg2MjQ3NjAwOWIzM2U3YTg2OWI5MjNkNjM0NTMxMGFj
NDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL21hYy9JT0tpdFNQSU1h
Yy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL21hYy9JT0tpdFNQSU1hYy5oCkBA
IC04MSw2ICs4MSw4IEBAIGVudW0gewogfTsKIHR5cGVkZWYgdWludDMyX3QgSU9ISURFdmVudFR5
cGU7CiAKK3VpbnQ2NF90IElPSElERXZlbnRHZXRUaW1lU3RhbXAoSU9ISURFdmVudFJlZik7CisK
IFdURl9FWFRFUk5fQ19FTkQKIAogI2VuZGlmIC8vIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVdoZWVsRXZlbnQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1XaGVlbEV2ZW50LmNwcAppbmRleCBi
ZDdlZWMxODIzMDZjZTExN2EzYTc2OWZhOTljNmU2NDQyY2QxNDc4Li5jMWQwNDNhNzIxNDhlYmFm
NzVhOGYwOWJhZmI2YmU0ZjIwZjM4MzdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9QbGF0Zm9ybVdoZWVsRXZlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1BsYXRmb3JtV2hlZWxFdmVudC5jcHAKQEAgLTc1LDYgKzc1LDcgQEAgUGxhdGZvcm1XaGVlbEV2
ZW50IFBsYXRmb3JtV2hlZWxFdmVudDo6Y3JlYXRlRnJvbUdlc3R1cmUoY29uc3QgUGxhdGZvcm1H
ZXN0dXJlRXYKICNlbmRpZiAvLyBFTkFCTEUoS0lORVRJQ19TQ1JPTExJTkcpCiAKICNpZiBQTEFU
Rk9STShDT0NPQSkKKyAgICBwbGF0Zm9ybVdoZWVsRXZlbnQubV9pb0hJREV2ZW50VGltZXN0YW1w
ID0gcGxhdGZvcm1XaGVlbEV2ZW50Lm1fdGltZXN0YW1wOwogICAgIHBsYXRmb3JtV2hlZWxFdmVu
dC5tX3VuYWNjZWxlcmF0ZWRTY3JvbGxpbmdEZWx0YVkgPSBkZWx0YVk7CiAjZW5kaWYgLy8gUExB
VEZPUk0oQ09DT0EpCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRm
b3JtV2hlZWxFdmVudC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1XaGVlbEV2
ZW50LmgKaW5kZXggMmExMWZkNGE5MjhmMzcxN2E5MWYwNTY3YWNjMzJiNzc0NWE1OGU4NC4uMzJj
ZTczMzU1YmI0Zjk5NWU3ODM0ZjAwNDY1MTExM2M1ZmUxNjg0NCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1XaGVlbEV2ZW50LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vUGxhdGZvcm1XaGVlbEV2ZW50LmgKQEAgLTE1MSw2ICsxNTEsOCBAQCBwdWJs
aWM6CiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgdW5zaWduZWQgc2Nyb2xsQ291bnQoKSBjb25z
dCB7IHJldHVybiBtX3Njcm9sbENvdW50OyB9CiAgICAgRmxvYXRTaXplIHVuYWNjZWxlcmF0ZWRT
Y3JvbGxpbmdEZWx0YSgpIGNvbnN0IHsgcmV0dXJuIHsgbV91bmFjY2VsZXJhdGVkU2Nyb2xsaW5n
RGVsdGFYLCBtX3VuYWNjZWxlcmF0ZWRTY3JvbGxpbmdEZWx0YVkgfTsgfQorICAgIAorICAgIFdh
bGxUaW1lIGlvSElERXZlbnRUaW1lc3RhbXAoKSBjb25zdCB7IHJldHVybiBtX2lvSElERXZlbnRU
aW1lc3RhbXA7IH0KICNlbmRpZgogCiAjaWYgRU5BQkxFKEFTWU5DX1NDUk9MTElORykKQEAgLTE5
OSw2ICsyMDEsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2UgbV9t
b21lbnR1bVBoYXNlIHsgUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2U6Ok5vbmUgfTsKICNlbmRpZgog
I2lmIFBMQVRGT1JNKENPQ09BKQorICAgIFdhbGxUaW1lIG1faW9ISURFdmVudFRpbWVzdGFtcDsK
ICAgICB1bnNpZ25lZCBtX3Njcm9sbENvdW50IHsgMCB9OwogICAgIGZsb2F0IG1fdW5hY2NlbGVy
YXRlZFNjcm9sbGluZ0RlbHRhWCB7IDAgfTsKICAgICBmbG9hdCBtX3VuYWNjZWxlcmF0ZWRTY3Jv
bGxpbmdEZWx0YVkgeyAwIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
YWMvUGxhdGZvcm1FdmVudEZhY3RvcnlNYWMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21h
Yy9QbGF0Zm9ybUV2ZW50RmFjdG9yeU1hYy5oCmluZGV4IDJmMThmOTU5MzkyOGZlOTNmZTA3MzVj
MjQ1Y2E2N2VkNjg4NTk5ODEuLjZiZjI0Mzg0NGQwMTIzZWFiOTRlYmMxMWY4M2U0ODA4YzNjZjdm
MTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9QbGF0Zm9ybUV2ZW50
RmFjdG9yeU1hYy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9QbGF0Zm9ybUV2
ZW50RmFjdG9yeU1hYy5oCkBAIC01MCw3ICs1MCw3IEBAIFdFQkNPUkVfRVhQT1JUIGludCB3aW5k
b3dzS2V5Q29kZUZvcktleUV2ZW50KE5TRXZlbnQgKik7CiBXRUJDT1JFX0VYUE9SVCBTdHJpbmcg
a2V5SWRlbnRpZmllckZvcktleUV2ZW50KE5TRXZlbnQgKik7CiBXRUJDT1JFX0VYUE9SVCBTdHJp
bmcga2V5Rm9yS2V5RXZlbnQoTlNFdmVudCAqKTsKIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBjb2Rl
Rm9yS2V5RXZlbnQoTlNFdmVudCAqKTsKLVdFQkNPUkVfRVhQT1JUIFdhbGxUaW1lIGV2ZW50VGlt
ZVN0YW1wU2luY2UxOTcwKE5TRXZlbnQgKik7CitXRUJDT1JFX0VYUE9SVCBXYWxsVGltZSBldmVu
dFRpbWVTdGFtcFNpbmNlMTk3MChOU1RpbWVJbnRlcnZhbCk7CiAKIFdFQkNPUkVfRVhQT1JUIE9w
dGlvblNldDxQbGF0Zm9ybUV2ZW50OjpNb2RpZmllcj4gbW9kaWZpZXJzRm9yRXZlbnQoTlNFdmVu
dCAqKTsKIFdFQkNPUkVfRVhQT1JUIHZvaWQgZ2V0V2hlZWxFdmVudERlbHRhcyhOU0V2ZW50ICos
IGZsb2F0JiBkZWx0YVgsIGZsb2F0JiBkZWx0YVksIEJPT0wmIGNvbnRpbnVvdXMpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1BsYXRmb3JtRXZlbnRGYWN0b3J5TWFj
Lm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1BsYXRmb3JtRXZlbnRGYWN0b3J5TWFj
Lm1tCmluZGV4IDRjNzg3MjY1ZjJjOGNkNTcwYzI2ZmZkNWVkMDBjZDIwMmViYTM0ZDAuLjM1ZmM2
YWY1OWI2YWZjYjRmOTU1NGMwZjJhODRhMzM0MjgzOTZlNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21hYy9QbGF0Zm9ybUV2ZW50RmFjdG9yeU1hYy5tbQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUGxhdGZvcm1FdmVudEZhY3RvcnlNYWMubW0KQEAgLTYw
Nyw5ICs2MDcsOSBAQCBzdGF0aWMgQ0ZUaW1lSW50ZXJ2YWwgY2FjaGVkU3RhcnR1cFRpbWVJbnRl
cnZhbFNpbmNlMTk3MCgpCiAgICAgcmV0dXJuIHN5c3RlbVN0YXJ0dXBUaW1lOwogfQogCi1XYWxs
VGltZSBldmVudFRpbWVTdGFtcFNpbmNlMTk3MChOU0V2ZW50KiBldmVudCkKK1dhbGxUaW1lIGV2
ZW50VGltZVN0YW1wU2luY2UxOTcwKE5TVGltZUludGVydmFsIHRpbWVzdGFtcCkKIHsKLSAgICBy
ZXR1cm4gV2FsbFRpbWU6OmZyb21SYXdTZWNvbmRzKHN0YXRpY19jYXN0PGRvdWJsZT4oY2FjaGVk
U3RhcnR1cFRpbWVJbnRlcnZhbFNpbmNlMTk3MCgpICsgW2V2ZW50IHRpbWVzdGFtcF0pKTsKKyAg
ICByZXR1cm4gV2FsbFRpbWU6OmZyb21SYXdTZWNvbmRzKHN0YXRpY19jYXN0PGRvdWJsZT4oY2Fj
aGVkU3RhcnR1cFRpbWVJbnRlcnZhbFNpbmNlMTk3MCgpICsgdGltZXN0YW1wKSk7CiB9CiAKIHN0
YXRpYyBpbmxpbmUgYm9vbCBpc0tleVVwRXZlbnQoTlNFdmVudCAqZXZlbnQpCkBAIC03MjAsNyAr
NzIwLDcgQEAgcHVibGljOgogICAgICAgICB9CiAKICAgICAgICAgbV9tb2RpZmllcnMgPSBtb2Rp
ZmllcnNGb3JFdmVudChldmVudCk7Ci0gICAgICAgIG1fdGltZXN0YW1wID0gZXZlbnRUaW1lU3Rh
bXBTaW5jZTE5NzAoZXZlbnQpOworICAgICAgICBtX3RpbWVzdGFtcCA9IGV2ZW50VGltZVN0YW1w
U2luY2UxOTcwKGV2ZW50LnRpbWVzdGFtcCk7CiAKICAgICAgICAgLy8gUGxhdGZvcm1Nb3VzZUV2
ZW50CiAgICAgICAgIG1fcG9zaXRpb24gPSBwb2ludEZvckV2ZW50KGV2ZW50LCB3aW5kb3dWaWV3
KTsKQEAgLTc1NSw3ICs3NTUsNyBAQCBwdWJsaWM6CiAgICAgICAgIC8vIFBsYXRmb3JtRXZlbnQK
ICAgICAgICAgbV90eXBlID0gUGxhdGZvcm1FdmVudDo6V2hlZWw7CiAgICAgICAgIG1fbW9kaWZp
ZXJzID0gbW9kaWZpZXJzRm9yRXZlbnQoZXZlbnQpOwotICAgICAgICBtX3RpbWVzdGFtcCA9IGV2
ZW50VGltZVN0YW1wU2luY2UxOTcwKGV2ZW50KTsKKyAgICAgICAgbV90aW1lc3RhbXAgPSBldmVu
dFRpbWVTdGFtcFNpbmNlMTk3MChldmVudC50aW1lc3RhbXApOwogCiAgICAgICAgIC8vIFBsYXRm
b3JtV2hlZWxFdmVudAogICAgICAgICBtX3Bvc2l0aW9uID0gcG9pbnRGb3JFdmVudChldmVudCwg
d2luZG93Vmlldyk7CkBAIC03OTQsNyArNzk0LDcgQEAgcHVibGljOgogICAgICAgICAvLyBQbGF0
Zm9ybUV2ZW50CiAgICAgICAgIG1fdHlwZSA9IGlzS2V5VXBFdmVudChldmVudCkgPyBQbGF0Zm9y
bUV2ZW50OjpLZXlVcCA6IFBsYXRmb3JtRXZlbnQ6OktleURvd247CiAgICAgICAgIG1fbW9kaWZp
ZXJzID0gbW9kaWZpZXJzRm9yRXZlbnQoZXZlbnQpOwotICAgICAgICBtX3RpbWVzdGFtcCA9IGV2
ZW50VGltZVN0YW1wU2luY2UxOTcwKGV2ZW50KTsKKyAgICAgICAgbV90aW1lc3RhbXAgPSBldmVu
dFRpbWVTdGFtcFNpbmNlMTk3MChldmVudC50aW1lc3RhbXApOwogCiAgICAgICAgIC8vIFBsYXRm
b3JtS2V5Ym9hcmRFdmVudAogICAgICAgICBtX3RleHQgPSB0ZXh0RnJvbUV2ZW50KGV2ZW50KTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkV2ZW50Q29udmVyc2lvbi5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJFdmVudENvbnZlcnNpb24uY3BwCmluZGV4IGY5ZTlj
YjYzZGNlZjdmNjI2MjI0MDA1YzU2MzIwYzM1MjFhMmU4OTUuLmQ2OTI4YmIzNGNlMTk3ODk0ZWU2
ZmEwZTY3YWE2NTMzYzFmMzZkMWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dl
YkV2ZW50Q29udmVyc2lvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViRXZlbnRD
b252ZXJzaW9uLmNwcApAQCAtMTY5LDYgKzE2OSw3IEBAIHB1YmxpYzoKICAgICAgICAgbV9oYXNQ
cmVjaXNlU2Nyb2xsaW5nRGVsdGFzID0gd2ViRXZlbnQuaGFzUHJlY2lzZVNjcm9sbGluZ0RlbHRh
cygpOwogI2VuZGlmCiAjaWYgUExBVEZPUk0oQ09DT0EpCisgICAgICAgIG1faW9ISURFdmVudFRp
bWVzdGFtcCA9IHdlYkV2ZW50LmlvSElERXZlbnRUaW1lc3RhbXAoKTsKICAgICAgICAgbV9zY3Jv
bGxDb3VudCA9IHdlYkV2ZW50LnNjcm9sbENvdW50KCk7CiAgICAgICAgIG1fdW5hY2NlbGVyYXRl
ZFNjcm9sbGluZ0RlbHRhWCA9IHdlYkV2ZW50LnVuYWNjZWxlcmF0ZWRTY3JvbGxpbmdEZWx0YSgp
LndpZHRoKCk7CiAgICAgICAgIG1fdW5hY2NlbGVyYXRlZFNjcm9sbGluZ0RlbHRhWSA9IHdlYkV2
ZW50LnVuYWNjZWxlcmF0ZWRTY3JvbGxpbmdEZWx0YSgpLmhlaWdodCgpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9TaGFyZWQvV2ViV2hlZWxFdmVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9XZWJXaGVlbEV2ZW50LmNwcAppbmRleCBjMDNmZTIzZWJkN2VhYzYzODUxZWMwYWU5YTNi
ZGZiZDE2OWY4OWFiLi5hNmIyM2RhYzdhMzFmMzRmYmI5NjI5YTMxNTY2MzkxZDEyMTA5ZmVkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJXaGVlbEV2ZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJXaGVlbEV2ZW50LmNwcApAQCAtNDQsNyArNDQsNyBAQCBX
ZWJXaGVlbEV2ZW50OjpXZWJXaGVlbEV2ZW50KFR5cGUgdHlwZSwgY29uc3QgSW50UG9pbnQmIHBv
c2l0aW9uLCBjb25zdCBJbnRQb2ludAogfQogCiAjaWYgUExBVEZPUk0oQ09DT0EpCi1XZWJXaGVl
bEV2ZW50OjpXZWJXaGVlbEV2ZW50KFR5cGUgdHlwZSwgY29uc3QgSW50UG9pbnQmIHBvc2l0aW9u
LCBjb25zdCBJbnRQb2ludCYgZ2xvYmFsUG9zaXRpb24sIGNvbnN0IEZsb2F0U2l6ZSYgZGVsdGEs
IGNvbnN0IEZsb2F0U2l6ZSYgd2hlZWxUaWNrcywgR3JhbnVsYXJpdHkgZ3JhbnVsYXJpdHksIGJv
b2wgZGlyZWN0aW9uSW52ZXJ0ZWRGcm9tRGV2aWNlLCBQaGFzZSBwaGFzZSwgUGhhc2UgbW9tZW50
dW1QaGFzZSwgYm9vbCBoYXNQcmVjaXNlU2Nyb2xsaW5nRGVsdGFzLCB1aW50MzJfdCBzY3JvbGxD
b3VudCwgY29uc3QgV2ViQ29yZTo6RmxvYXRTaXplJiB1bmFjY2VsZXJhdGVkU2Nyb2xsaW5nRGVs
dGEsIE9wdGlvblNldDxNb2RpZmllcj4gbW9kaWZpZXJzLCBXYWxsVGltZSB0aW1lc3RhbXApCitX
ZWJXaGVlbEV2ZW50OjpXZWJXaGVlbEV2ZW50KFR5cGUgdHlwZSwgY29uc3QgSW50UG9pbnQmIHBv
c2l0aW9uLCBjb25zdCBJbnRQb2ludCYgZ2xvYmFsUG9zaXRpb24sIGNvbnN0IEZsb2F0U2l6ZSYg
ZGVsdGEsIGNvbnN0IEZsb2F0U2l6ZSYgd2hlZWxUaWNrcywgR3JhbnVsYXJpdHkgZ3JhbnVsYXJp
dHksIGJvb2wgZGlyZWN0aW9uSW52ZXJ0ZWRGcm9tRGV2aWNlLCBQaGFzZSBwaGFzZSwgUGhhc2Ug
bW9tZW50dW1QaGFzZSwgYm9vbCBoYXNQcmVjaXNlU2Nyb2xsaW5nRGVsdGFzLCB1aW50MzJfdCBz
Y3JvbGxDb3VudCwgY29uc3QgV2ViQ29yZTo6RmxvYXRTaXplJiB1bmFjY2VsZXJhdGVkU2Nyb2xs
aW5nRGVsdGEsIE9wdGlvblNldDxNb2RpZmllcj4gbW9kaWZpZXJzLCBXYWxsVGltZSB0aW1lc3Rh
bXAsIFdhbGxUaW1lIGlvSElERXZlbnRUaW1lc3RhbXApCiAgICAgOiBXZWJFdmVudCh0eXBlLCBt
b2RpZmllcnMsIHRpbWVzdGFtcCkKICAgICAsIG1fcG9zaXRpb24ocG9zaXRpb24pCiAgICAgLCBt
X2dsb2JhbFBvc2l0aW9uKGdsb2JhbFBvc2l0aW9uKQpAQCAtNTUsNiArNTUsNyBAQCBXZWJXaGVl
bEV2ZW50OjpXZWJXaGVlbEV2ZW50KFR5cGUgdHlwZSwgY29uc3QgSW50UG9pbnQmIHBvc2l0aW9u
LCBjb25zdCBJbnRQb2ludAogICAgICwgbV9tb21lbnR1bVBoYXNlKG1vbWVudHVtUGhhc2UpCiAg
ICAgLCBtX2RpcmVjdGlvbkludmVydGVkRnJvbURldmljZShkaXJlY3Rpb25JbnZlcnRlZEZyb21E
ZXZpY2UpCiAgICAgLCBtX2hhc1ByZWNpc2VTY3JvbGxpbmdEZWx0YXMoaGFzUHJlY2lzZVNjcm9s
bGluZ0RlbHRhcykKKyAgICAsIG1faW9ISURFdmVudFRpbWVzdGFtcChpb0hJREV2ZW50VGltZXN0
YW1wKQogICAgICwgbV9zY3JvbGxDb3VudChzY3JvbGxDb3VudCkKICAgICAsIG1fdW5hY2NlbGVy
YXRlZFNjcm9sbGluZ0RlbHRhKHVuYWNjZWxlcmF0ZWRTY3JvbGxpbmdEZWx0YSkKIHsKQEAgLTky
LDYgKzkzLDcgQEAgdm9pZCBXZWJXaGVlbEV2ZW50OjplbmNvZGUoSVBDOjpFbmNvZGVyJiBlbmNv
ZGVyKSBjb25zdAogICAgIGVuY29kZXIgPDwgbV9oYXNQcmVjaXNlU2Nyb2xsaW5nRGVsdGFzOwog
I2VuZGlmCiAjaWYgUExBVEZPUk0oQ09DT0EpCisgICAgZW5jb2RlciA8PCBtX2lvSElERXZlbnRU
aW1lc3RhbXA7CiAgICAgZW5jb2RlciA8PCBtX3Njcm9sbENvdW50OwogICAgIGVuY29kZXIgPDwg
bV91bmFjY2VsZXJhdGVkU2Nyb2xsaW5nRGVsdGE7CiAjZW5kaWYKQEAgLTEyMiw2ICsxMjQsOCBA
QCBib29sIFdlYldoZWVsRXZlbnQ6OmRlY29kZShJUEM6OkRlY29kZXImIGRlY29kZXIsIFdlYldo
ZWVsRXZlbnQmIHQpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICNlbmRpZgogI2lmIFBMQVRGT1JN
KENPQ09BKQorICAgIGlmICghZGVjb2Rlci5kZWNvZGUodC5tX2lvSElERXZlbnRUaW1lc3RhbXAp
KQorICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZSh0Lm1fc2Ny
b2xsQ291bnQpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgaWYgKCFkZWNvZGVyLmRlY29k
ZSh0Lm1fdW5hY2NlbGVyYXRlZFNjcm9sbGluZ0RlbHRhKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL1dlYldoZWVsRXZlbnQuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYldo
ZWVsRXZlbnQuaAppbmRleCBlMDkxZGI4ZmI5MGMzOTk1ZDA0N2Q0OTE2ZTU0ODMxNzcwY2RjNTcw
Li45OWRjYjZiMDUwNGM2ODlhZWIwMTBmMTcyZjU0NGI5MTIzZTBhMWNiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJXaGVlbEV2ZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9T
aGFyZWQvV2ViV2hlZWxFdmVudC5oCkBAIC01Myw3ICs1Myw3IEBAIHB1YmxpYzoKIAogICAgIFdl
YldoZWVsRXZlbnQoVHlwZSwgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIHBvc2l0aW9uLCBjb25z
dCBXZWJDb3JlOjpJbnRQb2ludCYgZ2xvYmFsUG9zaXRpb24sIGNvbnN0IFdlYkNvcmU6OkZsb2F0
U2l6ZSYgZGVsdGEsIGNvbnN0IFdlYkNvcmU6OkZsb2F0U2l6ZSYgd2hlZWxUaWNrcywgR3JhbnVs
YXJpdHksIE9wdGlvblNldDxNb2RpZmllcj4sIFdhbGxUaW1lIHRpbWVzdGFtcCk7CiAjaWYgUExB
VEZPUk0oQ09DT0EpCi0gICAgV2ViV2hlZWxFdmVudChUeXBlLCBjb25zdCBXZWJDb3JlOjpJbnRQ
b2ludCYgcG9zaXRpb24sIGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBnbG9iYWxQb3NpdGlvbiwg
Y29uc3QgV2ViQ29yZTo6RmxvYXRTaXplJiBkZWx0YSwgY29uc3QgV2ViQ29yZTo6RmxvYXRTaXpl
JiB3aGVlbFRpY2tzLCBHcmFudWxhcml0eSwgYm9vbCBkaXJlY3Rpb25JbnZlcnRlZEZyb21EZXZp
Y2UsIFBoYXNlLCBQaGFzZSBtb21lbnR1bVBoYXNlLCBib29sIGhhc1ByZWNpc2VTY3JvbGxpbmdE
ZWx0YXMsIHVpbnQzMl90IHNjcm9sbENvdW50LCBjb25zdCBXZWJDb3JlOjpGbG9hdFNpemUmIHVu
YWNjZWxlcmF0ZWRTY3JvbGxpbmdEZWx0YSwgT3B0aW9uU2V0PE1vZGlmaWVyPiwgV2FsbFRpbWUg
dGltZXN0YW1wKTsKKyAgICBXZWJXaGVlbEV2ZW50KFR5cGUsIGNvbnN0IFdlYkNvcmU6OkludFBv
aW50JiBwb3NpdGlvbiwgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIGdsb2JhbFBvc2l0aW9uLCBj
b25zdCBXZWJDb3JlOjpGbG9hdFNpemUmIGRlbHRhLCBjb25zdCBXZWJDb3JlOjpGbG9hdFNpemUm
IHdoZWVsVGlja3MsIEdyYW51bGFyaXR5LCBib29sIGRpcmVjdGlvbkludmVydGVkRnJvbURldmlj
ZSwgUGhhc2UsIFBoYXNlIG1vbWVudHVtUGhhc2UsIGJvb2wgaGFzUHJlY2lzZVNjcm9sbGluZ0Rl
bHRhcywgdWludDMyX3Qgc2Nyb2xsQ291bnQsIGNvbnN0IFdlYkNvcmU6OkZsb2F0U2l6ZSYgdW5h
Y2NlbGVyYXRlZFNjcm9sbGluZ0RlbHRhLCBPcHRpb25TZXQ8TW9kaWZpZXI+LCBXYWxsVGltZSB0
aW1lc3RhbXAsIFdhbGxUaW1lIGlvSElERXZlbnRUaW1lc3RhbXApOwogI2VsaWYgUExBVEZPUk0o
R1RLKSB8fCBVU0UoTElCV1BFKQogICAgIFdlYldoZWVsRXZlbnQoVHlwZSwgY29uc3QgV2ViQ29y
ZTo6SW50UG9pbnQmIHBvc2l0aW9uLCBjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgZ2xvYmFsUG9z
aXRpb24sIGNvbnN0IFdlYkNvcmU6OkZsb2F0U2l6ZSYgZGVsdGEsIGNvbnN0IFdlYkNvcmU6OkZs
b2F0U2l6ZSYgd2hlZWxUaWNrcywgUGhhc2UsIFBoYXNlIG1vbWVudHVtUGhhc2UsIEdyYW51bGFy
aXR5LCBib29sIGhhc1ByZWNpc2VTY3JvbGxpbmdEZWx0YXMsIE9wdGlvblNldDxNb2RpZmllcj4s
IFdhbGxUaW1lIHRpbWVzdGFtcCk7CiAjZW5kaWYKQEAgLTcwLDYgKzcwLDcgQEAgcHVibGljOgog
ICAgIGJvb2wgaGFzUHJlY2lzZVNjcm9sbGluZ0RlbHRhcygpIGNvbnN0IHsgcmV0dXJuIG1faGFz
UHJlY2lzZVNjcm9sbGluZ0RlbHRhczsgfQogI2VuZGlmCiAjaWYgUExBVEZPUk0oQ09DT0EpCisg
ICAgV2FsbFRpbWUgaW9ISURFdmVudFRpbWVzdGFtcCgpIGNvbnN0IHsgcmV0dXJuIG1faW9ISURF
dmVudFRpbWVzdGFtcDsgfQogICAgIHVpbnQzMl90IHNjcm9sbENvdW50KCkgY29uc3QgeyByZXR1
cm4gbV9zY3JvbGxDb3VudDsgfQogICAgIGNvbnN0IFdlYkNvcmU6OkZsb2F0U2l6ZSYgdW5hY2Nl
bGVyYXRlZFNjcm9sbGluZ0RlbHRhKCkgY29uc3QgeyByZXR1cm4gbV91bmFjY2VsZXJhdGVkU2Ny
b2xsaW5nRGVsdGE7IH0KICNlbmRpZgpAQCAtODcsMTEgKzg4LDEzIEBAIHByaXZhdGU6CiAgICAg
dWludDMyX3QgbV9ncmFudWxhcml0eSB7IFNjcm9sbEJ5UGFnZVdoZWVsRXZlbnQgfTsKICAgICB1
aW50MzJfdCBtX3BoYXNlIHsgUGhhc2U6OlBoYXNlTm9uZSB9OwogICAgIHVpbnQzMl90IG1fbW9t
ZW50dW1QaGFzZSB7IFBoYXNlOjpQaGFzZU5vbmUgfTsKKwogICAgIGJvb2wgbV9kaXJlY3Rpb25J
bnZlcnRlZEZyb21EZXZpY2UgeyBmYWxzZSB9OwogI2lmIFBMQVRGT1JNKENPQ09BKSB8fCBQTEFU
Rk9STShHVEspIHx8IFVTRShMSUJXUEUpCiAgICAgYm9vbCBtX2hhc1ByZWNpc2VTY3JvbGxpbmdE
ZWx0YXMgeyBmYWxzZSB9OwogI2VuZGlmCiAjaWYgUExBVEZPUk0oQ09DT0EpCisgICAgV2FsbFRp
bWUgbV9pb0hJREV2ZW50VGltZXN0YW1wOwogICAgIHVpbnQzMl90IG1fc2Nyb2xsQ291bnQgeyAw
IH07CiAgICAgV2ViQ29yZTo6RmxvYXRTaXplIG1fdW5hY2NlbGVyYXRlZFNjcm9sbGluZ0RlbHRh
OwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJXaGVlbEV2ZW50
Q29hbGVzY2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYldoZWVsRXZlbnRDb2FsZXNj
ZXIuY3BwCmluZGV4IGVkNjBjYmRhMDVmN2VkNWYxZDJkMTIyODMxN2Q4NDM4YTRiZDljOTQuLmU2
NzU1ZmEwZWYzZDYwNDlmZjljM2E0OWQ4MjkxMTYyNDYwNTEyOGIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL1dlYldoZWVsRXZlbnRDb2FsZXNjZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL1dlYldoZWVsRXZlbnRDb2FsZXNjZXIuY3BwCkBAIC03OCw3ICs3OCw3IEBA
IFdlYldoZWVsRXZlbnQgV2ViV2hlZWxFdmVudENvYWxlc2Nlcjo6Y29hbGVzY2UoY29uc3QgV2Vi
V2hlZWxFdmVudCYgYSwgY29uc3QgV2ViCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgYXV0byBt
ZXJnZWRVbmFjY2VsZXJhdGVkU2Nyb2xsaW5nRGVsdGEgPSBhLnVuYWNjZWxlcmF0ZWRTY3JvbGxp
bmdEZWx0YSgpICsgYi51bmFjY2VsZXJhdGVkU2Nyb2xsaW5nRGVsdGEoKTsKIAotICAgIHJldHVy
biBXZWJXaGVlbEV2ZW50KFdlYkV2ZW50OjpXaGVlbCwgYi5wb3NpdGlvbigpLCBiLmdsb2JhbFBv
c2l0aW9uKCksIG1lcmdlZERlbHRhLCBtZXJnZWRXaGVlbFRpY2tzLCBiLmdyYW51bGFyaXR5KCks
IGIuZGlyZWN0aW9uSW52ZXJ0ZWRGcm9tRGV2aWNlKCksIGIucGhhc2UoKSwgYi5tb21lbnR1bVBo
YXNlKCksIGIuaGFzUHJlY2lzZVNjcm9sbGluZ0RlbHRhcygpLCBiLnNjcm9sbENvdW50KCksIG1l
cmdlZFVuYWNjZWxlcmF0ZWRTY3JvbGxpbmdEZWx0YSwgYi5tb2RpZmllcnMoKSwgYi50aW1lc3Rh
bXAoKSk7CisgICAgcmV0dXJuIFdlYldoZWVsRXZlbnQoV2ViRXZlbnQ6OldoZWVsLCBiLnBvc2l0
aW9uKCksIGIuZ2xvYmFsUG9zaXRpb24oKSwgbWVyZ2VkRGVsdGEsIG1lcmdlZFdoZWVsVGlja3Ms
IGIuZ3JhbnVsYXJpdHkoKSwgYi5kaXJlY3Rpb25JbnZlcnRlZEZyb21EZXZpY2UoKSwgYi5waGFz
ZSgpLCBiLm1vbWVudHVtUGhhc2UoKSwgYi5oYXNQcmVjaXNlU2Nyb2xsaW5nRGVsdGFzKCksIGIu
c2Nyb2xsQ291bnQoKSwgbWVyZ2VkVW5hY2NlbGVyYXRlZFNjcm9sbGluZ0RlbHRhLCBiLm1vZGlm
aWVycygpLCBiLnRpbWVzdGFtcCgpLCBiLmlvSElERXZlbnRUaW1lc3RhbXAoKSk7CiAjZWxpZiBQ
TEFURk9STShHVEspIHx8IFVTRShMSUJXUEUpCiAgICAgcmV0dXJuIFdlYldoZWVsRXZlbnQoV2Vi
RXZlbnQ6OldoZWVsLCBiLnBvc2l0aW9uKCksIGIuZ2xvYmFsUG9zaXRpb24oKSwgbWVyZ2VkRGVs
dGEsIG1lcmdlZFdoZWVsVGlja3MsIGIucGhhc2UoKSwgYi5tb21lbnR1bVBoYXNlKCksIGIuZ3Jh
bnVsYXJpdHkoKSwgYi5oYXNQcmVjaXNlU2Nyb2xsaW5nRGVsdGFzKCksIGIubW9kaWZpZXJzKCks
IGIudGltZXN0YW1wKCkpOwogI2Vsc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L2lvcy9XZWJJT1NFdmVudEZhY3RvcnkubW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9pb3MvV2Vi
SU9TRXZlbnRGYWN0b3J5Lm1tCmluZGV4IDJlMzkzM2JjYmUzNjcyZDI3M2JmZmMzOTExMzNkY2Ux
MmMyMjI0M2UuLjI5OWE0Y2NiMDA4ZTczMWViYTA3OTdhNmZiZGJlNzY2YzFkMDA0NTYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL2lvcy9XZWJJT1NFdmVudEZhY3RvcnkubW0KKysr
IGIvU291cmNlL1dlYktpdC9TaGFyZWQvaW9zL1dlYklPU0V2ZW50RmFjdG9yeS5tbQpAQCAtMTYx
LDcgKzE2MSw3IEBAIFdlYktpdDo6V2ViV2hlZWxFdmVudCBXZWJJT1NFdmVudEZhY3Rvcnk6OmNy
ZWF0ZVdlYldoZWVsRXZlbnQoVUlTY3JvbGxFdmVudCAqZXZlCiAgICAgV2ViQ29yZTo6RmxvYXRT
aXplIGRlbHRhKGRlbHRhVmVjdG9yLmR4LCBkZWx0YVZlY3Rvci5keSk7CiAgICAgV2ViQ29yZTo6
RmxvYXRTaXplIHdoZWVsVGlja3MgPSBkZWx0YTsKICAgICB3aGVlbFRpY2tzLnNjYWxlKDEuIC8g
c3RhdGljX2Nhc3Q8ZmxvYXQ+KFdlYkNvcmU6OlNjcm9sbGJhcjo6cGl4ZWxzUGVyTGluZVN0ZXAo
KSkpOwotCisgICAgYXV0byB0aW1lc3RhbXAgPSBNb25vdG9uaWNUaW1lOjpmcm9tUmF3U2Vjb25k
cyhldmVudC50aW1lc3RhbXApLmFwcHJveGltYXRlV2FsbFRpbWUoKTsKICAgICByZXR1cm4gewog
ICAgICAgICBXZWJLaXQ6OldlYkV2ZW50OjpXaGVlbCwKICAgICAgICAgc2Nyb2xsTG9jYXRpb24s
CkBAIC0xNzYsNyArMTc2LDggQEAgV2ViS2l0OjpXZWJXaGVlbEV2ZW50IFdlYklPU0V2ZW50RmFj
dG9yeTo6Y3JlYXRlV2ViV2hlZWxFdmVudChVSVNjcm9sbEV2ZW50ICpldmUKICAgICAgICAgMSwK
ICAgICAgICAgZGVsdGEsCiAgICAgICAgIHsgfSwKLSAgICAgICAgTW9ub3RvbmljVGltZTo6ZnJv
bVJhd1NlY29uZHMoZXZlbnQudGltZXN0YW1wKS5hcHByb3hpbWF0ZVdhbGxUaW1lKCkKKyAgICAg
ICAgdGltZXN0YW1wLAorICAgICAgICB0aW1lc3RhbXAKICAgICB9OwogfQogI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMvTmF0aXZlV2ViR2VzdHVyZUV2ZW50TWFj
Lm1tIGIvU291cmNlL1dlYktpdC9TaGFyZWQvbWFjL05hdGl2ZVdlYkdlc3R1cmVFdmVudE1hYy5t
bQppbmRleCBjMWQyMWQ4MWI0MjQyNDJiMzRiZjM4ZWZhYWFlNmU1Y2JjZGJjMWE0Li42ZTBmMmNk
NjFlZjVlMDhmNjUyZjI0NDZmMGM1MWIwOTA1OGQwYWYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9tYWMvTmF0aXZlV2ViR2VzdHVyZUV2ZW50TWFjLm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL21hYy9OYXRpdmVXZWJHZXN0dXJlRXZlbnRNYWMubW0KQEAgLTYyLDcgKzYy
LDcgQEAgTmF0aXZlV2ViR2VzdHVyZUV2ZW50OjpOYXRpdmVXZWJHZXN0dXJlRXZlbnQoTlNFdmVu
dCAqZXZlbnQsIE5TVmlldyAqdmlldykKICAgICA6IFdlYkdlc3R1cmVFdmVudCgKICAgICAgICAg
d2ViRXZlbnRUeXBlRm9yTlNFdmVudChldmVudCksCiAgICAgICAgIE9wdGlvblNldDxXZWJFdmVu
dDo6TW9kaWZpZXI+IHsgfSwKLSAgICAgICAgV2ViQ29yZTo6ZXZlbnRUaW1lU3RhbXBTaW5jZTE5
NzAoZXZlbnQpLAorICAgICAgICBXZWJDb3JlOjpldmVudFRpbWVTdGFtcFNpbmNlMTk3MChldmVu
dC50aW1lc3RhbXApLAogICAgICAgICBXZWJDb3JlOjpJbnRQb2ludChwb2ludEZvckV2ZW50KGV2
ZW50LCB2aWV3KSksCiAgICAgICAgIGV2ZW50LnR5cGUgPT0gTlNFdmVudFR5cGVNYWduaWZ5ID8g
ZXZlbnQubWFnbmlmaWNhdGlvbiA6IDAsCiAgICAgICAgIGV2ZW50LnR5cGUgPT0gTlNFdmVudFR5
cGVSb3RhdGUgPyBldmVudC5yb3RhdGlvbiA6IDApCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9tYWMvV2ViRXZlbnRGYWN0b3J5Lm1tIGIvU291cmNlL1dlYktpdC9TaGFyZWQvbWFj
L1dlYkV2ZW50RmFjdG9yeS5tbQppbmRleCAzNjljY2RlOTI2Yzg0YzliMDA0Yzc4OWU4ZDcwZWJm
NDQ3NDdmMGMyLi44ZDUxNDBjODRkYjlkMzQ4MWI3ZjAwMmYwZjc1MGVkMDJiZmU1OTNmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMvV2ViRXZlbnRGYWN0b3J5Lm1tCisrKyBi
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL21hYy9XZWJFdmVudEZhY3RvcnkubW0KQEAgLTMyLDYgKzMy
LDcgQEAKICNpbXBvcnQgPFdlYkNvcmUvUGxhdGZvcm1FdmVudEZhY3RvcnlNYWMuaD4KICNpbXBv
cnQgPFdlYkNvcmUvU2Nyb2xsYmFyLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1dpbmRvd3NLZXlib2Fy
ZENvZGVzLmg+CisjaW1wb3J0IDxwYWwvc3BpL2NnL0NvcmVHcmFwaGljc1NQSS5oPgogI2ltcG9y
dCA8cGFsL3NwaS9tYWMvTlNNZW51U1BJLmg+CiAjaW1wb3J0IDx3dGYvQVNDSUlDVHlwZS5oPgog
CkBAIC0zNTMsNyArMzU0LDcgQEAgV2ViTW91c2VFdmVudCBXZWJFdmVudEZhY3Rvcnk6OmNyZWF0
ZVdlYk1vdXNlRXZlbnQoTlNFdmVudCAqZXZlbnQsIE5TRXZlbnQgKmxhc3QKICAgICBmbG9hdCBk
ZWx0YVogPSBbZXZlbnQgZGVsdGFaXTsKICAgICBpbnQgY2xpY2tDb3VudCA9IGNsaWNrQ291bnRG
b3JFdmVudChldmVudCk7CiAgICAgYXV0byBtb2RpZmllcnMgPSBtb2RpZmllcnNGb3JFdmVudChl
dmVudCk7Ci0gICAgYXV0byB0aW1lc3RhbXAgPSBXZWJDb3JlOjpldmVudFRpbWVTdGFtcFNpbmNl
MTk3MChldmVudCk7CisgICAgYXV0byB0aW1lc3RhbXAgPSBXZWJDb3JlOjpldmVudFRpbWVTdGFt
cFNpbmNlMTk3MChldmVudC50aW1lc3RhbXApOwogICAgIGludCBldmVudE51bWJlciA9IFtldmVu
dCBldmVudE51bWJlcl07CiAgICAgaW50IG1lbnVUeXBlRm9yRXZlbnQgPSB0eXBlRm9yRXZlbnQo
ZXZlbnQpOwogCkBAIC00MDgsOSArNDA5LDI2IEBAIFdlYldoZWVsRXZlbnQgV2ViRXZlbnRGYWN0
b3J5OjpjcmVhdGVXZWJXaGVlbEV2ZW50KE5TRXZlbnQgKmV2ZW50LCBOU1ZpZXcgKndpbmRvCiAg
ICAgfQogCiAgICAgYXV0byBtb2RpZmllcnMgPSBtb2RpZmllcnNGb3JFdmVudChldmVudCk7Ci0g
ICAgYXV0byB0aW1lc3RhbXAgPSBXZWJDb3JlOjpldmVudFRpbWVTdGFtcFNpbmNlMTk3MChldmVu
dCk7CisgICAgYXV0byB0aW1lc3RhbXAgPSBXZWJDb3JlOjpldmVudFRpbWVTdGFtcFNpbmNlMTk3
MChldmVudC50aW1lc3RhbXApOwogCi0gICAgcmV0dXJuIFdlYldoZWVsRXZlbnQoV2ViRXZlbnQ6
OldoZWVsLCBXZWJDb3JlOjpJbnRQb2ludChwb3NpdGlvbiksIFdlYkNvcmU6OkludFBvaW50KGds
b2JhbFBvc2l0aW9uKSwgV2ViQ29yZTo6RmxvYXRTaXplKGRlbHRhWCwgZGVsdGFZKSwgV2ViQ29y
ZTo6RmxvYXRTaXplKHdoZWVsVGlja3NYLCB3aGVlbFRpY2tzWSksIGdyYW51bGFyaXR5LCBkaXJl
Y3Rpb25JbnZlcnRlZEZyb21EZXZpY2UsIHBoYXNlLCBtb21lbnR1bVBoYXNlLCBoYXNQcmVjaXNl
U2Nyb2xsaW5nRGVsdGFzLCBzY3JvbGxDb3VudCwgdW5hY2NlbGVyYXRlZFNjcm9sbGluZ0RlbHRh
LCBtb2RpZmllcnMsIHRpbWVzdGFtcCk7CisgICAgYXV0byBpb0hJREV2ZW50VGltZXN0YW1wID0g
W10oTlNFdmVudCAqZXZlbnQpIHsKKyAgICAgICAgYXV0byBjZ0V2ZW50ID0gZXZlbnQuQ0dFdmVu
dDsKKyAgICAgICAgaWYgKCFjZ0V2ZW50KQorICAgICAgICAgICAgcmV0dXJuIGV2ZW50LnRpbWVz
dGFtcDsKKworICAgICAgICBhdXRvIGlvaGlkRXZlbnQgPSBhZG9wdENGKENHRXZlbnRDb3B5SU9I
SURFdmVudChjZ0V2ZW50KSk7CisgICAgICAgIGlmICghaW9oaWRFdmVudCkKKyAgICAgICAgICAg
IHJldHVybiBldmVudC50aW1lc3RhbXA7CisKKyAgICAgICAgYXV0byBpb0hJREV2ZW50VGltZXN0
YW1wID0gSU9ISURFdmVudEdldFRpbWVTdGFtcChpb2hpZEV2ZW50LmdldCgpKTsgLy8gSU9FdmVu
dFJlZiB0aW1lc3RhbXAgaXMgbWFjaF9hYnNvbHV0ZV90aW1lIHVuaXRzLgorICAgICAgICByZXR1
cm4gTW9ub3RvbmljVGltZTo6ZnJvbU1hY2hBYnNvbHV0ZVRpbWUoaW9ISURFdmVudFRpbWVzdGFt
cCkuc2Vjb25kc1NpbmNlRXBvY2goKS5zZWNvbmRzKCk7CisgICAgfShldmVudCk7CisKKyAgICBh
dXRvIGlvSElERXZlbnRXYWxsVGltZSA9IFdlYkNvcmU6OmV2ZW50VGltZVN0YW1wU2luY2UxOTcw
KGlvSElERXZlbnRUaW1lc3RhbXApOworCisgICAgcmV0dXJuIFdlYldoZWVsRXZlbnQoV2ViRXZl
bnQ6OldoZWVsLCBXZWJDb3JlOjpJbnRQb2ludChwb3NpdGlvbiksIFdlYkNvcmU6OkludFBvaW50
KGdsb2JhbFBvc2l0aW9uKSwgV2ViQ29yZTo6RmxvYXRTaXplKGRlbHRhWCwgZGVsdGFZKSwgV2Vi
Q29yZTo6RmxvYXRTaXplKHdoZWVsVGlja3NYLCB3aGVlbFRpY2tzWSksCisgICAgICAgIGdyYW51
bGFyaXR5LCBkaXJlY3Rpb25JbnZlcnRlZEZyb21EZXZpY2UsIHBoYXNlLCBtb21lbnR1bVBoYXNl
LCBoYXNQcmVjaXNlU2Nyb2xsaW5nRGVsdGFzLAorICAgICAgICBzY3JvbGxDb3VudCwgdW5hY2Nl
bGVyYXRlZFNjcm9sbGluZ0RlbHRhLCBtb2RpZmllcnMsIHRpbWVzdGFtcCwgaW9ISURFdmVudFdh
bGxUaW1lKTsKIH0KIAogV2ViS2V5Ym9hcmRFdmVudCBXZWJFdmVudEZhY3Rvcnk6OmNyZWF0ZVdl
YktleWJvYXJkRXZlbnQoTlNFdmVudCAqZXZlbnQsIGJvb2wgaGFuZGxlZEJ5SW5wdXRNZXRob2Qs
IGJvb2wgcmVwbGFjZXNTb2Z0U3BhY2UsIGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpLZXlwcmVzc0Nv
bW1hbmQ+JiBjb21tYW5kcykKQEAgLTQyOCw3ICs0NDYsNyBAQCBXZWJLZXlib2FyZEV2ZW50IFdl
YkV2ZW50RmFjdG9yeTo6Y3JlYXRlV2ViS2V5Ym9hcmRFdmVudChOU0V2ZW50ICpldmVudCwgYm9v
bCBoYQogICAgIGJvb2wgaXNLZXlwYWQgICAgICAgICAgICAgICAgICAgPSBpc0tleXBhZEV2ZW50
KGV2ZW50KTsKICAgICBib29sIGlzU3lzdGVtS2V5ICAgICAgICAgICAgICAgID0gZmFsc2U7IC8v
IFN5c3RlbUtleSBpcyBhbHdheXMgZmFsc2Ugb24gdGhlIE1hYy4KICAgICBhdXRvIG1vZGlmaWVy
cyA9IG1vZGlmaWVyc0ZvckV2ZW50KGV2ZW50KTsKLSAgICBhdXRvIHRpbWVzdGFtcCAgICAgICAg
ICAgICAgICAgID0gV2ViQ29yZTo6ZXZlbnRUaW1lU3RhbXBTaW5jZTE5NzAoZXZlbnQpOworICAg
IGF1dG8gdGltZXN0YW1wICAgICAgICAgICAgICAgICAgPSBXZWJDb3JlOjpldmVudFRpbWVTdGFt
cFNpbmNlMTk3MChldmVudC50aW1lc3RhbXApOwogCiAgICAgLy8gQWx3YXlzIHVzZSAxMyBmb3Ig
RW50ZXIvUmV0dXJuIC0tIHdlIGRvbid0IHdhbnQgdG8gdXNlIEFwcEtpdCdzIGRpZmZlcmVudCBj
aGFyYWN0ZXIgZm9yIEVudGVyLgogICAgIGlmICh3aW5kb3dzVmlydHVhbEtleUNvZGUgPT0gVktf
UkVUVVJOKSB7Cg==
</data>
<flag name="commit-queue"
          id="469118"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>444166</attachid>
            <date>2021-11-13 21:48:04 -0800</date>
            <delta_ts>2021-11-13 22:38:03 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233051-20211113214803.patch</filename>
            <type>text/plain</type>
            <size>22507</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1Nzg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDM1YWUxOTJmZDMyODFm
N2VhYTJlYWFhMzIzNTJiNzQ4YjdmN2ExOS4uOGIzNWNiNThhNTIwMTBkZGI2YmUxYThiMWI2YWFi
MmNiOTVhZDdjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDIxLTExLTEzICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIEF0dGFjaCBJT0hJ
REV2ZW50IHRpbWVzdGFtcHMgdG8gd2hlZWwgZXZlbnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzMwNTEKKworICAgICAgICBSZXZpZXdlZCBieSBX
ZW5zb24gSHNpZWguCisKKyAgICAgICAgT24gc29tZSBtYWNPUyBkZXZpY2VzLCB0aGVyZSBjYW4g
YmUgc2lnbmlmaWNhbnQgZGVsdGFzIGJldHdlZW4gTlNFdmVudCB0aW1lc3RhbXBzLAorICAgICAg
ICBhbmQgdGhlIHRpbWVzdGFtcHMgb24gdW5kZXJseWluZyBJT0hJREV2ZW50cyAocmRhcjovLzg1
MzA5NjM5KS4gVGhpcyBtYWtlcyBtb21lbnR1bQorICAgICAgICB2ZWxvY2l0eSBjb21wdXRhdGlv
biB1bnByZWRpY3RhYmxlOyB3ZSBjYW4gZ2V0IGJldHRlciByZXN1bHRzIGJ5IHVzaW5nIElPSElE
RXZlbnQKKyAgICAgICAgdGltZXN0YW1wcy4KKworICAgICAgICAqIHBsYXRmb3JtL1BsYXRmb3Jt
V2hlZWxFdmVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybVdoZWVsRXZlbnQ6OmNy
ZWF0ZUZyb21HZXN0dXJlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9QbGF0Zm9ybVdoZWVsRXZlbnQu
aDoKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtV2hlZWxFdmVudDo6aW9ISURFdmVudFRpbWVz
dGFtcCBjb25zdCk6CisgICAgICAgICogcGxhdGZvcm0vbWFjL1BsYXRmb3JtRXZlbnRGYWN0b3J5
TWFjLmg6CisgICAgICAgICogcGxhdGZvcm0vbWFjL1BsYXRmb3JtRXZlbnRGYWN0b3J5TWFjLm1t
OgorICAgICAgICAoV2ViQ29yZTo6ZXZlbnRUaW1lU3RhbXBTaW5jZTE5NzApOgorICAgICAgICAo
V2ViQ29yZTo6UGxhdGZvcm1Nb3VzZUV2ZW50QnVpbGRlcjo6UGxhdGZvcm1Nb3VzZUV2ZW50QnVp
bGRlcik6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybVdoZWVsRXZlbnRCdWlsZGVyOjpQbGF0
Zm9ybVdoZWVsRXZlbnRCdWlsZGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtS2V5Ym9h
cmRFdmVudEJ1aWxkZXI6OlBsYXRmb3JtS2V5Ym9hcmRFdmVudEJ1aWxkZXIpOgorCiAyMDIxLTEx
LTEzICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgogCiAgICAgICAgIENs
ZWFuIHVwIElPS2l0IFNQSSBoZWFkZXJzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCA4ZWFkMGM5NjI4
NjQ1MGVmOTk5NzVhNzVlOTFhNjNjNzQ3N2FjNmE2Li4yYTM5NTU2NTk0NzhlNTExYjU2NWEyZjUx
OWIxNDk1MjFiNGU1Mzc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAy
MS0xMS0xMyAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKworICAgICAg
ICBBdHRhY2ggSU9ISURFdmVudCB0aW1lc3RhbXBzIHRvIHdoZWVsIGV2ZW50cworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzMDUxCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgV2Vuc29uIEhzaWVoLgorICAgICAgICAKKyAgICAgICAgRXhwb3NlIGEgZmV3
IGJpdHMgb2YgU1BJIG5lZWRlZC4KKworICAgICAgICAqIHBhbC9zcGkvY2cvQ29yZUdyYXBoaWNz
U1BJLmg6CisgICAgICAgICogcGFsL3NwaS9jb2NvYS9JT0tpdFNQSS5oOgorCiAyMDIxLTExLTEz
ICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgogCiAgICAgICAgIENsZWFu
IHVwIElPS2l0IFNQSSBoZWFkZXJzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDk0YWVhZDIxODg1ZmVlNzU0MjJlZTg4
NDIzYmY2N2RmODVlMTM2NWUuLjI1NzA2ZjBhOWVmYTRjOGU4YmM5YzA4NDg3MGI5NWJjNDEyMzlj
OTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzMgQEAKKzIwMjEtMTEtMTMgIFNpbW9uIEZyYXNlciAg
PHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgQXR0YWNoIElPSElERXZlbnQgdGlt
ZXN0YW1wcyB0byB3aGVlbCBldmVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIzMzA1MQorCisgICAgICAgIFJldmlld2VkIGJ5IFdlbnNvbiBIc2ll
aC4KKyAgICAgICAgCisgICAgICAgIE9uIHNvbWUgbWFjT1MgZGV2aWNlcywgdGhlcmUgY2FuIGJl
IHNpZ25pZmljYW50IGRlbHRhcyBiZXR3ZWVuIE5TRXZlbnQgdGltZXN0YW1wcywKKyAgICAgICAg
YW5kIHRoZSB0aW1lc3RhbXBzIG9uIHVuZGVybHlpbmcgSU9ISURFdmVudHMgKHJkYXI6Ly84NTMw
OTYzOSkuIFRoaXMgbWFrZXMgbW9tZW50dW0KKyAgICAgICAgdmVsb2NpdHkgY29tcHV0YXRpb24g
dW5wcmVkaWN0YWJsZTsgd2UgY2FuIGdldCBiZXR0ZXIgcmVzdWx0cyBieSB1c2luZyBJT0hJREV2
ZW50CisgICAgICAgIHRpbWVzdGFtcHMuCisKKyAgICAgICAgKiBTaGFyZWQvV2ViRXZlbnRDb252
ZXJzaW9uLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViS2l0MlBsYXRmb3JtV2hlZWxFdmVudDo6
V2ViS2l0MlBsYXRmb3JtV2hlZWxFdmVudCk6CisgICAgICAgICogU2hhcmVkL1dlYldoZWVsRXZl
bnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJXaGVlbEV2ZW50OjpXZWJXaGVlbEV2ZW50KToK
KyAgICAgICAgKFdlYktpdDo6V2ViV2hlZWxFdmVudDo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAg
KFdlYktpdDo6V2ViV2hlZWxFdmVudDo6ZGVjb2RlKToKKyAgICAgICAgKiBTaGFyZWQvV2ViV2hl
ZWxFdmVudC5oOgorICAgICAgICAoV2ViS2l0OjpXZWJXaGVlbEV2ZW50Ojppb0hJREV2ZW50VGlt
ZXN0YW1wIGNvbnN0KToKKyAgICAgICAgKiBTaGFyZWQvV2ViV2hlZWxFdmVudENvYWxlc2Nlci5j
cHA6CisgICAgICAgIChXZWJLaXQ6OldlYldoZWVsRXZlbnRDb2FsZXNjZXI6OmNvYWxlc2NlKToK
KyAgICAgICAgKiBTaGFyZWQvaW9zL1dlYklPU0V2ZW50RmFjdG9yeS5tbToKKyAgICAgICAgKFdl
YklPU0V2ZW50RmFjdG9yeTo6Y3JlYXRlV2ViV2hlZWxFdmVudCk6CisgICAgICAgICogU2hhcmVk
L21hYy9OYXRpdmVXZWJHZXN0dXJlRXZlbnRNYWMubW06CisgICAgICAgICogU2hhcmVkL21hYy9X
ZWJFdmVudEZhY3RvcnkubW06CisgICAgICAgIChXZWJLaXQ6OldlYkV2ZW50RmFjdG9yeTo6Y3Jl
YXRlV2ViTW91c2VFdmVudCk6CisgICAgICAgIChXZWJLaXQ6OldlYkV2ZW50RmFjdG9yeTo6Y3Jl
YXRlV2ViV2hlZWxFdmVudCk6CisgICAgICAgIChXZWJLaXQ6OldlYkV2ZW50RmFjdG9yeTo6Y3Jl
YXRlV2ViS2V5Ym9hcmRFdmVudCk6CisKIDIwMjEtMTEtMTMgIFBlciBBcm5lIFZvbGxhbiA8cHZv
bGxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW21hY09TXVtHUFVQXSBSZW1vdmUgbG9nZ2luZyBv
ZiB1c2VkIHN5c2NhbGxzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9j
Zy9Db3JlR3JhcGhpY3NTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NnL0NvcmVH
cmFwaGljc1NQSS5oCmluZGV4IDZjNTYyMTA4YzA3OGUwYTIxOTFmM2U0MDU4MTU0MTM3ZDhmMmQ5
MmUuLjI4YjQwNDgwYTcxN2FiNDJkZGEzNzU0YzJiZWFjMWQ3OWEyMDdkZGUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NnL0NvcmVHcmFwaGljc1NQSS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NnL0NvcmVHcmFwaGljc1NQSS5oCkBAIC0yNyw2ICsy
Nyw3IEBACiAKICNpbmNsdWRlIDxDb3JlRm91bmRhdGlvbi9Db3JlRm91bmRhdGlvbi5oPgogI2lu
Y2x1ZGUgPENvcmVHcmFwaGljcy9Db3JlR3JhcGhpY3MuaD4KKyNpbmNsdWRlIDxwYWwvc3BpL2Nv
Y29hL0lPS2l0U1BJLmg+CiAKICNpZiBIQVZFKElPU1VSRkFDRSkKICNpbmNsdWRlIDxwYWwvc3Bp
L2NvY29hL0lPU3VyZmFjZVNQSS5oPgpAQCAtNDIsNiArNDMsNyBAQAogCiAjaWYgUExBVEZPUk0o
TUFDKQogI2luY2x1ZGUgPENvcmVHcmFwaGljcy9DR0FjY2Vzc2liaWxpdHkuaD4KKyNpbmNsdWRl
IDxDb3JlR3JhcGhpY3MvQ0dFdmVudFByaXZhdGUuaD4KICNlbmRpZgogCiAjZWxzZQpAQCAtMzUx
LDYgKzM1Myw3IEBAIENHRXJyb3IgQ0dTU2V0RGVueVdpbmRvd1NlcnZlckNvbm5lY3Rpb25zKGJv
b2wpOwogdHlwZWRlZiBpbnQzMl90IENHU0Rpc3BsYXlJRDsKIENHU0Rpc3BsYXlJRCBDR1NNYWlu
RGlzcGxheUlEKHZvaWQpOwogCitJT0hJREV2ZW50UmVmIENHRXZlbnRDb3B5SU9ISURFdmVudChD
R0V2ZW50UmVmKTsKICNlbmRpZiAvLyBQTEFURk9STShNQUMpCiAKICNpZiBFTkFCTEUoUERGS0lU
X1BMVUdJTikgJiYgIVVTRShBUFBMRV9JTlRFUk5BTF9TREspCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9QQUwvcGFsL3NwaS9tYWMvSU9LaXRTUElNYWMuaCBiL1NvdXJjZS9XZWJDb3JlL1BB
TC9wYWwvc3BpL21hYy9JT0tpdFNQSU1hYy5oCmluZGV4IDljYWM5MjI0YmY3Y2I0M2ViNmJlYTBm
NzYwMDBiMDlmN2QzZWQwNWMuLjVmYzYzMTE0OTQ3YzcyZTgyODVhNmU4ZDA1YTMwMTAxM2UxMGY3
MzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL21hYy9JT0tpdFNQSU1h
Yy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL21hYy9JT0tpdFNQSU1hYy5oCkBA
IC00Myw2ICs0Myw4IEBACiAjZGVmaW5lIGtJT0hJRFByb2R1Y3RJREtleSAiUHJvZHVjdElEIgog
CiBXVEZfRVhURVJOX0NfQkVHSU4KKwordHlwZWRlZiBzdHJ1Y3QgX19JT0hJREV2ZW50ICogSU9I
SURFdmVudFJlZjsKIHR5cGVkZWYgc3RydWN0IENGX0JSSURHRURfVFlQRShpZCkgX19JT0hJRFNl
cnZpY2VDbGllbnQgKiBJT0hJRFNlcnZpY2VDbGllbnRSZWY7CiB0eXBlZGVmIHN0cnVjdCBDRl9C
UklER0VEX1RZUEUoaWQpIF9fSU9ISURFdmVudFN5c3RlbUNsaWVudCAqIElPSElERXZlbnRTeXN0
ZW1DbGllbnRSZWY7CiB0eXBlZGVmIHZvaWQgKF5JT0hJRFNlcnZpY2VDbGllbnRCbG9jaykodm9p
ZCAqLCB2b2lkICosIElPSElEU2VydmljZUNsaWVudFJlZik7CkBAIC04MSw2ICs4Myw4IEBAIGVu
dW0gewogfTsKIHR5cGVkZWYgdWludDMyX3QgSU9ISURFdmVudFR5cGU7CiAKK3VpbnQ2NF90IElP
SElERXZlbnRHZXRUaW1lU3RhbXAoSU9ISURFdmVudFJlZik7CisKIFdURl9FWFRFUk5fQ19FTkQK
IAogI2VuZGlmIC8vIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVdoZWVsRXZlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vUGxhdGZvcm1XaGVlbEV2ZW50LmNwcAppbmRleCBiZDdlZWMxODIzMDZjZTExN2Ez
YTc2OWZhOTljNmU2NDQyY2QxNDc4Li5jMWQwNDNhNzIxNDhlYmFmNzVhOGYwOWJhZmI2YmU0ZjIw
ZjM4MzdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVdoZWVs
RXZlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtV2hlZWxFdmVu
dC5jcHAKQEAgLTc1LDYgKzc1LDcgQEAgUGxhdGZvcm1XaGVlbEV2ZW50IFBsYXRmb3JtV2hlZWxF
dmVudDo6Y3JlYXRlRnJvbUdlc3R1cmUoY29uc3QgUGxhdGZvcm1HZXN0dXJlRXYKICNlbmRpZiAv
LyBFTkFCTEUoS0lORVRJQ19TQ1JPTExJTkcpCiAKICNpZiBQTEFURk9STShDT0NPQSkKKyAgICBw
bGF0Zm9ybVdoZWVsRXZlbnQubV9pb0hJREV2ZW50VGltZXN0YW1wID0gcGxhdGZvcm1XaGVlbEV2
ZW50Lm1fdGltZXN0YW1wOwogICAgIHBsYXRmb3JtV2hlZWxFdmVudC5tX3VuYWNjZWxlcmF0ZWRT
Y3JvbGxpbmdEZWx0YVkgPSBkZWx0YVk7CiAjZW5kaWYgLy8gUExBVEZPUk0oQ09DT0EpCiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtV2hlZWxFdmVudC5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1XaGVlbEV2ZW50LmgKaW5kZXggMmExMWZk
NGE5MjhmMzcxN2E5MWYwNTY3YWNjMzJiNzc0NWE1OGU4NC4uMzJjZTczMzU1YmI0Zjk5NWU3ODM0
ZjAwNDY1MTExM2M1ZmUxNjg0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
UGxhdGZvcm1XaGVlbEV2ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZv
cm1XaGVlbEV2ZW50LmgKQEAgLTE1MSw2ICsxNTEsOCBAQCBwdWJsaWM6CiAjaWYgUExBVEZPUk0o
Q09DT0EpCiAgICAgdW5zaWduZWQgc2Nyb2xsQ291bnQoKSBjb25zdCB7IHJldHVybiBtX3Njcm9s
bENvdW50OyB9CiAgICAgRmxvYXRTaXplIHVuYWNjZWxlcmF0ZWRTY3JvbGxpbmdEZWx0YSgpIGNv
bnN0IHsgcmV0dXJuIHsgbV91bmFjY2VsZXJhdGVkU2Nyb2xsaW5nRGVsdGFYLCBtX3VuYWNjZWxl
cmF0ZWRTY3JvbGxpbmdEZWx0YVkgfTsgfQorICAgIAorICAgIFdhbGxUaW1lIGlvSElERXZlbnRU
aW1lc3RhbXAoKSBjb25zdCB7IHJldHVybiBtX2lvSElERXZlbnRUaW1lc3RhbXA7IH0KICNlbmRp
ZgogCiAjaWYgRU5BQkxFKEFTWU5DX1NDUk9MTElORykKQEAgLTE5OSw2ICsyMDEsNyBAQCBwcm90
ZWN0ZWQ6CiAgICAgUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2UgbV9tb21lbnR1bVBoYXNlIHsgUGxh
dGZvcm1XaGVlbEV2ZW50UGhhc2U6Ok5vbmUgfTsKICNlbmRpZgogI2lmIFBMQVRGT1JNKENPQ09B
KQorICAgIFdhbGxUaW1lIG1faW9ISURFdmVudFRpbWVzdGFtcDsKICAgICB1bnNpZ25lZCBtX3Nj
cm9sbENvdW50IHsgMCB9OwogICAgIGZsb2F0IG1fdW5hY2NlbGVyYXRlZFNjcm9sbGluZ0RlbHRh
WCB7IDAgfTsKICAgICBmbG9hdCBtX3VuYWNjZWxlcmF0ZWRTY3JvbGxpbmdEZWx0YVkgeyAwIH07
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUGxhdGZvcm1FdmVudEZh
Y3RvcnlNYWMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9QbGF0Zm9ybUV2ZW50RmFj
dG9yeU1hYy5oCmluZGV4IDJmMThmOTU5MzkyOGZlOTNmZTA3MzVjMjQ1Y2E2N2VkNjg4NTk5ODEu
LjZiZjI0Mzg0NGQwMTIzZWFiOTRlYmMxMWY4M2U0ODA4YzNjZjdmMTggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9QbGF0Zm9ybUV2ZW50RmFjdG9yeU1hYy5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9QbGF0Zm9ybUV2ZW50RmFjdG9yeU1hYy5oCkBA
IC01MCw3ICs1MCw3IEBAIFdFQkNPUkVfRVhQT1JUIGludCB3aW5kb3dzS2V5Q29kZUZvcktleUV2
ZW50KE5TRXZlbnQgKik7CiBXRUJDT1JFX0VYUE9SVCBTdHJpbmcga2V5SWRlbnRpZmllckZvcktl
eUV2ZW50KE5TRXZlbnQgKik7CiBXRUJDT1JFX0VYUE9SVCBTdHJpbmcga2V5Rm9yS2V5RXZlbnQo
TlNFdmVudCAqKTsKIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBjb2RlRm9yS2V5RXZlbnQoTlNFdmVu
dCAqKTsKLVdFQkNPUkVfRVhQT1JUIFdhbGxUaW1lIGV2ZW50VGltZVN0YW1wU2luY2UxOTcwKE5T
RXZlbnQgKik7CitXRUJDT1JFX0VYUE9SVCBXYWxsVGltZSBldmVudFRpbWVTdGFtcFNpbmNlMTk3
MChOU1RpbWVJbnRlcnZhbCk7CiAKIFdFQkNPUkVfRVhQT1JUIE9wdGlvblNldDxQbGF0Zm9ybUV2
ZW50OjpNb2RpZmllcj4gbW9kaWZpZXJzRm9yRXZlbnQoTlNFdmVudCAqKTsKIFdFQkNPUkVfRVhQ
T1JUIHZvaWQgZ2V0V2hlZWxFdmVudERlbHRhcyhOU0V2ZW50ICosIGZsb2F0JiBkZWx0YVgsIGZs
b2F0JiBkZWx0YVksIEJPT0wmIGNvbnRpbnVvdXMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWFjL1BsYXRmb3JtRXZlbnRGYWN0b3J5TWFjLm1tIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWFjL1BsYXRmb3JtRXZlbnRGYWN0b3J5TWFjLm1tCmluZGV4IDRjNzg3MjY1
ZjJjOGNkNTcwYzI2ZmZkNWVkMDBjZDIwMmViYTM0ZDAuLjM1ZmM2YWY1OWI2YWZjYjRmOTU1NGMw
ZjJhODRhMzM0MjgzOTZlNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21h
Yy9QbGF0Zm9ybUV2ZW50RmFjdG9yeU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tYWMvUGxhdGZvcm1FdmVudEZhY3RvcnlNYWMubW0KQEAgLTYwNyw5ICs2MDcsOSBAQCBzdGF0
aWMgQ0ZUaW1lSW50ZXJ2YWwgY2FjaGVkU3RhcnR1cFRpbWVJbnRlcnZhbFNpbmNlMTk3MCgpCiAg
ICAgcmV0dXJuIHN5c3RlbVN0YXJ0dXBUaW1lOwogfQogCi1XYWxsVGltZSBldmVudFRpbWVTdGFt
cFNpbmNlMTk3MChOU0V2ZW50KiBldmVudCkKK1dhbGxUaW1lIGV2ZW50VGltZVN0YW1wU2luY2Ux
OTcwKE5TVGltZUludGVydmFsIHRpbWVzdGFtcCkKIHsKLSAgICByZXR1cm4gV2FsbFRpbWU6OmZy
b21SYXdTZWNvbmRzKHN0YXRpY19jYXN0PGRvdWJsZT4oY2FjaGVkU3RhcnR1cFRpbWVJbnRlcnZh
bFNpbmNlMTk3MCgpICsgW2V2ZW50IHRpbWVzdGFtcF0pKTsKKyAgICByZXR1cm4gV2FsbFRpbWU6
OmZyb21SYXdTZWNvbmRzKHN0YXRpY19jYXN0PGRvdWJsZT4oY2FjaGVkU3RhcnR1cFRpbWVJbnRl
cnZhbFNpbmNlMTk3MCgpICsgdGltZXN0YW1wKSk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgYm9vbCBp
c0tleVVwRXZlbnQoTlNFdmVudCAqZXZlbnQpCkBAIC03MjAsNyArNzIwLDcgQEAgcHVibGljOgog
ICAgICAgICB9CiAKICAgICAgICAgbV9tb2RpZmllcnMgPSBtb2RpZmllcnNGb3JFdmVudChldmVu
dCk7Ci0gICAgICAgIG1fdGltZXN0YW1wID0gZXZlbnRUaW1lU3RhbXBTaW5jZTE5NzAoZXZlbnQp
OworICAgICAgICBtX3RpbWVzdGFtcCA9IGV2ZW50VGltZVN0YW1wU2luY2UxOTcwKGV2ZW50LnRp
bWVzdGFtcCk7CiAKICAgICAgICAgLy8gUGxhdGZvcm1Nb3VzZUV2ZW50CiAgICAgICAgIG1fcG9z
aXRpb24gPSBwb2ludEZvckV2ZW50KGV2ZW50LCB3aW5kb3dWaWV3KTsKQEAgLTc1NSw3ICs3NTUs
NyBAQCBwdWJsaWM6CiAgICAgICAgIC8vIFBsYXRmb3JtRXZlbnQKICAgICAgICAgbV90eXBlID0g
UGxhdGZvcm1FdmVudDo6V2hlZWw7CiAgICAgICAgIG1fbW9kaWZpZXJzID0gbW9kaWZpZXJzRm9y
RXZlbnQoZXZlbnQpOwotICAgICAgICBtX3RpbWVzdGFtcCA9IGV2ZW50VGltZVN0YW1wU2luY2Ux
OTcwKGV2ZW50KTsKKyAgICAgICAgbV90aW1lc3RhbXAgPSBldmVudFRpbWVTdGFtcFNpbmNlMTk3
MChldmVudC50aW1lc3RhbXApOwogCiAgICAgICAgIC8vIFBsYXRmb3JtV2hlZWxFdmVudAogICAg
ICAgICBtX3Bvc2l0aW9uID0gcG9pbnRGb3JFdmVudChldmVudCwgd2luZG93Vmlldyk7CkBAIC03
OTQsNyArNzk0LDcgQEAgcHVibGljOgogICAgICAgICAvLyBQbGF0Zm9ybUV2ZW50CiAgICAgICAg
IG1fdHlwZSA9IGlzS2V5VXBFdmVudChldmVudCkgPyBQbGF0Zm9ybUV2ZW50OjpLZXlVcCA6IFBs
YXRmb3JtRXZlbnQ6OktleURvd247CiAgICAgICAgIG1fbW9kaWZpZXJzID0gbW9kaWZpZXJzRm9y
RXZlbnQoZXZlbnQpOwotICAgICAgICBtX3RpbWVzdGFtcCA9IGV2ZW50VGltZVN0YW1wU2luY2Ux
OTcwKGV2ZW50KTsKKyAgICAgICAgbV90aW1lc3RhbXAgPSBldmVudFRpbWVTdGFtcFNpbmNlMTk3
MChldmVudC50aW1lc3RhbXApOwogCiAgICAgICAgIC8vIFBsYXRmb3JtS2V5Ym9hcmRFdmVudAog
ICAgICAgICBtX3RleHQgPSB0ZXh0RnJvbUV2ZW50KGV2ZW50KTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL1dlYkV2ZW50Q29udmVyc2lvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9XZWJFdmVudENvbnZlcnNpb24uY3BwCmluZGV4IGY5ZTljYjYzZGNlZjdmNjI2MjI0MDA1
YzU2MzIwYzM1MjFhMmU4OTUuLmQ2OTI4YmIzNGNlMTk3ODk0ZWU2ZmEwZTY3YWE2NTMzYzFmMzZk
MWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkV2ZW50Q29udmVyc2lvbi5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViRXZlbnRDb252ZXJzaW9uLmNwcApAQCAt
MTY5LDYgKzE2OSw3IEBAIHB1YmxpYzoKICAgICAgICAgbV9oYXNQcmVjaXNlU2Nyb2xsaW5nRGVs
dGFzID0gd2ViRXZlbnQuaGFzUHJlY2lzZVNjcm9sbGluZ0RlbHRhcygpOwogI2VuZGlmCiAjaWYg
UExBVEZPUk0oQ09DT0EpCisgICAgICAgIG1faW9ISURFdmVudFRpbWVzdGFtcCA9IHdlYkV2ZW50
LmlvSElERXZlbnRUaW1lc3RhbXAoKTsKICAgICAgICAgbV9zY3JvbGxDb3VudCA9IHdlYkV2ZW50
LnNjcm9sbENvdW50KCk7CiAgICAgICAgIG1fdW5hY2NlbGVyYXRlZFNjcm9sbGluZ0RlbHRhWCA9
IHdlYkV2ZW50LnVuYWNjZWxlcmF0ZWRTY3JvbGxpbmdEZWx0YSgpLndpZHRoKCk7CiAgICAgICAg
IG1fdW5hY2NlbGVyYXRlZFNjcm9sbGluZ0RlbHRhWSA9IHdlYkV2ZW50LnVuYWNjZWxlcmF0ZWRT
Y3JvbGxpbmdEZWx0YSgpLmhlaWdodCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFy
ZWQvV2ViV2hlZWxFdmVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJXaGVlbEV2ZW50
LmNwcAppbmRleCBjMDNmZTIzZWJkN2VhYzYzODUxZWMwYWU5YTNiZGZiZDE2OWY4OWFiLi5hNmIy
M2RhYzdhMzFmMzRmYmI5NjI5YTMxNTY2MzkxZDEyMTA5ZmVkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9XZWJXaGVlbEV2ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9XZWJXaGVlbEV2ZW50LmNwcApAQCAtNDQsNyArNDQsNyBAQCBXZWJXaGVlbEV2ZW50OjpXZWJX
aGVlbEV2ZW50KFR5cGUgdHlwZSwgY29uc3QgSW50UG9pbnQmIHBvc2l0aW9uLCBjb25zdCBJbnRQ
b2ludAogfQogCiAjaWYgUExBVEZPUk0oQ09DT0EpCi1XZWJXaGVlbEV2ZW50OjpXZWJXaGVlbEV2
ZW50KFR5cGUgdHlwZSwgY29uc3QgSW50UG9pbnQmIHBvc2l0aW9uLCBjb25zdCBJbnRQb2ludCYg
Z2xvYmFsUG9zaXRpb24sIGNvbnN0IEZsb2F0U2l6ZSYgZGVsdGEsIGNvbnN0IEZsb2F0U2l6ZSYg
d2hlZWxUaWNrcywgR3JhbnVsYXJpdHkgZ3JhbnVsYXJpdHksIGJvb2wgZGlyZWN0aW9uSW52ZXJ0
ZWRGcm9tRGV2aWNlLCBQaGFzZSBwaGFzZSwgUGhhc2UgbW9tZW50dW1QaGFzZSwgYm9vbCBoYXNQ
cmVjaXNlU2Nyb2xsaW5nRGVsdGFzLCB1aW50MzJfdCBzY3JvbGxDb3VudCwgY29uc3QgV2ViQ29y
ZTo6RmxvYXRTaXplJiB1bmFjY2VsZXJhdGVkU2Nyb2xsaW5nRGVsdGEsIE9wdGlvblNldDxNb2Rp
Zmllcj4gbW9kaWZpZXJzLCBXYWxsVGltZSB0aW1lc3RhbXApCitXZWJXaGVlbEV2ZW50OjpXZWJX
aGVlbEV2ZW50KFR5cGUgdHlwZSwgY29uc3QgSW50UG9pbnQmIHBvc2l0aW9uLCBjb25zdCBJbnRQ
b2ludCYgZ2xvYmFsUG9zaXRpb24sIGNvbnN0IEZsb2F0U2l6ZSYgZGVsdGEsIGNvbnN0IEZsb2F0
U2l6ZSYgd2hlZWxUaWNrcywgR3JhbnVsYXJpdHkgZ3JhbnVsYXJpdHksIGJvb2wgZGlyZWN0aW9u
SW52ZXJ0ZWRGcm9tRGV2aWNlLCBQaGFzZSBwaGFzZSwgUGhhc2UgbW9tZW50dW1QaGFzZSwgYm9v
bCBoYXNQcmVjaXNlU2Nyb2xsaW5nRGVsdGFzLCB1aW50MzJfdCBzY3JvbGxDb3VudCwgY29uc3Qg
V2ViQ29yZTo6RmxvYXRTaXplJiB1bmFjY2VsZXJhdGVkU2Nyb2xsaW5nRGVsdGEsIE9wdGlvblNl
dDxNb2RpZmllcj4gbW9kaWZpZXJzLCBXYWxsVGltZSB0aW1lc3RhbXAsIFdhbGxUaW1lIGlvSElE
RXZlbnRUaW1lc3RhbXApCiAgICAgOiBXZWJFdmVudCh0eXBlLCBtb2RpZmllcnMsIHRpbWVzdGFt
cCkKICAgICAsIG1fcG9zaXRpb24ocG9zaXRpb24pCiAgICAgLCBtX2dsb2JhbFBvc2l0aW9uKGds
b2JhbFBvc2l0aW9uKQpAQCAtNTUsNiArNTUsNyBAQCBXZWJXaGVlbEV2ZW50OjpXZWJXaGVlbEV2
ZW50KFR5cGUgdHlwZSwgY29uc3QgSW50UG9pbnQmIHBvc2l0aW9uLCBjb25zdCBJbnRQb2ludAog
ICAgICwgbV9tb21lbnR1bVBoYXNlKG1vbWVudHVtUGhhc2UpCiAgICAgLCBtX2RpcmVjdGlvbklu
dmVydGVkRnJvbURldmljZShkaXJlY3Rpb25JbnZlcnRlZEZyb21EZXZpY2UpCiAgICAgLCBtX2hh
c1ByZWNpc2VTY3JvbGxpbmdEZWx0YXMoaGFzUHJlY2lzZVNjcm9sbGluZ0RlbHRhcykKKyAgICAs
IG1faW9ISURFdmVudFRpbWVzdGFtcChpb0hJREV2ZW50VGltZXN0YW1wKQogICAgICwgbV9zY3Jv
bGxDb3VudChzY3JvbGxDb3VudCkKICAgICAsIG1fdW5hY2NlbGVyYXRlZFNjcm9sbGluZ0RlbHRh
KHVuYWNjZWxlcmF0ZWRTY3JvbGxpbmdEZWx0YSkKIHsKQEAgLTkyLDYgKzkzLDcgQEAgdm9pZCBX
ZWJXaGVlbEV2ZW50OjplbmNvZGUoSVBDOjpFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogICAgIGVu
Y29kZXIgPDwgbV9oYXNQcmVjaXNlU2Nyb2xsaW5nRGVsdGFzOwogI2VuZGlmCiAjaWYgUExBVEZP
Uk0oQ09DT0EpCisgICAgZW5jb2RlciA8PCBtX2lvSElERXZlbnRUaW1lc3RhbXA7CiAgICAgZW5j
b2RlciA8PCBtX3Njcm9sbENvdW50OwogICAgIGVuY29kZXIgPDwgbV91bmFjY2VsZXJhdGVkU2Ny
b2xsaW5nRGVsdGE7CiAjZW5kaWYKQEAgLTEyMiw2ICsxMjQsOCBAQCBib29sIFdlYldoZWVsRXZl
bnQ6OmRlY29kZShJUEM6OkRlY29kZXImIGRlY29kZXIsIFdlYldoZWVsRXZlbnQmIHQpCiAgICAg
ICAgIHJldHVybiBmYWxzZTsKICNlbmRpZgogI2lmIFBMQVRGT1JNKENPQ09BKQorICAgIGlmICgh
ZGVjb2Rlci5kZWNvZGUodC5tX2lvSElERXZlbnRUaW1lc3RhbXApKQorICAgICAgICByZXR1cm4g
ZmFsc2U7CiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZSh0Lm1fc2Nyb2xsQ291bnQpKQogICAgICAg
ICByZXR1cm4gZmFsc2U7CiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZSh0Lm1fdW5hY2NlbGVyYXRl
ZFNjcm9sbGluZ0RlbHRhKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYldo
ZWVsRXZlbnQuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYldoZWVsRXZlbnQuaAppbmRleCBl
MDkxZGI4ZmI5MGMzOTk1ZDA0N2Q0OTE2ZTU0ODMxNzcwY2RjNTcwLi45OWRjYjZiMDUwNGM2ODlh
ZWIwMTBmMTcyZjU0NGI5MTIzZTBhMWNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9XZWJXaGVlbEV2ZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViV2hlZWxFdmVu
dC5oCkBAIC01Myw3ICs1Myw3IEBAIHB1YmxpYzoKIAogICAgIFdlYldoZWVsRXZlbnQoVHlwZSwg
Y29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIHBvc2l0aW9uLCBjb25zdCBXZWJDb3JlOjpJbnRQb2lu
dCYgZ2xvYmFsUG9zaXRpb24sIGNvbnN0IFdlYkNvcmU6OkZsb2F0U2l6ZSYgZGVsdGEsIGNvbnN0
IFdlYkNvcmU6OkZsb2F0U2l6ZSYgd2hlZWxUaWNrcywgR3JhbnVsYXJpdHksIE9wdGlvblNldDxN
b2RpZmllcj4sIFdhbGxUaW1lIHRpbWVzdGFtcCk7CiAjaWYgUExBVEZPUk0oQ09DT0EpCi0gICAg
V2ViV2hlZWxFdmVudChUeXBlLCBjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgcG9zaXRpb24sIGNv
bnN0IFdlYkNvcmU6OkludFBvaW50JiBnbG9iYWxQb3NpdGlvbiwgY29uc3QgV2ViQ29yZTo6Rmxv
YXRTaXplJiBkZWx0YSwgY29uc3QgV2ViQ29yZTo6RmxvYXRTaXplJiB3aGVlbFRpY2tzLCBHcmFu
dWxhcml0eSwgYm9vbCBkaXJlY3Rpb25JbnZlcnRlZEZyb21EZXZpY2UsIFBoYXNlLCBQaGFzZSBt
b21lbnR1bVBoYXNlLCBib29sIGhhc1ByZWNpc2VTY3JvbGxpbmdEZWx0YXMsIHVpbnQzMl90IHNj
cm9sbENvdW50LCBjb25zdCBXZWJDb3JlOjpGbG9hdFNpemUmIHVuYWNjZWxlcmF0ZWRTY3JvbGxp
bmdEZWx0YSwgT3B0aW9uU2V0PE1vZGlmaWVyPiwgV2FsbFRpbWUgdGltZXN0YW1wKTsKKyAgICBX
ZWJXaGVlbEV2ZW50KFR5cGUsIGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBwb3NpdGlvbiwgY29u
c3QgV2ViQ29yZTo6SW50UG9pbnQmIGdsb2JhbFBvc2l0aW9uLCBjb25zdCBXZWJDb3JlOjpGbG9h
dFNpemUmIGRlbHRhLCBjb25zdCBXZWJDb3JlOjpGbG9hdFNpemUmIHdoZWVsVGlja3MsIEdyYW51
bGFyaXR5LCBib29sIGRpcmVjdGlvbkludmVydGVkRnJvbURldmljZSwgUGhhc2UsIFBoYXNlIG1v
bWVudHVtUGhhc2UsIGJvb2wgaGFzUHJlY2lzZVNjcm9sbGluZ0RlbHRhcywgdWludDMyX3Qgc2Ny
b2xsQ291bnQsIGNvbnN0IFdlYkNvcmU6OkZsb2F0U2l6ZSYgdW5hY2NlbGVyYXRlZFNjcm9sbGlu
Z0RlbHRhLCBPcHRpb25TZXQ8TW9kaWZpZXI+LCBXYWxsVGltZSB0aW1lc3RhbXAsIFdhbGxUaW1l
IGlvSElERXZlbnRUaW1lc3RhbXApOwogI2VsaWYgUExBVEZPUk0oR1RLKSB8fCBVU0UoTElCV1BF
KQogICAgIFdlYldoZWVsRXZlbnQoVHlwZSwgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIHBvc2l0
aW9uLCBjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgZ2xvYmFsUG9zaXRpb24sIGNvbnN0IFdlYkNv
cmU6OkZsb2F0U2l6ZSYgZGVsdGEsIGNvbnN0IFdlYkNvcmU6OkZsb2F0U2l6ZSYgd2hlZWxUaWNr
cywgUGhhc2UsIFBoYXNlIG1vbWVudHVtUGhhc2UsIEdyYW51bGFyaXR5LCBib29sIGhhc1ByZWNp
c2VTY3JvbGxpbmdEZWx0YXMsIE9wdGlvblNldDxNb2RpZmllcj4sIFdhbGxUaW1lIHRpbWVzdGFt
cCk7CiAjZW5kaWYKQEAgLTcwLDYgKzcwLDcgQEAgcHVibGljOgogICAgIGJvb2wgaGFzUHJlY2lz
ZVNjcm9sbGluZ0RlbHRhcygpIGNvbnN0IHsgcmV0dXJuIG1faGFzUHJlY2lzZVNjcm9sbGluZ0Rl
bHRhczsgfQogI2VuZGlmCiAjaWYgUExBVEZPUk0oQ09DT0EpCisgICAgV2FsbFRpbWUgaW9ISURF
dmVudFRpbWVzdGFtcCgpIGNvbnN0IHsgcmV0dXJuIG1faW9ISURFdmVudFRpbWVzdGFtcDsgfQog
ICAgIHVpbnQzMl90IHNjcm9sbENvdW50KCkgY29uc3QgeyByZXR1cm4gbV9zY3JvbGxDb3VudDsg
fQogICAgIGNvbnN0IFdlYkNvcmU6OkZsb2F0U2l6ZSYgdW5hY2NlbGVyYXRlZFNjcm9sbGluZ0Rl
bHRhKCkgY29uc3QgeyByZXR1cm4gbV91bmFjY2VsZXJhdGVkU2Nyb2xsaW5nRGVsdGE7IH0KICNl
bmRpZgpAQCAtODcsMTEgKzg4LDEzIEBAIHByaXZhdGU6CiAgICAgdWludDMyX3QgbV9ncmFudWxh
cml0eSB7IFNjcm9sbEJ5UGFnZVdoZWVsRXZlbnQgfTsKICAgICB1aW50MzJfdCBtX3BoYXNlIHsg
UGhhc2U6OlBoYXNlTm9uZSB9OwogICAgIHVpbnQzMl90IG1fbW9tZW50dW1QaGFzZSB7IFBoYXNl
OjpQaGFzZU5vbmUgfTsKKwogICAgIGJvb2wgbV9kaXJlY3Rpb25JbnZlcnRlZEZyb21EZXZpY2Ug
eyBmYWxzZSB9OwogI2lmIFBMQVRGT1JNKENPQ09BKSB8fCBQTEFURk9STShHVEspIHx8IFVTRShM
SUJXUEUpCiAgICAgYm9vbCBtX2hhc1ByZWNpc2VTY3JvbGxpbmdEZWx0YXMgeyBmYWxzZSB9Owog
I2VuZGlmCiAjaWYgUExBVEZPUk0oQ09DT0EpCisgICAgV2FsbFRpbWUgbV9pb0hJREV2ZW50VGlt
ZXN0YW1wOwogICAgIHVpbnQzMl90IG1fc2Nyb2xsQ291bnQgeyAwIH07CiAgICAgV2ViQ29yZTo6
RmxvYXRTaXplIG1fdW5hY2NlbGVyYXRlZFNjcm9sbGluZ0RlbHRhOwogI2VuZGlmCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJXaGVlbEV2ZW50Q29hbGVzY2VyLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL1dlYldoZWVsRXZlbnRDb2FsZXNjZXIuY3BwCmluZGV4IGVkNjBj
YmRhMDVmN2VkNWYxZDJkMTIyODMxN2Q4NDM4YTRiZDljOTQuLmU2NzU1ZmEwZWYzZDYwNDlmZjlj
M2E0OWQ4MjkxMTYyNDYwNTEyOGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dl
YldoZWVsRXZlbnRDb2FsZXNjZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYldo
ZWVsRXZlbnRDb2FsZXNjZXIuY3BwCkBAIC03OCw3ICs3OCw3IEBAIFdlYldoZWVsRXZlbnQgV2Vi
V2hlZWxFdmVudENvYWxlc2Nlcjo6Y29hbGVzY2UoY29uc3QgV2ViV2hlZWxFdmVudCYgYSwgY29u
c3QgV2ViCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgYXV0byBtZXJnZWRVbmFjY2VsZXJhdGVk
U2Nyb2xsaW5nRGVsdGEgPSBhLnVuYWNjZWxlcmF0ZWRTY3JvbGxpbmdEZWx0YSgpICsgYi51bmFj
Y2VsZXJhdGVkU2Nyb2xsaW5nRGVsdGEoKTsKIAotICAgIHJldHVybiBXZWJXaGVlbEV2ZW50KFdl
YkV2ZW50OjpXaGVlbCwgYi5wb3NpdGlvbigpLCBiLmdsb2JhbFBvc2l0aW9uKCksIG1lcmdlZERl
bHRhLCBtZXJnZWRXaGVlbFRpY2tzLCBiLmdyYW51bGFyaXR5KCksIGIuZGlyZWN0aW9uSW52ZXJ0
ZWRGcm9tRGV2aWNlKCksIGIucGhhc2UoKSwgYi5tb21lbnR1bVBoYXNlKCksIGIuaGFzUHJlY2lz
ZVNjcm9sbGluZ0RlbHRhcygpLCBiLnNjcm9sbENvdW50KCksIG1lcmdlZFVuYWNjZWxlcmF0ZWRT
Y3JvbGxpbmdEZWx0YSwgYi5tb2RpZmllcnMoKSwgYi50aW1lc3RhbXAoKSk7CisgICAgcmV0dXJu
IFdlYldoZWVsRXZlbnQoV2ViRXZlbnQ6OldoZWVsLCBiLnBvc2l0aW9uKCksIGIuZ2xvYmFsUG9z
aXRpb24oKSwgbWVyZ2VkRGVsdGEsIG1lcmdlZFdoZWVsVGlja3MsIGIuZ3JhbnVsYXJpdHkoKSwg
Yi5kaXJlY3Rpb25JbnZlcnRlZEZyb21EZXZpY2UoKSwgYi5waGFzZSgpLCBiLm1vbWVudHVtUGhh
c2UoKSwgYi5oYXNQcmVjaXNlU2Nyb2xsaW5nRGVsdGFzKCksIGIuc2Nyb2xsQ291bnQoKSwgbWVy
Z2VkVW5hY2NlbGVyYXRlZFNjcm9sbGluZ0RlbHRhLCBiLm1vZGlmaWVycygpLCBiLnRpbWVzdGFt
cCgpLCBiLmlvSElERXZlbnRUaW1lc3RhbXAoKSk7CiAjZWxpZiBQTEFURk9STShHVEspIHx8IFVT
RShMSUJXUEUpCiAgICAgcmV0dXJuIFdlYldoZWVsRXZlbnQoV2ViRXZlbnQ6OldoZWVsLCBiLnBv
c2l0aW9uKCksIGIuZ2xvYmFsUG9zaXRpb24oKSwgbWVyZ2VkRGVsdGEsIG1lcmdlZFdoZWVsVGlj
a3MsIGIucGhhc2UoKSwgYi5tb21lbnR1bVBoYXNlKCksIGIuZ3JhbnVsYXJpdHkoKSwgYi5oYXNQ
cmVjaXNlU2Nyb2xsaW5nRGVsdGFzKCksIGIubW9kaWZpZXJzKCksIGIudGltZXN0YW1wKCkpOwog
I2Vsc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL2lvcy9XZWJJT1NFdmVudEZh
Y3RvcnkubW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9pb3MvV2ViSU9TRXZlbnRGYWN0b3J5Lm1t
CmluZGV4IDJlMzkzM2JjYmUzNjcyZDI3M2JmZmMzOTExMzNkY2UxMmMyMjI0M2UuLjI5OWE0Y2Ni
MDA4ZTczMWViYTA3OTdhNmZiZGJlNzY2YzFkMDA0NTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL2lvcy9XZWJJT1NFdmVudEZhY3RvcnkubW0KKysrIGIvU291cmNlL1dlYktpdC9T
aGFyZWQvaW9zL1dlYklPU0V2ZW50RmFjdG9yeS5tbQpAQCAtMTYxLDcgKzE2MSw3IEBAIFdlYktp
dDo6V2ViV2hlZWxFdmVudCBXZWJJT1NFdmVudEZhY3Rvcnk6OmNyZWF0ZVdlYldoZWVsRXZlbnQo
VUlTY3JvbGxFdmVudCAqZXZlCiAgICAgV2ViQ29yZTo6RmxvYXRTaXplIGRlbHRhKGRlbHRhVmVj
dG9yLmR4LCBkZWx0YVZlY3Rvci5keSk7CiAgICAgV2ViQ29yZTo6RmxvYXRTaXplIHdoZWVsVGlj
a3MgPSBkZWx0YTsKICAgICB3aGVlbFRpY2tzLnNjYWxlKDEuIC8gc3RhdGljX2Nhc3Q8ZmxvYXQ+
KFdlYkNvcmU6OlNjcm9sbGJhcjo6cGl4ZWxzUGVyTGluZVN0ZXAoKSkpOwotCisgICAgYXV0byB0
aW1lc3RhbXAgPSBNb25vdG9uaWNUaW1lOjpmcm9tUmF3U2Vjb25kcyhldmVudC50aW1lc3RhbXAp
LmFwcHJveGltYXRlV2FsbFRpbWUoKTsKICAgICByZXR1cm4gewogICAgICAgICBXZWJLaXQ6Oldl
YkV2ZW50OjpXaGVlbCwKICAgICAgICAgc2Nyb2xsTG9jYXRpb24sCkBAIC0xNzYsNyArMTc2LDgg
QEAgV2ViS2l0OjpXZWJXaGVlbEV2ZW50IFdlYklPU0V2ZW50RmFjdG9yeTo6Y3JlYXRlV2ViV2hl
ZWxFdmVudChVSVNjcm9sbEV2ZW50ICpldmUKICAgICAgICAgMSwKICAgICAgICAgZGVsdGEsCiAg
ICAgICAgIHsgfSwKLSAgICAgICAgTW9ub3RvbmljVGltZTo6ZnJvbVJhd1NlY29uZHMoZXZlbnQu
dGltZXN0YW1wKS5hcHByb3hpbWF0ZVdhbGxUaW1lKCkKKyAgICAgICAgdGltZXN0YW1wLAorICAg
ICAgICB0aW1lc3RhbXAKICAgICB9OwogfQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9tYWMvTmF0aXZlV2ViR2VzdHVyZUV2ZW50TWFjLm1tIGIvU291cmNlL1dlYktp
dC9TaGFyZWQvbWFjL05hdGl2ZVdlYkdlc3R1cmVFdmVudE1hYy5tbQppbmRleCBjMWQyMWQ4MWI0
MjQyNDJiMzRiZjM4ZWZhYWFlNmU1Y2JjZGJjMWE0Li42ZTBmMmNkNjFlZjVlMDhmNjUyZjI0NDZm
MGM1MWIwOTA1OGQwYWYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMvTmF0
aXZlV2ViR2VzdHVyZUV2ZW50TWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL21hYy9O
YXRpdmVXZWJHZXN0dXJlRXZlbnRNYWMubW0KQEAgLTYyLDcgKzYyLDcgQEAgTmF0aXZlV2ViR2Vz
dHVyZUV2ZW50OjpOYXRpdmVXZWJHZXN0dXJlRXZlbnQoTlNFdmVudCAqZXZlbnQsIE5TVmlldyAq
dmlldykKICAgICA6IFdlYkdlc3R1cmVFdmVudCgKICAgICAgICAgd2ViRXZlbnRUeXBlRm9yTlNF
dmVudChldmVudCksCiAgICAgICAgIE9wdGlvblNldDxXZWJFdmVudDo6TW9kaWZpZXI+IHsgfSwK
LSAgICAgICAgV2ViQ29yZTo6ZXZlbnRUaW1lU3RhbXBTaW5jZTE5NzAoZXZlbnQpLAorICAgICAg
ICBXZWJDb3JlOjpldmVudFRpbWVTdGFtcFNpbmNlMTk3MChldmVudC50aW1lc3RhbXApLAogICAg
ICAgICBXZWJDb3JlOjpJbnRQb2ludChwb2ludEZvckV2ZW50KGV2ZW50LCB2aWV3KSksCiAgICAg
ICAgIGV2ZW50LnR5cGUgPT0gTlNFdmVudFR5cGVNYWduaWZ5ID8gZXZlbnQubWFnbmlmaWNhdGlv
biA6IDAsCiAgICAgICAgIGV2ZW50LnR5cGUgPT0gTlNFdmVudFR5cGVSb3RhdGUgPyBldmVudC5y
b3RhdGlvbiA6IDApCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMvV2ViRXZl
bnRGYWN0b3J5Lm1tIGIvU291cmNlL1dlYktpdC9TaGFyZWQvbWFjL1dlYkV2ZW50RmFjdG9yeS5t
bQppbmRleCAzNjljY2RlOTI2Yzg0YzliMDA0Yzc4OWU4ZDcwZWJmNDQ3NDdmMGMyLi44ZDUxNDBj
ODRkYjlkMzQ4MWI3ZjAwMmYwZjc1MGVkMDJiZmU1OTNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9tYWMvV2ViRXZlbnRGYWN0b3J5Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL21hYy9XZWJFdmVudEZhY3RvcnkubW0KQEAgLTMyLDYgKzMyLDcgQEAKICNpbXBvcnQgPFdl
YkNvcmUvUGxhdGZvcm1FdmVudEZhY3RvcnlNYWMuaD4KICNpbXBvcnQgPFdlYkNvcmUvU2Nyb2xs
YmFyLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1dpbmRvd3NLZXlib2FyZENvZGVzLmg+CisjaW1wb3J0
IDxwYWwvc3BpL2NnL0NvcmVHcmFwaGljc1NQSS5oPgogI2ltcG9ydCA8cGFsL3NwaS9tYWMvTlNN
ZW51U1BJLmg+CiAjaW1wb3J0IDx3dGYvQVNDSUlDVHlwZS5oPgogCkBAIC0zNTMsNyArMzU0LDcg
QEAgV2ViTW91c2VFdmVudCBXZWJFdmVudEZhY3Rvcnk6OmNyZWF0ZVdlYk1vdXNlRXZlbnQoTlNF
dmVudCAqZXZlbnQsIE5TRXZlbnQgKmxhc3QKICAgICBmbG9hdCBkZWx0YVogPSBbZXZlbnQgZGVs
dGFaXTsKICAgICBpbnQgY2xpY2tDb3VudCA9IGNsaWNrQ291bnRGb3JFdmVudChldmVudCk7CiAg
ICAgYXV0byBtb2RpZmllcnMgPSBtb2RpZmllcnNGb3JFdmVudChldmVudCk7Ci0gICAgYXV0byB0
aW1lc3RhbXAgPSBXZWJDb3JlOjpldmVudFRpbWVTdGFtcFNpbmNlMTk3MChldmVudCk7CisgICAg
YXV0byB0aW1lc3RhbXAgPSBXZWJDb3JlOjpldmVudFRpbWVTdGFtcFNpbmNlMTk3MChldmVudC50
aW1lc3RhbXApOwogICAgIGludCBldmVudE51bWJlciA9IFtldmVudCBldmVudE51bWJlcl07CiAg
ICAgaW50IG1lbnVUeXBlRm9yRXZlbnQgPSB0eXBlRm9yRXZlbnQoZXZlbnQpOwogCkBAIC00MDgs
OSArNDA5LDI2IEBAIFdlYldoZWVsRXZlbnQgV2ViRXZlbnRGYWN0b3J5OjpjcmVhdGVXZWJXaGVl
bEV2ZW50KE5TRXZlbnQgKmV2ZW50LCBOU1ZpZXcgKndpbmRvCiAgICAgfQogCiAgICAgYXV0byBt
b2RpZmllcnMgPSBtb2RpZmllcnNGb3JFdmVudChldmVudCk7Ci0gICAgYXV0byB0aW1lc3RhbXAg
PSBXZWJDb3JlOjpldmVudFRpbWVTdGFtcFNpbmNlMTk3MChldmVudCk7CisgICAgYXV0byB0aW1l
c3RhbXAgPSBXZWJDb3JlOjpldmVudFRpbWVTdGFtcFNpbmNlMTk3MChldmVudC50aW1lc3RhbXAp
OwogCi0gICAgcmV0dXJuIFdlYldoZWVsRXZlbnQoV2ViRXZlbnQ6OldoZWVsLCBXZWJDb3JlOjpJ
bnRQb2ludChwb3NpdGlvbiksIFdlYkNvcmU6OkludFBvaW50KGdsb2JhbFBvc2l0aW9uKSwgV2Vi
Q29yZTo6RmxvYXRTaXplKGRlbHRhWCwgZGVsdGFZKSwgV2ViQ29yZTo6RmxvYXRTaXplKHdoZWVs
VGlja3NYLCB3aGVlbFRpY2tzWSksIGdyYW51bGFyaXR5LCBkaXJlY3Rpb25JbnZlcnRlZEZyb21E
ZXZpY2UsIHBoYXNlLCBtb21lbnR1bVBoYXNlLCBoYXNQcmVjaXNlU2Nyb2xsaW5nRGVsdGFzLCBz
Y3JvbGxDb3VudCwgdW5hY2NlbGVyYXRlZFNjcm9sbGluZ0RlbHRhLCBtb2RpZmllcnMsIHRpbWVz
dGFtcCk7CisgICAgYXV0byBpb0hJREV2ZW50VGltZXN0YW1wID0gW10oTlNFdmVudCAqZXZlbnQp
IHsKKyAgICAgICAgYXV0byBjZ0V2ZW50ID0gZXZlbnQuQ0dFdmVudDsKKyAgICAgICAgaWYgKCFj
Z0V2ZW50KQorICAgICAgICAgICAgcmV0dXJuIGV2ZW50LnRpbWVzdGFtcDsKKworICAgICAgICBh
dXRvIGlvaGlkRXZlbnQgPSBhZG9wdENGKENHRXZlbnRDb3B5SU9ISURFdmVudChjZ0V2ZW50KSk7
CisgICAgICAgIGlmICghaW9oaWRFdmVudCkKKyAgICAgICAgICAgIHJldHVybiBldmVudC50aW1l
c3RhbXA7CisKKyAgICAgICAgYXV0byBpb0hJREV2ZW50VGltZXN0YW1wID0gSU9ISURFdmVudEdl
dFRpbWVTdGFtcChpb2hpZEV2ZW50LmdldCgpKTsgLy8gSU9FdmVudFJlZiB0aW1lc3RhbXAgaXMg
bWFjaF9hYnNvbHV0ZV90aW1lIHVuaXRzLgorICAgICAgICByZXR1cm4gTW9ub3RvbmljVGltZTo6
ZnJvbU1hY2hBYnNvbHV0ZVRpbWUoaW9ISURFdmVudFRpbWVzdGFtcCkuc2Vjb25kc1NpbmNlRXBv
Y2goKS5zZWNvbmRzKCk7CisgICAgfShldmVudCk7CisKKyAgICBhdXRvIGlvSElERXZlbnRXYWxs
VGltZSA9IFdlYkNvcmU6OmV2ZW50VGltZVN0YW1wU2luY2UxOTcwKGlvSElERXZlbnRUaW1lc3Rh
bXApOworCisgICAgcmV0dXJuIFdlYldoZWVsRXZlbnQoV2ViRXZlbnQ6OldoZWVsLCBXZWJDb3Jl
OjpJbnRQb2ludChwb3NpdGlvbiksIFdlYkNvcmU6OkludFBvaW50KGdsb2JhbFBvc2l0aW9uKSwg
V2ViQ29yZTo6RmxvYXRTaXplKGRlbHRhWCwgZGVsdGFZKSwgV2ViQ29yZTo6RmxvYXRTaXplKHdo
ZWVsVGlja3NYLCB3aGVlbFRpY2tzWSksCisgICAgICAgIGdyYW51bGFyaXR5LCBkaXJlY3Rpb25J
bnZlcnRlZEZyb21EZXZpY2UsIHBoYXNlLCBtb21lbnR1bVBoYXNlLCBoYXNQcmVjaXNlU2Nyb2xs
aW5nRGVsdGFzLAorICAgICAgICBzY3JvbGxDb3VudCwgdW5hY2NlbGVyYXRlZFNjcm9sbGluZ0Rl
bHRhLCBtb2RpZmllcnMsIHRpbWVzdGFtcCwgaW9ISURFdmVudFdhbGxUaW1lKTsKIH0KIAogV2Vi
S2V5Ym9hcmRFdmVudCBXZWJFdmVudEZhY3Rvcnk6OmNyZWF0ZVdlYktleWJvYXJkRXZlbnQoTlNF
dmVudCAqZXZlbnQsIGJvb2wgaGFuZGxlZEJ5SW5wdXRNZXRob2QsIGJvb2wgcmVwbGFjZXNTb2Z0
U3BhY2UsIGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpLZXlwcmVzc0NvbW1hbmQ+JiBjb21tYW5kcykK
QEAgLTQyOCw3ICs0NDYsNyBAQCBXZWJLZXlib2FyZEV2ZW50IFdlYkV2ZW50RmFjdG9yeTo6Y3Jl
YXRlV2ViS2V5Ym9hcmRFdmVudChOU0V2ZW50ICpldmVudCwgYm9vbCBoYQogICAgIGJvb2wgaXNL
ZXlwYWQgICAgICAgICAgICAgICAgICAgPSBpc0tleXBhZEV2ZW50KGV2ZW50KTsKICAgICBib29s
IGlzU3lzdGVtS2V5ICAgICAgICAgICAgICAgID0gZmFsc2U7IC8vIFN5c3RlbUtleSBpcyBhbHdh
eXMgZmFsc2Ugb24gdGhlIE1hYy4KICAgICBhdXRvIG1vZGlmaWVycyA9IG1vZGlmaWVyc0ZvckV2
ZW50KGV2ZW50KTsKLSAgICBhdXRvIHRpbWVzdGFtcCAgICAgICAgICAgICAgICAgID0gV2ViQ29y
ZTo6ZXZlbnRUaW1lU3RhbXBTaW5jZTE5NzAoZXZlbnQpOworICAgIGF1dG8gdGltZXN0YW1wICAg
ICAgICAgICAgICAgICAgPSBXZWJDb3JlOjpldmVudFRpbWVTdGFtcFNpbmNlMTk3MChldmVudC50
aW1lc3RhbXApOwogCiAgICAgLy8gQWx3YXlzIHVzZSAxMyBmb3IgRW50ZXIvUmV0dXJuIC0tIHdl
IGRvbid0IHdhbnQgdG8gdXNlIEFwcEtpdCdzIGRpZmZlcmVudCBjaGFyYWN0ZXIgZm9yIEVudGVy
LgogICAgIGlmICh3aW5kb3dzVmlydHVhbEtleUNvZGUgPT0gVktfUkVUVVJOKSB7Cg==
</data>
<flag name="commit-queue"
          id="469120"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>444167</attachid>
            <date>2021-11-13 22:37:43 -0800</date>
            <delta_ts>2021-11-13 23:16:28 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233051-20211113223742.patch</filename>
            <type>text/plain</type>
            <size>22339</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1Nzg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDM1YWUxOTJmZDMyODFm
N2VhYTJlYWFhMzIzNTJiNzQ4YjdmN2ExOS4uOGIzNWNiNThhNTIwMTBkZGI2YmUxYThiMWI2YWFi
MmNiOTVhZDdjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDIxLTExLTEzICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIEF0dGFjaCBJT0hJ
REV2ZW50IHRpbWVzdGFtcHMgdG8gd2hlZWwgZXZlbnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzMwNTEKKworICAgICAgICBSZXZpZXdlZCBieSBX
ZW5zb24gSHNpZWguCisKKyAgICAgICAgT24gc29tZSBtYWNPUyBkZXZpY2VzLCB0aGVyZSBjYW4g
YmUgc2lnbmlmaWNhbnQgZGVsdGFzIGJldHdlZW4gTlNFdmVudCB0aW1lc3RhbXBzLAorICAgICAg
ICBhbmQgdGhlIHRpbWVzdGFtcHMgb24gdW5kZXJseWluZyBJT0hJREV2ZW50cyAocmRhcjovLzg1
MzA5NjM5KS4gVGhpcyBtYWtlcyBtb21lbnR1bQorICAgICAgICB2ZWxvY2l0eSBjb21wdXRhdGlv
biB1bnByZWRpY3RhYmxlOyB3ZSBjYW4gZ2V0IGJldHRlciByZXN1bHRzIGJ5IHVzaW5nIElPSElE
RXZlbnQKKyAgICAgICAgdGltZXN0YW1wcy4KKworICAgICAgICAqIHBsYXRmb3JtL1BsYXRmb3Jt
V2hlZWxFdmVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybVdoZWVsRXZlbnQ6OmNy
ZWF0ZUZyb21HZXN0dXJlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9QbGF0Zm9ybVdoZWVsRXZlbnQu
aDoKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtV2hlZWxFdmVudDo6aW9ISURFdmVudFRpbWVz
dGFtcCBjb25zdCk6CisgICAgICAgICogcGxhdGZvcm0vbWFjL1BsYXRmb3JtRXZlbnRGYWN0b3J5
TWFjLmg6CisgICAgICAgICogcGxhdGZvcm0vbWFjL1BsYXRmb3JtRXZlbnRGYWN0b3J5TWFjLm1t
OgorICAgICAgICAoV2ViQ29yZTo6ZXZlbnRUaW1lU3RhbXBTaW5jZTE5NzApOgorICAgICAgICAo
V2ViQ29yZTo6UGxhdGZvcm1Nb3VzZUV2ZW50QnVpbGRlcjo6UGxhdGZvcm1Nb3VzZUV2ZW50QnVp
bGRlcik6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybVdoZWVsRXZlbnRCdWlsZGVyOjpQbGF0
Zm9ybVdoZWVsRXZlbnRCdWlsZGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtS2V5Ym9h
cmRFdmVudEJ1aWxkZXI6OlBsYXRmb3JtS2V5Ym9hcmRFdmVudEJ1aWxkZXIpOgorCiAyMDIxLTEx
LTEzICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgogCiAgICAgICAgIENs
ZWFuIHVwIElPS2l0IFNQSSBoZWFkZXJzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCA4ZWFkMGM5NjI4
NjQ1MGVmOTk5NzVhNzVlOTFhNjNjNzQ3N2FjNmE2Li4yYTM5NTU2NTk0NzhlNTExYjU2NWEyZjUx
OWIxNDk1MjFiNGU1Mzc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAy
MS0xMS0xMyAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKworICAgICAg
ICBBdHRhY2ggSU9ISURFdmVudCB0aW1lc3RhbXBzIHRvIHdoZWVsIGV2ZW50cworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzMDUxCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgV2Vuc29uIEhzaWVoLgorICAgICAgICAKKyAgICAgICAgRXhwb3NlIGEgZmV3
IGJpdHMgb2YgU1BJIG5lZWRlZC4KKworICAgICAgICAqIHBhbC9zcGkvY2cvQ29yZUdyYXBoaWNz
U1BJLmg6CisgICAgICAgICogcGFsL3NwaS9jb2NvYS9JT0tpdFNQSS5oOgorCiAyMDIxLTExLTEz
ICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgogCiAgICAgICAgIENsZWFu
IHVwIElPS2l0IFNQSSBoZWFkZXJzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDk0YWVhZDIxODg1ZmVlNzU0MjJlZTg4
NDIzYmY2N2RmODVlMTM2NWUuLjI1NzA2ZjBhOWVmYTRjOGU4YmM5YzA4NDg3MGI5NWJjNDEyMzlj
OTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzMgQEAKKzIwMjEtMTEtMTMgIFNpbW9uIEZyYXNlciAg
PHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgQXR0YWNoIElPSElERXZlbnQgdGlt
ZXN0YW1wcyB0byB3aGVlbCBldmVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIzMzA1MQorCisgICAgICAgIFJldmlld2VkIGJ5IFdlbnNvbiBIc2ll
aC4KKyAgICAgICAgCisgICAgICAgIE9uIHNvbWUgbWFjT1MgZGV2aWNlcywgdGhlcmUgY2FuIGJl
IHNpZ25pZmljYW50IGRlbHRhcyBiZXR3ZWVuIE5TRXZlbnQgdGltZXN0YW1wcywKKyAgICAgICAg
YW5kIHRoZSB0aW1lc3RhbXBzIG9uIHVuZGVybHlpbmcgSU9ISURFdmVudHMgKHJkYXI6Ly84NTMw
OTYzOSkuIFRoaXMgbWFrZXMgbW9tZW50dW0KKyAgICAgICAgdmVsb2NpdHkgY29tcHV0YXRpb24g
dW5wcmVkaWN0YWJsZTsgd2UgY2FuIGdldCBiZXR0ZXIgcmVzdWx0cyBieSB1c2luZyBJT0hJREV2
ZW50CisgICAgICAgIHRpbWVzdGFtcHMuCisKKyAgICAgICAgKiBTaGFyZWQvV2ViRXZlbnRDb252
ZXJzaW9uLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViS2l0MlBsYXRmb3JtV2hlZWxFdmVudDo6
V2ViS2l0MlBsYXRmb3JtV2hlZWxFdmVudCk6CisgICAgICAgICogU2hhcmVkL1dlYldoZWVsRXZl
bnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJXaGVlbEV2ZW50OjpXZWJXaGVlbEV2ZW50KToK
KyAgICAgICAgKFdlYktpdDo6V2ViV2hlZWxFdmVudDo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAg
KFdlYktpdDo6V2ViV2hlZWxFdmVudDo6ZGVjb2RlKToKKyAgICAgICAgKiBTaGFyZWQvV2ViV2hl
ZWxFdmVudC5oOgorICAgICAgICAoV2ViS2l0OjpXZWJXaGVlbEV2ZW50Ojppb0hJREV2ZW50VGlt
ZXN0YW1wIGNvbnN0KToKKyAgICAgICAgKiBTaGFyZWQvV2ViV2hlZWxFdmVudENvYWxlc2Nlci5j
cHA6CisgICAgICAgIChXZWJLaXQ6OldlYldoZWVsRXZlbnRDb2FsZXNjZXI6OmNvYWxlc2NlKToK
KyAgICAgICAgKiBTaGFyZWQvaW9zL1dlYklPU0V2ZW50RmFjdG9yeS5tbToKKyAgICAgICAgKFdl
YklPU0V2ZW50RmFjdG9yeTo6Y3JlYXRlV2ViV2hlZWxFdmVudCk6CisgICAgICAgICogU2hhcmVk
L21hYy9OYXRpdmVXZWJHZXN0dXJlRXZlbnRNYWMubW06CisgICAgICAgICogU2hhcmVkL21hYy9X
ZWJFdmVudEZhY3RvcnkubW06CisgICAgICAgIChXZWJLaXQ6OldlYkV2ZW50RmFjdG9yeTo6Y3Jl
YXRlV2ViTW91c2VFdmVudCk6CisgICAgICAgIChXZWJLaXQ6OldlYkV2ZW50RmFjdG9yeTo6Y3Jl
YXRlV2ViV2hlZWxFdmVudCk6CisgICAgICAgIChXZWJLaXQ6OldlYkV2ZW50RmFjdG9yeTo6Y3Jl
YXRlV2ViS2V5Ym9hcmRFdmVudCk6CisKIDIwMjEtMTEtMTMgIFBlciBBcm5lIFZvbGxhbiA8cHZv
bGxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW21hY09TXVtHUFVQXSBSZW1vdmUgbG9nZ2luZyBv
ZiB1c2VkIHN5c2NhbGxzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9j
Zy9Db3JlR3JhcGhpY3NTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NnL0NvcmVH
cmFwaGljc1NQSS5oCmluZGV4IDZjNTYyMTA4YzA3OGUwYTIxOTFmM2U0MDU4MTU0MTM3ZDhmMmQ5
MmUuLjNhMjIwMTdhMzZiMzM5YzYzY2JiNjk0N2ZlYTYwMDdjY2Y2YWIzM2IgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NnL0NvcmVHcmFwaGljc1NQSS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NnL0NvcmVHcmFwaGljc1NQSS5oCkBAIC00Miw2ICs0
Miw4IEBACiAKICNpZiBQTEFURk9STShNQUMpCiAjaW5jbHVkZSA8Q29yZUdyYXBoaWNzL0NHQWNj
ZXNzaWJpbGl0eS5oPgorI2luY2x1ZGUgPENvcmVHcmFwaGljcy9DR0V2ZW50UHJpdmF0ZS5oPgor
I2luY2x1ZGUgPHBhbC9zcGkvY29jb2EvSU9LaXRTUEkuaD4KICNlbmRpZgogCiAjZWxzZQpAQCAt
MzUxLDYgKzM1Myw3IEBAIENHRXJyb3IgQ0dTU2V0RGVueVdpbmRvd1NlcnZlckNvbm5lY3Rpb25z
KGJvb2wpOwogdHlwZWRlZiBpbnQzMl90IENHU0Rpc3BsYXlJRDsKIENHU0Rpc3BsYXlJRCBDR1NN
YWluRGlzcGxheUlEKHZvaWQpOwogCitJT0hJREV2ZW50UmVmIENHRXZlbnRDb3B5SU9ISURFdmVu
dChDR0V2ZW50UmVmKTsKICNlbmRpZiAvLyBQTEFURk9STShNQUMpCiAKICNpZiBFTkFCTEUoUERG
S0lUX1BMVUdJTikgJiYgIVVTRShBUFBMRV9JTlRFUk5BTF9TREspCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9tYWMvSU9LaXRTUElNYWMuaCBiL1NvdXJjZS9XZWJDb3Jl
L1BBTC9wYWwvc3BpL21hYy9JT0tpdFNQSU1hYy5oCmluZGV4IDljYWM5MjI0YmY3Y2I0M2ViNmJl
YTBmNzYwMDBiMDlmN2QzZWQwNWMuLjVmYzYzMTE0OTQ3YzcyZTgyODVhNmU4ZDA1YTMwMTAxM2Ux
MGY3MzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL21hYy9JT0tpdFNQ
SU1hYy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL21hYy9JT0tpdFNQSU1hYy5o
CkBAIC00Myw2ICs0Myw4IEBACiAjZGVmaW5lIGtJT0hJRFByb2R1Y3RJREtleSAiUHJvZHVjdElE
IgogCiBXVEZfRVhURVJOX0NfQkVHSU4KKwordHlwZWRlZiBzdHJ1Y3QgX19JT0hJREV2ZW50ICog
SU9ISURFdmVudFJlZjsKIHR5cGVkZWYgc3RydWN0IENGX0JSSURHRURfVFlQRShpZCkgX19JT0hJ
RFNlcnZpY2VDbGllbnQgKiBJT0hJRFNlcnZpY2VDbGllbnRSZWY7CiB0eXBlZGVmIHN0cnVjdCBD
Rl9CUklER0VEX1RZUEUoaWQpIF9fSU9ISURFdmVudFN5c3RlbUNsaWVudCAqIElPSElERXZlbnRT
eXN0ZW1DbGllbnRSZWY7CiB0eXBlZGVmIHZvaWQgKF5JT0hJRFNlcnZpY2VDbGllbnRCbG9jayko
dm9pZCAqLCB2b2lkICosIElPSElEU2VydmljZUNsaWVudFJlZik7CkBAIC04MSw2ICs4Myw4IEBA
IGVudW0gewogfTsKIHR5cGVkZWYgdWludDMyX3QgSU9ISURFdmVudFR5cGU7CiAKK3VpbnQ2NF90
IElPSElERXZlbnRHZXRUaW1lU3RhbXAoSU9ISURFdmVudFJlZik7CisKIFdURl9FWFRFUk5fQ19F
TkQKIAogI2VuZGlmIC8vIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVdoZWVsRXZlbnQuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vUGxhdGZvcm1XaGVlbEV2ZW50LmNwcAppbmRleCBiZDdlZWMxODIzMDZjZTEx
N2EzYTc2OWZhOTljNmU2NDQyY2QxNDc4Li5jMWQwNDNhNzIxNDhlYmFmNzVhOGYwOWJhZmI2YmU0
ZjIwZjM4MzdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVdo
ZWVsRXZlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtV2hlZWxF
dmVudC5jcHAKQEAgLTc1LDYgKzc1LDcgQEAgUGxhdGZvcm1XaGVlbEV2ZW50IFBsYXRmb3JtV2hl
ZWxFdmVudDo6Y3JlYXRlRnJvbUdlc3R1cmUoY29uc3QgUGxhdGZvcm1HZXN0dXJlRXYKICNlbmRp
ZiAvLyBFTkFCTEUoS0lORVRJQ19TQ1JPTExJTkcpCiAKICNpZiBQTEFURk9STShDT0NPQSkKKyAg
ICBwbGF0Zm9ybVdoZWVsRXZlbnQubV9pb0hJREV2ZW50VGltZXN0YW1wID0gcGxhdGZvcm1XaGVl
bEV2ZW50Lm1fdGltZXN0YW1wOwogICAgIHBsYXRmb3JtV2hlZWxFdmVudC5tX3VuYWNjZWxlcmF0
ZWRTY3JvbGxpbmdEZWx0YVkgPSBkZWx0YVk7CiAjZW5kaWYgLy8gUExBVEZPUk0oQ09DT0EpCiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtV2hlZWxFdmVudC5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1XaGVlbEV2ZW50LmgKaW5kZXggMmEx
MWZkNGE5MjhmMzcxN2E5MWYwNTY3YWNjMzJiNzc0NWE1OGU4NC4uMzJjZTczMzU1YmI0Zjk5NWU3
ODM0ZjAwNDY1MTExM2M1ZmUxNjg0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vUGxhdGZvcm1XaGVlbEV2ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxh
dGZvcm1XaGVlbEV2ZW50LmgKQEAgLTE1MSw2ICsxNTEsOCBAQCBwdWJsaWM6CiAjaWYgUExBVEZP
Uk0oQ09DT0EpCiAgICAgdW5zaWduZWQgc2Nyb2xsQ291bnQoKSBjb25zdCB7IHJldHVybiBtX3Nj
cm9sbENvdW50OyB9CiAgICAgRmxvYXRTaXplIHVuYWNjZWxlcmF0ZWRTY3JvbGxpbmdEZWx0YSgp
IGNvbnN0IHsgcmV0dXJuIHsgbV91bmFjY2VsZXJhdGVkU2Nyb2xsaW5nRGVsdGFYLCBtX3VuYWNj
ZWxlcmF0ZWRTY3JvbGxpbmdEZWx0YVkgfTsgfQorICAgIAorICAgIFdhbGxUaW1lIGlvSElERXZl
bnRUaW1lc3RhbXAoKSBjb25zdCB7IHJldHVybiBtX2lvSElERXZlbnRUaW1lc3RhbXA7IH0KICNl
bmRpZgogCiAjaWYgRU5BQkxFKEFTWU5DX1NDUk9MTElORykKQEAgLTE5OSw2ICsyMDEsNyBAQCBw
cm90ZWN0ZWQ6CiAgICAgUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2UgbV9tb21lbnR1bVBoYXNlIHsg
UGxhdGZvcm1XaGVlbEV2ZW50UGhhc2U6Ok5vbmUgfTsKICNlbmRpZgogI2lmIFBMQVRGT1JNKENP
Q09BKQorICAgIFdhbGxUaW1lIG1faW9ISURFdmVudFRpbWVzdGFtcDsKICAgICB1bnNpZ25lZCBt
X3Njcm9sbENvdW50IHsgMCB9OwogICAgIGZsb2F0IG1fdW5hY2NlbGVyYXRlZFNjcm9sbGluZ0Rl
bHRhWCB7IDAgfTsKICAgICBmbG9hdCBtX3VuYWNjZWxlcmF0ZWRTY3JvbGxpbmdEZWx0YVkgeyAw
IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUGxhdGZvcm1FdmVu
dEZhY3RvcnlNYWMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9QbGF0Zm9ybUV2ZW50
RmFjdG9yeU1hYy5oCmluZGV4IDJmMThmOTU5MzkyOGZlOTNmZTA3MzVjMjQ1Y2E2N2VkNjg4NTk5
ODEuLjZiZjI0Mzg0NGQwMTIzZWFiOTRlYmMxMWY4M2U0ODA4YzNjZjdmMTggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9QbGF0Zm9ybUV2ZW50RmFjdG9yeU1hYy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9QbGF0Zm9ybUV2ZW50RmFjdG9yeU1hYy5o
CkBAIC01MCw3ICs1MCw3IEBAIFdFQkNPUkVfRVhQT1JUIGludCB3aW5kb3dzS2V5Q29kZUZvcktl
eUV2ZW50KE5TRXZlbnQgKik7CiBXRUJDT1JFX0VYUE9SVCBTdHJpbmcga2V5SWRlbnRpZmllckZv
cktleUV2ZW50KE5TRXZlbnQgKik7CiBXRUJDT1JFX0VYUE9SVCBTdHJpbmcga2V5Rm9yS2V5RXZl
bnQoTlNFdmVudCAqKTsKIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBjb2RlRm9yS2V5RXZlbnQoTlNF
dmVudCAqKTsKLVdFQkNPUkVfRVhQT1JUIFdhbGxUaW1lIGV2ZW50VGltZVN0YW1wU2luY2UxOTcw
KE5TRXZlbnQgKik7CitXRUJDT1JFX0VYUE9SVCBXYWxsVGltZSBldmVudFRpbWVTdGFtcFNpbmNl
MTk3MChOU1RpbWVJbnRlcnZhbCk7CiAKIFdFQkNPUkVfRVhQT1JUIE9wdGlvblNldDxQbGF0Zm9y
bUV2ZW50OjpNb2RpZmllcj4gbW9kaWZpZXJzRm9yRXZlbnQoTlNFdmVudCAqKTsKIFdFQkNPUkVf
RVhQT1JUIHZvaWQgZ2V0V2hlZWxFdmVudERlbHRhcyhOU0V2ZW50ICosIGZsb2F0JiBkZWx0YVgs
IGZsb2F0JiBkZWx0YVksIEJPT0wmIGNvbnRpbnVvdXMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWFjL1BsYXRmb3JtRXZlbnRGYWN0b3J5TWFjLm1tIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWFjL1BsYXRmb3JtRXZlbnRGYWN0b3J5TWFjLm1tCmluZGV4IDRjNzg3
MjY1ZjJjOGNkNTcwYzI2ZmZkNWVkMDBjZDIwMmViYTM0ZDAuLjM1ZmM2YWY1OWI2YWZjYjRmOTU1
NGMwZjJhODRhMzM0MjgzOTZlNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21hYy9QbGF0Zm9ybUV2ZW50RmFjdG9yeU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tYWMvUGxhdGZvcm1FdmVudEZhY3RvcnlNYWMubW0KQEAgLTYwNyw5ICs2MDcsOSBAQCBz
dGF0aWMgQ0ZUaW1lSW50ZXJ2YWwgY2FjaGVkU3RhcnR1cFRpbWVJbnRlcnZhbFNpbmNlMTk3MCgp
CiAgICAgcmV0dXJuIHN5c3RlbVN0YXJ0dXBUaW1lOwogfQogCi1XYWxsVGltZSBldmVudFRpbWVT
dGFtcFNpbmNlMTk3MChOU0V2ZW50KiBldmVudCkKK1dhbGxUaW1lIGV2ZW50VGltZVN0YW1wU2lu
Y2UxOTcwKE5TVGltZUludGVydmFsIHRpbWVzdGFtcCkKIHsKLSAgICByZXR1cm4gV2FsbFRpbWU6
OmZyb21SYXdTZWNvbmRzKHN0YXRpY19jYXN0PGRvdWJsZT4oY2FjaGVkU3RhcnR1cFRpbWVJbnRl
cnZhbFNpbmNlMTk3MCgpICsgW2V2ZW50IHRpbWVzdGFtcF0pKTsKKyAgICByZXR1cm4gV2FsbFRp
bWU6OmZyb21SYXdTZWNvbmRzKHN0YXRpY19jYXN0PGRvdWJsZT4oY2FjaGVkU3RhcnR1cFRpbWVJ
bnRlcnZhbFNpbmNlMTk3MCgpICsgdGltZXN0YW1wKSk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgYm9v
bCBpc0tleVVwRXZlbnQoTlNFdmVudCAqZXZlbnQpCkBAIC03MjAsNyArNzIwLDcgQEAgcHVibGlj
OgogICAgICAgICB9CiAKICAgICAgICAgbV9tb2RpZmllcnMgPSBtb2RpZmllcnNGb3JFdmVudChl
dmVudCk7Ci0gICAgICAgIG1fdGltZXN0YW1wID0gZXZlbnRUaW1lU3RhbXBTaW5jZTE5NzAoZXZl
bnQpOworICAgICAgICBtX3RpbWVzdGFtcCA9IGV2ZW50VGltZVN0YW1wU2luY2UxOTcwKGV2ZW50
LnRpbWVzdGFtcCk7CiAKICAgICAgICAgLy8gUGxhdGZvcm1Nb3VzZUV2ZW50CiAgICAgICAgIG1f
cG9zaXRpb24gPSBwb2ludEZvckV2ZW50KGV2ZW50LCB3aW5kb3dWaWV3KTsKQEAgLTc1NSw3ICs3
NTUsNyBAQCBwdWJsaWM6CiAgICAgICAgIC8vIFBsYXRmb3JtRXZlbnQKICAgICAgICAgbV90eXBl
ID0gUGxhdGZvcm1FdmVudDo6V2hlZWw7CiAgICAgICAgIG1fbW9kaWZpZXJzID0gbW9kaWZpZXJz
Rm9yRXZlbnQoZXZlbnQpOwotICAgICAgICBtX3RpbWVzdGFtcCA9IGV2ZW50VGltZVN0YW1wU2lu
Y2UxOTcwKGV2ZW50KTsKKyAgICAgICAgbV90aW1lc3RhbXAgPSBldmVudFRpbWVTdGFtcFNpbmNl
MTk3MChldmVudC50aW1lc3RhbXApOwogCiAgICAgICAgIC8vIFBsYXRmb3JtV2hlZWxFdmVudAog
ICAgICAgICBtX3Bvc2l0aW9uID0gcG9pbnRGb3JFdmVudChldmVudCwgd2luZG93Vmlldyk7CkBA
IC03OTQsNyArNzk0LDcgQEAgcHVibGljOgogICAgICAgICAvLyBQbGF0Zm9ybUV2ZW50CiAgICAg
ICAgIG1fdHlwZSA9IGlzS2V5VXBFdmVudChldmVudCkgPyBQbGF0Zm9ybUV2ZW50OjpLZXlVcCA6
IFBsYXRmb3JtRXZlbnQ6OktleURvd247CiAgICAgICAgIG1fbW9kaWZpZXJzID0gbW9kaWZpZXJz
Rm9yRXZlbnQoZXZlbnQpOwotICAgICAgICBtX3RpbWVzdGFtcCA9IGV2ZW50VGltZVN0YW1wU2lu
Y2UxOTcwKGV2ZW50KTsKKyAgICAgICAgbV90aW1lc3RhbXAgPSBldmVudFRpbWVTdGFtcFNpbmNl
MTk3MChldmVudC50aW1lc3RhbXApOwogCiAgICAgICAgIC8vIFBsYXRmb3JtS2V5Ym9hcmRFdmVu
dAogICAgICAgICBtX3RleHQgPSB0ZXh0RnJvbUV2ZW50KGV2ZW50KTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL1dlYkV2ZW50Q29udmVyc2lvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9XZWJFdmVudENvbnZlcnNpb24uY3BwCmluZGV4IGY5ZTljYjYzZGNlZjdmNjI2MjI0
MDA1YzU2MzIwYzM1MjFhMmU4OTUuLmQ2OTI4YmIzNGNlMTk3ODk0ZWU2ZmEwZTY3YWE2NTMzYzFm
MzZkMWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkV2ZW50Q29udmVyc2lv
bi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViRXZlbnRDb252ZXJzaW9uLmNwcApA
QCAtMTY5LDYgKzE2OSw3IEBAIHB1YmxpYzoKICAgICAgICAgbV9oYXNQcmVjaXNlU2Nyb2xsaW5n
RGVsdGFzID0gd2ViRXZlbnQuaGFzUHJlY2lzZVNjcm9sbGluZ0RlbHRhcygpOwogI2VuZGlmCiAj
aWYgUExBVEZPUk0oQ09DT0EpCisgICAgICAgIG1faW9ISURFdmVudFRpbWVzdGFtcCA9IHdlYkV2
ZW50LmlvSElERXZlbnRUaW1lc3RhbXAoKTsKICAgICAgICAgbV9zY3JvbGxDb3VudCA9IHdlYkV2
ZW50LnNjcm9sbENvdW50KCk7CiAgICAgICAgIG1fdW5hY2NlbGVyYXRlZFNjcm9sbGluZ0RlbHRh
WCA9IHdlYkV2ZW50LnVuYWNjZWxlcmF0ZWRTY3JvbGxpbmdEZWx0YSgpLndpZHRoKCk7CiAgICAg
ICAgIG1fdW5hY2NlbGVyYXRlZFNjcm9sbGluZ0RlbHRhWSA9IHdlYkV2ZW50LnVuYWNjZWxlcmF0
ZWRTY3JvbGxpbmdEZWx0YSgpLmhlaWdodCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9T
aGFyZWQvV2ViV2hlZWxFdmVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJXaGVlbEV2
ZW50LmNwcAppbmRleCBjMDNmZTIzZWJkN2VhYzYzODUxZWMwYWU5YTNiZGZiZDE2OWY4OWFiLi5h
NmIyM2RhYzdhMzFmMzRmYmI5NjI5YTMxNTY2MzkxZDEyMTA5ZmVkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9XZWJXaGVlbEV2ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9XZWJXaGVlbEV2ZW50LmNwcApAQCAtNDQsNyArNDQsNyBAQCBXZWJXaGVlbEV2ZW50OjpX
ZWJXaGVlbEV2ZW50KFR5cGUgdHlwZSwgY29uc3QgSW50UG9pbnQmIHBvc2l0aW9uLCBjb25zdCBJ
bnRQb2ludAogfQogCiAjaWYgUExBVEZPUk0oQ09DT0EpCi1XZWJXaGVlbEV2ZW50OjpXZWJXaGVl
bEV2ZW50KFR5cGUgdHlwZSwgY29uc3QgSW50UG9pbnQmIHBvc2l0aW9uLCBjb25zdCBJbnRQb2lu
dCYgZ2xvYmFsUG9zaXRpb24sIGNvbnN0IEZsb2F0U2l6ZSYgZGVsdGEsIGNvbnN0IEZsb2F0U2l6
ZSYgd2hlZWxUaWNrcywgR3JhbnVsYXJpdHkgZ3JhbnVsYXJpdHksIGJvb2wgZGlyZWN0aW9uSW52
ZXJ0ZWRGcm9tRGV2aWNlLCBQaGFzZSBwaGFzZSwgUGhhc2UgbW9tZW50dW1QaGFzZSwgYm9vbCBo
YXNQcmVjaXNlU2Nyb2xsaW5nRGVsdGFzLCB1aW50MzJfdCBzY3JvbGxDb3VudCwgY29uc3QgV2Vi
Q29yZTo6RmxvYXRTaXplJiB1bmFjY2VsZXJhdGVkU2Nyb2xsaW5nRGVsdGEsIE9wdGlvblNldDxN
b2RpZmllcj4gbW9kaWZpZXJzLCBXYWxsVGltZSB0aW1lc3RhbXApCitXZWJXaGVlbEV2ZW50OjpX
ZWJXaGVlbEV2ZW50KFR5cGUgdHlwZSwgY29uc3QgSW50UG9pbnQmIHBvc2l0aW9uLCBjb25zdCBJ
bnRQb2ludCYgZ2xvYmFsUG9zaXRpb24sIGNvbnN0IEZsb2F0U2l6ZSYgZGVsdGEsIGNvbnN0IEZs
b2F0U2l6ZSYgd2hlZWxUaWNrcywgR3JhbnVsYXJpdHkgZ3JhbnVsYXJpdHksIGJvb2wgZGlyZWN0
aW9uSW52ZXJ0ZWRGcm9tRGV2aWNlLCBQaGFzZSBwaGFzZSwgUGhhc2UgbW9tZW50dW1QaGFzZSwg
Ym9vbCBoYXNQcmVjaXNlU2Nyb2xsaW5nRGVsdGFzLCB1aW50MzJfdCBzY3JvbGxDb3VudCwgY29u
c3QgV2ViQ29yZTo6RmxvYXRTaXplJiB1bmFjY2VsZXJhdGVkU2Nyb2xsaW5nRGVsdGEsIE9wdGlv
blNldDxNb2RpZmllcj4gbW9kaWZpZXJzLCBXYWxsVGltZSB0aW1lc3RhbXAsIFdhbGxUaW1lIGlv
SElERXZlbnRUaW1lc3RhbXApCiAgICAgOiBXZWJFdmVudCh0eXBlLCBtb2RpZmllcnMsIHRpbWVz
dGFtcCkKICAgICAsIG1fcG9zaXRpb24ocG9zaXRpb24pCiAgICAgLCBtX2dsb2JhbFBvc2l0aW9u
KGdsb2JhbFBvc2l0aW9uKQpAQCAtNTUsNiArNTUsNyBAQCBXZWJXaGVlbEV2ZW50OjpXZWJXaGVl
bEV2ZW50KFR5cGUgdHlwZSwgY29uc3QgSW50UG9pbnQmIHBvc2l0aW9uLCBjb25zdCBJbnRQb2lu
dAogICAgICwgbV9tb21lbnR1bVBoYXNlKG1vbWVudHVtUGhhc2UpCiAgICAgLCBtX2RpcmVjdGlv
bkludmVydGVkRnJvbURldmljZShkaXJlY3Rpb25JbnZlcnRlZEZyb21EZXZpY2UpCiAgICAgLCBt
X2hhc1ByZWNpc2VTY3JvbGxpbmdEZWx0YXMoaGFzUHJlY2lzZVNjcm9sbGluZ0RlbHRhcykKKyAg
ICAsIG1faW9ISURFdmVudFRpbWVzdGFtcChpb0hJREV2ZW50VGltZXN0YW1wKQogICAgICwgbV9z
Y3JvbGxDb3VudChzY3JvbGxDb3VudCkKICAgICAsIG1fdW5hY2NlbGVyYXRlZFNjcm9sbGluZ0Rl
bHRhKHVuYWNjZWxlcmF0ZWRTY3JvbGxpbmdEZWx0YSkKIHsKQEAgLTkyLDYgKzkzLDcgQEAgdm9p
ZCBXZWJXaGVlbEV2ZW50OjplbmNvZGUoSVBDOjpFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogICAg
IGVuY29kZXIgPDwgbV9oYXNQcmVjaXNlU2Nyb2xsaW5nRGVsdGFzOwogI2VuZGlmCiAjaWYgUExB
VEZPUk0oQ09DT0EpCisgICAgZW5jb2RlciA8PCBtX2lvSElERXZlbnRUaW1lc3RhbXA7CiAgICAg
ZW5jb2RlciA8PCBtX3Njcm9sbENvdW50OwogICAgIGVuY29kZXIgPDwgbV91bmFjY2VsZXJhdGVk
U2Nyb2xsaW5nRGVsdGE7CiAjZW5kaWYKQEAgLTEyMiw2ICsxMjQsOCBAQCBib29sIFdlYldoZWVs
RXZlbnQ6OmRlY29kZShJUEM6OkRlY29kZXImIGRlY29kZXIsIFdlYldoZWVsRXZlbnQmIHQpCiAg
ICAgICAgIHJldHVybiBmYWxzZTsKICNlbmRpZgogI2lmIFBMQVRGT1JNKENPQ09BKQorICAgIGlm
ICghZGVjb2Rlci5kZWNvZGUodC5tX2lvSElERXZlbnRUaW1lc3RhbXApKQorICAgICAgICByZXR1
cm4gZmFsc2U7CiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZSh0Lm1fc2Nyb2xsQ291bnQpKQogICAg
ICAgICByZXR1cm4gZmFsc2U7CiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZSh0Lm1fdW5hY2NlbGVy
YXRlZFNjcm9sbGluZ0RlbHRhKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dl
YldoZWVsRXZlbnQuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYldoZWVsRXZlbnQuaAppbmRl
eCBlMDkxZGI4ZmI5MGMzOTk1ZDA0N2Q0OTE2ZTU0ODMxNzcwY2RjNTcwLi45OWRjYjZiMDUwNGM2
ODlhZWIwMTBmMTcyZjU0NGI5MTIzZTBhMWNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9XZWJXaGVlbEV2ZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViV2hlZWxF
dmVudC5oCkBAIC01Myw3ICs1Myw3IEBAIHB1YmxpYzoKIAogICAgIFdlYldoZWVsRXZlbnQoVHlw
ZSwgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIHBvc2l0aW9uLCBjb25zdCBXZWJDb3JlOjpJbnRQ
b2ludCYgZ2xvYmFsUG9zaXRpb24sIGNvbnN0IFdlYkNvcmU6OkZsb2F0U2l6ZSYgZGVsdGEsIGNv
bnN0IFdlYkNvcmU6OkZsb2F0U2l6ZSYgd2hlZWxUaWNrcywgR3JhbnVsYXJpdHksIE9wdGlvblNl
dDxNb2RpZmllcj4sIFdhbGxUaW1lIHRpbWVzdGFtcCk7CiAjaWYgUExBVEZPUk0oQ09DT0EpCi0g
ICAgV2ViV2hlZWxFdmVudChUeXBlLCBjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgcG9zaXRpb24s
IGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBnbG9iYWxQb3NpdGlvbiwgY29uc3QgV2ViQ29yZTo6
RmxvYXRTaXplJiBkZWx0YSwgY29uc3QgV2ViQ29yZTo6RmxvYXRTaXplJiB3aGVlbFRpY2tzLCBH
cmFudWxhcml0eSwgYm9vbCBkaXJlY3Rpb25JbnZlcnRlZEZyb21EZXZpY2UsIFBoYXNlLCBQaGFz
ZSBtb21lbnR1bVBoYXNlLCBib29sIGhhc1ByZWNpc2VTY3JvbGxpbmdEZWx0YXMsIHVpbnQzMl90
IHNjcm9sbENvdW50LCBjb25zdCBXZWJDb3JlOjpGbG9hdFNpemUmIHVuYWNjZWxlcmF0ZWRTY3Jv
bGxpbmdEZWx0YSwgT3B0aW9uU2V0PE1vZGlmaWVyPiwgV2FsbFRpbWUgdGltZXN0YW1wKTsKKyAg
ICBXZWJXaGVlbEV2ZW50KFR5cGUsIGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBwb3NpdGlvbiwg
Y29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIGdsb2JhbFBvc2l0aW9uLCBjb25zdCBXZWJDb3JlOjpG
bG9hdFNpemUmIGRlbHRhLCBjb25zdCBXZWJDb3JlOjpGbG9hdFNpemUmIHdoZWVsVGlja3MsIEdy
YW51bGFyaXR5LCBib29sIGRpcmVjdGlvbkludmVydGVkRnJvbURldmljZSwgUGhhc2UsIFBoYXNl
IG1vbWVudHVtUGhhc2UsIGJvb2wgaGFzUHJlY2lzZVNjcm9sbGluZ0RlbHRhcywgdWludDMyX3Qg
c2Nyb2xsQ291bnQsIGNvbnN0IFdlYkNvcmU6OkZsb2F0U2l6ZSYgdW5hY2NlbGVyYXRlZFNjcm9s
bGluZ0RlbHRhLCBPcHRpb25TZXQ8TW9kaWZpZXI+LCBXYWxsVGltZSB0aW1lc3RhbXAsIFdhbGxU
aW1lIGlvSElERXZlbnRUaW1lc3RhbXApOwogI2VsaWYgUExBVEZPUk0oR1RLKSB8fCBVU0UoTElC
V1BFKQogICAgIFdlYldoZWVsRXZlbnQoVHlwZSwgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIHBv
c2l0aW9uLCBjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgZ2xvYmFsUG9zaXRpb24sIGNvbnN0IFdl
YkNvcmU6OkZsb2F0U2l6ZSYgZGVsdGEsIGNvbnN0IFdlYkNvcmU6OkZsb2F0U2l6ZSYgd2hlZWxU
aWNrcywgUGhhc2UsIFBoYXNlIG1vbWVudHVtUGhhc2UsIEdyYW51bGFyaXR5LCBib29sIGhhc1By
ZWNpc2VTY3JvbGxpbmdEZWx0YXMsIE9wdGlvblNldDxNb2RpZmllcj4sIFdhbGxUaW1lIHRpbWVz
dGFtcCk7CiAjZW5kaWYKQEAgLTcwLDYgKzcwLDcgQEAgcHVibGljOgogICAgIGJvb2wgaGFzUHJl
Y2lzZVNjcm9sbGluZ0RlbHRhcygpIGNvbnN0IHsgcmV0dXJuIG1faGFzUHJlY2lzZVNjcm9sbGlu
Z0RlbHRhczsgfQogI2VuZGlmCiAjaWYgUExBVEZPUk0oQ09DT0EpCisgICAgV2FsbFRpbWUgaW9I
SURFdmVudFRpbWVzdGFtcCgpIGNvbnN0IHsgcmV0dXJuIG1faW9ISURFdmVudFRpbWVzdGFtcDsg
fQogICAgIHVpbnQzMl90IHNjcm9sbENvdW50KCkgY29uc3QgeyByZXR1cm4gbV9zY3JvbGxDb3Vu
dDsgfQogICAgIGNvbnN0IFdlYkNvcmU6OkZsb2F0U2l6ZSYgdW5hY2NlbGVyYXRlZFNjcm9sbGlu
Z0RlbHRhKCkgY29uc3QgeyByZXR1cm4gbV91bmFjY2VsZXJhdGVkU2Nyb2xsaW5nRGVsdGE7IH0K
ICNlbmRpZgpAQCAtODcsMTEgKzg4LDEzIEBAIHByaXZhdGU6CiAgICAgdWludDMyX3QgbV9ncmFu
dWxhcml0eSB7IFNjcm9sbEJ5UGFnZVdoZWVsRXZlbnQgfTsKICAgICB1aW50MzJfdCBtX3BoYXNl
IHsgUGhhc2U6OlBoYXNlTm9uZSB9OwogICAgIHVpbnQzMl90IG1fbW9tZW50dW1QaGFzZSB7IFBo
YXNlOjpQaGFzZU5vbmUgfTsKKwogICAgIGJvb2wgbV9kaXJlY3Rpb25JbnZlcnRlZEZyb21EZXZp
Y2UgeyBmYWxzZSB9OwogI2lmIFBMQVRGT1JNKENPQ09BKSB8fCBQTEFURk9STShHVEspIHx8IFVT
RShMSUJXUEUpCiAgICAgYm9vbCBtX2hhc1ByZWNpc2VTY3JvbGxpbmdEZWx0YXMgeyBmYWxzZSB9
OwogI2VuZGlmCiAjaWYgUExBVEZPUk0oQ09DT0EpCisgICAgV2FsbFRpbWUgbV9pb0hJREV2ZW50
VGltZXN0YW1wOwogICAgIHVpbnQzMl90IG1fc2Nyb2xsQ291bnQgeyAwIH07CiAgICAgV2ViQ29y
ZTo6RmxvYXRTaXplIG1fdW5hY2NlbGVyYXRlZFNjcm9sbGluZ0RlbHRhOwogI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJXaGVlbEV2ZW50Q29hbGVzY2VyLmNwcCBi
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYldoZWVsRXZlbnRDb2FsZXNjZXIuY3BwCmluZGV4IGVk
NjBjYmRhMDVmN2VkNWYxZDJkMTIyODMxN2Q4NDM4YTRiZDljOTQuLmU2NzU1ZmEwZWYzZDYwNDlm
ZjljM2E0OWQ4MjkxMTYyNDYwNTEyOGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L1dlYldoZWVsRXZlbnRDb2FsZXNjZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dl
YldoZWVsRXZlbnRDb2FsZXNjZXIuY3BwCkBAIC03OCw3ICs3OCw3IEBAIFdlYldoZWVsRXZlbnQg
V2ViV2hlZWxFdmVudENvYWxlc2Nlcjo6Y29hbGVzY2UoY29uc3QgV2ViV2hlZWxFdmVudCYgYSwg
Y29uc3QgV2ViCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgYXV0byBtZXJnZWRVbmFjY2VsZXJh
dGVkU2Nyb2xsaW5nRGVsdGEgPSBhLnVuYWNjZWxlcmF0ZWRTY3JvbGxpbmdEZWx0YSgpICsgYi51
bmFjY2VsZXJhdGVkU2Nyb2xsaW5nRGVsdGEoKTsKIAotICAgIHJldHVybiBXZWJXaGVlbEV2ZW50
KFdlYkV2ZW50OjpXaGVlbCwgYi5wb3NpdGlvbigpLCBiLmdsb2JhbFBvc2l0aW9uKCksIG1lcmdl
ZERlbHRhLCBtZXJnZWRXaGVlbFRpY2tzLCBiLmdyYW51bGFyaXR5KCksIGIuZGlyZWN0aW9uSW52
ZXJ0ZWRGcm9tRGV2aWNlKCksIGIucGhhc2UoKSwgYi5tb21lbnR1bVBoYXNlKCksIGIuaGFzUHJl
Y2lzZVNjcm9sbGluZ0RlbHRhcygpLCBiLnNjcm9sbENvdW50KCksIG1lcmdlZFVuYWNjZWxlcmF0
ZWRTY3JvbGxpbmdEZWx0YSwgYi5tb2RpZmllcnMoKSwgYi50aW1lc3RhbXAoKSk7CisgICAgcmV0
dXJuIFdlYldoZWVsRXZlbnQoV2ViRXZlbnQ6OldoZWVsLCBiLnBvc2l0aW9uKCksIGIuZ2xvYmFs
UG9zaXRpb24oKSwgbWVyZ2VkRGVsdGEsIG1lcmdlZFdoZWVsVGlja3MsIGIuZ3JhbnVsYXJpdHko
KSwgYi5kaXJlY3Rpb25JbnZlcnRlZEZyb21EZXZpY2UoKSwgYi5waGFzZSgpLCBiLm1vbWVudHVt
UGhhc2UoKSwgYi5oYXNQcmVjaXNlU2Nyb2xsaW5nRGVsdGFzKCksIGIuc2Nyb2xsQ291bnQoKSwg
bWVyZ2VkVW5hY2NlbGVyYXRlZFNjcm9sbGluZ0RlbHRhLCBiLm1vZGlmaWVycygpLCBiLnRpbWVz
dGFtcCgpLCBiLmlvSElERXZlbnRUaW1lc3RhbXAoKSk7CiAjZWxpZiBQTEFURk9STShHVEspIHx8
IFVTRShMSUJXUEUpCiAgICAgcmV0dXJuIFdlYldoZWVsRXZlbnQoV2ViRXZlbnQ6OldoZWVsLCBi
LnBvc2l0aW9uKCksIGIuZ2xvYmFsUG9zaXRpb24oKSwgbWVyZ2VkRGVsdGEsIG1lcmdlZFdoZWVs
VGlja3MsIGIucGhhc2UoKSwgYi5tb21lbnR1bVBoYXNlKCksIGIuZ3JhbnVsYXJpdHkoKSwgYi5o
YXNQcmVjaXNlU2Nyb2xsaW5nRGVsdGFzKCksIGIubW9kaWZpZXJzKCksIGIudGltZXN0YW1wKCkp
OwogI2Vsc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL2lvcy9XZWJJT1NFdmVu
dEZhY3RvcnkubW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9pb3MvV2ViSU9TRXZlbnRGYWN0b3J5
Lm1tCmluZGV4IDJlMzkzM2JjYmUzNjcyZDI3M2JmZmMzOTExMzNkY2UxMmMyMjI0M2UuLjI5OWE0
Y2NiMDA4ZTczMWViYTA3OTdhNmZiZGJlNzY2YzFkMDA0NTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL2lvcy9XZWJJT1NFdmVudEZhY3RvcnkubW0KKysrIGIvU291cmNlL1dlYktp
dC9TaGFyZWQvaW9zL1dlYklPU0V2ZW50RmFjdG9yeS5tbQpAQCAtMTYxLDcgKzE2MSw3IEBAIFdl
YktpdDo6V2ViV2hlZWxFdmVudCBXZWJJT1NFdmVudEZhY3Rvcnk6OmNyZWF0ZVdlYldoZWVsRXZl
bnQoVUlTY3JvbGxFdmVudCAqZXZlCiAgICAgV2ViQ29yZTo6RmxvYXRTaXplIGRlbHRhKGRlbHRh
VmVjdG9yLmR4LCBkZWx0YVZlY3Rvci5keSk7CiAgICAgV2ViQ29yZTo6RmxvYXRTaXplIHdoZWVs
VGlja3MgPSBkZWx0YTsKICAgICB3aGVlbFRpY2tzLnNjYWxlKDEuIC8gc3RhdGljX2Nhc3Q8Zmxv
YXQ+KFdlYkNvcmU6OlNjcm9sbGJhcjo6cGl4ZWxzUGVyTGluZVN0ZXAoKSkpOwotCisgICAgYXV0
byB0aW1lc3RhbXAgPSBNb25vdG9uaWNUaW1lOjpmcm9tUmF3U2Vjb25kcyhldmVudC50aW1lc3Rh
bXApLmFwcHJveGltYXRlV2FsbFRpbWUoKTsKICAgICByZXR1cm4gewogICAgICAgICBXZWJLaXQ6
OldlYkV2ZW50OjpXaGVlbCwKICAgICAgICAgc2Nyb2xsTG9jYXRpb24sCkBAIC0xNzYsNyArMTc2
LDggQEAgV2ViS2l0OjpXZWJXaGVlbEV2ZW50IFdlYklPU0V2ZW50RmFjdG9yeTo6Y3JlYXRlV2Vi
V2hlZWxFdmVudChVSVNjcm9sbEV2ZW50ICpldmUKICAgICAgICAgMSwKICAgICAgICAgZGVsdGEs
CiAgICAgICAgIHsgfSwKLSAgICAgICAgTW9ub3RvbmljVGltZTo6ZnJvbVJhd1NlY29uZHMoZXZl
bnQudGltZXN0YW1wKS5hcHByb3hpbWF0ZVdhbGxUaW1lKCkKKyAgICAgICAgdGltZXN0YW1wLAor
ICAgICAgICB0aW1lc3RhbXAKICAgICB9OwogfQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9tYWMvTmF0aXZlV2ViR2VzdHVyZUV2ZW50TWFjLm1tIGIvU291cmNlL1dl
YktpdC9TaGFyZWQvbWFjL05hdGl2ZVdlYkdlc3R1cmVFdmVudE1hYy5tbQppbmRleCBjMWQyMWQ4
MWI0MjQyNDJiMzRiZjM4ZWZhYWFlNmU1Y2JjZGJjMWE0Li42ZTBmMmNkNjFlZjVlMDhmNjUyZjI0
NDZmMGM1MWIwOTA1OGQwYWYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMv
TmF0aXZlV2ViR2VzdHVyZUV2ZW50TWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL21h
Yy9OYXRpdmVXZWJHZXN0dXJlRXZlbnRNYWMubW0KQEAgLTYyLDcgKzYyLDcgQEAgTmF0aXZlV2Vi
R2VzdHVyZUV2ZW50OjpOYXRpdmVXZWJHZXN0dXJlRXZlbnQoTlNFdmVudCAqZXZlbnQsIE5TVmll
dyAqdmlldykKICAgICA6IFdlYkdlc3R1cmVFdmVudCgKICAgICAgICAgd2ViRXZlbnRUeXBlRm9y
TlNFdmVudChldmVudCksCiAgICAgICAgIE9wdGlvblNldDxXZWJFdmVudDo6TW9kaWZpZXI+IHsg
fSwKLSAgICAgICAgV2ViQ29yZTo6ZXZlbnRUaW1lU3RhbXBTaW5jZTE5NzAoZXZlbnQpLAorICAg
ICAgICBXZWJDb3JlOjpldmVudFRpbWVTdGFtcFNpbmNlMTk3MChldmVudC50aW1lc3RhbXApLAog
ICAgICAgICBXZWJDb3JlOjpJbnRQb2ludChwb2ludEZvckV2ZW50KGV2ZW50LCB2aWV3KSksCiAg
ICAgICAgIGV2ZW50LnR5cGUgPT0gTlNFdmVudFR5cGVNYWduaWZ5ID8gZXZlbnQubWFnbmlmaWNh
dGlvbiA6IDAsCiAgICAgICAgIGV2ZW50LnR5cGUgPT0gTlNFdmVudFR5cGVSb3RhdGUgPyBldmVu
dC5yb3RhdGlvbiA6IDApCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMvV2Vi
RXZlbnRGYWN0b3J5Lm1tIGIvU291cmNlL1dlYktpdC9TaGFyZWQvbWFjL1dlYkV2ZW50RmFjdG9y
eS5tbQppbmRleCAzNjljY2RlOTI2Yzg0YzliMDA0Yzc4OWU4ZDcwZWJmNDQ3NDdmMGMyLi44ZDUx
NDBjODRkYjlkMzQ4MWI3ZjAwMmYwZjc1MGVkMDJiZmU1OTNmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9tYWMvV2ViRXZlbnRGYWN0b3J5Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL21hYy9XZWJFdmVudEZhY3RvcnkubW0KQEAgLTMyLDYgKzMyLDcgQEAKICNpbXBvcnQg
PFdlYkNvcmUvUGxhdGZvcm1FdmVudEZhY3RvcnlNYWMuaD4KICNpbXBvcnQgPFdlYkNvcmUvU2Ny
b2xsYmFyLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1dpbmRvd3NLZXlib2FyZENvZGVzLmg+CisjaW1w
b3J0IDxwYWwvc3BpL2NnL0NvcmVHcmFwaGljc1NQSS5oPgogI2ltcG9ydCA8cGFsL3NwaS9tYWMv
TlNNZW51U1BJLmg+CiAjaW1wb3J0IDx3dGYvQVNDSUlDVHlwZS5oPgogCkBAIC0zNTMsNyArMzU0
LDcgQEAgV2ViTW91c2VFdmVudCBXZWJFdmVudEZhY3Rvcnk6OmNyZWF0ZVdlYk1vdXNlRXZlbnQo
TlNFdmVudCAqZXZlbnQsIE5TRXZlbnQgKmxhc3QKICAgICBmbG9hdCBkZWx0YVogPSBbZXZlbnQg
ZGVsdGFaXTsKICAgICBpbnQgY2xpY2tDb3VudCA9IGNsaWNrQ291bnRGb3JFdmVudChldmVudCk7
CiAgICAgYXV0byBtb2RpZmllcnMgPSBtb2RpZmllcnNGb3JFdmVudChldmVudCk7Ci0gICAgYXV0
byB0aW1lc3RhbXAgPSBXZWJDb3JlOjpldmVudFRpbWVTdGFtcFNpbmNlMTk3MChldmVudCk7Cisg
ICAgYXV0byB0aW1lc3RhbXAgPSBXZWJDb3JlOjpldmVudFRpbWVTdGFtcFNpbmNlMTk3MChldmVu
dC50aW1lc3RhbXApOwogICAgIGludCBldmVudE51bWJlciA9IFtldmVudCBldmVudE51bWJlcl07
CiAgICAgaW50IG1lbnVUeXBlRm9yRXZlbnQgPSB0eXBlRm9yRXZlbnQoZXZlbnQpOwogCkBAIC00
MDgsOSArNDA5LDI2IEBAIFdlYldoZWVsRXZlbnQgV2ViRXZlbnRGYWN0b3J5OjpjcmVhdGVXZWJX
aGVlbEV2ZW50KE5TRXZlbnQgKmV2ZW50LCBOU1ZpZXcgKndpbmRvCiAgICAgfQogCiAgICAgYXV0
byBtb2RpZmllcnMgPSBtb2RpZmllcnNGb3JFdmVudChldmVudCk7Ci0gICAgYXV0byB0aW1lc3Rh
bXAgPSBXZWJDb3JlOjpldmVudFRpbWVTdGFtcFNpbmNlMTk3MChldmVudCk7CisgICAgYXV0byB0
aW1lc3RhbXAgPSBXZWJDb3JlOjpldmVudFRpbWVTdGFtcFNpbmNlMTk3MChldmVudC50aW1lc3Rh
bXApOwogCi0gICAgcmV0dXJuIFdlYldoZWVsRXZlbnQoV2ViRXZlbnQ6OldoZWVsLCBXZWJDb3Jl
OjpJbnRQb2ludChwb3NpdGlvbiksIFdlYkNvcmU6OkludFBvaW50KGdsb2JhbFBvc2l0aW9uKSwg
V2ViQ29yZTo6RmxvYXRTaXplKGRlbHRhWCwgZGVsdGFZKSwgV2ViQ29yZTo6RmxvYXRTaXplKHdo
ZWVsVGlja3NYLCB3aGVlbFRpY2tzWSksIGdyYW51bGFyaXR5LCBkaXJlY3Rpb25JbnZlcnRlZEZy
b21EZXZpY2UsIHBoYXNlLCBtb21lbnR1bVBoYXNlLCBoYXNQcmVjaXNlU2Nyb2xsaW5nRGVsdGFz
LCBzY3JvbGxDb3VudCwgdW5hY2NlbGVyYXRlZFNjcm9sbGluZ0RlbHRhLCBtb2RpZmllcnMsIHRp
bWVzdGFtcCk7CisgICAgYXV0byBpb0hJREV2ZW50VGltZXN0YW1wID0gW10oTlNFdmVudCAqZXZl
bnQpIHsKKyAgICAgICAgYXV0byBjZ0V2ZW50ID0gZXZlbnQuQ0dFdmVudDsKKyAgICAgICAgaWYg
KCFjZ0V2ZW50KQorICAgICAgICAgICAgcmV0dXJuIGV2ZW50LnRpbWVzdGFtcDsKKworICAgICAg
ICBhdXRvIGlvaGlkRXZlbnQgPSBhZG9wdENGKENHRXZlbnRDb3B5SU9ISURFdmVudChjZ0V2ZW50
KSk7CisgICAgICAgIGlmICghaW9oaWRFdmVudCkKKyAgICAgICAgICAgIHJldHVybiBldmVudC50
aW1lc3RhbXA7CisKKyAgICAgICAgYXV0byBpb0hJREV2ZW50VGltZXN0YW1wID0gSU9ISURFdmVu
dEdldFRpbWVTdGFtcChpb2hpZEV2ZW50LmdldCgpKTsgLy8gSU9FdmVudFJlZiB0aW1lc3RhbXAg
aXMgbWFjaF9hYnNvbHV0ZV90aW1lIHVuaXRzLgorICAgICAgICByZXR1cm4gTW9ub3RvbmljVGlt
ZTo6ZnJvbU1hY2hBYnNvbHV0ZVRpbWUoaW9ISURFdmVudFRpbWVzdGFtcCkuc2Vjb25kc1NpbmNl
RXBvY2goKS5zZWNvbmRzKCk7CisgICAgfShldmVudCk7CisKKyAgICBhdXRvIGlvSElERXZlbnRX
YWxsVGltZSA9IFdlYkNvcmU6OmV2ZW50VGltZVN0YW1wU2luY2UxOTcwKGlvSElERXZlbnRUaW1l
c3RhbXApOworCisgICAgcmV0dXJuIFdlYldoZWVsRXZlbnQoV2ViRXZlbnQ6OldoZWVsLCBXZWJD
b3JlOjpJbnRQb2ludChwb3NpdGlvbiksIFdlYkNvcmU6OkludFBvaW50KGdsb2JhbFBvc2l0aW9u
KSwgV2ViQ29yZTo6RmxvYXRTaXplKGRlbHRhWCwgZGVsdGFZKSwgV2ViQ29yZTo6RmxvYXRTaXpl
KHdoZWVsVGlja3NYLCB3aGVlbFRpY2tzWSksCisgICAgICAgIGdyYW51bGFyaXR5LCBkaXJlY3Rp
b25JbnZlcnRlZEZyb21EZXZpY2UsIHBoYXNlLCBtb21lbnR1bVBoYXNlLCBoYXNQcmVjaXNlU2Ny
b2xsaW5nRGVsdGFzLAorICAgICAgICBzY3JvbGxDb3VudCwgdW5hY2NlbGVyYXRlZFNjcm9sbGlu
Z0RlbHRhLCBtb2RpZmllcnMsIHRpbWVzdGFtcCwgaW9ISURFdmVudFdhbGxUaW1lKTsKIH0KIAog
V2ViS2V5Ym9hcmRFdmVudCBXZWJFdmVudEZhY3Rvcnk6OmNyZWF0ZVdlYktleWJvYXJkRXZlbnQo
TlNFdmVudCAqZXZlbnQsIGJvb2wgaGFuZGxlZEJ5SW5wdXRNZXRob2QsIGJvb2wgcmVwbGFjZXNT
b2Z0U3BhY2UsIGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpLZXlwcmVzc0NvbW1hbmQ+JiBjb21tYW5k
cykKQEAgLTQyOCw3ICs0NDYsNyBAQCBXZWJLZXlib2FyZEV2ZW50IFdlYkV2ZW50RmFjdG9yeTo6
Y3JlYXRlV2ViS2V5Ym9hcmRFdmVudChOU0V2ZW50ICpldmVudCwgYm9vbCBoYQogICAgIGJvb2wg
aXNLZXlwYWQgICAgICAgICAgICAgICAgICAgPSBpc0tleXBhZEV2ZW50KGV2ZW50KTsKICAgICBi
b29sIGlzU3lzdGVtS2V5ICAgICAgICAgICAgICAgID0gZmFsc2U7IC8vIFN5c3RlbUtleSBpcyBh
bHdheXMgZmFsc2Ugb24gdGhlIE1hYy4KICAgICBhdXRvIG1vZGlmaWVycyA9IG1vZGlmaWVyc0Zv
ckV2ZW50KGV2ZW50KTsKLSAgICBhdXRvIHRpbWVzdGFtcCAgICAgICAgICAgICAgICAgID0gV2Vi
Q29yZTo6ZXZlbnRUaW1lU3RhbXBTaW5jZTE5NzAoZXZlbnQpOworICAgIGF1dG8gdGltZXN0YW1w
ICAgICAgICAgICAgICAgICAgPSBXZWJDb3JlOjpldmVudFRpbWVTdGFtcFNpbmNlMTk3MChldmVu
dC50aW1lc3RhbXApOwogCiAgICAgLy8gQWx3YXlzIHVzZSAxMyBmb3IgRW50ZXIvUmV0dXJuIC0t
IHdlIGRvbid0IHdhbnQgdG8gdXNlIEFwcEtpdCdzIGRpZmZlcmVudCBjaGFyYWN0ZXIgZm9yIEVu
dGVyLgogICAgIGlmICh3aW5kb3dzVmlydHVhbEtleUNvZGUgPT0gVktfUkVUVVJOKSB7Cg==
</data>
<flag name="commit-queue"
          id="469121"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>444168</attachid>
            <date>2021-11-13 23:16:17 -0800</date>
            <delta_ts>2021-11-13 23:51:25 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233051-20211113231616.patch</filename>
            <type>text/plain</type>
            <size>22493</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1Nzg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDM1YWUxOTJmZDMyODFm
N2VhYTJlYWFhMzIzNTJiNzQ4YjdmN2ExOS4uOGIzNWNiNThhNTIwMTBkZGI2YmUxYThiMWI2YWFi
MmNiOTVhZDdjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDIxLTExLTEzICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIEF0dGFjaCBJT0hJ
REV2ZW50IHRpbWVzdGFtcHMgdG8gd2hlZWwgZXZlbnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzMwNTEKKworICAgICAgICBSZXZpZXdlZCBieSBX
ZW5zb24gSHNpZWguCisKKyAgICAgICAgT24gc29tZSBtYWNPUyBkZXZpY2VzLCB0aGVyZSBjYW4g
YmUgc2lnbmlmaWNhbnQgZGVsdGFzIGJldHdlZW4gTlNFdmVudCB0aW1lc3RhbXBzLAorICAgICAg
ICBhbmQgdGhlIHRpbWVzdGFtcHMgb24gdW5kZXJseWluZyBJT0hJREV2ZW50cyAocmRhcjovLzg1
MzA5NjM5KS4gVGhpcyBtYWtlcyBtb21lbnR1bQorICAgICAgICB2ZWxvY2l0eSBjb21wdXRhdGlv
biB1bnByZWRpY3RhYmxlOyB3ZSBjYW4gZ2V0IGJldHRlciByZXN1bHRzIGJ5IHVzaW5nIElPSElE
RXZlbnQKKyAgICAgICAgdGltZXN0YW1wcy4KKworICAgICAgICAqIHBsYXRmb3JtL1BsYXRmb3Jt
V2hlZWxFdmVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybVdoZWVsRXZlbnQ6OmNy
ZWF0ZUZyb21HZXN0dXJlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9QbGF0Zm9ybVdoZWVsRXZlbnQu
aDoKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtV2hlZWxFdmVudDo6aW9ISURFdmVudFRpbWVz
dGFtcCBjb25zdCk6CisgICAgICAgICogcGxhdGZvcm0vbWFjL1BsYXRmb3JtRXZlbnRGYWN0b3J5
TWFjLmg6CisgICAgICAgICogcGxhdGZvcm0vbWFjL1BsYXRmb3JtRXZlbnRGYWN0b3J5TWFjLm1t
OgorICAgICAgICAoV2ViQ29yZTo6ZXZlbnRUaW1lU3RhbXBTaW5jZTE5NzApOgorICAgICAgICAo
V2ViQ29yZTo6UGxhdGZvcm1Nb3VzZUV2ZW50QnVpbGRlcjo6UGxhdGZvcm1Nb3VzZUV2ZW50QnVp
bGRlcik6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybVdoZWVsRXZlbnRCdWlsZGVyOjpQbGF0
Zm9ybVdoZWVsRXZlbnRCdWlsZGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtS2V5Ym9h
cmRFdmVudEJ1aWxkZXI6OlBsYXRmb3JtS2V5Ym9hcmRFdmVudEJ1aWxkZXIpOgorCiAyMDIxLTEx
LTEzICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgogCiAgICAgICAgIENs
ZWFuIHVwIElPS2l0IFNQSSBoZWFkZXJzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCA4ZWFkMGM5NjI4
NjQ1MGVmOTk5NzVhNzVlOTFhNjNjNzQ3N2FjNmE2Li4yYTM5NTU2NTk0NzhlNTExYjU2NWEyZjUx
OWIxNDk1MjFiNGU1Mzc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAy
MS0xMS0xMyAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKworICAgICAg
ICBBdHRhY2ggSU9ISURFdmVudCB0aW1lc3RhbXBzIHRvIHdoZWVsIGV2ZW50cworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzMDUxCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgV2Vuc29uIEhzaWVoLgorICAgICAgICAKKyAgICAgICAgRXhwb3NlIGEgZmV3
IGJpdHMgb2YgU1BJIG5lZWRlZC4KKworICAgICAgICAqIHBhbC9zcGkvY2cvQ29yZUdyYXBoaWNz
U1BJLmg6CisgICAgICAgICogcGFsL3NwaS9jb2NvYS9JT0tpdFNQSS5oOgorCiAyMDIxLTExLTEz
ICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgogCiAgICAgICAgIENsZWFu
IHVwIElPS2l0IFNQSSBoZWFkZXJzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDk0YWVhZDIxODg1ZmVlNzU0MjJlZTg4
NDIzYmY2N2RmODVlMTM2NWUuLjI1NzA2ZjBhOWVmYTRjOGU4YmM5YzA4NDg3MGI5NWJjNDEyMzlj
OTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzMgQEAKKzIwMjEtMTEtMTMgIFNpbW9uIEZyYXNlciAg
PHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgQXR0YWNoIElPSElERXZlbnQgdGlt
ZXN0YW1wcyB0byB3aGVlbCBldmVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIzMzA1MQorCisgICAgICAgIFJldmlld2VkIGJ5IFdlbnNvbiBIc2ll
aC4KKyAgICAgICAgCisgICAgICAgIE9uIHNvbWUgbWFjT1MgZGV2aWNlcywgdGhlcmUgY2FuIGJl
IHNpZ25pZmljYW50IGRlbHRhcyBiZXR3ZWVuIE5TRXZlbnQgdGltZXN0YW1wcywKKyAgICAgICAg
YW5kIHRoZSB0aW1lc3RhbXBzIG9uIHVuZGVybHlpbmcgSU9ISURFdmVudHMgKHJkYXI6Ly84NTMw
OTYzOSkuIFRoaXMgbWFrZXMgbW9tZW50dW0KKyAgICAgICAgdmVsb2NpdHkgY29tcHV0YXRpb24g
dW5wcmVkaWN0YWJsZTsgd2UgY2FuIGdldCBiZXR0ZXIgcmVzdWx0cyBieSB1c2luZyBJT0hJREV2
ZW50CisgICAgICAgIHRpbWVzdGFtcHMuCisKKyAgICAgICAgKiBTaGFyZWQvV2ViRXZlbnRDb252
ZXJzaW9uLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViS2l0MlBsYXRmb3JtV2hlZWxFdmVudDo6
V2ViS2l0MlBsYXRmb3JtV2hlZWxFdmVudCk6CisgICAgICAgICogU2hhcmVkL1dlYldoZWVsRXZl
bnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJXaGVlbEV2ZW50OjpXZWJXaGVlbEV2ZW50KToK
KyAgICAgICAgKFdlYktpdDo6V2ViV2hlZWxFdmVudDo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAg
KFdlYktpdDo6V2ViV2hlZWxFdmVudDo6ZGVjb2RlKToKKyAgICAgICAgKiBTaGFyZWQvV2ViV2hl
ZWxFdmVudC5oOgorICAgICAgICAoV2ViS2l0OjpXZWJXaGVlbEV2ZW50Ojppb0hJREV2ZW50VGlt
ZXN0YW1wIGNvbnN0KToKKyAgICAgICAgKiBTaGFyZWQvV2ViV2hlZWxFdmVudENvYWxlc2Nlci5j
cHA6CisgICAgICAgIChXZWJLaXQ6OldlYldoZWVsRXZlbnRDb2FsZXNjZXI6OmNvYWxlc2NlKToK
KyAgICAgICAgKiBTaGFyZWQvaW9zL1dlYklPU0V2ZW50RmFjdG9yeS5tbToKKyAgICAgICAgKFdl
YklPU0V2ZW50RmFjdG9yeTo6Y3JlYXRlV2ViV2hlZWxFdmVudCk6CisgICAgICAgICogU2hhcmVk
L21hYy9OYXRpdmVXZWJHZXN0dXJlRXZlbnRNYWMubW06CisgICAgICAgICogU2hhcmVkL21hYy9X
ZWJFdmVudEZhY3RvcnkubW06CisgICAgICAgIChXZWJLaXQ6OldlYkV2ZW50RmFjdG9yeTo6Y3Jl
YXRlV2ViTW91c2VFdmVudCk6CisgICAgICAgIChXZWJLaXQ6OldlYkV2ZW50RmFjdG9yeTo6Y3Jl
YXRlV2ViV2hlZWxFdmVudCk6CisgICAgICAgIChXZWJLaXQ6OldlYkV2ZW50RmFjdG9yeTo6Y3Jl
YXRlV2ViS2V5Ym9hcmRFdmVudCk6CisKIDIwMjEtMTEtMTMgIFBlciBBcm5lIFZvbGxhbiA8cHZv
bGxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW21hY09TXVtHUFVQXSBSZW1vdmUgbG9nZ2luZyBv
ZiB1c2VkIHN5c2NhbGxzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9j
Zy9Db3JlR3JhcGhpY3NTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NnL0NvcmVH
cmFwaGljc1NQSS5oCmluZGV4IDZjNTYyMTA4YzA3OGUwYTIxOTFmM2U0MDU4MTU0MTM3ZDhmMmQ5
MmUuLjVhNjNkNzk3NGMyYjdiNTRhNTM0NWUyMzU2Zjk5YWM3MGQ1NzliMzggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NnL0NvcmVHcmFwaGljc1NQSS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NnL0NvcmVHcmFwaGljc1NQSS5oCkBAIC0zMiw2ICsz
Miw4IEBACiAjaW5jbHVkZSA8cGFsL3NwaS9jb2NvYS9JT1N1cmZhY2VTUEkuaD4KICNlbmRpZgog
CisjaW5jbHVkZSA8cGFsL3NwaS9jb2NvYS9JT0tpdFNQSS5oPgorCiAjaWYgVVNFKEFQUExFX0lO
VEVSTkFMX1NESykKIAogI2luY2x1ZGUgPENvcmVHcmFwaGljcy9DR0NvbnRleHREZWxlZ2F0ZVBy
aXZhdGUuaD4KQEAgLTQyLDYgKzQ0LDcgQEAKIAogI2lmIFBMQVRGT1JNKE1BQykKICNpbmNsdWRl
IDxDb3JlR3JhcGhpY3MvQ0dBY2Nlc3NpYmlsaXR5Lmg+CisjaW5jbHVkZSA8Q29yZUdyYXBoaWNz
L0NHRXZlbnRQcml2YXRlLmg+CiAjZW5kaWYKIAogI2Vsc2UKQEAgLTM1MSw2ICszNTQsNyBAQCBD
R0Vycm9yIENHU1NldERlbnlXaW5kb3dTZXJ2ZXJDb25uZWN0aW9ucyhib29sKTsKIHR5cGVkZWYg
aW50MzJfdCBDR1NEaXNwbGF5SUQ7CiBDR1NEaXNwbGF5SUQgQ0dTTWFpbkRpc3BsYXlJRCh2b2lk
KTsKIAorSU9ISURFdmVudFJlZiBDR0V2ZW50Q29weUlPSElERXZlbnQoQ0dFdmVudFJlZik7CiAj
ZW5kaWYgLy8gUExBVEZPUk0oTUFDKQogCiAjaWYgRU5BQkxFKFBERktJVF9QTFVHSU4pICYmICFV
U0UoQVBQTEVfSU5URVJOQUxfU0RLKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3Bh
bC9zcGkvbWFjL0lPS2l0U1BJTWFjLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9tYWMv
SU9LaXRTUElNYWMuaAppbmRleCA5Y2FjOTIyNGJmN2NiNDNlYjZiZWEwZjc2MDAwYjA5ZjdkM2Vk
MDVjLi41ZmM2MzExNDk0N2M3MmU4Mjg1YTZlOGQwNWEzMDEwMTNlMTBmNzMwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9tYWMvSU9LaXRTUElNYWMuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9tYWMvSU9LaXRTUElNYWMuaApAQCAtNDMsNiArNDMsOCBA
QAogI2RlZmluZSBrSU9ISURQcm9kdWN0SURLZXkgIlByb2R1Y3RJRCIKIAogV1RGX0VYVEVSTl9D
X0JFR0lOCisKK3R5cGVkZWYgc3RydWN0IF9fSU9ISURFdmVudCAqIElPSElERXZlbnRSZWY7CiB0
eXBlZGVmIHN0cnVjdCBDRl9CUklER0VEX1RZUEUoaWQpIF9fSU9ISURTZXJ2aWNlQ2xpZW50ICog
SU9ISURTZXJ2aWNlQ2xpZW50UmVmOwogdHlwZWRlZiBzdHJ1Y3QgQ0ZfQlJJREdFRF9UWVBFKGlk
KSBfX0lPSElERXZlbnRTeXN0ZW1DbGllbnQgKiBJT0hJREV2ZW50U3lzdGVtQ2xpZW50UmVmOwog
dHlwZWRlZiB2b2lkICheSU9ISURTZXJ2aWNlQ2xpZW50QmxvY2spKHZvaWQgKiwgdm9pZCAqLCBJ
T0hJRFNlcnZpY2VDbGllbnRSZWYpOwpAQCAtODEsNiArODMsOCBAQCBlbnVtIHsKIH07CiB0eXBl
ZGVmIHVpbnQzMl90IElPSElERXZlbnRUeXBlOwogCit1aW50NjRfdCBJT0hJREV2ZW50R2V0VGlt
ZVN0YW1wKElPSElERXZlbnRSZWYpOworCiBXVEZfRVhURVJOX0NfRU5ECiAKICNlbmRpZiAvLyBV
U0UoQVBQTEVfSU5URVJOQUxfU0RLKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vUGxhdGZvcm1XaGVlbEV2ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRm
b3JtV2hlZWxFdmVudC5jcHAKaW5kZXggYmQ3ZWVjMTgyMzA2Y2UxMTdhM2E3NjlmYTk5YzZlNjQ0
MmNkMTQ3OC4uYzFkMDQzYTcyMTQ4ZWJhZjc1YThmMDliYWZiNmJlNGYyMGYzODM3ZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1XaGVlbEV2ZW50LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVdoZWVsRXZlbnQuY3BwCkBAIC03NSw2
ICs3NSw3IEBAIFBsYXRmb3JtV2hlZWxFdmVudCBQbGF0Zm9ybVdoZWVsRXZlbnQ6OmNyZWF0ZUZy
b21HZXN0dXJlKGNvbnN0IFBsYXRmb3JtR2VzdHVyZUV2CiAjZW5kaWYgLy8gRU5BQkxFKEtJTkVU
SUNfU0NST0xMSU5HKQogCiAjaWYgUExBVEZPUk0oQ09DT0EpCisgICAgcGxhdGZvcm1XaGVlbEV2
ZW50Lm1faW9ISURFdmVudFRpbWVzdGFtcCA9IHBsYXRmb3JtV2hlZWxFdmVudC5tX3RpbWVzdGFt
cDsKICAgICBwbGF0Zm9ybVdoZWVsRXZlbnQubV91bmFjY2VsZXJhdGVkU2Nyb2xsaW5nRGVsdGFZ
ID0gZGVsdGFZOwogI2VuZGlmIC8vIFBMQVRGT1JNKENPQ09BKQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVdoZWVsRXZlbnQuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL1BsYXRmb3JtV2hlZWxFdmVudC5oCmluZGV4IDJhMTFmZDRhOTI4ZjM3MTdhOTFm
MDU2N2FjYzMyYjc3NDVhNThlODQuLjMyY2U3MzM1NWJiNGY5OTVlNzgzNGYwMDQ2NTExMTNjNWZl
MTY4NDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtV2hlZWxF
dmVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtV2hlZWxFdmVudC5o
CkBAIC0xNTEsNiArMTUxLDggQEAgcHVibGljOgogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIHVu
c2lnbmVkIHNjcm9sbENvdW50KCkgY29uc3QgeyByZXR1cm4gbV9zY3JvbGxDb3VudDsgfQogICAg
IEZsb2F0U2l6ZSB1bmFjY2VsZXJhdGVkU2Nyb2xsaW5nRGVsdGEoKSBjb25zdCB7IHJldHVybiB7
IG1fdW5hY2NlbGVyYXRlZFNjcm9sbGluZ0RlbHRhWCwgbV91bmFjY2VsZXJhdGVkU2Nyb2xsaW5n
RGVsdGFZIH07IH0KKyAgICAKKyAgICBXYWxsVGltZSBpb0hJREV2ZW50VGltZXN0YW1wKCkgY29u
c3QgeyByZXR1cm4gbV9pb0hJREV2ZW50VGltZXN0YW1wOyB9CiAjZW5kaWYKIAogI2lmIEVOQUJM
RShBU1lOQ19TQ1JPTExJTkcpCkBAIC0xOTksNiArMjAxLDcgQEAgcHJvdGVjdGVkOgogICAgIFBs
YXRmb3JtV2hlZWxFdmVudFBoYXNlIG1fbW9tZW50dW1QaGFzZSB7IFBsYXRmb3JtV2hlZWxFdmVu
dFBoYXNlOjpOb25lIH07CiAjZW5kaWYKICNpZiBQTEFURk9STShDT0NPQSkKKyAgICBXYWxsVGlt
ZSBtX2lvSElERXZlbnRUaW1lc3RhbXA7CiAgICAgdW5zaWduZWQgbV9zY3JvbGxDb3VudCB7IDAg
fTsKICAgICBmbG9hdCBtX3VuYWNjZWxlcmF0ZWRTY3JvbGxpbmdEZWx0YVggeyAwIH07CiAgICAg
ZmxvYXQgbV91bmFjY2VsZXJhdGVkU2Nyb2xsaW5nRGVsdGFZIHsgMCB9OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1BsYXRmb3JtRXZlbnRGYWN0b3J5TWFjLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUGxhdGZvcm1FdmVudEZhY3RvcnlNYWMuaAppbmRl
eCAyZjE4Zjk1OTM5MjhmZTkzZmUwNzM1YzI0NWNhNjdlZDY4ODU5OTgxLi42YmYyNDM4NDRkMDEy
M2VhYjk0ZWJjMTFmODNlNDgwOGMzY2Y3ZjE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tYWMvUGxhdGZvcm1FdmVudEZhY3RvcnlNYWMuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tYWMvUGxhdGZvcm1FdmVudEZhY3RvcnlNYWMuaApAQCAtNTAsNyArNTAsNyBA
QCBXRUJDT1JFX0VYUE9SVCBpbnQgd2luZG93c0tleUNvZGVGb3JLZXlFdmVudChOU0V2ZW50ICop
OwogV0VCQ09SRV9FWFBPUlQgU3RyaW5nIGtleUlkZW50aWZpZXJGb3JLZXlFdmVudChOU0V2ZW50
ICopOwogV0VCQ09SRV9FWFBPUlQgU3RyaW5nIGtleUZvcktleUV2ZW50KE5TRXZlbnQgKik7CiBX
RUJDT1JFX0VYUE9SVCBTdHJpbmcgY29kZUZvcktleUV2ZW50KE5TRXZlbnQgKik7Ci1XRUJDT1JF
X0VYUE9SVCBXYWxsVGltZSBldmVudFRpbWVTdGFtcFNpbmNlMTk3MChOU0V2ZW50ICopOworV0VC
Q09SRV9FWFBPUlQgV2FsbFRpbWUgZXZlbnRUaW1lU3RhbXBTaW5jZTE5NzAoTlNUaW1lSW50ZXJ2
YWwpOwogCiBXRUJDT1JFX0VYUE9SVCBPcHRpb25TZXQ8UGxhdGZvcm1FdmVudDo6TW9kaWZpZXI+
IG1vZGlmaWVyc0ZvckV2ZW50KE5TRXZlbnQgKik7CiBXRUJDT1JFX0VYUE9SVCB2b2lkIGdldFdo
ZWVsRXZlbnREZWx0YXMoTlNFdmVudCAqLCBmbG9hdCYgZGVsdGFYLCBmbG9hdCYgZGVsdGFZLCBC
T09MJiBjb250aW51b3VzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21h
Yy9QbGF0Zm9ybUV2ZW50RmFjdG9yeU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21h
Yy9QbGF0Zm9ybUV2ZW50RmFjdG9yeU1hYy5tbQppbmRleCA0Yzc4NzI2NWYyYzhjZDU3MGMyNmZm
ZDVlZDAwY2QyMDJlYmEzNGQwLi4zNWZjNmFmNTliNmFmY2I0Zjk1NTRjMGYyYTg0YTMzNDI4Mzk2
ZTVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUGxhdGZvcm1FdmVu
dEZhY3RvcnlNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1BsYXRmb3Jt
RXZlbnRGYWN0b3J5TWFjLm1tCkBAIC02MDcsOSArNjA3LDkgQEAgc3RhdGljIENGVGltZUludGVy
dmFsIGNhY2hlZFN0YXJ0dXBUaW1lSW50ZXJ2YWxTaW5jZTE5NzAoKQogICAgIHJldHVybiBzeXN0
ZW1TdGFydHVwVGltZTsKIH0KIAotV2FsbFRpbWUgZXZlbnRUaW1lU3RhbXBTaW5jZTE5NzAoTlNF
dmVudCogZXZlbnQpCitXYWxsVGltZSBldmVudFRpbWVTdGFtcFNpbmNlMTk3MChOU1RpbWVJbnRl
cnZhbCB0aW1lc3RhbXApCiB7Ci0gICAgcmV0dXJuIFdhbGxUaW1lOjpmcm9tUmF3U2Vjb25kcyhz
dGF0aWNfY2FzdDxkb3VibGU+KGNhY2hlZFN0YXJ0dXBUaW1lSW50ZXJ2YWxTaW5jZTE5NzAoKSAr
IFtldmVudCB0aW1lc3RhbXBdKSk7CisgICAgcmV0dXJuIFdhbGxUaW1lOjpmcm9tUmF3U2Vjb25k
cyhzdGF0aWNfY2FzdDxkb3VibGU+KGNhY2hlZFN0YXJ0dXBUaW1lSW50ZXJ2YWxTaW5jZTE5NzAo
KSArIHRpbWVzdGFtcCkpOwogfQogCiBzdGF0aWMgaW5saW5lIGJvb2wgaXNLZXlVcEV2ZW50KE5T
RXZlbnQgKmV2ZW50KQpAQCAtNzIwLDcgKzcyMCw3IEBAIHB1YmxpYzoKICAgICAgICAgfQogCiAg
ICAgICAgIG1fbW9kaWZpZXJzID0gbW9kaWZpZXJzRm9yRXZlbnQoZXZlbnQpOwotICAgICAgICBt
X3RpbWVzdGFtcCA9IGV2ZW50VGltZVN0YW1wU2luY2UxOTcwKGV2ZW50KTsKKyAgICAgICAgbV90
aW1lc3RhbXAgPSBldmVudFRpbWVTdGFtcFNpbmNlMTk3MChldmVudC50aW1lc3RhbXApOwogCiAg
ICAgICAgIC8vIFBsYXRmb3JtTW91c2VFdmVudAogICAgICAgICBtX3Bvc2l0aW9uID0gcG9pbnRG
b3JFdmVudChldmVudCwgd2luZG93Vmlldyk7CkBAIC03NTUsNyArNzU1LDcgQEAgcHVibGljOgog
ICAgICAgICAvLyBQbGF0Zm9ybUV2ZW50CiAgICAgICAgIG1fdHlwZSA9IFBsYXRmb3JtRXZlbnQ6
OldoZWVsOwogICAgICAgICBtX21vZGlmaWVycyA9IG1vZGlmaWVyc0ZvckV2ZW50KGV2ZW50KTsK
LSAgICAgICAgbV90aW1lc3RhbXAgPSBldmVudFRpbWVTdGFtcFNpbmNlMTk3MChldmVudCk7Cisg
ICAgICAgIG1fdGltZXN0YW1wID0gZXZlbnRUaW1lU3RhbXBTaW5jZTE5NzAoZXZlbnQudGltZXN0
YW1wKTsKIAogICAgICAgICAvLyBQbGF0Zm9ybVdoZWVsRXZlbnQKICAgICAgICAgbV9wb3NpdGlv
biA9IHBvaW50Rm9yRXZlbnQoZXZlbnQsIHdpbmRvd1ZpZXcpOwpAQCAtNzk0LDcgKzc5NCw3IEBA
IHB1YmxpYzoKICAgICAgICAgLy8gUGxhdGZvcm1FdmVudAogICAgICAgICBtX3R5cGUgPSBpc0tl
eVVwRXZlbnQoZXZlbnQpID8gUGxhdGZvcm1FdmVudDo6S2V5VXAgOiBQbGF0Zm9ybUV2ZW50OjpL
ZXlEb3duOwogICAgICAgICBtX21vZGlmaWVycyA9IG1vZGlmaWVyc0ZvckV2ZW50KGV2ZW50KTsK
LSAgICAgICAgbV90aW1lc3RhbXAgPSBldmVudFRpbWVTdGFtcFNpbmNlMTk3MChldmVudCk7Cisg
ICAgICAgIG1fdGltZXN0YW1wID0gZXZlbnRUaW1lU3RhbXBTaW5jZTE5NzAoZXZlbnQudGltZXN0
YW1wKTsKIAogICAgICAgICAvLyBQbGF0Zm9ybUtleWJvYXJkRXZlbnQKICAgICAgICAgbV90ZXh0
ID0gdGV4dEZyb21FdmVudChldmVudCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9XZWJFdmVudENvbnZlcnNpb24uY3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViRXZlbnRD
b252ZXJzaW9uLmNwcAppbmRleCBmOWU5Y2I2M2RjZWY3ZjYyNjIyNDAwNWM1NjMyMGMzNTIxYTJl
ODk1Li5kNjkyOGJiMzRjZTE5Nzg5NGVlNmZhMGU2N2FhNjUzM2MxZjM2ZDFlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJFdmVudENvbnZlcnNpb24uY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL1dlYkV2ZW50Q29udmVyc2lvbi5jcHAKQEAgLTE2OSw2ICsxNjksNyBA
QCBwdWJsaWM6CiAgICAgICAgIG1faGFzUHJlY2lzZVNjcm9sbGluZ0RlbHRhcyA9IHdlYkV2ZW50
Lmhhc1ByZWNpc2VTY3JvbGxpbmdEZWx0YXMoKTsKICNlbmRpZgogI2lmIFBMQVRGT1JNKENPQ09B
KQorICAgICAgICBtX2lvSElERXZlbnRUaW1lc3RhbXAgPSB3ZWJFdmVudC5pb0hJREV2ZW50VGlt
ZXN0YW1wKCk7CiAgICAgICAgIG1fc2Nyb2xsQ291bnQgPSB3ZWJFdmVudC5zY3JvbGxDb3VudCgp
OwogICAgICAgICBtX3VuYWNjZWxlcmF0ZWRTY3JvbGxpbmdEZWx0YVggPSB3ZWJFdmVudC51bmFj
Y2VsZXJhdGVkU2Nyb2xsaW5nRGVsdGEoKS53aWR0aCgpOwogICAgICAgICBtX3VuYWNjZWxlcmF0
ZWRTY3JvbGxpbmdEZWx0YVkgPSB3ZWJFdmVudC51bmFjY2VsZXJhdGVkU2Nyb2xsaW5nRGVsdGEo
KS5oZWlnaHQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYldoZWVsRXZl
bnQuY3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViV2hlZWxFdmVudC5jcHAKaW5kZXggYzAz
ZmUyM2ViZDdlYWM2Mzg1MWVjMGFlOWEzYmRmYmQxNjlmODlhYi4uYTZiMjNkYWM3YTMxZjM0ZmJi
OTYyOWEzMTU2NjM5MWQxMjEwOWZlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQv
V2ViV2hlZWxFdmVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViV2hlZWxFdmVu
dC5jcHAKQEAgLTQ0LDcgKzQ0LDcgQEAgV2ViV2hlZWxFdmVudDo6V2ViV2hlZWxFdmVudChUeXBl
IHR5cGUsIGNvbnN0IEludFBvaW50JiBwb3NpdGlvbiwgY29uc3QgSW50UG9pbnQKIH0KIAogI2lm
IFBMQVRGT1JNKENPQ09BKQotV2ViV2hlZWxFdmVudDo6V2ViV2hlZWxFdmVudChUeXBlIHR5cGUs
IGNvbnN0IEludFBvaW50JiBwb3NpdGlvbiwgY29uc3QgSW50UG9pbnQmIGdsb2JhbFBvc2l0aW9u
LCBjb25zdCBGbG9hdFNpemUmIGRlbHRhLCBjb25zdCBGbG9hdFNpemUmIHdoZWVsVGlja3MsIEdy
YW51bGFyaXR5IGdyYW51bGFyaXR5LCBib29sIGRpcmVjdGlvbkludmVydGVkRnJvbURldmljZSwg
UGhhc2UgcGhhc2UsIFBoYXNlIG1vbWVudHVtUGhhc2UsIGJvb2wgaGFzUHJlY2lzZVNjcm9sbGlu
Z0RlbHRhcywgdWludDMyX3Qgc2Nyb2xsQ291bnQsIGNvbnN0IFdlYkNvcmU6OkZsb2F0U2l6ZSYg
dW5hY2NlbGVyYXRlZFNjcm9sbGluZ0RlbHRhLCBPcHRpb25TZXQ8TW9kaWZpZXI+IG1vZGlmaWVy
cywgV2FsbFRpbWUgdGltZXN0YW1wKQorV2ViV2hlZWxFdmVudDo6V2ViV2hlZWxFdmVudChUeXBl
IHR5cGUsIGNvbnN0IEludFBvaW50JiBwb3NpdGlvbiwgY29uc3QgSW50UG9pbnQmIGdsb2JhbFBv
c2l0aW9uLCBjb25zdCBGbG9hdFNpemUmIGRlbHRhLCBjb25zdCBGbG9hdFNpemUmIHdoZWVsVGlj
a3MsIEdyYW51bGFyaXR5IGdyYW51bGFyaXR5LCBib29sIGRpcmVjdGlvbkludmVydGVkRnJvbURl
dmljZSwgUGhhc2UgcGhhc2UsIFBoYXNlIG1vbWVudHVtUGhhc2UsIGJvb2wgaGFzUHJlY2lzZVNj
cm9sbGluZ0RlbHRhcywgdWludDMyX3Qgc2Nyb2xsQ291bnQsIGNvbnN0IFdlYkNvcmU6OkZsb2F0
U2l6ZSYgdW5hY2NlbGVyYXRlZFNjcm9sbGluZ0RlbHRhLCBPcHRpb25TZXQ8TW9kaWZpZXI+IG1v
ZGlmaWVycywgV2FsbFRpbWUgdGltZXN0YW1wLCBXYWxsVGltZSBpb0hJREV2ZW50VGltZXN0YW1w
KQogICAgIDogV2ViRXZlbnQodHlwZSwgbW9kaWZpZXJzLCB0aW1lc3RhbXApCiAgICAgLCBtX3Bv
c2l0aW9uKHBvc2l0aW9uKQogICAgICwgbV9nbG9iYWxQb3NpdGlvbihnbG9iYWxQb3NpdGlvbikK
QEAgLTU1LDYgKzU1LDcgQEAgV2ViV2hlZWxFdmVudDo6V2ViV2hlZWxFdmVudChUeXBlIHR5cGUs
IGNvbnN0IEludFBvaW50JiBwb3NpdGlvbiwgY29uc3QgSW50UG9pbnQKICAgICAsIG1fbW9tZW50
dW1QaGFzZShtb21lbnR1bVBoYXNlKQogICAgICwgbV9kaXJlY3Rpb25JbnZlcnRlZEZyb21EZXZp
Y2UoZGlyZWN0aW9uSW52ZXJ0ZWRGcm9tRGV2aWNlKQogICAgICwgbV9oYXNQcmVjaXNlU2Nyb2xs
aW5nRGVsdGFzKGhhc1ByZWNpc2VTY3JvbGxpbmdEZWx0YXMpCisgICAgLCBtX2lvSElERXZlbnRU
aW1lc3RhbXAoaW9ISURFdmVudFRpbWVzdGFtcCkKICAgICAsIG1fc2Nyb2xsQ291bnQoc2Nyb2xs
Q291bnQpCiAgICAgLCBtX3VuYWNjZWxlcmF0ZWRTY3JvbGxpbmdEZWx0YSh1bmFjY2VsZXJhdGVk
U2Nyb2xsaW5nRGVsdGEpCiB7CkBAIC05Miw2ICs5Myw3IEBAIHZvaWQgV2ViV2hlZWxFdmVudDo6
ZW5jb2RlKElQQzo6RW5jb2RlciYgZW5jb2RlcikgY29uc3QKICAgICBlbmNvZGVyIDw8IG1faGFz
UHJlY2lzZVNjcm9sbGluZ0RlbHRhczsKICNlbmRpZgogI2lmIFBMQVRGT1JNKENPQ09BKQorICAg
IGVuY29kZXIgPDwgbV9pb0hJREV2ZW50VGltZXN0YW1wOwogICAgIGVuY29kZXIgPDwgbV9zY3Jv
bGxDb3VudDsKICAgICBlbmNvZGVyIDw8IG1fdW5hY2NlbGVyYXRlZFNjcm9sbGluZ0RlbHRhOwog
I2VuZGlmCkBAIC0xMjIsNiArMTI0LDggQEAgYm9vbCBXZWJXaGVlbEV2ZW50OjpkZWNvZGUoSVBD
OjpEZWNvZGVyJiBkZWNvZGVyLCBXZWJXaGVlbEV2ZW50JiB0KQogICAgICAgICByZXR1cm4gZmFs
c2U7CiAjZW5kaWYKICNpZiBQTEFURk9STShDT0NPQSkKKyAgICBpZiAoIWRlY29kZXIuZGVjb2Rl
KHQubV9pb0hJREV2ZW50VGltZXN0YW1wKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIGlm
ICghZGVjb2Rlci5kZWNvZGUodC5tX3Njcm9sbENvdW50KSkKICAgICAgICAgcmV0dXJuIGZhbHNl
OwogICAgIGlmICghZGVjb2Rlci5kZWNvZGUodC5tX3VuYWNjZWxlcmF0ZWRTY3JvbGxpbmdEZWx0
YSkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJXaGVlbEV2ZW50LmggYi9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJXaGVlbEV2ZW50LmgKaW5kZXggZTA5MWRiOGZiOTBjMzk5
NWQwNDdkNDkxNmU1NDgzMTc3MGNkYzU3MC4uOTlkY2I2YjA1MDRjNjg5YWViMDEwZjE3MmY1NDRi
OTEyM2UwYTFjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViV2hlZWxFdmVu
dC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYldoZWVsRXZlbnQuaApAQCAtNTMsNyAr
NTMsNyBAQCBwdWJsaWM6CiAKICAgICBXZWJXaGVlbEV2ZW50KFR5cGUsIGNvbnN0IFdlYkNvcmU6
OkludFBvaW50JiBwb3NpdGlvbiwgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIGdsb2JhbFBvc2l0
aW9uLCBjb25zdCBXZWJDb3JlOjpGbG9hdFNpemUmIGRlbHRhLCBjb25zdCBXZWJDb3JlOjpGbG9h
dFNpemUmIHdoZWVsVGlja3MsIEdyYW51bGFyaXR5LCBPcHRpb25TZXQ8TW9kaWZpZXI+LCBXYWxs
VGltZSB0aW1lc3RhbXApOwogI2lmIFBMQVRGT1JNKENPQ09BKQotICAgIFdlYldoZWVsRXZlbnQo
VHlwZSwgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIHBvc2l0aW9uLCBjb25zdCBXZWJDb3JlOjpJ
bnRQb2ludCYgZ2xvYmFsUG9zaXRpb24sIGNvbnN0IFdlYkNvcmU6OkZsb2F0U2l6ZSYgZGVsdGEs
IGNvbnN0IFdlYkNvcmU6OkZsb2F0U2l6ZSYgd2hlZWxUaWNrcywgR3JhbnVsYXJpdHksIGJvb2wg
ZGlyZWN0aW9uSW52ZXJ0ZWRGcm9tRGV2aWNlLCBQaGFzZSwgUGhhc2UgbW9tZW50dW1QaGFzZSwg
Ym9vbCBoYXNQcmVjaXNlU2Nyb2xsaW5nRGVsdGFzLCB1aW50MzJfdCBzY3JvbGxDb3VudCwgY29u
c3QgV2ViQ29yZTo6RmxvYXRTaXplJiB1bmFjY2VsZXJhdGVkU2Nyb2xsaW5nRGVsdGEsIE9wdGlv
blNldDxNb2RpZmllcj4sIFdhbGxUaW1lIHRpbWVzdGFtcCk7CisgICAgV2ViV2hlZWxFdmVudChU
eXBlLCBjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgcG9zaXRpb24sIGNvbnN0IFdlYkNvcmU6Oklu
dFBvaW50JiBnbG9iYWxQb3NpdGlvbiwgY29uc3QgV2ViQ29yZTo6RmxvYXRTaXplJiBkZWx0YSwg
Y29uc3QgV2ViQ29yZTo6RmxvYXRTaXplJiB3aGVlbFRpY2tzLCBHcmFudWxhcml0eSwgYm9vbCBk
aXJlY3Rpb25JbnZlcnRlZEZyb21EZXZpY2UsIFBoYXNlLCBQaGFzZSBtb21lbnR1bVBoYXNlLCBi
b29sIGhhc1ByZWNpc2VTY3JvbGxpbmdEZWx0YXMsIHVpbnQzMl90IHNjcm9sbENvdW50LCBjb25z
dCBXZWJDb3JlOjpGbG9hdFNpemUmIHVuYWNjZWxlcmF0ZWRTY3JvbGxpbmdEZWx0YSwgT3B0aW9u
U2V0PE1vZGlmaWVyPiwgV2FsbFRpbWUgdGltZXN0YW1wLCBXYWxsVGltZSBpb0hJREV2ZW50VGlt
ZXN0YW1wKTsKICNlbGlmIFBMQVRGT1JNKEdUSykgfHwgVVNFKExJQldQRSkKICAgICBXZWJXaGVl
bEV2ZW50KFR5cGUsIGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBwb3NpdGlvbiwgY29uc3QgV2Vi
Q29yZTo6SW50UG9pbnQmIGdsb2JhbFBvc2l0aW9uLCBjb25zdCBXZWJDb3JlOjpGbG9hdFNpemUm
IGRlbHRhLCBjb25zdCBXZWJDb3JlOjpGbG9hdFNpemUmIHdoZWVsVGlja3MsIFBoYXNlLCBQaGFz
ZSBtb21lbnR1bVBoYXNlLCBHcmFudWxhcml0eSwgYm9vbCBoYXNQcmVjaXNlU2Nyb2xsaW5nRGVs
dGFzLCBPcHRpb25TZXQ8TW9kaWZpZXI+LCBXYWxsVGltZSB0aW1lc3RhbXApOwogI2VuZGlmCkBA
IC03MCw2ICs3MCw3IEBAIHB1YmxpYzoKICAgICBib29sIGhhc1ByZWNpc2VTY3JvbGxpbmdEZWx0
YXMoKSBjb25zdCB7IHJldHVybiBtX2hhc1ByZWNpc2VTY3JvbGxpbmdEZWx0YXM7IH0KICNlbmRp
ZgogI2lmIFBMQVRGT1JNKENPQ09BKQorICAgIFdhbGxUaW1lIGlvSElERXZlbnRUaW1lc3RhbXAo
KSBjb25zdCB7IHJldHVybiBtX2lvSElERXZlbnRUaW1lc3RhbXA7IH0KICAgICB1aW50MzJfdCBz
Y3JvbGxDb3VudCgpIGNvbnN0IHsgcmV0dXJuIG1fc2Nyb2xsQ291bnQ7IH0KICAgICBjb25zdCBX
ZWJDb3JlOjpGbG9hdFNpemUmIHVuYWNjZWxlcmF0ZWRTY3JvbGxpbmdEZWx0YSgpIGNvbnN0IHsg
cmV0dXJuIG1fdW5hY2NlbGVyYXRlZFNjcm9sbGluZ0RlbHRhOyB9CiAjZW5kaWYKQEAgLTg3LDEx
ICs4OCwxMyBAQCBwcml2YXRlOgogICAgIHVpbnQzMl90IG1fZ3JhbnVsYXJpdHkgeyBTY3JvbGxC
eVBhZ2VXaGVlbEV2ZW50IH07CiAgICAgdWludDMyX3QgbV9waGFzZSB7IFBoYXNlOjpQaGFzZU5v
bmUgfTsKICAgICB1aW50MzJfdCBtX21vbWVudHVtUGhhc2UgeyBQaGFzZTo6UGhhc2VOb25lIH07
CisKICAgICBib29sIG1fZGlyZWN0aW9uSW52ZXJ0ZWRGcm9tRGV2aWNlIHsgZmFsc2UgfTsKICNp
ZiBQTEFURk9STShDT0NPQSkgfHwgUExBVEZPUk0oR1RLKSB8fCBVU0UoTElCV1BFKQogICAgIGJv
b2wgbV9oYXNQcmVjaXNlU2Nyb2xsaW5nRGVsdGFzIHsgZmFsc2UgfTsKICNlbmRpZgogI2lmIFBM
QVRGT1JNKENPQ09BKQorICAgIFdhbGxUaW1lIG1faW9ISURFdmVudFRpbWVzdGFtcDsKICAgICB1
aW50MzJfdCBtX3Njcm9sbENvdW50IHsgMCB9OwogICAgIFdlYkNvcmU6OkZsb2F0U2l6ZSBtX3Vu
YWNjZWxlcmF0ZWRTY3JvbGxpbmdEZWx0YTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9TaGFyZWQvV2ViV2hlZWxFdmVudENvYWxlc2Nlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9XZWJXaGVlbEV2ZW50Q29hbGVzY2VyLmNwcAppbmRleCBlZDYwY2JkYTA1ZjdlZDVmMWQy
ZDEyMjgzMTdkODQzOGE0YmQ5Yzk0Li5lNjc1NWZhMGVmM2Q2MDQ5ZmY5YzNhNDlkODI5MTE2MjQ2
MDUxMjhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJXaGVlbEV2ZW50Q29h
bGVzY2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJXaGVlbEV2ZW50Q29hbGVz
Y2VyLmNwcApAQCAtNzgsNyArNzgsNyBAQCBXZWJXaGVlbEV2ZW50IFdlYldoZWVsRXZlbnRDb2Fs
ZXNjZXI6OmNvYWxlc2NlKGNvbnN0IFdlYldoZWVsRXZlbnQmIGEsIGNvbnN0IFdlYgogI2lmIFBM
QVRGT1JNKENPQ09BKQogICAgIGF1dG8gbWVyZ2VkVW5hY2NlbGVyYXRlZFNjcm9sbGluZ0RlbHRh
ID0gYS51bmFjY2VsZXJhdGVkU2Nyb2xsaW5nRGVsdGEoKSArIGIudW5hY2NlbGVyYXRlZFNjcm9s
bGluZ0RlbHRhKCk7CiAKLSAgICByZXR1cm4gV2ViV2hlZWxFdmVudChXZWJFdmVudDo6V2hlZWws
IGIucG9zaXRpb24oKSwgYi5nbG9iYWxQb3NpdGlvbigpLCBtZXJnZWREZWx0YSwgbWVyZ2VkV2hl
ZWxUaWNrcywgYi5ncmFudWxhcml0eSgpLCBiLmRpcmVjdGlvbkludmVydGVkRnJvbURldmljZSgp
LCBiLnBoYXNlKCksIGIubW9tZW50dW1QaGFzZSgpLCBiLmhhc1ByZWNpc2VTY3JvbGxpbmdEZWx0
YXMoKSwgYi5zY3JvbGxDb3VudCgpLCBtZXJnZWRVbmFjY2VsZXJhdGVkU2Nyb2xsaW5nRGVsdGEs
IGIubW9kaWZpZXJzKCksIGIudGltZXN0YW1wKCkpOworICAgIHJldHVybiBXZWJXaGVlbEV2ZW50
KFdlYkV2ZW50OjpXaGVlbCwgYi5wb3NpdGlvbigpLCBiLmdsb2JhbFBvc2l0aW9uKCksIG1lcmdl
ZERlbHRhLCBtZXJnZWRXaGVlbFRpY2tzLCBiLmdyYW51bGFyaXR5KCksIGIuZGlyZWN0aW9uSW52
ZXJ0ZWRGcm9tRGV2aWNlKCksIGIucGhhc2UoKSwgYi5tb21lbnR1bVBoYXNlKCksIGIuaGFzUHJl
Y2lzZVNjcm9sbGluZ0RlbHRhcygpLCBiLnNjcm9sbENvdW50KCksIG1lcmdlZFVuYWNjZWxlcmF0
ZWRTY3JvbGxpbmdEZWx0YSwgYi5tb2RpZmllcnMoKSwgYi50aW1lc3RhbXAoKSwgYi5pb0hJREV2
ZW50VGltZXN0YW1wKCkpOwogI2VsaWYgUExBVEZPUk0oR1RLKSB8fCBVU0UoTElCV1BFKQogICAg
IHJldHVybiBXZWJXaGVlbEV2ZW50KFdlYkV2ZW50OjpXaGVlbCwgYi5wb3NpdGlvbigpLCBiLmds
b2JhbFBvc2l0aW9uKCksIG1lcmdlZERlbHRhLCBtZXJnZWRXaGVlbFRpY2tzLCBiLnBoYXNlKCks
IGIubW9tZW50dW1QaGFzZSgpLCBiLmdyYW51bGFyaXR5KCksIGIuaGFzUHJlY2lzZVNjcm9sbGlu
Z0RlbHRhcygpLCBiLm1vZGlmaWVycygpLCBiLnRpbWVzdGFtcCgpKTsKICNlbHNlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9pb3MvV2ViSU9TRXZlbnRGYWN0b3J5Lm1tIGIvU291
cmNlL1dlYktpdC9TaGFyZWQvaW9zL1dlYklPU0V2ZW50RmFjdG9yeS5tbQppbmRleCAyZTM5MzNi
Y2JlMzY3MmQyNzNiZmZjMzkxMTMzZGNlMTJjMjIyNDNlLi4yOTlhNGNjYjAwOGU3MzFlYmEwNzk3
YTZmYmRiZTc2NmMxZDAwNDU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9pb3Mv
V2ViSU9TRXZlbnRGYWN0b3J5Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL2lvcy9XZWJJ
T1NFdmVudEZhY3RvcnkubW0KQEAgLTE2MSw3ICsxNjEsNyBAQCBXZWJLaXQ6OldlYldoZWVsRXZl
bnQgV2ViSU9TRXZlbnRGYWN0b3J5OjpjcmVhdGVXZWJXaGVlbEV2ZW50KFVJU2Nyb2xsRXZlbnQg
KmV2ZQogICAgIFdlYkNvcmU6OkZsb2F0U2l6ZSBkZWx0YShkZWx0YVZlY3Rvci5keCwgZGVsdGFW
ZWN0b3IuZHkpOwogICAgIFdlYkNvcmU6OkZsb2F0U2l6ZSB3aGVlbFRpY2tzID0gZGVsdGE7CiAg
ICAgd2hlZWxUaWNrcy5zY2FsZSgxLiAvIHN0YXRpY19jYXN0PGZsb2F0PihXZWJDb3JlOjpTY3Jv
bGxiYXI6OnBpeGVsc1BlckxpbmVTdGVwKCkpKTsKLQorICAgIGF1dG8gdGltZXN0YW1wID0gTW9u
b3RvbmljVGltZTo6ZnJvbVJhd1NlY29uZHMoZXZlbnQudGltZXN0YW1wKS5hcHByb3hpbWF0ZVdh
bGxUaW1lKCk7CiAgICAgcmV0dXJuIHsKICAgICAgICAgV2ViS2l0OjpXZWJFdmVudDo6V2hlZWws
CiAgICAgICAgIHNjcm9sbExvY2F0aW9uLApAQCAtMTc2LDcgKzE3Niw4IEBAIFdlYktpdDo6V2Vi
V2hlZWxFdmVudCBXZWJJT1NFdmVudEZhY3Rvcnk6OmNyZWF0ZVdlYldoZWVsRXZlbnQoVUlTY3Jv
bGxFdmVudCAqZXZlCiAgICAgICAgIDEsCiAgICAgICAgIGRlbHRhLAogICAgICAgICB7IH0sCi0g
ICAgICAgIE1vbm90b25pY1RpbWU6OmZyb21SYXdTZWNvbmRzKGV2ZW50LnRpbWVzdGFtcCkuYXBw
cm94aW1hdGVXYWxsVGltZSgpCisgICAgICAgIHRpbWVzdGFtcCwKKyAgICAgICAgdGltZXN0YW1w
CiAgICAgfTsKIH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvbWFj
L05hdGl2ZVdlYkdlc3R1cmVFdmVudE1hYy5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL21hYy9O
YXRpdmVXZWJHZXN0dXJlRXZlbnRNYWMubW0KaW5kZXggYzFkMjFkODFiNDI0MjQyYjM0YmYzOGVm
YWFhZTZlNWNiY2RiYzFhNC4uNmUwZjJjZDYxZWY1ZTA4ZjY1MmYyNDQ2ZjBjNTFiMDkwNThkMGFm
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvbWFjL05hdGl2ZVdlYkdlc3R1cmVF
dmVudE1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMvTmF0aXZlV2ViR2VzdHVy
ZUV2ZW50TWFjLm1tCkBAIC02Miw3ICs2Miw3IEBAIE5hdGl2ZVdlYkdlc3R1cmVFdmVudDo6TmF0
aXZlV2ViR2VzdHVyZUV2ZW50KE5TRXZlbnQgKmV2ZW50LCBOU1ZpZXcgKnZpZXcpCiAgICAgOiBX
ZWJHZXN0dXJlRXZlbnQoCiAgICAgICAgIHdlYkV2ZW50VHlwZUZvck5TRXZlbnQoZXZlbnQpLAog
ICAgICAgICBPcHRpb25TZXQ8V2ViRXZlbnQ6Ok1vZGlmaWVyPiB7IH0sCi0gICAgICAgIFdlYkNv
cmU6OmV2ZW50VGltZVN0YW1wU2luY2UxOTcwKGV2ZW50KSwKKyAgICAgICAgV2ViQ29yZTo6ZXZl
bnRUaW1lU3RhbXBTaW5jZTE5NzAoZXZlbnQudGltZXN0YW1wKSwKICAgICAgICAgV2ViQ29yZTo6
SW50UG9pbnQocG9pbnRGb3JFdmVudChldmVudCwgdmlldykpLAogICAgICAgICBldmVudC50eXBl
ID09IE5TRXZlbnRUeXBlTWFnbmlmeSA/IGV2ZW50Lm1hZ25pZmljYXRpb24gOiAwLAogICAgICAg
ICBldmVudC50eXBlID09IE5TRXZlbnRUeXBlUm90YXRlID8gZXZlbnQucm90YXRpb24gOiAwKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvbWFjL1dlYkV2ZW50RmFjdG9yeS5tbSBi
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL21hYy9XZWJFdmVudEZhY3RvcnkubW0KaW5kZXggMzY5Y2Nk
ZTkyNmM4NGM5YjAwNGM3ODllOGQ3MGViZjQ0NzQ3ZjBjMi4uOGQ1MTQwYzg0ZGI5ZDM0ODFiN2Yw
MDJmMGY3NTBlZDAyYmZlNTkzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvbWFj
L1dlYkV2ZW50RmFjdG9yeS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMvV2ViRXZl
bnRGYWN0b3J5Lm1tCkBAIC0zMiw2ICszMiw3IEBACiAjaW1wb3J0IDxXZWJDb3JlL1BsYXRmb3Jt
RXZlbnRGYWN0b3J5TWFjLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1Njcm9sbGJhci5oPgogI2ltcG9y
dCA8V2ViQ29yZS9XaW5kb3dzS2V5Ym9hcmRDb2Rlcy5oPgorI2ltcG9ydCA8cGFsL3NwaS9jZy9D
b3JlR3JhcGhpY3NTUEkuaD4KICNpbXBvcnQgPHBhbC9zcGkvbWFjL05TTWVudVNQSS5oPgogI2lt
cG9ydCA8d3RmL0FTQ0lJQ1R5cGUuaD4KIApAQCAtMzUzLDcgKzM1NCw3IEBAIFdlYk1vdXNlRXZl
bnQgV2ViRXZlbnRGYWN0b3J5OjpjcmVhdGVXZWJNb3VzZUV2ZW50KE5TRXZlbnQgKmV2ZW50LCBO
U0V2ZW50ICpsYXN0CiAgICAgZmxvYXQgZGVsdGFaID0gW2V2ZW50IGRlbHRhWl07CiAgICAgaW50
IGNsaWNrQ291bnQgPSBjbGlja0NvdW50Rm9yRXZlbnQoZXZlbnQpOwogICAgIGF1dG8gbW9kaWZp
ZXJzID0gbW9kaWZpZXJzRm9yRXZlbnQoZXZlbnQpOwotICAgIGF1dG8gdGltZXN0YW1wID0gV2Vi
Q29yZTo6ZXZlbnRUaW1lU3RhbXBTaW5jZTE5NzAoZXZlbnQpOworICAgIGF1dG8gdGltZXN0YW1w
ID0gV2ViQ29yZTo6ZXZlbnRUaW1lU3RhbXBTaW5jZTE5NzAoZXZlbnQudGltZXN0YW1wKTsKICAg
ICBpbnQgZXZlbnROdW1iZXIgPSBbZXZlbnQgZXZlbnROdW1iZXJdOwogICAgIGludCBtZW51VHlw
ZUZvckV2ZW50ID0gdHlwZUZvckV2ZW50KGV2ZW50KTsKIApAQCAtNDA4LDkgKzQwOSwyNiBAQCBX
ZWJXaGVlbEV2ZW50IFdlYkV2ZW50RmFjdG9yeTo6Y3JlYXRlV2ViV2hlZWxFdmVudChOU0V2ZW50
ICpldmVudCwgTlNWaWV3ICp3aW5kbwogICAgIH0KIAogICAgIGF1dG8gbW9kaWZpZXJzID0gbW9k
aWZpZXJzRm9yRXZlbnQoZXZlbnQpOwotICAgIGF1dG8gdGltZXN0YW1wID0gV2ViQ29yZTo6ZXZl
bnRUaW1lU3RhbXBTaW5jZTE5NzAoZXZlbnQpOworICAgIGF1dG8gdGltZXN0YW1wID0gV2ViQ29y
ZTo6ZXZlbnRUaW1lU3RhbXBTaW5jZTE5NzAoZXZlbnQudGltZXN0YW1wKTsKIAotICAgIHJldHVy
biBXZWJXaGVlbEV2ZW50KFdlYkV2ZW50OjpXaGVlbCwgV2ViQ29yZTo6SW50UG9pbnQocG9zaXRp
b24pLCBXZWJDb3JlOjpJbnRQb2ludChnbG9iYWxQb3NpdGlvbiksIFdlYkNvcmU6OkZsb2F0U2l6
ZShkZWx0YVgsIGRlbHRhWSksIFdlYkNvcmU6OkZsb2F0U2l6ZSh3aGVlbFRpY2tzWCwgd2hlZWxU
aWNrc1kpLCBncmFudWxhcml0eSwgZGlyZWN0aW9uSW52ZXJ0ZWRGcm9tRGV2aWNlLCBwaGFzZSwg
bW9tZW50dW1QaGFzZSwgaGFzUHJlY2lzZVNjcm9sbGluZ0RlbHRhcywgc2Nyb2xsQ291bnQsIHVu
YWNjZWxlcmF0ZWRTY3JvbGxpbmdEZWx0YSwgbW9kaWZpZXJzLCB0aW1lc3RhbXApOworICAgIGF1
dG8gaW9ISURFdmVudFRpbWVzdGFtcCA9IFtdKE5TRXZlbnQgKmV2ZW50KSB7CisgICAgICAgIGF1
dG8gY2dFdmVudCA9IGV2ZW50LkNHRXZlbnQ7CisgICAgICAgIGlmICghY2dFdmVudCkKKyAgICAg
ICAgICAgIHJldHVybiBldmVudC50aW1lc3RhbXA7CisKKyAgICAgICAgYXV0byBpb2hpZEV2ZW50
ID0gYWRvcHRDRihDR0V2ZW50Q29weUlPSElERXZlbnQoY2dFdmVudCkpOworICAgICAgICBpZiAo
IWlvaGlkRXZlbnQpCisgICAgICAgICAgICByZXR1cm4gZXZlbnQudGltZXN0YW1wOworCisgICAg
ICAgIGF1dG8gaW9ISURFdmVudFRpbWVzdGFtcCA9IElPSElERXZlbnRHZXRUaW1lU3RhbXAoaW9o
aWRFdmVudC5nZXQoKSk7IC8vIElPRXZlbnRSZWYgdGltZXN0YW1wIGlzIG1hY2hfYWJzb2x1dGVf
dGltZSB1bml0cy4KKyAgICAgICAgcmV0dXJuIE1vbm90b25pY1RpbWU6OmZyb21NYWNoQWJzb2x1
dGVUaW1lKGlvSElERXZlbnRUaW1lc3RhbXApLnNlY29uZHNTaW5jZUVwb2NoKCkuc2Vjb25kcygp
OworICAgIH0oZXZlbnQpOworCisgICAgYXV0byBpb0hJREV2ZW50V2FsbFRpbWUgPSBXZWJDb3Jl
OjpldmVudFRpbWVTdGFtcFNpbmNlMTk3MChpb0hJREV2ZW50VGltZXN0YW1wKTsKKworICAgIHJl
dHVybiBXZWJXaGVlbEV2ZW50KFdlYkV2ZW50OjpXaGVlbCwgV2ViQ29yZTo6SW50UG9pbnQocG9z
aXRpb24pLCBXZWJDb3JlOjpJbnRQb2ludChnbG9iYWxQb3NpdGlvbiksIFdlYkNvcmU6OkZsb2F0
U2l6ZShkZWx0YVgsIGRlbHRhWSksIFdlYkNvcmU6OkZsb2F0U2l6ZSh3aGVlbFRpY2tzWCwgd2hl
ZWxUaWNrc1kpLAorICAgICAgICBncmFudWxhcml0eSwgZGlyZWN0aW9uSW52ZXJ0ZWRGcm9tRGV2
aWNlLCBwaGFzZSwgbW9tZW50dW1QaGFzZSwgaGFzUHJlY2lzZVNjcm9sbGluZ0RlbHRhcywKKyAg
ICAgICAgc2Nyb2xsQ291bnQsIHVuYWNjZWxlcmF0ZWRTY3JvbGxpbmdEZWx0YSwgbW9kaWZpZXJz
LCB0aW1lc3RhbXAsIGlvSElERXZlbnRXYWxsVGltZSk7CiB9CiAKIFdlYktleWJvYXJkRXZlbnQg
V2ViRXZlbnRGYWN0b3J5OjpjcmVhdGVXZWJLZXlib2FyZEV2ZW50KE5TRXZlbnQgKmV2ZW50LCBi
b29sIGhhbmRsZWRCeUlucHV0TWV0aG9kLCBib29sIHJlcGxhY2VzU29mdFNwYWNlLCBjb25zdCBW
ZWN0b3I8V2ViQ29yZTo6S2V5cHJlc3NDb21tYW5kPiYgY29tbWFuZHMpCkBAIC00MjgsNyArNDQ2
LDcgQEAgV2ViS2V5Ym9hcmRFdmVudCBXZWJFdmVudEZhY3Rvcnk6OmNyZWF0ZVdlYktleWJvYXJk
RXZlbnQoTlNFdmVudCAqZXZlbnQsIGJvb2wgaGEKICAgICBib29sIGlzS2V5cGFkICAgICAgICAg
ICAgICAgICAgID0gaXNLZXlwYWRFdmVudChldmVudCk7CiAgICAgYm9vbCBpc1N5c3RlbUtleSAg
ICAgICAgICAgICAgICA9IGZhbHNlOyAvLyBTeXN0ZW1LZXkgaXMgYWx3YXlzIGZhbHNlIG9uIHRo
ZSBNYWMuCiAgICAgYXV0byBtb2RpZmllcnMgPSBtb2RpZmllcnNGb3JFdmVudChldmVudCk7Ci0g
ICAgYXV0byB0aW1lc3RhbXAgICAgICAgICAgICAgICAgICA9IFdlYkNvcmU6OmV2ZW50VGltZVN0
YW1wU2luY2UxOTcwKGV2ZW50KTsKKyAgICBhdXRvIHRpbWVzdGFtcCAgICAgICAgICAgICAgICAg
ID0gV2ViQ29yZTo6ZXZlbnRUaW1lU3RhbXBTaW5jZTE5NzAoZXZlbnQudGltZXN0YW1wKTsKIAog
ICAgIC8vIEFsd2F5cyB1c2UgMTMgZm9yIEVudGVyL1JldHVybiAtLSB3ZSBkb24ndCB3YW50IHRv
IHVzZSBBcHBLaXQncyBkaWZmZXJlbnQgY2hhcmFjdGVyIGZvciBFbnRlci4KICAgICBpZiAod2lu
ZG93c1ZpcnR1YWxLZXlDb2RlID09IFZLX1JFVFVSTikgewo=
</data>
<flag name="commit-queue"
          id="469123"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>444169</attachid>
            <date>2021-11-13 23:23:05 -0800</date>
            <delta_ts>2021-11-14 10:38:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233051-20211113232304.patch</filename>
            <type>text/plain</type>
            <size>22521</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1Nzg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDM1YWUxOTJmZDMyODFm
N2VhYTJlYWFhMzIzNTJiNzQ4YjdmN2ExOS4uOGIzNWNiNThhNTIwMTBkZGI2YmUxYThiMWI2YWFi
MmNiOTVhZDdjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDIxLTExLTEzICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIEF0dGFjaCBJT0hJ
REV2ZW50IHRpbWVzdGFtcHMgdG8gd2hlZWwgZXZlbnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzMwNTEKKworICAgICAgICBSZXZpZXdlZCBieSBX
ZW5zb24gSHNpZWguCisKKyAgICAgICAgT24gc29tZSBtYWNPUyBkZXZpY2VzLCB0aGVyZSBjYW4g
YmUgc2lnbmlmaWNhbnQgZGVsdGFzIGJldHdlZW4gTlNFdmVudCB0aW1lc3RhbXBzLAorICAgICAg
ICBhbmQgdGhlIHRpbWVzdGFtcHMgb24gdW5kZXJseWluZyBJT0hJREV2ZW50cyAocmRhcjovLzg1
MzA5NjM5KS4gVGhpcyBtYWtlcyBtb21lbnR1bQorICAgICAgICB2ZWxvY2l0eSBjb21wdXRhdGlv
biB1bnByZWRpY3RhYmxlOyB3ZSBjYW4gZ2V0IGJldHRlciByZXN1bHRzIGJ5IHVzaW5nIElPSElE
RXZlbnQKKyAgICAgICAgdGltZXN0YW1wcy4KKworICAgICAgICAqIHBsYXRmb3JtL1BsYXRmb3Jt
V2hlZWxFdmVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybVdoZWVsRXZlbnQ6OmNy
ZWF0ZUZyb21HZXN0dXJlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9QbGF0Zm9ybVdoZWVsRXZlbnQu
aDoKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtV2hlZWxFdmVudDo6aW9ISURFdmVudFRpbWVz
dGFtcCBjb25zdCk6CisgICAgICAgICogcGxhdGZvcm0vbWFjL1BsYXRmb3JtRXZlbnRGYWN0b3J5
TWFjLmg6CisgICAgICAgICogcGxhdGZvcm0vbWFjL1BsYXRmb3JtRXZlbnRGYWN0b3J5TWFjLm1t
OgorICAgICAgICAoV2ViQ29yZTo6ZXZlbnRUaW1lU3RhbXBTaW5jZTE5NzApOgorICAgICAgICAo
V2ViQ29yZTo6UGxhdGZvcm1Nb3VzZUV2ZW50QnVpbGRlcjo6UGxhdGZvcm1Nb3VzZUV2ZW50QnVp
bGRlcik6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybVdoZWVsRXZlbnRCdWlsZGVyOjpQbGF0
Zm9ybVdoZWVsRXZlbnRCdWlsZGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtS2V5Ym9h
cmRFdmVudEJ1aWxkZXI6OlBsYXRmb3JtS2V5Ym9hcmRFdmVudEJ1aWxkZXIpOgorCiAyMDIxLTEx
LTEzICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgogCiAgICAgICAgIENs
ZWFuIHVwIElPS2l0IFNQSSBoZWFkZXJzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCA4ZWFkMGM5NjI4
NjQ1MGVmOTk5NzVhNzVlOTFhNjNjNzQ3N2FjNmE2Li4yYTM5NTU2NTk0NzhlNTExYjU2NWEyZjUx
OWIxNDk1MjFiNGU1Mzc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAy
MS0xMS0xMyAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKworICAgICAg
ICBBdHRhY2ggSU9ISURFdmVudCB0aW1lc3RhbXBzIHRvIHdoZWVsIGV2ZW50cworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzMDUxCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgV2Vuc29uIEhzaWVoLgorICAgICAgICAKKyAgICAgICAgRXhwb3NlIGEgZmV3
IGJpdHMgb2YgU1BJIG5lZWRlZC4KKworICAgICAgICAqIHBhbC9zcGkvY2cvQ29yZUdyYXBoaWNz
U1BJLmg6CisgICAgICAgICogcGFsL3NwaS9jb2NvYS9JT0tpdFNQSS5oOgorCiAyMDIxLTExLTEz
ICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgogCiAgICAgICAgIENsZWFu
IHVwIElPS2l0IFNQSSBoZWFkZXJzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDk0YWVhZDIxODg1ZmVlNzU0MjJlZTg4
NDIzYmY2N2RmODVlMTM2NWUuLjI1NzA2ZjBhOWVmYTRjOGU4YmM5YzA4NDg3MGI5NWJjNDEyMzlj
OTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzMgQEAKKzIwMjEtMTEtMTMgIFNpbW9uIEZyYXNlciAg
PHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgQXR0YWNoIElPSElERXZlbnQgdGlt
ZXN0YW1wcyB0byB3aGVlbCBldmVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIzMzA1MQorCisgICAgICAgIFJldmlld2VkIGJ5IFdlbnNvbiBIc2ll
aC4KKyAgICAgICAgCisgICAgICAgIE9uIHNvbWUgbWFjT1MgZGV2aWNlcywgdGhlcmUgY2FuIGJl
IHNpZ25pZmljYW50IGRlbHRhcyBiZXR3ZWVuIE5TRXZlbnQgdGltZXN0YW1wcywKKyAgICAgICAg
YW5kIHRoZSB0aW1lc3RhbXBzIG9uIHVuZGVybHlpbmcgSU9ISURFdmVudHMgKHJkYXI6Ly84NTMw
OTYzOSkuIFRoaXMgbWFrZXMgbW9tZW50dW0KKyAgICAgICAgdmVsb2NpdHkgY29tcHV0YXRpb24g
dW5wcmVkaWN0YWJsZTsgd2UgY2FuIGdldCBiZXR0ZXIgcmVzdWx0cyBieSB1c2luZyBJT0hJREV2
ZW50CisgICAgICAgIHRpbWVzdGFtcHMuCisKKyAgICAgICAgKiBTaGFyZWQvV2ViRXZlbnRDb252
ZXJzaW9uLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViS2l0MlBsYXRmb3JtV2hlZWxFdmVudDo6
V2ViS2l0MlBsYXRmb3JtV2hlZWxFdmVudCk6CisgICAgICAgICogU2hhcmVkL1dlYldoZWVsRXZl
bnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJXaGVlbEV2ZW50OjpXZWJXaGVlbEV2ZW50KToK
KyAgICAgICAgKFdlYktpdDo6V2ViV2hlZWxFdmVudDo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAg
KFdlYktpdDo6V2ViV2hlZWxFdmVudDo6ZGVjb2RlKToKKyAgICAgICAgKiBTaGFyZWQvV2ViV2hl
ZWxFdmVudC5oOgorICAgICAgICAoV2ViS2l0OjpXZWJXaGVlbEV2ZW50Ojppb0hJREV2ZW50VGlt
ZXN0YW1wIGNvbnN0KToKKyAgICAgICAgKiBTaGFyZWQvV2ViV2hlZWxFdmVudENvYWxlc2Nlci5j
cHA6CisgICAgICAgIChXZWJLaXQ6OldlYldoZWVsRXZlbnRDb2FsZXNjZXI6OmNvYWxlc2NlKToK
KyAgICAgICAgKiBTaGFyZWQvaW9zL1dlYklPU0V2ZW50RmFjdG9yeS5tbToKKyAgICAgICAgKFdl
YklPU0V2ZW50RmFjdG9yeTo6Y3JlYXRlV2ViV2hlZWxFdmVudCk6CisgICAgICAgICogU2hhcmVk
L21hYy9OYXRpdmVXZWJHZXN0dXJlRXZlbnRNYWMubW06CisgICAgICAgICogU2hhcmVkL21hYy9X
ZWJFdmVudEZhY3RvcnkubW06CisgICAgICAgIChXZWJLaXQ6OldlYkV2ZW50RmFjdG9yeTo6Y3Jl
YXRlV2ViTW91c2VFdmVudCk6CisgICAgICAgIChXZWJLaXQ6OldlYkV2ZW50RmFjdG9yeTo6Y3Jl
YXRlV2ViV2hlZWxFdmVudCk6CisgICAgICAgIChXZWJLaXQ6OldlYkV2ZW50RmFjdG9yeTo6Y3Jl
YXRlV2ViS2V5Ym9hcmRFdmVudCk6CisKIDIwMjEtMTEtMTMgIFBlciBBcm5lIFZvbGxhbiA8cHZv
bGxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW21hY09TXVtHUFVQXSBSZW1vdmUgbG9nZ2luZyBv
ZiB1c2VkIHN5c2NhbGxzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9j
Zy9Db3JlR3JhcGhpY3NTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NnL0NvcmVH
cmFwaGljc1NQSS5oCmluZGV4IDZjNTYyMTA4YzA3OGUwYTIxOTFmM2U0MDU4MTU0MTM3ZDhmMmQ5
MmUuLmM1M2RjMTljYzUwZjlkNzg1Nzg5ZjBiZmMyYmNhMTI5ZjE0MmUxMzcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NnL0NvcmVHcmFwaGljc1NQSS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NnL0NvcmVHcmFwaGljc1NQSS5oCkBAIC0zMiw2ICsz
MiwxMCBAQAogI2luY2x1ZGUgPHBhbC9zcGkvY29jb2EvSU9TdXJmYWNlU1BJLmg+CiAjZW5kaWYK
IAorI2lmIFBMQVRGT1JNKE1BQykKKyNpbmNsdWRlIDxwYWwvc3BpL2NvY29hL0lPS2l0U1BJLmg+
CisjZW5kaWYKKwogI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCiAKICNpbmNsdWRlIDxDb3Jl
R3JhcGhpY3MvQ0dDb250ZXh0RGVsZWdhdGVQcml2YXRlLmg+CkBAIC00Miw2ICs0Niw3IEBACiAK
ICNpZiBQTEFURk9STShNQUMpCiAjaW5jbHVkZSA8Q29yZUdyYXBoaWNzL0NHQWNjZXNzaWJpbGl0
eS5oPgorI2luY2x1ZGUgPENvcmVHcmFwaGljcy9DR0V2ZW50UHJpdmF0ZS5oPgogI2VuZGlmCiAK
ICNlbHNlCkBAIC0zNTEsNiArMzU2LDcgQEAgQ0dFcnJvciBDR1NTZXREZW55V2luZG93U2VydmVy
Q29ubmVjdGlvbnMoYm9vbCk7CiB0eXBlZGVmIGludDMyX3QgQ0dTRGlzcGxheUlEOwogQ0dTRGlz
cGxheUlEIENHU01haW5EaXNwbGF5SUQodm9pZCk7CiAKK0lPSElERXZlbnRSZWYgQ0dFdmVudENv
cHlJT0hJREV2ZW50KENHRXZlbnRSZWYpOwogI2VuZGlmIC8vIFBMQVRGT1JNKE1BQykKIAogI2lm
IEVOQUJMRShQREZLSVRfUExVR0lOKSAmJiAhVVNFKEFQUExFX0lOVEVSTkFMX1NESykKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL21hYy9JT0tpdFNQSU1hYy5oIGIvU291
cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvbWFjL0lPS2l0U1BJTWFjLmgKaW5kZXggOWNhYzkyMjRi
ZjdjYjQzZWI2YmVhMGY3NjAwMGIwOWY3ZDNlZDA1Yy4uNWZjNjMxMTQ5NDdjNzJlODI4NWE2ZThk
MDVhMzAxMDEzZTEwZjczMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkv
bWFjL0lPS2l0U1BJTWFjLmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvbWFjL0lP
S2l0U1BJTWFjLmgKQEAgLTQzLDYgKzQzLDggQEAKICNkZWZpbmUga0lPSElEUHJvZHVjdElES2V5
ICJQcm9kdWN0SUQiCiAKIFdURl9FWFRFUk5fQ19CRUdJTgorCit0eXBlZGVmIHN0cnVjdCBfX0lP
SElERXZlbnQgKiBJT0hJREV2ZW50UmVmOwogdHlwZWRlZiBzdHJ1Y3QgQ0ZfQlJJREdFRF9UWVBF
KGlkKSBfX0lPSElEU2VydmljZUNsaWVudCAqIElPSElEU2VydmljZUNsaWVudFJlZjsKIHR5cGVk
ZWYgc3RydWN0IENGX0JSSURHRURfVFlQRShpZCkgX19JT0hJREV2ZW50U3lzdGVtQ2xpZW50ICog
SU9ISURFdmVudFN5c3RlbUNsaWVudFJlZjsKIHR5cGVkZWYgdm9pZCAoXklPSElEU2VydmljZUNs
aWVudEJsb2NrKSh2b2lkICosIHZvaWQgKiwgSU9ISURTZXJ2aWNlQ2xpZW50UmVmKTsKQEAgLTgx
LDYgKzgzLDggQEAgZW51bSB7CiB9OwogdHlwZWRlZiB1aW50MzJfdCBJT0hJREV2ZW50VHlwZTsK
IAordWludDY0X3QgSU9ISURFdmVudEdldFRpbWVTdGFtcChJT0hJREV2ZW50UmVmKTsKKwogV1RG
X0VYVEVSTl9DX0VORAogCiAjZW5kaWYgLy8gVVNFKEFQUExFX0lOVEVSTkFMX1NESykKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtV2hlZWxFdmVudC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVdoZWVsRXZlbnQuY3BwCmluZGV4IGJkN2Vl
YzE4MjMwNmNlMTE3YTNhNzY5ZmE5OWM2ZTY0NDJjZDE0NzguLmMxZDA0M2E3MjE0OGViYWY3NWE4
ZjA5YmFmYjZiZTRmMjBmMzgzN2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1BsYXRmb3JtV2hlZWxFdmVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxh
dGZvcm1XaGVlbEV2ZW50LmNwcApAQCAtNzUsNiArNzUsNyBAQCBQbGF0Zm9ybVdoZWVsRXZlbnQg
UGxhdGZvcm1XaGVlbEV2ZW50OjpjcmVhdGVGcm9tR2VzdHVyZShjb25zdCBQbGF0Zm9ybUdlc3R1
cmVFdgogI2VuZGlmIC8vIEVOQUJMRShLSU5FVElDX1NDUk9MTElORykKIAogI2lmIFBMQVRGT1JN
KENPQ09BKQorICAgIHBsYXRmb3JtV2hlZWxFdmVudC5tX2lvSElERXZlbnRUaW1lc3RhbXAgPSBw
bGF0Zm9ybVdoZWVsRXZlbnQubV90aW1lc3RhbXA7CiAgICAgcGxhdGZvcm1XaGVlbEV2ZW50Lm1f
dW5hY2NlbGVyYXRlZFNjcm9sbGluZ0RlbHRhWSA9IGRlbHRhWTsKICNlbmRpZiAvLyBQTEFURk9S
TShDT0NPQSkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1X
aGVlbEV2ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVdoZWVsRXZlbnQu
aAppbmRleCAyYTExZmQ0YTkyOGYzNzE3YTkxZjA1NjdhY2MzMmI3NzQ1YTU4ZTg0Li4zMmNlNzMz
NTViYjRmOTk1ZTc4MzRmMDA0NjUxMTEzYzVmZTE2ODQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVdoZWVsRXZlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9QbGF0Zm9ybVdoZWVsRXZlbnQuaApAQCAtMTUxLDYgKzE1MSw4IEBAIHB1YmxpYzoK
ICNpZiBQTEFURk9STShDT0NPQSkKICAgICB1bnNpZ25lZCBzY3JvbGxDb3VudCgpIGNvbnN0IHsg
cmV0dXJuIG1fc2Nyb2xsQ291bnQ7IH0KICAgICBGbG9hdFNpemUgdW5hY2NlbGVyYXRlZFNjcm9s
bGluZ0RlbHRhKCkgY29uc3QgeyByZXR1cm4geyBtX3VuYWNjZWxlcmF0ZWRTY3JvbGxpbmdEZWx0
YVgsIG1fdW5hY2NlbGVyYXRlZFNjcm9sbGluZ0RlbHRhWSB9OyB9CisgICAgCisgICAgV2FsbFRp
bWUgaW9ISURFdmVudFRpbWVzdGFtcCgpIGNvbnN0IHsgcmV0dXJuIG1faW9ISURFdmVudFRpbWVz
dGFtcDsgfQogI2VuZGlmCiAKICNpZiBFTkFCTEUoQVNZTkNfU0NST0xMSU5HKQpAQCAtMTk5LDYg
KzIwMSw3IEBAIHByb3RlY3RlZDoKICAgICBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZSBtX21vbWVu
dHVtUGhhc2UgeyBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZTo6Tm9uZSB9OwogI2VuZGlmCiAjaWYg
UExBVEZPUk0oQ09DT0EpCisgICAgV2FsbFRpbWUgbV9pb0hJREV2ZW50VGltZXN0YW1wOwogICAg
IHVuc2lnbmVkIG1fc2Nyb2xsQ291bnQgeyAwIH07CiAgICAgZmxvYXQgbV91bmFjY2VsZXJhdGVk
U2Nyb2xsaW5nRGVsdGFYIHsgMCB9OwogICAgIGZsb2F0IG1fdW5hY2NlbGVyYXRlZFNjcm9sbGlu
Z0RlbHRhWSB7IDAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9Q
bGF0Zm9ybUV2ZW50RmFjdG9yeU1hYy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Bs
YXRmb3JtRXZlbnRGYWN0b3J5TWFjLmgKaW5kZXggMmYxOGY5NTkzOTI4ZmU5M2ZlMDczNWMyNDVj
YTY3ZWQ2ODg1OTk4MS4uNmJmMjQzODQ0ZDAxMjNlYWI5NGViYzExZjgzZTQ4MDhjM2NmN2YxOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1BsYXRmb3JtRXZlbnRGYWN0
b3J5TWFjLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1BsYXRmb3JtRXZlbnRG
YWN0b3J5TWFjLmgKQEAgLTUwLDcgKzUwLDcgQEAgV0VCQ09SRV9FWFBPUlQgaW50IHdpbmRvd3NL
ZXlDb2RlRm9yS2V5RXZlbnQoTlNFdmVudCAqKTsKIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBrZXlJ
ZGVudGlmaWVyRm9yS2V5RXZlbnQoTlNFdmVudCAqKTsKIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBr
ZXlGb3JLZXlFdmVudChOU0V2ZW50ICopOwogV0VCQ09SRV9FWFBPUlQgU3RyaW5nIGNvZGVGb3JL
ZXlFdmVudChOU0V2ZW50ICopOwotV0VCQ09SRV9FWFBPUlQgV2FsbFRpbWUgZXZlbnRUaW1lU3Rh
bXBTaW5jZTE5NzAoTlNFdmVudCAqKTsKK1dFQkNPUkVfRVhQT1JUIFdhbGxUaW1lIGV2ZW50VGlt
ZVN0YW1wU2luY2UxOTcwKE5TVGltZUludGVydmFsKTsKIAogV0VCQ09SRV9FWFBPUlQgT3B0aW9u
U2V0PFBsYXRmb3JtRXZlbnQ6Ok1vZGlmaWVyPiBtb2RpZmllcnNGb3JFdmVudChOU0V2ZW50ICop
OwogV0VCQ09SRV9FWFBPUlQgdm9pZCBnZXRXaGVlbEV2ZW50RGVsdGFzKE5TRXZlbnQgKiwgZmxv
YXQmIGRlbHRhWCwgZmxvYXQmIGRlbHRhWSwgQk9PTCYgY29udGludW91cyk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUGxhdGZvcm1FdmVudEZhY3RvcnlNYWMubW0g
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUGxhdGZvcm1FdmVudEZhY3RvcnlNYWMubW0K
aW5kZXggNGM3ODcyNjVmMmM4Y2Q1NzBjMjZmZmQ1ZWQwMGNkMjAyZWJhMzRkMC4uMzVmYzZhZjU5
YjZhZmNiNGY5NTU0YzBmMmE4NGEzMzQyODM5NmU1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWFjL1BsYXRmb3JtRXZlbnRGYWN0b3J5TWFjLm1tCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21hYy9QbGF0Zm9ybUV2ZW50RmFjdG9yeU1hYy5tbQpAQCAtNjA3LDkg
KzYwNyw5IEBAIHN0YXRpYyBDRlRpbWVJbnRlcnZhbCBjYWNoZWRTdGFydHVwVGltZUludGVydmFs
U2luY2UxOTcwKCkKICAgICByZXR1cm4gc3lzdGVtU3RhcnR1cFRpbWU7CiB9CiAKLVdhbGxUaW1l
IGV2ZW50VGltZVN0YW1wU2luY2UxOTcwKE5TRXZlbnQqIGV2ZW50KQorV2FsbFRpbWUgZXZlbnRU
aW1lU3RhbXBTaW5jZTE5NzAoTlNUaW1lSW50ZXJ2YWwgdGltZXN0YW1wKQogewotICAgIHJldHVy
biBXYWxsVGltZTo6ZnJvbVJhd1NlY29uZHMoc3RhdGljX2Nhc3Q8ZG91YmxlPihjYWNoZWRTdGFy
dHVwVGltZUludGVydmFsU2luY2UxOTcwKCkgKyBbZXZlbnQgdGltZXN0YW1wXSkpOworICAgIHJl
dHVybiBXYWxsVGltZTo6ZnJvbVJhd1NlY29uZHMoc3RhdGljX2Nhc3Q8ZG91YmxlPihjYWNoZWRT
dGFydHVwVGltZUludGVydmFsU2luY2UxOTcwKCkgKyB0aW1lc3RhbXApKTsKIH0KIAogc3RhdGlj
IGlubGluZSBib29sIGlzS2V5VXBFdmVudChOU0V2ZW50ICpldmVudCkKQEAgLTcyMCw3ICs3MjAs
NyBAQCBwdWJsaWM6CiAgICAgICAgIH0KIAogICAgICAgICBtX21vZGlmaWVycyA9IG1vZGlmaWVy
c0ZvckV2ZW50KGV2ZW50KTsKLSAgICAgICAgbV90aW1lc3RhbXAgPSBldmVudFRpbWVTdGFtcFNp
bmNlMTk3MChldmVudCk7CisgICAgICAgIG1fdGltZXN0YW1wID0gZXZlbnRUaW1lU3RhbXBTaW5j
ZTE5NzAoZXZlbnQudGltZXN0YW1wKTsKIAogICAgICAgICAvLyBQbGF0Zm9ybU1vdXNlRXZlbnQK
ICAgICAgICAgbV9wb3NpdGlvbiA9IHBvaW50Rm9yRXZlbnQoZXZlbnQsIHdpbmRvd1ZpZXcpOwpA
QCAtNzU1LDcgKzc1NSw3IEBAIHB1YmxpYzoKICAgICAgICAgLy8gUGxhdGZvcm1FdmVudAogICAg
ICAgICBtX3R5cGUgPSBQbGF0Zm9ybUV2ZW50OjpXaGVlbDsKICAgICAgICAgbV9tb2RpZmllcnMg
PSBtb2RpZmllcnNGb3JFdmVudChldmVudCk7Ci0gICAgICAgIG1fdGltZXN0YW1wID0gZXZlbnRU
aW1lU3RhbXBTaW5jZTE5NzAoZXZlbnQpOworICAgICAgICBtX3RpbWVzdGFtcCA9IGV2ZW50VGlt
ZVN0YW1wU2luY2UxOTcwKGV2ZW50LnRpbWVzdGFtcCk7CiAKICAgICAgICAgLy8gUGxhdGZvcm1X
aGVlbEV2ZW50CiAgICAgICAgIG1fcG9zaXRpb24gPSBwb2ludEZvckV2ZW50KGV2ZW50LCB3aW5k
b3dWaWV3KTsKQEAgLTc5NCw3ICs3OTQsNyBAQCBwdWJsaWM6CiAgICAgICAgIC8vIFBsYXRmb3Jt
RXZlbnQKICAgICAgICAgbV90eXBlID0gaXNLZXlVcEV2ZW50KGV2ZW50KSA/IFBsYXRmb3JtRXZl
bnQ6OktleVVwIDogUGxhdGZvcm1FdmVudDo6S2V5RG93bjsKICAgICAgICAgbV9tb2RpZmllcnMg
PSBtb2RpZmllcnNGb3JFdmVudChldmVudCk7Ci0gICAgICAgIG1fdGltZXN0YW1wID0gZXZlbnRU
aW1lU3RhbXBTaW5jZTE5NzAoZXZlbnQpOworICAgICAgICBtX3RpbWVzdGFtcCA9IGV2ZW50VGlt
ZVN0YW1wU2luY2UxOTcwKGV2ZW50LnRpbWVzdGFtcCk7CiAKICAgICAgICAgLy8gUGxhdGZvcm1L
ZXlib2FyZEV2ZW50CiAgICAgICAgIG1fdGV4dCA9IHRleHRGcm9tRXZlbnQoZXZlbnQpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViRXZlbnRDb252ZXJzaW9uLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL1dlYkV2ZW50Q29udmVyc2lvbi5jcHAKaW5kZXggZjllOWNiNjNk
Y2VmN2Y2MjYyMjQwMDVjNTYzMjBjMzUyMWEyZTg5NS4uZDY5MjhiYjM0Y2UxOTc4OTRlZTZmYTBl
NjdhYTY1MzNjMWYzNmQxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViRXZl
bnRDb252ZXJzaW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJFdmVudENvbnZl
cnNpb24uY3BwCkBAIC0xNjksNiArMTY5LDcgQEAgcHVibGljOgogICAgICAgICBtX2hhc1ByZWNp
c2VTY3JvbGxpbmdEZWx0YXMgPSB3ZWJFdmVudC5oYXNQcmVjaXNlU2Nyb2xsaW5nRGVsdGFzKCk7
CiAjZW5kaWYKICNpZiBQTEFURk9STShDT0NPQSkKKyAgICAgICAgbV9pb0hJREV2ZW50VGltZXN0
YW1wID0gd2ViRXZlbnQuaW9ISURFdmVudFRpbWVzdGFtcCgpOwogICAgICAgICBtX3Njcm9sbENv
dW50ID0gd2ViRXZlbnQuc2Nyb2xsQ291bnQoKTsKICAgICAgICAgbV91bmFjY2VsZXJhdGVkU2Ny
b2xsaW5nRGVsdGFYID0gd2ViRXZlbnQudW5hY2NlbGVyYXRlZFNjcm9sbGluZ0RlbHRhKCkud2lk
dGgoKTsKICAgICAgICAgbV91bmFjY2VsZXJhdGVkU2Nyb2xsaW5nRGVsdGFZID0gd2ViRXZlbnQu
dW5hY2NlbGVyYXRlZFNjcm9sbGluZ0RlbHRhKCkuaGVpZ2h0KCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9XZWJXaGVlbEV2ZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L1dlYldoZWVsRXZlbnQuY3BwCmluZGV4IGMwM2ZlMjNlYmQ3ZWFjNjM4NTFlYzBhZTlhM2JkZmJk
MTY5Zjg5YWIuLmE2YjIzZGFjN2EzMWYzNGZiYjk2MjlhMzE1NjYzOTFkMTIxMDlmZWQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYldoZWVsRXZlbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL1dlYldoZWVsRXZlbnQuY3BwCkBAIC00NCw3ICs0NCw3IEBAIFdlYldo
ZWVsRXZlbnQ6OldlYldoZWVsRXZlbnQoVHlwZSB0eXBlLCBjb25zdCBJbnRQb2ludCYgcG9zaXRp
b24sIGNvbnN0IEludFBvaW50CiB9CiAKICNpZiBQTEFURk9STShDT0NPQSkKLVdlYldoZWVsRXZl
bnQ6OldlYldoZWVsRXZlbnQoVHlwZSB0eXBlLCBjb25zdCBJbnRQb2ludCYgcG9zaXRpb24sIGNv
bnN0IEludFBvaW50JiBnbG9iYWxQb3NpdGlvbiwgY29uc3QgRmxvYXRTaXplJiBkZWx0YSwgY29u
c3QgRmxvYXRTaXplJiB3aGVlbFRpY2tzLCBHcmFudWxhcml0eSBncmFudWxhcml0eSwgYm9vbCBk
aXJlY3Rpb25JbnZlcnRlZEZyb21EZXZpY2UsIFBoYXNlIHBoYXNlLCBQaGFzZSBtb21lbnR1bVBo
YXNlLCBib29sIGhhc1ByZWNpc2VTY3JvbGxpbmdEZWx0YXMsIHVpbnQzMl90IHNjcm9sbENvdW50
LCBjb25zdCBXZWJDb3JlOjpGbG9hdFNpemUmIHVuYWNjZWxlcmF0ZWRTY3JvbGxpbmdEZWx0YSwg
T3B0aW9uU2V0PE1vZGlmaWVyPiBtb2RpZmllcnMsIFdhbGxUaW1lIHRpbWVzdGFtcCkKK1dlYldo
ZWVsRXZlbnQ6OldlYldoZWVsRXZlbnQoVHlwZSB0eXBlLCBjb25zdCBJbnRQb2ludCYgcG9zaXRp
b24sIGNvbnN0IEludFBvaW50JiBnbG9iYWxQb3NpdGlvbiwgY29uc3QgRmxvYXRTaXplJiBkZWx0
YSwgY29uc3QgRmxvYXRTaXplJiB3aGVlbFRpY2tzLCBHcmFudWxhcml0eSBncmFudWxhcml0eSwg
Ym9vbCBkaXJlY3Rpb25JbnZlcnRlZEZyb21EZXZpY2UsIFBoYXNlIHBoYXNlLCBQaGFzZSBtb21l
bnR1bVBoYXNlLCBib29sIGhhc1ByZWNpc2VTY3JvbGxpbmdEZWx0YXMsIHVpbnQzMl90IHNjcm9s
bENvdW50LCBjb25zdCBXZWJDb3JlOjpGbG9hdFNpemUmIHVuYWNjZWxlcmF0ZWRTY3JvbGxpbmdE
ZWx0YSwgT3B0aW9uU2V0PE1vZGlmaWVyPiBtb2RpZmllcnMsIFdhbGxUaW1lIHRpbWVzdGFtcCwg
V2FsbFRpbWUgaW9ISURFdmVudFRpbWVzdGFtcCkKICAgICA6IFdlYkV2ZW50KHR5cGUsIG1vZGlm
aWVycywgdGltZXN0YW1wKQogICAgICwgbV9wb3NpdGlvbihwb3NpdGlvbikKICAgICAsIG1fZ2xv
YmFsUG9zaXRpb24oZ2xvYmFsUG9zaXRpb24pCkBAIC01NSw2ICs1NSw3IEBAIFdlYldoZWVsRXZl
bnQ6OldlYldoZWVsRXZlbnQoVHlwZSB0eXBlLCBjb25zdCBJbnRQb2ludCYgcG9zaXRpb24sIGNv
bnN0IEludFBvaW50CiAgICAgLCBtX21vbWVudHVtUGhhc2UobW9tZW50dW1QaGFzZSkKICAgICAs
IG1fZGlyZWN0aW9uSW52ZXJ0ZWRGcm9tRGV2aWNlKGRpcmVjdGlvbkludmVydGVkRnJvbURldmlj
ZSkKICAgICAsIG1faGFzUHJlY2lzZVNjcm9sbGluZ0RlbHRhcyhoYXNQcmVjaXNlU2Nyb2xsaW5n
RGVsdGFzKQorICAgICwgbV9pb0hJREV2ZW50VGltZXN0YW1wKGlvSElERXZlbnRUaW1lc3RhbXAp
CiAgICAgLCBtX3Njcm9sbENvdW50KHNjcm9sbENvdW50KQogICAgICwgbV91bmFjY2VsZXJhdGVk
U2Nyb2xsaW5nRGVsdGEodW5hY2NlbGVyYXRlZFNjcm9sbGluZ0RlbHRhKQogewpAQCAtOTIsNiAr
OTMsNyBAQCB2b2lkIFdlYldoZWVsRXZlbnQ6OmVuY29kZShJUEM6OkVuY29kZXImIGVuY29kZXIp
IGNvbnN0CiAgICAgZW5jb2RlciA8PCBtX2hhc1ByZWNpc2VTY3JvbGxpbmdEZWx0YXM7CiAjZW5k
aWYKICNpZiBQTEFURk9STShDT0NPQSkKKyAgICBlbmNvZGVyIDw8IG1faW9ISURFdmVudFRpbWVz
dGFtcDsKICAgICBlbmNvZGVyIDw8IG1fc2Nyb2xsQ291bnQ7CiAgICAgZW5jb2RlciA8PCBtX3Vu
YWNjZWxlcmF0ZWRTY3JvbGxpbmdEZWx0YTsKICNlbmRpZgpAQCAtMTIyLDYgKzEyNCw4IEBAIGJv
b2wgV2ViV2hlZWxFdmVudDo6ZGVjb2RlKElQQzo6RGVjb2RlciYgZGVjb2RlciwgV2ViV2hlZWxF
dmVudCYgdCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogI2VuZGlmCiAjaWYgUExBVEZPUk0oQ09D
T0EpCisgICAgaWYgKCFkZWNvZGVyLmRlY29kZSh0Lm1faW9ISURFdmVudFRpbWVzdGFtcCkpCisg
ICAgICAgIHJldHVybiBmYWxzZTsKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHQubV9zY3JvbGxD
b3VudCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHQu
bV91bmFjY2VsZXJhdGVkU2Nyb2xsaW5nRGVsdGEpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9TaGFyZWQvV2ViV2hlZWxFdmVudC5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViV2hlZWxF
dmVudC5oCmluZGV4IGUwOTFkYjhmYjkwYzM5OTVkMDQ3ZDQ5MTZlNTQ4MzE3NzBjZGM1NzAuLjk5
ZGNiNmIwNTA0YzY4OWFlYjAxMGYxNzJmNTQ0YjkxMjNlMGExY2IgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL1dlYldoZWVsRXZlbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9XZWJXaGVlbEV2ZW50LmgKQEAgLTUzLDcgKzUzLDcgQEAgcHVibGljOgogCiAgICAgV2ViV2hl
ZWxFdmVudChUeXBlLCBjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgcG9zaXRpb24sIGNvbnN0IFdl
YkNvcmU6OkludFBvaW50JiBnbG9iYWxQb3NpdGlvbiwgY29uc3QgV2ViQ29yZTo6RmxvYXRTaXpl
JiBkZWx0YSwgY29uc3QgV2ViQ29yZTo6RmxvYXRTaXplJiB3aGVlbFRpY2tzLCBHcmFudWxhcml0
eSwgT3B0aW9uU2V0PE1vZGlmaWVyPiwgV2FsbFRpbWUgdGltZXN0YW1wKTsKICNpZiBQTEFURk9S
TShDT0NPQSkKLSAgICBXZWJXaGVlbEV2ZW50KFR5cGUsIGNvbnN0IFdlYkNvcmU6OkludFBvaW50
JiBwb3NpdGlvbiwgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIGdsb2JhbFBvc2l0aW9uLCBjb25z
dCBXZWJDb3JlOjpGbG9hdFNpemUmIGRlbHRhLCBjb25zdCBXZWJDb3JlOjpGbG9hdFNpemUmIHdo
ZWVsVGlja3MsIEdyYW51bGFyaXR5LCBib29sIGRpcmVjdGlvbkludmVydGVkRnJvbURldmljZSwg
UGhhc2UsIFBoYXNlIG1vbWVudHVtUGhhc2UsIGJvb2wgaGFzUHJlY2lzZVNjcm9sbGluZ0RlbHRh
cywgdWludDMyX3Qgc2Nyb2xsQ291bnQsIGNvbnN0IFdlYkNvcmU6OkZsb2F0U2l6ZSYgdW5hY2Nl
bGVyYXRlZFNjcm9sbGluZ0RlbHRhLCBPcHRpb25TZXQ8TW9kaWZpZXI+LCBXYWxsVGltZSB0aW1l
c3RhbXApOworICAgIFdlYldoZWVsRXZlbnQoVHlwZSwgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQm
IHBvc2l0aW9uLCBjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgZ2xvYmFsUG9zaXRpb24sIGNvbnN0
IFdlYkNvcmU6OkZsb2F0U2l6ZSYgZGVsdGEsIGNvbnN0IFdlYkNvcmU6OkZsb2F0U2l6ZSYgd2hl
ZWxUaWNrcywgR3JhbnVsYXJpdHksIGJvb2wgZGlyZWN0aW9uSW52ZXJ0ZWRGcm9tRGV2aWNlLCBQ
aGFzZSwgUGhhc2UgbW9tZW50dW1QaGFzZSwgYm9vbCBoYXNQcmVjaXNlU2Nyb2xsaW5nRGVsdGFz
LCB1aW50MzJfdCBzY3JvbGxDb3VudCwgY29uc3QgV2ViQ29yZTo6RmxvYXRTaXplJiB1bmFjY2Vs
ZXJhdGVkU2Nyb2xsaW5nRGVsdGEsIE9wdGlvblNldDxNb2RpZmllcj4sIFdhbGxUaW1lIHRpbWVz
dGFtcCwgV2FsbFRpbWUgaW9ISURFdmVudFRpbWVzdGFtcCk7CiAjZWxpZiBQTEFURk9STShHVEsp
IHx8IFVTRShMSUJXUEUpCiAgICAgV2ViV2hlZWxFdmVudChUeXBlLCBjb25zdCBXZWJDb3JlOjpJ
bnRQb2ludCYgcG9zaXRpb24sIGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBnbG9iYWxQb3NpdGlv
biwgY29uc3QgV2ViQ29yZTo6RmxvYXRTaXplJiBkZWx0YSwgY29uc3QgV2ViQ29yZTo6RmxvYXRT
aXplJiB3aGVlbFRpY2tzLCBQaGFzZSwgUGhhc2UgbW9tZW50dW1QaGFzZSwgR3JhbnVsYXJpdHks
IGJvb2wgaGFzUHJlY2lzZVNjcm9sbGluZ0RlbHRhcywgT3B0aW9uU2V0PE1vZGlmaWVyPiwgV2Fs
bFRpbWUgdGltZXN0YW1wKTsKICNlbmRpZgpAQCAtNzAsNiArNzAsNyBAQCBwdWJsaWM6CiAgICAg
Ym9vbCBoYXNQcmVjaXNlU2Nyb2xsaW5nRGVsdGFzKCkgY29uc3QgeyByZXR1cm4gbV9oYXNQcmVj
aXNlU2Nyb2xsaW5nRGVsdGFzOyB9CiAjZW5kaWYKICNpZiBQTEFURk9STShDT0NPQSkKKyAgICBX
YWxsVGltZSBpb0hJREV2ZW50VGltZXN0YW1wKCkgY29uc3QgeyByZXR1cm4gbV9pb0hJREV2ZW50
VGltZXN0YW1wOyB9CiAgICAgdWludDMyX3Qgc2Nyb2xsQ291bnQoKSBjb25zdCB7IHJldHVybiBt
X3Njcm9sbENvdW50OyB9CiAgICAgY29uc3QgV2ViQ29yZTo6RmxvYXRTaXplJiB1bmFjY2VsZXJh
dGVkU2Nyb2xsaW5nRGVsdGEoKSBjb25zdCB7IHJldHVybiBtX3VuYWNjZWxlcmF0ZWRTY3JvbGxp
bmdEZWx0YTsgfQogI2VuZGlmCkBAIC04NywxMSArODgsMTMgQEAgcHJpdmF0ZToKICAgICB1aW50
MzJfdCBtX2dyYW51bGFyaXR5IHsgU2Nyb2xsQnlQYWdlV2hlZWxFdmVudCB9OwogICAgIHVpbnQz
Ml90IG1fcGhhc2UgeyBQaGFzZTo6UGhhc2VOb25lIH07CiAgICAgdWludDMyX3QgbV9tb21lbnR1
bVBoYXNlIHsgUGhhc2U6OlBoYXNlTm9uZSB9OworCiAgICAgYm9vbCBtX2RpcmVjdGlvbkludmVy
dGVkRnJvbURldmljZSB7IGZhbHNlIH07CiAjaWYgUExBVEZPUk0oQ09DT0EpIHx8IFBMQVRGT1JN
KEdUSykgfHwgVVNFKExJQldQRSkKICAgICBib29sIG1faGFzUHJlY2lzZVNjcm9sbGluZ0RlbHRh
cyB7IGZhbHNlIH07CiAjZW5kaWYKICNpZiBQTEFURk9STShDT0NPQSkKKyAgICBXYWxsVGltZSBt
X2lvSElERXZlbnRUaW1lc3RhbXA7CiAgICAgdWludDMyX3QgbV9zY3JvbGxDb3VudCB7IDAgfTsK
ICAgICBXZWJDb3JlOjpGbG9hdFNpemUgbV91bmFjY2VsZXJhdGVkU2Nyb2xsaW5nRGVsdGE7CiAj
ZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYldoZWVsRXZlbnRDb2Fs
ZXNjZXIuY3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViV2hlZWxFdmVudENvYWxlc2Nlci5j
cHAKaW5kZXggZWQ2MGNiZGEwNWY3ZWQ1ZjFkMmQxMjI4MzE3ZDg0MzhhNGJkOWM5NC4uZTY3NTVm
YTBlZjNkNjA0OWZmOWMzYTQ5ZDgyOTExNjI0NjA1MTI4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9TaGFyZWQvV2ViV2hlZWxFdmVudENvYWxlc2Nlci5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9TaGFyZWQvV2ViV2hlZWxFdmVudENvYWxlc2Nlci5jcHAKQEAgLTc4LDcgKzc4LDcgQEAgV2Vi
V2hlZWxFdmVudCBXZWJXaGVlbEV2ZW50Q29hbGVzY2VyOjpjb2FsZXNjZShjb25zdCBXZWJXaGVl
bEV2ZW50JiBhLCBjb25zdCBXZWIKICNpZiBQTEFURk9STShDT0NPQSkKICAgICBhdXRvIG1lcmdl
ZFVuYWNjZWxlcmF0ZWRTY3JvbGxpbmdEZWx0YSA9IGEudW5hY2NlbGVyYXRlZFNjcm9sbGluZ0Rl
bHRhKCkgKyBiLnVuYWNjZWxlcmF0ZWRTY3JvbGxpbmdEZWx0YSgpOwogCi0gICAgcmV0dXJuIFdl
YldoZWVsRXZlbnQoV2ViRXZlbnQ6OldoZWVsLCBiLnBvc2l0aW9uKCksIGIuZ2xvYmFsUG9zaXRp
b24oKSwgbWVyZ2VkRGVsdGEsIG1lcmdlZFdoZWVsVGlja3MsIGIuZ3JhbnVsYXJpdHkoKSwgYi5k
aXJlY3Rpb25JbnZlcnRlZEZyb21EZXZpY2UoKSwgYi5waGFzZSgpLCBiLm1vbWVudHVtUGhhc2Uo
KSwgYi5oYXNQcmVjaXNlU2Nyb2xsaW5nRGVsdGFzKCksIGIuc2Nyb2xsQ291bnQoKSwgbWVyZ2Vk
VW5hY2NlbGVyYXRlZFNjcm9sbGluZ0RlbHRhLCBiLm1vZGlmaWVycygpLCBiLnRpbWVzdGFtcCgp
KTsKKyAgICByZXR1cm4gV2ViV2hlZWxFdmVudChXZWJFdmVudDo6V2hlZWwsIGIucG9zaXRpb24o
KSwgYi5nbG9iYWxQb3NpdGlvbigpLCBtZXJnZWREZWx0YSwgbWVyZ2VkV2hlZWxUaWNrcywgYi5n
cmFudWxhcml0eSgpLCBiLmRpcmVjdGlvbkludmVydGVkRnJvbURldmljZSgpLCBiLnBoYXNlKCks
IGIubW9tZW50dW1QaGFzZSgpLCBiLmhhc1ByZWNpc2VTY3JvbGxpbmdEZWx0YXMoKSwgYi5zY3Jv
bGxDb3VudCgpLCBtZXJnZWRVbmFjY2VsZXJhdGVkU2Nyb2xsaW5nRGVsdGEsIGIubW9kaWZpZXJz
KCksIGIudGltZXN0YW1wKCksIGIuaW9ISURFdmVudFRpbWVzdGFtcCgpKTsKICNlbGlmIFBMQVRG
T1JNKEdUSykgfHwgVVNFKExJQldQRSkKICAgICByZXR1cm4gV2ViV2hlZWxFdmVudChXZWJFdmVu
dDo6V2hlZWwsIGIucG9zaXRpb24oKSwgYi5nbG9iYWxQb3NpdGlvbigpLCBtZXJnZWREZWx0YSwg
bWVyZ2VkV2hlZWxUaWNrcywgYi5waGFzZSgpLCBiLm1vbWVudHVtUGhhc2UoKSwgYi5ncmFudWxh
cml0eSgpLCBiLmhhc1ByZWNpc2VTY3JvbGxpbmdEZWx0YXMoKSwgYi5tb2RpZmllcnMoKSwgYi50
aW1lc3RhbXAoKSk7CiAjZWxzZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvaW9z
L1dlYklPU0V2ZW50RmFjdG9yeS5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL2lvcy9XZWJJT1NF
dmVudEZhY3RvcnkubW0KaW5kZXggMmUzOTMzYmNiZTM2NzJkMjczYmZmYzM5MTEzM2RjZTEyYzIy
MjQzZS4uMjk5YTRjY2IwMDhlNzMxZWJhMDc5N2E2ZmJkYmU3NjZjMWQwMDQ1NiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9TaGFyZWQvaW9zL1dlYklPU0V2ZW50RmFjdG9yeS5tbQorKysgYi9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9pb3MvV2ViSU9TRXZlbnRGYWN0b3J5Lm1tCkBAIC0xNjEsNyAr
MTYxLDcgQEAgV2ViS2l0OjpXZWJXaGVlbEV2ZW50IFdlYklPU0V2ZW50RmFjdG9yeTo6Y3JlYXRl
V2ViV2hlZWxFdmVudChVSVNjcm9sbEV2ZW50ICpldmUKICAgICBXZWJDb3JlOjpGbG9hdFNpemUg
ZGVsdGEoZGVsdGFWZWN0b3IuZHgsIGRlbHRhVmVjdG9yLmR5KTsKICAgICBXZWJDb3JlOjpGbG9h
dFNpemUgd2hlZWxUaWNrcyA9IGRlbHRhOwogICAgIHdoZWVsVGlja3Muc2NhbGUoMS4gLyBzdGF0
aWNfY2FzdDxmbG9hdD4oV2ViQ29yZTo6U2Nyb2xsYmFyOjpwaXhlbHNQZXJMaW5lU3RlcCgpKSk7
Ci0KKyAgICBhdXRvIHRpbWVzdGFtcCA9IE1vbm90b25pY1RpbWU6OmZyb21SYXdTZWNvbmRzKGV2
ZW50LnRpbWVzdGFtcCkuYXBwcm94aW1hdGVXYWxsVGltZSgpOwogICAgIHJldHVybiB7CiAgICAg
ICAgIFdlYktpdDo6V2ViRXZlbnQ6OldoZWVsLAogICAgICAgICBzY3JvbGxMb2NhdGlvbiwKQEAg
LTE3Niw3ICsxNzYsOCBAQCBXZWJLaXQ6OldlYldoZWVsRXZlbnQgV2ViSU9TRXZlbnRGYWN0b3J5
OjpjcmVhdGVXZWJXaGVlbEV2ZW50KFVJU2Nyb2xsRXZlbnQgKmV2ZQogICAgICAgICAxLAogICAg
ICAgICBkZWx0YSwKICAgICAgICAgeyB9LAotICAgICAgICBNb25vdG9uaWNUaW1lOjpmcm9tUmF3
U2Vjb25kcyhldmVudC50aW1lc3RhbXApLmFwcHJveGltYXRlV2FsbFRpbWUoKQorICAgICAgICB0
aW1lc3RhbXAsCisgICAgICAgIHRpbWVzdGFtcAogICAgIH07CiB9CiAjZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL21hYy9OYXRpdmVXZWJHZXN0dXJlRXZlbnRNYWMubW0g
Yi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMvTmF0aXZlV2ViR2VzdHVyZUV2ZW50TWFjLm1tCmlu
ZGV4IGMxZDIxZDgxYjQyNDI0MmIzNGJmMzhlZmFhYWU2ZTVjYmNkYmMxYTQuLjZlMGYyY2Q2MWVm
NWUwOGY2NTJmMjQ0NmYwYzUxYjA5MDU4ZDBhZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL21hYy9OYXRpdmVXZWJHZXN0dXJlRXZlbnRNYWMubW0KKysrIGIvU291cmNlL1dlYktp
dC9TaGFyZWQvbWFjL05hdGl2ZVdlYkdlc3R1cmVFdmVudE1hYy5tbQpAQCAtNjIsNyArNjIsNyBA
QCBOYXRpdmVXZWJHZXN0dXJlRXZlbnQ6Ok5hdGl2ZVdlYkdlc3R1cmVFdmVudChOU0V2ZW50ICpl
dmVudCwgTlNWaWV3ICp2aWV3KQogICAgIDogV2ViR2VzdHVyZUV2ZW50KAogICAgICAgICB3ZWJF
dmVudFR5cGVGb3JOU0V2ZW50KGV2ZW50KSwKICAgICAgICAgT3B0aW9uU2V0PFdlYkV2ZW50OjpN
b2RpZmllcj4geyB9LAotICAgICAgICBXZWJDb3JlOjpldmVudFRpbWVTdGFtcFNpbmNlMTk3MChl
dmVudCksCisgICAgICAgIFdlYkNvcmU6OmV2ZW50VGltZVN0YW1wU2luY2UxOTcwKGV2ZW50LnRp
bWVzdGFtcCksCiAgICAgICAgIFdlYkNvcmU6OkludFBvaW50KHBvaW50Rm9yRXZlbnQoZXZlbnQs
IHZpZXcpKSwKICAgICAgICAgZXZlbnQudHlwZSA9PSBOU0V2ZW50VHlwZU1hZ25pZnkgPyBldmVu
dC5tYWduaWZpY2F0aW9uIDogMCwKICAgICAgICAgZXZlbnQudHlwZSA9PSBOU0V2ZW50VHlwZVJv
dGF0ZSA/IGV2ZW50LnJvdGF0aW9uIDogMCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL21hYy9XZWJFdmVudEZhY3RvcnkubW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMvV2Vi
RXZlbnRGYWN0b3J5Lm1tCmluZGV4IDM2OWNjZGU5MjZjODRjOWIwMDRjNzg5ZThkNzBlYmY0NDc0
N2YwYzIuLjhkNTE0MGM4NGRiOWQzNDgxYjdmMDAyZjBmNzUwZWQwMmJmZTU5M2YgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL21hYy9XZWJFdmVudEZhY3RvcnkubW0KKysrIGIvU291
cmNlL1dlYktpdC9TaGFyZWQvbWFjL1dlYkV2ZW50RmFjdG9yeS5tbQpAQCAtMzIsNiArMzIsNyBA
QAogI2ltcG9ydCA8V2ViQ29yZS9QbGF0Zm9ybUV2ZW50RmFjdG9yeU1hYy5oPgogI2ltcG9ydCA8
V2ViQ29yZS9TY3JvbGxiYXIuaD4KICNpbXBvcnQgPFdlYkNvcmUvV2luZG93c0tleWJvYXJkQ29k
ZXMuaD4KKyNpbXBvcnQgPHBhbC9zcGkvY2cvQ29yZUdyYXBoaWNzU1BJLmg+CiAjaW1wb3J0IDxw
YWwvc3BpL21hYy9OU01lbnVTUEkuaD4KICNpbXBvcnQgPHd0Zi9BU0NJSUNUeXBlLmg+CiAKQEAg
LTM1Myw3ICszNTQsNyBAQCBXZWJNb3VzZUV2ZW50IFdlYkV2ZW50RmFjdG9yeTo6Y3JlYXRlV2Vi
TW91c2VFdmVudChOU0V2ZW50ICpldmVudCwgTlNFdmVudCAqbGFzdAogICAgIGZsb2F0IGRlbHRh
WiA9IFtldmVudCBkZWx0YVpdOwogICAgIGludCBjbGlja0NvdW50ID0gY2xpY2tDb3VudEZvckV2
ZW50KGV2ZW50KTsKICAgICBhdXRvIG1vZGlmaWVycyA9IG1vZGlmaWVyc0ZvckV2ZW50KGV2ZW50
KTsKLSAgICBhdXRvIHRpbWVzdGFtcCA9IFdlYkNvcmU6OmV2ZW50VGltZVN0YW1wU2luY2UxOTcw
KGV2ZW50KTsKKyAgICBhdXRvIHRpbWVzdGFtcCA9IFdlYkNvcmU6OmV2ZW50VGltZVN0YW1wU2lu
Y2UxOTcwKGV2ZW50LnRpbWVzdGFtcCk7CiAgICAgaW50IGV2ZW50TnVtYmVyID0gW2V2ZW50IGV2
ZW50TnVtYmVyXTsKICAgICBpbnQgbWVudVR5cGVGb3JFdmVudCA9IHR5cGVGb3JFdmVudChldmVu
dCk7CiAKQEAgLTQwOCw5ICs0MDksMjYgQEAgV2ViV2hlZWxFdmVudCBXZWJFdmVudEZhY3Rvcnk6
OmNyZWF0ZVdlYldoZWVsRXZlbnQoTlNFdmVudCAqZXZlbnQsIE5TVmlldyAqd2luZG8KICAgICB9
CiAKICAgICBhdXRvIG1vZGlmaWVycyA9IG1vZGlmaWVyc0ZvckV2ZW50KGV2ZW50KTsKLSAgICBh
dXRvIHRpbWVzdGFtcCA9IFdlYkNvcmU6OmV2ZW50VGltZVN0YW1wU2luY2UxOTcwKGV2ZW50KTsK
KyAgICBhdXRvIHRpbWVzdGFtcCA9IFdlYkNvcmU6OmV2ZW50VGltZVN0YW1wU2luY2UxOTcwKGV2
ZW50LnRpbWVzdGFtcCk7CiAKLSAgICByZXR1cm4gV2ViV2hlZWxFdmVudChXZWJFdmVudDo6V2hl
ZWwsIFdlYkNvcmU6OkludFBvaW50KHBvc2l0aW9uKSwgV2ViQ29yZTo6SW50UG9pbnQoZ2xvYmFs
UG9zaXRpb24pLCBXZWJDb3JlOjpGbG9hdFNpemUoZGVsdGFYLCBkZWx0YVkpLCBXZWJDb3JlOjpG
bG9hdFNpemUod2hlZWxUaWNrc1gsIHdoZWVsVGlja3NZKSwgZ3JhbnVsYXJpdHksIGRpcmVjdGlv
bkludmVydGVkRnJvbURldmljZSwgcGhhc2UsIG1vbWVudHVtUGhhc2UsIGhhc1ByZWNpc2VTY3Jv
bGxpbmdEZWx0YXMsIHNjcm9sbENvdW50LCB1bmFjY2VsZXJhdGVkU2Nyb2xsaW5nRGVsdGEsIG1v
ZGlmaWVycywgdGltZXN0YW1wKTsKKyAgICBhdXRvIGlvSElERXZlbnRUaW1lc3RhbXAgPSBbXShO
U0V2ZW50ICpldmVudCkgeworICAgICAgICBhdXRvIGNnRXZlbnQgPSBldmVudC5DR0V2ZW50Owor
ICAgICAgICBpZiAoIWNnRXZlbnQpCisgICAgICAgICAgICByZXR1cm4gZXZlbnQudGltZXN0YW1w
OworCisgICAgICAgIGF1dG8gaW9oaWRFdmVudCA9IGFkb3B0Q0YoQ0dFdmVudENvcHlJT0hJREV2
ZW50KGNnRXZlbnQpKTsKKyAgICAgICAgaWYgKCFpb2hpZEV2ZW50KQorICAgICAgICAgICAgcmV0
dXJuIGV2ZW50LnRpbWVzdGFtcDsKKworICAgICAgICBhdXRvIGlvSElERXZlbnRUaW1lc3RhbXAg
PSBJT0hJREV2ZW50R2V0VGltZVN0YW1wKGlvaGlkRXZlbnQuZ2V0KCkpOyAvLyBJT0V2ZW50UmVm
IHRpbWVzdGFtcCBpcyBtYWNoX2Fic29sdXRlX3RpbWUgdW5pdHMuCisgICAgICAgIHJldHVybiBN
b25vdG9uaWNUaW1lOjpmcm9tTWFjaEFic29sdXRlVGltZShpb0hJREV2ZW50VGltZXN0YW1wKS5z
ZWNvbmRzU2luY2VFcG9jaCgpLnNlY29uZHMoKTsKKyAgICB9KGV2ZW50KTsKKworICAgIGF1dG8g
aW9ISURFdmVudFdhbGxUaW1lID0gV2ViQ29yZTo6ZXZlbnRUaW1lU3RhbXBTaW5jZTE5NzAoaW9I
SURFdmVudFRpbWVzdGFtcCk7CisKKyAgICByZXR1cm4gV2ViV2hlZWxFdmVudChXZWJFdmVudDo6
V2hlZWwsIFdlYkNvcmU6OkludFBvaW50KHBvc2l0aW9uKSwgV2ViQ29yZTo6SW50UG9pbnQoZ2xv
YmFsUG9zaXRpb24pLCBXZWJDb3JlOjpGbG9hdFNpemUoZGVsdGFYLCBkZWx0YVkpLCBXZWJDb3Jl
OjpGbG9hdFNpemUod2hlZWxUaWNrc1gsIHdoZWVsVGlja3NZKSwKKyAgICAgICAgZ3JhbnVsYXJp
dHksIGRpcmVjdGlvbkludmVydGVkRnJvbURldmljZSwgcGhhc2UsIG1vbWVudHVtUGhhc2UsIGhh
c1ByZWNpc2VTY3JvbGxpbmdEZWx0YXMsCisgICAgICAgIHNjcm9sbENvdW50LCB1bmFjY2VsZXJh
dGVkU2Nyb2xsaW5nRGVsdGEsIG1vZGlmaWVycywgdGltZXN0YW1wLCBpb0hJREV2ZW50V2FsbFRp
bWUpOwogfQogCiBXZWJLZXlib2FyZEV2ZW50IFdlYkV2ZW50RmFjdG9yeTo6Y3JlYXRlV2ViS2V5
Ym9hcmRFdmVudChOU0V2ZW50ICpldmVudCwgYm9vbCBoYW5kbGVkQnlJbnB1dE1ldGhvZCwgYm9v
bCByZXBsYWNlc1NvZnRTcGFjZSwgY29uc3QgVmVjdG9yPFdlYkNvcmU6OktleXByZXNzQ29tbWFu
ZD4mIGNvbW1hbmRzKQpAQCAtNDI4LDcgKzQ0Niw3IEBAIFdlYktleWJvYXJkRXZlbnQgV2ViRXZl
bnRGYWN0b3J5OjpjcmVhdGVXZWJLZXlib2FyZEV2ZW50KE5TRXZlbnQgKmV2ZW50LCBib29sIGhh
CiAgICAgYm9vbCBpc0tleXBhZCAgICAgICAgICAgICAgICAgICA9IGlzS2V5cGFkRXZlbnQoZXZl
bnQpOwogICAgIGJvb2wgaXNTeXN0ZW1LZXkgICAgICAgICAgICAgICAgPSBmYWxzZTsgLy8gU3lz
dGVtS2V5IGlzIGFsd2F5cyBmYWxzZSBvbiB0aGUgTWFjLgogICAgIGF1dG8gbW9kaWZpZXJzID0g
bW9kaWZpZXJzRm9yRXZlbnQoZXZlbnQpOwotICAgIGF1dG8gdGltZXN0YW1wICAgICAgICAgICAg
ICAgICAgPSBXZWJDb3JlOjpldmVudFRpbWVTdGFtcFNpbmNlMTk3MChldmVudCk7CisgICAgYXV0
byB0aW1lc3RhbXAgICAgICAgICAgICAgICAgICA9IFdlYkNvcmU6OmV2ZW50VGltZVN0YW1wU2lu
Y2UxOTcwKGV2ZW50LnRpbWVzdGFtcCk7CiAKICAgICAvLyBBbHdheXMgdXNlIDEzIGZvciBFbnRl
ci9SZXR1cm4gLS0gd2UgZG9uJ3Qgd2FudCB0byB1c2UgQXBwS2l0J3MgZGlmZmVyZW50IGNoYXJh
Y3RlciBmb3IgRW50ZXIuCiAgICAgaWYgKHdpbmRvd3NWaXJ0dWFsS2V5Q29kZSA9PSBWS19SRVRV
Uk4pIHsK
</data>

          </attachment>
      

    </bug>

</bugzilla>