<?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>222991</bug_id>
          
          <creation_ts>2021-03-09 14:23:14 -0800</creation_ts>
          <short_desc>Add plumbing for `defaultPlaybackRate` to AVKit</short_desc>
          <delta_ts>2021-03-22 10:23:53 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Media</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <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>
          
          <blocked>223584</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Devin Rousso">hi</reporter>
          <assigned_to name="Devin Rousso">hi</assigned_to>
          <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>hi</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1737757</commentid>
    <comment_count>0</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-03-09 14:23:14 -0800</bug_when>
    <thetext>Since `defaultPlaybackRate` is &quot;used by the user agent when it exposes a user interface to the user&quot;, we should propagate this value to AVKit for fullscreen iOS video playback.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1737758</commentid>
    <comment_count>1</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-03-09 14:23:27 -0800</bug_when>
    <thetext>&lt;rdar://problem/75012417&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1737770</commentid>
    <comment_count>2</comment_count>
      <attachid>422762</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-03-09 14:40:39 -0800</bug_when>
    <thetext>Created attachment 422762
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1738298</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-03-10 16:05:17 -0800</bug_when>
    <thetext>Committed r274249: &lt;https://commits.webkit.org/r274249&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 422762.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>422762</attachid>
            <date>2021-03-09 14:40:39 -0800</date>
            <delta_ts>2021-03-10 16:05:18 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-222991-20210309154038.patch</filename>
            <type>text/plain</type>
            <size>42196</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA0MzBlMmMxZDQyYzBlNzdjNzk0MWVjMmQwMTQ2ZGU0MDIxNTEzNzg5Li4w
MjRhYzk1NWFkYzkyNDUzMThiYmMxYzBiZWM4NzZiZDVlMzdmNzRlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsNDQgQEAKKzIwMjEtMDMtMDkgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29t
PgorCisgICAgICAgIEFkZCBwbHVtYmluZyBmb3IgYGRlZmF1bHRQbGF5YmFja1JhdGVgIHRvIEFW
S2l0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjI5
OTEKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc1MDEyNDE3PgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGxhdGZvcm0vY29jb2EvUGxheWJhY2tT
ZXNzaW9uTW9kZWwuaDoKKyAgICAgICAgKFdlYkNvcmU6OlBsYXliYWNrU2Vzc2lvbk1vZGVsQ2xp
ZW50OjpyYXRlQ2hhbmdlZCk6CisgICAgICAgICogcGxhdGZvcm0vY29jb2EvUGxheWJhY2tTZXNz
aW9uTW9kZWxNZWRpYUVsZW1lbnQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9jb2NvYS9QbGF5YmFj
a1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVudC5tbToKKyAgICAgICAgKFdlYkNvcmU6OlBsYXliYWNr
U2Vzc2lvbk1vZGVsTWVkaWFFbGVtZW50Ojp1cGRhdGVGb3JFdmVudE5hbWUpOgorICAgICAgICAo
V2ViQ29yZTo6UGxheWJhY2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQ6OnNldERlZmF1bHRQbGF5
YmFja1JhdGUpOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlBsYXliYWNrU2Vzc2lvbk1vZGVs
TWVkaWFFbGVtZW50OjpkZWZhdWx0UGxheWJhY2tSYXRlIGNvbnN0KTogQWRkZWQuCisgICAgICAg
IChXZWJDb3JlOjpQbGF5YmFja1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVudDo6cGxheWJhY2tSYXRl
IGNvbnN0KToKKworICAgICAgICAqIHBsYXRmb3JtL2lvcy9QbGF5YmFja1Nlc3Npb25JbnRlcmZh
Y2VBVktpdC5oOgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9QbGF5YmFja1Nlc3Npb25JbnRlcmZh
Y2VBVktpdC5tbToKKyAgICAgICAgKFdlYkNvcmU6OlBsYXliYWNrU2Vzc2lvbkludGVyZmFjZUFW
S2l0OjpQbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VBVktpdCk6CisgICAgICAgIChXZWJDb3JlOjpQ
bGF5YmFja1Nlc3Npb25JbnRlcmZhY2VBVktpdDo6cmF0ZUNoYW5nZWQpOgorICAgICAgICAqIHBs
YXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyQVZLaXQubW06CisgICAgICAg
IChWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyQ29udGV4dDo6cmF0ZUNoYW5nZWQpOgorICAgICAg
ICAoVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlckNvbnRleHQ6OnNldERlZmF1bHRQbGF5YmFja1Jh
dGUpOiBBZGRlZC4KKyAgICAgICAgKFZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXJDb250ZXh0Ojpk
ZWZhdWx0UGxheWJhY2tSYXRlIGNvbnN0KTogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vaW9z
L1dlYkFWUGxheWVyQ29udHJvbGxlci5oOgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9XZWJBVlBs
YXllckNvbnRyb2xsZXIubW06CisgICAgICAgICgtW1dlYkFWUGxheWVyQ29udHJvbGxlciBpbml0
XSk6CisgICAgICAgICgtW1dlYkFWUGxheWVyQ29udHJvbGxlciBkZWFsbG9jXSk6CisgICAgICAg
ICgtW1dlYkFWUGxheWVyQ29udHJvbGxlciBvYnNlcnZlVmFsdWVGb3JLZXlQYXRoOm9mT2JqZWN0
OmNoYW5nZTpjb250ZXh0Ol0pOgorCisgICAgICAgICogcGxhdGZvcm0vbWFjL1BsYXliYWNrU2Vz
c2lvbkludGVyZmFjZU1hYy5oOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9QbGF5YmFja1Nlc3Np
b25JbnRlcmZhY2VNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpQbGF5YmFja1Nlc3Npb25JbnRl
cmZhY2VNYWM6OnJhdGVDaGFuZ2VkKToKKyAgICAgICAgKFdlYkNvcmU6OlBsYXliYWNrU2Vzc2lv
bkludGVyZmFjZU1hYzo6c2V0UGxheUJhY2tDb250cm9sc01hbmFnZXIpOgorICAgICAgICAqIHBs
YXRmb3JtL21hYy9WaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VNYWMuaDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9tYWMvVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlTWFjLm1tOgorICAgICAgICAoV2ViQ29y
ZTo6VmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlTWFjOjpyYXRlQ2hhbmdlZCk6CisgICAgICAgICog
cGxhdGZvcm0vbWFjL1dlYlBsYXliYWNrQ29udHJvbHNNYW5hZ2VyLmg6CisgICAgICAgICogcGxh
dGZvcm0vbWFjL1dlYlBsYXliYWNrQ29udHJvbHNNYW5hZ2VyLm1tOgorCiAyMDIxLTAzLTA5ICBT
YW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1vdmUgQ1NTUGFyc2Vy
Q29udGV4dDo6ZW5mb3JjZXNDU1NNSU1FVHlwZUluTm9RdWlya3NNb2RlIGFzIGl0IGlzIHVudXNl
ZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJD
b3JlL1BBTC9DaGFuZ2VMb2cKaW5kZXggMDg0NGMyNTZkMzVlZDJmNmZkYjBiMTMyM2IzN2Y4ZTAw
MjdlYjM0ZC4uODNiNmZmZWI2MDAzNDkyYzMzMDZhZGQ0MjdjYmMzMjk4ZTA1ZmNkZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9Q
QUwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjEtMDMtMDkgIERldmluIFJvdXNzbyAg
PGRyb3Vzc29AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBwbHVtYmluZyBmb3IgYGRlZmF1bHRQ
bGF5YmFja1JhdGVgIHRvIEFWS2l0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMjI5OTEKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc1MDEyNDE3Pgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGFsL3Nw
aS9jb2NvYS9BVktpdFNQSS5oOgorCiAyMDIxLTAzLTA5ICBCZW4gTmhhbSAgPG5oYW1AYXBwbGUu
Y29tPgogCiAgICAgICAgIEFkb3B0IG5ldyBOU1VSTFNlc3Npb25Db25maWd1cmF0aW9uIFNQSSBm
b3IgY29ubmVjdGlvbiBjYWNoZSBjb25maWd1cmF0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDZjODFiZDg3Zjk1
MzEyNjdlMmRkOWFkOGYxMTUxOTFlMzVkYTQ2OTIuLjExYWRiMzUwMTc5ZTJiZTZkY2RlZTUzYzVl
ZDNjYmM4NWZmNjRhMDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkgQEAKKzIwMjEtMDMtMDkgIERl
dmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBwbHVtYmluZyBm
b3IgYGRlZmF1bHRQbGF5YmFja1JhdGVgIHRvIEFWS2l0CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjI5OTEKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
Lzc1MDEyNDE3PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogV2ViUHJvY2Vzcy9jb2NvYS9QbGF5YmFja1Nlc3Npb25NYW5hZ2VyLm1lc3NhZ2VzLmlu
OgorICAgICAgICAqIFdlYlByb2Nlc3MvY29jb2EvUGxheWJhY2tTZXNzaW9uTWFuYWdlci5oOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvY29jb2EvUGxheWJhY2tTZXNzaW9uTWFuYWdlci5tbToKKyAg
ICAgICAgKFdlYktpdDo6UGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlQ29udGV4dDo6cmF0ZUNoYW5n
ZWQpOgorICAgICAgICAoV2ViS2l0OjpQbGF5YmFja1Nlc3Npb25NYW5hZ2VyOjpyYXRlQ2hhbmdl
ZCk6CisgICAgICAgIChXZWJLaXQ6OlBsYXliYWNrU2Vzc2lvbk1hbmFnZXI6OnNldERlZmF1bHRQ
bGF5YmFja1JhdGUpOiBBZGRlZC4KKworICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9QbGF5YmFj
a1Nlc3Npb25NYW5hZ2VyUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICogVUlQcm9jZXNzL0Nv
Y29hL1BsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9D
b2NvYS9QbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHkubW06CisgICAgICAgIChXZWJLaXQ6OlBs
YXliYWNrU2Vzc2lvbk1vZGVsQ29udGV4dDo6c2V0RGVmYXVsdFBsYXliYWNrUmF0ZSk6IEFkZGVk
LgorICAgICAgICAoV2ViS2l0OjpQbGF5YmFja1Nlc3Npb25Nb2RlbENvbnRleHQ6OnJhdGVDaGFu
Z2VkKToKKyAgICAgICAgKFdlYktpdDo6UGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5OjpyYXRl
Q2hhbmdlZCk6CisgICAgICAgIChXZWJLaXQ6OlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eTo6
c2V0RGVmYXVsdFBsYXliYWNrUmF0ZSk6IEFkZGVkLgorCisgICAgICAgICogVUlQcm9jZXNzL2lv
cy9mdWxsc2NyZWVuL1dLRnVsbFNjcmVlblZpZXdDb250cm9sbGVyLm1tOgorICAgICAgICAoV0tG
dWxsU2NyZWVuVmlld0NvbnRyb2xsZXJQbGF5YmFja1Nlc3Npb25Nb2RlbENsaWVudDo6cmF0ZUNo
YW5nZWQpOgorCiAyMDIxLTAzLTA5ICBGdWppaSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNv
bnkuY29tPgogCiAgICAgICAgIFtXaW5DYWlyb10gRGVhZGxvY2tzIGluIFdURjo6VGhyZWFkOjpU
aHJlYWRIb2xkZXI6On5UaHJlYWRIb2xkZXIgd2hpbGUgV2ViS2l0V2ViUHJvY2Vzcy5leGUgaXMg
c2h1dHRpbmcgZG93bgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29j
b2EvQVZLaXRTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL0FWS2l0U1BJ
LmgKaW5kZXggYTdkNDM5MTAzZDAxYjAxZmU1YTk1YjFjOTdjNzZkZGYyYzAyMWVmMS4uYTI4MGMw
MDkzNTc1ZTMxNWI5ZjA2NGRmNTljMWYxMmI5YjVhMjI0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvUEFML3BhbC9zcGkvY29jb2EvQVZLaXRTUEkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Q
QUwvcGFsL3NwaS9jb2NvYS9BVktpdFNQSS5oCkBAIC0yMzAsNiArMjMwLDExIEBAIE5TX0FTU1VN
RV9OT05OVUxMX0VORAogCiAjZW5kaWYgLy8gVVNFKEFQUExFX0lOVEVSTkFMX1NESykKIAorI2lm
IFBMQVRGT1JNKElPU19GQU1JTFkpCitAaW50ZXJmYWNlIEFWUGxheWVyQ29udHJvbGxlciAoKQor
QHByb3BlcnR5IChOU19OT05BVE9NSUNfSU9TT05MWSkgZG91YmxlIGRlZmF1bHRQbGF5YmFja1Jh
dGU7CitAZW5kCisjZW5kaWYgLy8gUExBVEZPUk0oSU9TX0ZBTUlMWSkKIAogI2lmIEhBVkUoQVZP
QlNFUlZBVElPTkNPTlRST0xMRVIpCiAjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1BsYXliYWNrU2Vzc2lvbk1vZGVs
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9QbGF5YmFja1Nlc3Npb25Nb2RlbC5o
CmluZGV4IDY3YjJmNTkwYTBjMDEzNDZmNGE1YjAwMzhlZDcyZDk3M2M3ZTBiOTUuLjUyMTZiYjNi
Yzc1YmI0OTYwOTM3YWRiMmMwOTU5NzUxYjRmODliODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2NvY29hL1BsYXliYWNrU2Vzc2lvbk1vZGVsLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vY29jb2EvUGxheWJhY2tTZXNzaW9uTW9kZWwuaApAQCAtNTUsNiArNTUs
NyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGJlZ2luU2Nhbm5pbmdGb3J3YXJkKCkgPSAw
OwogICAgIHZpcnR1YWwgdm9pZCBiZWdpblNjYW5uaW5nQmFja3dhcmQoKSA9IDA7CiAgICAgdmly
dHVhbCB2b2lkIGVuZFNjYW5uaW5nKCkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBzZXREZWZhdWx0
UGxheWJhY2tSYXRlKGZsb2F0KSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHNlbGVjdEF1ZGlvTWVk
aWFPcHRpb24odWludDY0X3QgaW5kZXgpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc2VsZWN0TGVn
aWJsZU1lZGlhT3B0aW9uKHVpbnQ2NF90IGluZGV4KSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHRv
Z2dsZVBpY3R1cmVJblBpY3R1cmUoKSA9IDA7CkBAIC03Miw2ICs3Myw3IEBAIHB1YmxpYzoKICAg
ICB2aXJ0dWFsIGRvdWJsZSBidWZmZXJlZFRpbWUoKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBi
b29sIGlzUGxheWluZygpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIGJvb2wgaXNTY3J1YmJpbmco
KSBjb25zdCA9IDA7CisgICAgdmlydHVhbCBmbG9hdCBkZWZhdWx0UGxheWJhY2tSYXRlKCkgY29u
c3QgPSAwOwogICAgIHZpcnR1YWwgZmxvYXQgcGxheWJhY2tSYXRlKCkgY29uc3QgPSAwOwogICAg
IHZpcnR1YWwgUmVmPFRpbWVSYW5nZXM+IHNlZWthYmxlUmFuZ2VzKCkgY29uc3QgPSAwOwogICAg
IHZpcnR1YWwgZG91YmxlIHNlZWthYmxlVGltZVJhbmdlc0xhc3RNb2RpZmllZFRpbWUoKSBjb25z
dCA9IDA7CkBAIC05OCw3ICsxMDAsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGN1cnJl
bnRUaW1lQ2hhbmdlZChkb3VibGUgLyogY3VycmVudFRpbWUgKi8sIGRvdWJsZSAvKiBhbmNob3JU
aW1lICovKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgYnVmZmVyZWRUaW1lQ2hhbmdlZChkb3VibGUp
IHsgfQogICAgIHZpcnR1YWwgdm9pZCBwbGF5YmFja1N0YXJ0ZWRUaW1lQ2hhbmdlZChkb3VibGUg
LyogcGxheWJhY2tTdGFydGVkVGltZSAqLykgeyB9Ci0gICAgdmlydHVhbCB2b2lkIHJhdGVDaGFu
Z2VkKGJvb2wgLyogaXNQbGF5aW5nICovLCBmbG9hdCAvKiBwbGF5YmFja1JhdGUgKi8pIHsgfQor
ICAgIHZpcnR1YWwgdm9pZCByYXRlQ2hhbmdlZChib29sIC8qIGlzUGxheWluZyAqLywgZmxvYXQg
LyogcGxheWJhY2tSYXRlICovLCBmbG9hdCAvKiBkZWZhdWx0UGxheWJhY2tSYXRlICovKSB7IH0K
ICAgICB2aXJ0dWFsIHZvaWQgc2Vla2FibGVSYW5nZXNDaGFuZ2VkKGNvbnN0IFRpbWVSYW5nZXMm
LCBkb3VibGUgLyogbGFzdE1vZGlmaWVkICovLCBkb3VibGUgLyogbGl2ZUludGVydmFsICovKSB7
IH0KICAgICB2aXJ0dWFsIHZvaWQgY2FuUGxheUZhc3RSZXZlcnNlQ2hhbmdlZChib29sKSB7IH0K
ICAgICB2aXJ0dWFsIHZvaWQgYXVkaW9NZWRpYVNlbGVjdGlvbk9wdGlvbnNDaGFuZ2VkKGNvbnN0
IFZlY3RvcjxNZWRpYVNlbGVjdGlvbk9wdGlvbj4mIC8qIG9wdGlvbnMgKi8sIHVpbnQ2NF90IC8q
IHNlbGVjdGVkSW5kZXggKi8pIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vY29jb2EvUGxheWJhY2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2NvY29hL1BsYXliYWNrU2Vzc2lvbk1vZGVsTWVkaWFFbGVtZW50LmgKaW5k
ZXggNjQ5MTFlOWFmZGQ0ZTMwYjAwNTEwMjhhZWNiMGEzZDY0NzkyMmQ1Mi4uZWUxOTFlN2YwZTgz
MzBhODg2ZDNhYzc0YjI1YjdjNjQ2Y2U3ODY1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vY29jb2EvUGxheWJhY2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9QbGF5YmFja1Nlc3Npb25Nb2RlbE1lZGlhRWxl
bWVudC5oCkBAIC02OCw2ICs2OCw3IEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lk
IGJlZ2luU2Nhbm5pbmdGb3J3YXJkKCkgZmluYWw7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBi
ZWdpblNjYW5uaW5nQmFja3dhcmQoKSBmaW5hbDsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGVu
ZFNjYW5uaW5nKCkgZmluYWw7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXREZWZhdWx0UGxh
eWJhY2tSYXRlKGZsb2F0KSBmaW5hbDsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNlbGVjdEF1
ZGlvTWVkaWFPcHRpb24odWludDY0X3QgaW5kZXgpIGZpbmFsOwogICAgIFdFQkNPUkVfRVhQT1JU
IHZvaWQgc2VsZWN0TGVnaWJsZU1lZGlhT3B0aW9uKHVpbnQ2NF90IGluZGV4KSBmaW5hbDsKICAg
ICBXRUJDT1JFX0VYUE9SVCB2b2lkIHRvZ2dsZVBpY3R1cmVJblBpY3R1cmUoKSBmaW5hbDsKQEAg
LTgyLDYgKzgzLDcgQEAgcHVibGljOgogICAgIGRvdWJsZSBidWZmZXJlZFRpbWUoKSBjb25zdCBm
aW5hbDsKICAgICBib29sIGlzUGxheWluZygpIGNvbnN0IGZpbmFsOwogICAgIGJvb2wgaXNTY3J1
YmJpbmcoKSBjb25zdCBmaW5hbCB7IHJldHVybiBmYWxzZTsgfQorICAgIGZsb2F0IGRlZmF1bHRQ
bGF5YmFja1JhdGUoKSBjb25zdCBmaW5hbDsKICAgICBmbG9hdCBwbGF5YmFja1JhdGUoKSBjb25z
dCBmaW5hbDsKICAgICBSZWY8VGltZVJhbmdlcz4gc2Vla2FibGVSYW5nZXMoKSBjb25zdCBmaW5h
bDsKICAgICBkb3VibGUgc2Vla2FibGVUaW1lUmFuZ2VzTGFzdE1vZGlmaWVkVGltZSgpIGNvbnN0
IGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvUGxheWJh
Y2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9j
b2NvYS9QbGF5YmFja1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVudC5tbQppbmRleCAwZWEzZmFhZjE5
ZTY4OTk3NDQxODViMGM0MzE0YTJhZWQ1MjFlNjVmLi4xY2Y2YmUyN2UzZTYwNzAwYjZlMGJmOTVh
M2FkOWY0ZDkxNjc5MTIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2Nv
YS9QbGF5YmFja1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVudC5tbQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9jb2NvYS9QbGF5YmFja1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVudC5tbQpAQCAt
MTY0LDggKzE2NCw5IEBAIHZvaWQgUGxheWJhY2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQ6OnVw
ZGF0ZUZvckV2ZW50TmFtZShjb25zdCBXVEY6OkF0b21TdHJpbmcmCiAgICAgICAgIHx8IGV2ZW50
TmFtZSA9PSBldmVudE5hbWVzKCkuY2FucGxheUV2ZW50KSB7CiAgICAgICAgIGJvb2wgaXNQbGF5
aW5nID0gdGhpcy0+aXNQbGF5aW5nKCk7CiAgICAgICAgIGZsb2F0IHBsYXliYWNrUmF0ZSA9IGlz
U3RhbGxlZCgpID8gU3RhbGxlZFBsYXliYWNrUmF0ZSA6IHRoaXMtPnBsYXliYWNrUmF0ZSgpOwor
ICAgICAgICBmbG9hdCBkZWZhdWx0UGxheWJhY2tSYXRlID0gdGhpcy0+ZGVmYXVsdFBsYXliYWNr
UmF0ZSgpOwogICAgICAgICBmb3IgKGF1dG8gY2xpZW50IDogbV9jbGllbnRzKQotICAgICAgICAg
ICAgY2xpZW50LT5yYXRlQ2hhbmdlZChpc1BsYXlpbmcsIHBsYXliYWNrUmF0ZSk7CisgICAgICAg
ICAgICBjbGllbnQtPnJhdGVDaGFuZ2VkKGlzUGxheWluZywgcGxheWJhY2tSYXRlLCBkZWZhdWx0
UGxheWJhY2tSYXRlKTsKICAgICB9CiAKICAgICBpZiAoYWxsCkBAIC0zMDEsNiArMzAyLDEyIEBA
IHZvaWQgUGxheWJhY2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQ6OmVuZFNjYW5uaW5nKCkKICAg
ICAgICAgbV9tZWRpYUVsZW1lbnQtPmVuZFNjYW5uaW5nKCk7CiB9CiAKK3ZvaWQgUGxheWJhY2tT
ZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQ6OnNldERlZmF1bHRQbGF5YmFja1JhdGUoZmxvYXQgZGVm
YXVsdFBsYXliYWNrUmF0ZSkKK3sKKyAgICBpZiAobV9tZWRpYUVsZW1lbnQpCisgICAgICAgIG1f
bWVkaWFFbGVtZW50LT5zZXREZWZhdWx0UGxheWJhY2tSYXRlKGRlZmF1bHRQbGF5YmFja1JhdGUp
OworfQorCiB2b2lkIFBsYXliYWNrU2Vzc2lvbk1vZGVsTWVkaWFFbGVtZW50OjpzZWxlY3RBdWRp
b01lZGlhT3B0aW9uKHVpbnQ2NF90IHNlbGVjdGVkQXVkaW9JbmRleCkKIHsKICAgICBpZiAoIW1f
bWVkaWFFbGVtZW50KQpAQCAtNDY4LDkgKzQ3NSwxNCBAQCBib29sIFBsYXliYWNrU2Vzc2lvbk1v
ZGVsTWVkaWFFbGVtZW50Ojppc1N0YWxsZWQoKSBjb25zdAogICAgIHJldHVybiBtX21lZGlhRWxl
bWVudCAmJiBtX21lZGlhRWxlbWVudC0+cmVhZHlTdGF0ZSgpIDw9IEhUTUxNZWRpYUVsZW1lbnQ6
OkhBVkVfQ1VSUkVOVF9EQVRBOwogfQogCitmbG9hdCBQbGF5YmFja1Nlc3Npb25Nb2RlbE1lZGlh
RWxlbWVudDo6ZGVmYXVsdFBsYXliYWNrUmF0ZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fbWVk
aWFFbGVtZW50ID8gbV9tZWRpYUVsZW1lbnQtPmRlZmF1bHRQbGF5YmFja1JhdGUoKSA6IC0xOwor
fQorCiBmbG9hdCBQbGF5YmFja1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVudDo6cGxheWJhY2tSYXRl
KCkgY29uc3QKIHsKLSAgICByZXR1cm4gbV9tZWRpYUVsZW1lbnQgPyBtX21lZGlhRWxlbWVudC0+
cGxheWJhY2tSYXRlKCkgOiAwOworICAgIHJldHVybiBtX21lZGlhRWxlbWVudCA/IG1fbWVkaWFF
bGVtZW50LT5wbGF5YmFja1JhdGUoKSA6IC0xOwogfQogCiBSZWY8VGltZVJhbmdlcz4gUGxheWJh
Y2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQ6OnNlZWthYmxlUmFuZ2VzKCkgY29uc3QKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9QbGF5YmFja1Nlc3Npb25JbnRlcmZh
Y2VBVktpdC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1BsYXliYWNrU2Vzc2lvbklu
dGVyZmFjZUFWS2l0LmgKaW5kZXggYjQ4OTQyMzcwZTExNWE2NzcxM2MwMjIwMTM2M2QyZGNiOWFh
ZDliOC4uNDcyMTM5NjE1YWY1MTQ5NjA1ZTAxNDcyM2M1MTA1YmI0YTdiYjA4ZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1BsYXliYWNrU2Vzc2lvbkludGVyZmFjZUFW
S2l0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1BsYXliYWNrU2Vzc2lvbklu
dGVyZmFjZUFWS2l0LmgKQEAgLTYzLDcgKzYzLDcgQEAgcHVibGljOgogICAgIHZvaWQgZHVyYXRp
b25DaGFuZ2VkKGRvdWJsZSkgb3ZlcnJpZGU7CiAgICAgdm9pZCBjdXJyZW50VGltZUNoYW5nZWQo
ZG91YmxlIGN1cnJlbnRUaW1lLCBkb3VibGUgYW5jaG9yVGltZSkgb3ZlcnJpZGU7CiAgICAgdm9p
ZCBidWZmZXJlZFRpbWVDaGFuZ2VkKGRvdWJsZSkgb3ZlcnJpZGU7Ci0gICAgdm9pZCByYXRlQ2hh
bmdlZChib29sIGlzUGxheWluZywgZmxvYXQgcGxheWJhY2tSYXRlKSBvdmVycmlkZTsKKyAgICB2
b2lkIHJhdGVDaGFuZ2VkKGJvb2wgaXNQbGF5aW5nLCBmbG9hdCBwbGF5YmFja1JhdGUsIGZsb2F0
IGRlZmF1bHRQbGF5YmFja1JhdGUpIG92ZXJyaWRlOwogICAgIHZvaWQgc2Vla2FibGVSYW5nZXND
aGFuZ2VkKGNvbnN0IFRpbWVSYW5nZXMmLCBkb3VibGUgbGFzdE1vZGlmaWVkVGltZSwgZG91Ymxl
IGxpdmVVcGRhdGVJbnRlcnZhbCkgb3ZlcnJpZGU7CiAgICAgdm9pZCBjYW5QbGF5RmFzdFJldmVy
c2VDaGFuZ2VkKGJvb2wpIG92ZXJyaWRlOwogICAgIHZvaWQgYXVkaW9NZWRpYVNlbGVjdGlvbk9w
dGlvbnNDaGFuZ2VkKGNvbnN0IFZlY3RvcjxNZWRpYVNlbGVjdGlvbk9wdGlvbj4mIG9wdGlvbnMs
IHVpbnQ2NF90IHNlbGVjdGVkSW5kZXgpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vaW9zL1BsYXliYWNrU2Vzc2lvbkludGVyZmFjZUFWS2l0Lm1tIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1BsYXliYWNrU2Vzc2lvbkludGVyZmFjZUFWS2l0Lm1t
CmluZGV4IDBhZTllNmRkNjNmNTYyNWVkOGViMGM4ZWVjMDg2NmEzNjQ1YmZjZmQuLmJkNmJlYzc3
ZTE1YWVmMjQ2NTUzOTJiYTg2Y2VkMDJiNGRhM2Y2MGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2lvcy9QbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VBVktpdC5tbQorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlQVZLaXQu
bW0KQEAgLTYxLDcgKzYxLDcgQEAgUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlQVZLaXQ6OlBsYXli
YWNrU2Vzc2lvbkludGVyZmFjZUFWS2l0KFBsYXliYWNrU2Vzc2lvbk1vZGUKICAgICBkdXJhdGlv
bkNoYW5nZWQobW9kZWwuZHVyYXRpb24oKSk7CiAgICAgY3VycmVudFRpbWVDaGFuZ2VkKG1vZGVs
LmN1cnJlbnRUaW1lKCksIFtbTlNQcm9jZXNzSW5mbyBwcm9jZXNzSW5mb10gc3lzdGVtVXB0aW1l
XSk7CiAgICAgYnVmZmVyZWRUaW1lQ2hhbmdlZChtb2RlbC5idWZmZXJlZFRpbWUoKSk7Ci0gICAg
cmF0ZUNoYW5nZWQobW9kZWwuaXNQbGF5aW5nKCksIG1vZGVsLnBsYXliYWNrUmF0ZSgpKTsKKyAg
ICByYXRlQ2hhbmdlZChtb2RlbC5pc1BsYXlpbmcoKSwgbW9kZWwucGxheWJhY2tSYXRlKCksIG1v
ZGVsLmRlZmF1bHRQbGF5YmFja1JhdGUoKSk7CiAgICAgc2Vla2FibGVSYW5nZXNDaGFuZ2VkKG1v
ZGVsLnNlZWthYmxlUmFuZ2VzKCksIG1vZGVsLnNlZWthYmxlVGltZVJhbmdlc0xhc3RNb2RpZmll
ZFRpbWUoKSwgbW9kZWwubGl2ZVVwZGF0ZUludGVydmFsKCkpOwogICAgIGNhblBsYXlGYXN0UmV2
ZXJzZUNoYW5nZWQobW9kZWwuY2FuUGxheUZhc3RSZXZlcnNlKCkpOwogICAgIGF1ZGlvTWVkaWFT
ZWxlY3Rpb25PcHRpb25zQ2hhbmdlZChtb2RlbC5hdWRpb01lZGlhU2VsZWN0aW9uT3B0aW9ucygp
LCBtb2RlbC5hdWRpb01lZGlhU2VsZWN0ZWRJbmRleCgpKTsKQEAgLTEyNCw5ICsxMjQsMTAgQEAg
dm9pZCBQbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VBVktpdDo6YnVmZmVyZWRUaW1lQ2hhbmdlZChk
b3VibGUgYnVmZmVyZWRUaW1lKQogICAgIHBsYXllckNvbnRyb2xsZXIubG9hZGVkVGltZVJhbmdl
cyA9IEBbQDAsIEAobm9ybWFsaXplZEJ1ZmZlcmVkVGltZSldOwogfQogCi12b2lkIFBsYXliYWNr
U2Vzc2lvbkludGVyZmFjZUFWS2l0OjpyYXRlQ2hhbmdlZChib29sIGlzUGxheWluZywgZmxvYXQg
cGxheWJhY2tSYXRlKQordm9pZCBQbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VBVktpdDo6cmF0ZUNo
YW5nZWQoYm9vbCBpc1BsYXlpbmcsIGZsb2F0IHBsYXliYWNrUmF0ZSwgZmxvYXQgZGVmYXVsdFBs
YXliYWNrUmF0ZSkKIHsKICAgICBbbV9wbGF5ZXJDb250cm9sbGVyIHNldFJhdGU6aXNQbGF5aW5n
ID8gcGxheWJhY2tSYXRlIDogMC5dOworICAgIFttX3BsYXllckNvbnRyb2xsZXIgc2V0RGVmYXVs
dFBsYXliYWNrUmF0ZTpkZWZhdWx0UGxheWJhY2tSYXRlXTsKIH0KIAogdm9pZCBQbGF5YmFja1Nl
c3Npb25JbnRlcmZhY2VBVktpdDo6c2Vla2FibGVSYW5nZXNDaGFuZ2VkKGNvbnN0IFRpbWVSYW5n
ZXMmIHRpbWVSYW5nZXMsIGRvdWJsZSBsYXN0TW9kaWZpZWRUaW1lLCBkb3VibGUgbGl2ZVVwZGF0
ZUludGVydmFsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYkFW
UGxheWVyQ29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYkFWUGxh
eWVyQ29udHJvbGxlci5oCmluZGV4IGNhMGZiNTdhZWJkMDc4N2I2ZTE3OGEwZGZiMmE2OTcwZGJi
NzkyOGQuLjBlNjA3Njc4MjM4MDc5N2ZlZmI5ODY1N2NhMTEzMWQ1OTI5NmI1ZjUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJBVlBsYXllckNvbnRyb2xsZXIuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViQVZQbGF5ZXJDb250cm9sbGVyLmgK
QEAgLTYyLDYgKzYyLDcgQEAgV0VCQ09SRV9FWFBPUlQgQGludGVyZmFjZSBXZWJBVlBsYXllckNv
bnRyb2xsZXIgOiBOU09iamVjdCB7CiBAcHJvcGVydHkgKGdldHRlcj1pc1BsYXlpbmcpIEJPT0wg
cGxheWluZzsKIEBwcm9wZXJ0eSBCT09MIGNhblBhdXNlOwogQHByb3BlcnR5IEJPT0wgY2FuVG9n
Z2xlUGxheWJhY2s7CitAcHJvcGVydHkgZG91YmxlIGRlZmF1bHRQbGF5YmFja1JhdGU7CiBAcHJv
cGVydHkgZG91YmxlIHJhdGU7CiBAcHJvcGVydHkgQk9PTCBjYW5TZWVrOwogQHByb3BlcnR5IE5T
VGltZUludGVydmFsIGNvbnRlbnREdXJhdGlvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2lvcy9XZWJBVlBsYXllckNvbnRyb2xsZXIubW0gYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9pb3MvV2ViQVZQbGF5ZXJDb250cm9sbGVyLm1tCmluZGV4IGRjNjE3NGRiNGVlNjM5
OWFhZGQ3NTk3MWE1NDA0MjBhNTViYjdlZjEuLmZmZmUwOTZkYjc4MmYzNTc0ODdiZmEzZmI0ZDIx
NTRiMmI5MGQxY2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJB
VlBsYXllckNvbnRyb2xsZXIubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dl
YkFWUGxheWVyQ29udHJvbGxlci5tbQpAQCAtNDksNiArNDksNyBAQCB1c2luZyBuYW1lc3BhY2Ug
V2ViQ29yZTsKIHN0YXRpYyB2b2lkICogV2ViQVZQbGF5ZXJDb250cm9sbGVyU2Vla2FibGVUaW1l
UmFuZ2VzT2JzZXJ2ZXJDb250ZXh0ID0gJldlYkFWUGxheWVyQ29udHJvbGxlclNlZWthYmxlVGlt
ZVJhbmdlc09ic2VydmVyQ29udGV4dDsKIHN0YXRpYyB2b2lkICogV2ViQVZQbGF5ZXJDb250cm9s
bGVySGFzTGl2ZVN0cmVhbWluZ0NvbnRlbnRPYnNlcnZlckNvbnRleHQgPSAmV2ViQVZQbGF5ZXJD
b250cm9sbGVySGFzTGl2ZVN0cmVhbWluZ0NvbnRlbnRPYnNlcnZlckNvbnRleHQ7CiBzdGF0aWMg
dm9pZCAqIFdlYkFWUGxheWVyQ29udHJvbGxlcklzUGxheWluZ09uU2Vjb25kU2NyZWVuT2JzZXJ2
ZXJDb250ZXh0ID0gJldlYkFWUGxheWVyQ29udHJvbGxlcklzUGxheWluZ09uU2Vjb25kU2NyZWVu
T2JzZXJ2ZXJDb250ZXh0Oworc3RhdGljIHZvaWQgKiBXZWJBVlBsYXllckNvbnRyb2xsZXJEZWZh
dWx0UGxheWJhY2tSYXRlT2JzZXJ2ZXJDb250ZXh0ID0gJldlYkFWUGxheWVyQ29udHJvbGxlckRl
ZmF1bHRQbGF5YmFja1JhdGVPYnNlcnZlckNvbnRleHQ7CiAKIHN0YXRpYyBkb3VibGUgV2ViQVZQ
bGF5ZXJDb250cm9sbGVyTGl2ZVN0cmVhbVNlZWthYmxlVGltZVJhbmdlRHVyYXRpb25IeXN0ZXJl
c2lzRGVsdGEgPSAzLjA7IC8vIE1pbmltdW0gZGVsdGEgb2YgdGltZSByZXF1aXJlZCB0byBjaGFu
Z2UgdGhlIGR1cmF0aW9uIG9mIHRoZSBzZWVrYWJsZSB0aW1lIHJhbmdlLgogc3RhdGljIGRvdWJs
ZSBXZWJBVlBsYXllckNvbnRyb2xsZXJMaXZlU3RyZWFtTWluaW11bVRhcmdldER1cmF0aW9uID0g
MS4wOyAvLyBNaW5pbXVtIHNlZ21lbnQgZHVyYXRpb24gdG8gYmUgY29uc2lkZXJlZCB2YWxpZC4K
QEAgLTc1LDYgKzc2LDcgQEAgLSAoaW5zdGFuY2V0eXBlKWluaXQKICAgICBbc2VsZiBhZGRPYnNl
cnZlcjpzZWxmIGZvcktleVBhdGg6QCJzZWVrYWJsZVRpbWVSYW5nZXMiIG9wdGlvbnM6KE5TS2V5
VmFsdWVPYnNlcnZpbmdPcHRpb25PbGQgfCBOU0tleVZhbHVlT2JzZXJ2aW5nT3B0aW9uTmV3IHwg
TlNLZXlWYWx1ZU9ic2VydmluZ09wdGlvbkluaXRpYWwpIGNvbnRleHQ6V2ViQVZQbGF5ZXJDb250
cm9sbGVyU2Vla2FibGVUaW1lUmFuZ2VzT2JzZXJ2ZXJDb250ZXh0XTsKICAgICBbc2VsZiBhZGRP
YnNlcnZlcjpzZWxmIGZvcktleVBhdGg6QCJoYXNMaXZlU3RyZWFtaW5nQ29udGVudCIgb3B0aW9u
czpOU0tleVZhbHVlT2JzZXJ2aW5nT3B0aW9uSW5pdGlhbCBjb250ZXh0OldlYkFWUGxheWVyQ29u
dHJvbGxlckhhc0xpdmVTdHJlYW1pbmdDb250ZW50T2JzZXJ2ZXJDb250ZXh0XTsKICAgICBbc2Vs
ZiBhZGRPYnNlcnZlcjpzZWxmIGZvcktleVBhdGg6QCJwbGF5aW5nT25TZWNvbmRTY3JlZW4iIG9w
dGlvbnM6TlNLZXlWYWx1ZU9ic2VydmluZ09wdGlvbk5ldyBjb250ZXh0OldlYkFWUGxheWVyQ29u
dHJvbGxlcklzUGxheWluZ09uU2Vjb25kU2NyZWVuT2JzZXJ2ZXJDb250ZXh0XTsKKyAgICBbc2Vs
ZiBhZGRPYnNlcnZlcjpzZWxmIGZvcktleVBhdGg6QCJkZWZhdWx0UGxheWJhY2tSYXRlIiBvcHRp
b25zOk5TS2V5VmFsdWVPYnNlcnZpbmdPcHRpb25OZXcgY29udGV4dDpXZWJBVlBsYXllckNvbnRy
b2xsZXJEZWZhdWx0UGxheWJhY2tSYXRlT2JzZXJ2ZXJDb250ZXh0XTsKIAogICAgIHJldHVybiBz
ZWxmOwogfQpAQCAtODQsNiArODYsNyBAQCAtICh2b2lkKWRlYWxsb2MKICAgICBbc2VsZiByZW1v
dmVPYnNlcnZlcjpzZWxmIGZvcktleVBhdGg6QCJzZWVrYWJsZVRpbWVSYW5nZXMiIGNvbnRleHQ6
V2ViQVZQbGF5ZXJDb250cm9sbGVyU2Vla2FibGVUaW1lUmFuZ2VzT2JzZXJ2ZXJDb250ZXh0XTsK
ICAgICBbc2VsZiByZW1vdmVPYnNlcnZlcjpzZWxmIGZvcktleVBhdGg6QCJoYXNMaXZlU3RyZWFt
aW5nQ29udGVudCIgY29udGV4dDpXZWJBVlBsYXllckNvbnRyb2xsZXJIYXNMaXZlU3RyZWFtaW5n
Q29udGVudE9ic2VydmVyQ29udGV4dF07CiAgICAgW3NlbGYgcmVtb3ZlT2JzZXJ2ZXI6c2VsZiBm
b3JLZXlQYXRoOkAicGxheWluZ09uU2Vjb25kU2NyZWVuIiBjb250ZXh0OldlYkFWUGxheWVyQ29u
dHJvbGxlcklzUGxheWluZ09uU2Vjb25kU2NyZWVuT2JzZXJ2ZXJDb250ZXh0XTsKKyAgICBbc2Vs
ZiByZW1vdmVPYnNlcnZlcjpzZWxmIGZvcktleVBhdGg6QCJkZWZhdWx0UGxheWJhY2tSYXRlIiBj
b250ZXh0OldlYkFWUGxheWVyQ29udHJvbGxlckRlZmF1bHRQbGF5YmFja1JhdGVPYnNlcnZlckNv
bnRleHRdOwogCiAgICAgW19wbGF5ZXJDb250cm9sbGVyUHJveHkgcmVsZWFzZV07CiAgICAgW19s
b2FkZWRUaW1lUmFuZ2VzIHJlbGVhc2VdOwpAQCAtNTg4LDEyICs1OTEsMjcgQEAgLSAodm9pZClv
YnNlcnZlVmFsdWVGb3JLZXlQYXRoOihOU1N0cmluZyAqKWtleVBhdGggb2ZPYmplY3Q6KGlkKW9i
amVjdCBjaGFuZ2U6KE4KICAgICAgICAgICAgICAgICBbc2VsZiB1cGRhdGVNaW5NYXhUaW1pbmdd
OwogICAgICAgICAgICAgfQogICAgICAgICB9Ci0gICAgfSBlbHNlIGlmIChXZWJBVlBsYXllckNv
bnRyb2xsZXJIYXNMaXZlU3RyZWFtaW5nQ29udGVudE9ic2VydmVyQ29udGV4dCA9PSBjb250ZXh0
KQorICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgaWYgKFdlYkFWUGxheWVyQ29udHJvbGxl
ckhhc0xpdmVTdHJlYW1pbmdDb250ZW50T2JzZXJ2ZXJDb250ZXh0ID09IGNvbnRleHQpIHsKICAg
ICAgICAgW3NlbGYgdXBkYXRlTWluTWF4VGltaW5nXTsKLSAgICBlbHNlIGlmIChXZWJBVlBsYXll
ckNvbnRyb2xsZXJJc1BsYXlpbmdPblNlY29uZFNjcmVlbk9ic2VydmVyQ29udGV4dCA9PSBjb250
ZXh0KSB7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBpZiAoV2ViQVZQbGF5ZXJDb250
cm9sbGVySXNQbGF5aW5nT25TZWNvbmRTY3JlZW5PYnNlcnZlckNvbnRleHQgPT0gY29udGV4dCkg
ewogICAgICAgICBpZiAoYXV0byogZGVsZWdhdGUgPSBzZWxmLmRlbGVnYXRlKQogICAgICAgICAg
ICAgZGVsZWdhdGUtPnNldFBsYXlpbmdPblNlY29uZFNjcmVlbihfcGxheWluZ09uU2Vjb25kU2Ny
ZWVuKTsKKyAgICAgICAgcmV0dXJuOwogICAgIH0KKworICAgIGlmIChXZWJBVlBsYXllckNvbnRy
b2xsZXJEZWZhdWx0UGxheWJhY2tSYXRlT2JzZXJ2ZXJDb250ZXh0ID09IGNvbnRleHQpIHsKKyAg
ICAgICAgaWYgKGF1dG8qIGRlbGVnYXRlID0gc2VsZi5kZWxlZ2F0ZSkKKyAgICAgICAgICAgIGRl
bGVnYXRlLT5zZXREZWZhdWx0UGxheWJhY2tSYXRlKF9kZWZhdWx0UGxheWJhY2tSYXRlKTsKKyAg
ICAgICAgcmV0dXJuOworICAgIH0KKworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogfQogCiAt
ICh2b2lkKXVwZGF0ZU1pbk1heFRpbWluZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vaW9zL1dlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXJBVktpdC5tbSBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyQVZLaXQubW0K
aW5kZXggNDBlZThhN2IwM2M2YmRkNzY1MTY1OWI3ODI2NWI1NTY3NjdjMDRhMi4uMDZkNTIxNzhm
Y2FlMWYxMzYyOTIyYzhkMjYyMzA2YzNmMmExMmU0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXJBVktpdC5tbQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxl
ckFWS2l0Lm1tCkBAIC0xNDcsNiArMTQ3LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGJlZ2luU2Nh
bm5pbmdGb3J3YXJkKCkgb3ZlcnJpZGU7CiAgICAgdm9pZCBiZWdpblNjYW5uaW5nQmFja3dhcmQo
KSBvdmVycmlkZTsKICAgICB2b2lkIGVuZFNjYW5uaW5nKCkgb3ZlcnJpZGU7CisgICAgdm9pZCBz
ZXREZWZhdWx0UGxheWJhY2tSYXRlKGZsb2F0KSBvdmVycmlkZTsKICAgICB2b2lkIHNlbGVjdEF1
ZGlvTWVkaWFPcHRpb24odWludDY0X3QpIG92ZXJyaWRlOwogICAgIHZvaWQgc2VsZWN0TGVnaWJs
ZU1lZGlhT3B0aW9uKHVpbnQ2NF90KSBvdmVycmlkZTsKICAgICBkb3VibGUgZHVyYXRpb24oKSBj
b25zdCBvdmVycmlkZTsKQEAgLTE1NSw2ICsxNTYsNyBAQCBwcml2YXRlOgogICAgIGRvdWJsZSBi
dWZmZXJlZFRpbWUoKSBjb25zdCBvdmVycmlkZTsKICAgICBib29sIGlzUGxheWluZygpIGNvbnN0
IG92ZXJyaWRlOwogICAgIGJvb2wgaXNTY3J1YmJpbmcoKSBjb25zdCBvdmVycmlkZSB7IHJldHVy
biBmYWxzZTsgfQorICAgIGZsb2F0IGRlZmF1bHRQbGF5YmFja1JhdGUoKSBjb25zdCBvdmVycmlk
ZTsKICAgICBmbG9hdCBwbGF5YmFja1JhdGUoKSBjb25zdCBvdmVycmlkZTsKICAgICBSZWY8VGlt
ZVJhbmdlcz4gc2Vla2FibGVSYW5nZXMoKSBjb25zdCBvdmVycmlkZTsKICAgICBkb3VibGUgc2Vl
a2FibGVUaW1lUmFuZ2VzTGFzdE1vZGlmaWVkVGltZSgpIGNvbnN0IG92ZXJyaWRlOwpAQCAtMTc4
LDcgKzE4MCw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBkdXJhdGlvbkNoYW5nZWQoZG91YmxlKSBv
dmVycmlkZTsKICAgICB2b2lkIGN1cnJlbnRUaW1lQ2hhbmdlZChkb3VibGUgY3VycmVudFRpbWUs
IGRvdWJsZSBhbmNob3JUaW1lKSBvdmVycmlkZTsKICAgICB2b2lkIGJ1ZmZlcmVkVGltZUNoYW5n
ZWQoZG91YmxlKSBvdmVycmlkZTsKLSAgICB2b2lkIHJhdGVDaGFuZ2VkKGJvb2wgaXNQbGF5aW5n
LCBmbG9hdCBwbGF5YmFja1JhdGUpIG92ZXJyaWRlOworICAgIHZvaWQgcmF0ZUNoYW5nZWQoYm9v
bCBpc1BsYXlpbmcsIGZsb2F0IHBsYXliYWNrUmF0ZSwgZmxvYXQgZGVmYXVsdFBsYXliYWNrUmF0
ZSkgb3ZlcnJpZGU7CiAgICAgdm9pZCBzZWVrYWJsZVJhbmdlc0NoYW5nZWQoY29uc3QgVGltZVJh
bmdlcyYsIGRvdWJsZSBsYXN0TW9kaWZpZWRUaW1lLCBkb3VibGUgbGl2ZVVwZGF0ZUludGVydmFs
KSBvdmVycmlkZTsKICAgICB2b2lkIGNhblBsYXlGYXN0UmV2ZXJzZUNoYW5nZWQoYm9vbCkgb3Zl
cnJpZGU7CiAgICAgdm9pZCBhdWRpb01lZGlhU2VsZWN0aW9uT3B0aW9uc0NoYW5nZWQoY29uc3Qg
VmVjdG9yPE1lZGlhU2VsZWN0aW9uT3B0aW9uPiYgb3B0aW9ucywgdWludDY0X3Qgc2VsZWN0ZWRJ
bmRleCkgb3ZlcnJpZGU7CkBAIC00MTEsMTcgKzQxMywxNyBAQCB2b2lkIFZpZGVvRnVsbHNjcmVl
bkNvbnRyb2xsZXJDb250ZXh0OjpidWZmZXJlZFRpbWVDaGFuZ2VkKGRvdWJsZSBidWZmZXJlZFRp
bWUpCiAgICAgICAgIGNsaWVudC0+YnVmZmVyZWRUaW1lQ2hhbmdlZChidWZmZXJlZFRpbWUpOwog
fQogCi12b2lkIFZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXJDb250ZXh0OjpyYXRlQ2hhbmdlZChi
b29sIGlzUGxheWluZywgZmxvYXQgcGxheWJhY2tSYXRlKQordm9pZCBWaWRlb0Z1bGxzY3JlZW5D
b250cm9sbGVyQ29udGV4dDo6cmF0ZUNoYW5nZWQoYm9vbCBpc1BsYXlpbmcsIGZsb2F0IHBsYXli
YWNrUmF0ZSwgZmxvYXQgZGVmYXVsdFBsYXliYWNrUmF0ZSkKIHsKICAgICBpZiAoV2ViVGhyZWFk
SXNDdXJyZW50KCkpIHsKLSAgICAgICAgUnVuTG9vcDo6bWFpbigpLmRpc3BhdGNoKFtwcm90ZWN0
ZWRUaGlzID0gbWFrZVJlZlB0cih0aGlzKSwgaXNQbGF5aW5nLCBwbGF5YmFja1JhdGVdIHsKLSAg
ICAgICAgICAgIHByb3RlY3RlZFRoaXMtPnJhdGVDaGFuZ2VkKGlzUGxheWluZywgcGxheWJhY2tS
YXRlKTsKKyAgICAgICAgUnVuTG9vcDo6bWFpbigpLmRpc3BhdGNoKFtwcm90ZWN0ZWRUaGlzID0g
bWFrZVJlZlB0cih0aGlzKSwgaXNQbGF5aW5nLCBwbGF5YmFja1JhdGUsIGRlZmF1bHRQbGF5YmFj
a1JhdGVdIHsKKyAgICAgICAgICAgIHByb3RlY3RlZFRoaXMtPnJhdGVDaGFuZ2VkKGlzUGxheWlu
ZywgcGxheWJhY2tSYXRlLCBkZWZhdWx0UGxheWJhY2tSYXRlKTsKICAgICAgICAgfSk7CiAgICAg
ICAgIHJldHVybjsKICAgICB9CiAKICAgICBmb3IgKGF1dG8mIGNsaWVudCA6IG1fcGxheWJhY2tD
bGllbnRzKQotICAgICAgICBjbGllbnQtPnJhdGVDaGFuZ2VkKGlzUGxheWluZywgcGxheWJhY2tS
YXRlKTsKKyAgICAgICAgY2xpZW50LT5yYXRlQ2hhbmdlZChpc1BsYXlpbmcsIHBsYXliYWNrUmF0
ZSwgZGVmYXVsdFBsYXliYWNrUmF0ZSk7CiB9CiAKIHZvaWQgVmlkZW9GdWxsc2NyZWVuQ29udHJv
bGxlckNvbnRleHQ6Omhhc1ZpZGVvQ2hhbmdlZChib29sIGhhc1ZpZGVvKQpAQCAtODM2LDYgKzgz
OCwxNSBAQCB2b2lkIFZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXJDb250ZXh0OjplbmRTY2Fubmlu
ZygpCiAgICAgfSk7CiB9CiAKK3ZvaWQgVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlckNvbnRleHQ6
OnNldERlZmF1bHRQbGF5YmFja1JhdGUoZmxvYXQgZGVmYXVsdFBsYXliYWNrUmF0ZSkKK3sKKyAg
ICBBU1NFUlQoaXNVSVRocmVhZCgpKTsKKyAgICBXZWJUaHJlYWRSdW4oW3Byb3RlY3RlZFRoaXMg
PSBtYWtlUmVmUHRyKHRoaXMpLCB0aGlzLCBkZWZhdWx0UGxheWJhY2tSYXRlXSB7CisgICAgICAg
IGlmIChtX3BsYXliYWNrTW9kZWwpCisgICAgICAgICAgICBtX3BsYXliYWNrTW9kZWwtPnNldERl
ZmF1bHRQbGF5YmFja1JhdGUoZGVmYXVsdFBsYXliYWNrUmF0ZSk7CisgICAgfSk7Cit9CisKIHZv
aWQgVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlckNvbnRleHQ6OnNlbGVjdEF1ZGlvTWVkaWFPcHRp
b24odWludDY0X3QgaW5kZXgpCiB7CiAgICAgQVNTRVJUKGlzVUlUaHJlYWQoKSk7CkBAIC04Nzgs
NiArODg5LDEyIEBAIGJvb2wgVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlckNvbnRleHQ6OmlzUGxh
eWluZygpIGNvbnN0CiAgICAgcmV0dXJuIG1fcGxheWJhY2tNb2RlbCA/IG1fcGxheWJhY2tNb2Rl
bC0+aXNQbGF5aW5nKCkgOiBmYWxzZTsKIH0KIAorZmxvYXQgVmlkZW9GdWxsc2NyZWVuQ29udHJv
bGxlckNvbnRleHQ6OmRlZmF1bHRQbGF5YmFja1JhdGUoKSBjb25zdAoreworICAgIEFTU0VSVChp
c1VJVGhyZWFkKCkpOworICAgIHJldHVybiBtX3BsYXliYWNrTW9kZWwgPyBtX3BsYXliYWNrTW9k
ZWwtPmRlZmF1bHRQbGF5YmFja1JhdGUoKSA6IDA7Cit9CisKIGZsb2F0IFZpZGVvRnVsbHNjcmVl
bkNvbnRyb2xsZXJDb250ZXh0OjpwbGF5YmFja1JhdGUoKSBjb25zdAogewogICAgIEFTU0VSVChp
c1VJVGhyZWFkKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Bs
YXliYWNrU2Vzc2lvbkludGVyZmFjZU1hYy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFj
L1BsYXliYWNrU2Vzc2lvbkludGVyZmFjZU1hYy5oCmluZGV4IGQ3YTk0NWJhMTc4MmIzZjQ3NzQ2
ZDZhMWZhNTIwMmUwZDRjOWM5YzMuLjc3NDU5YWZkZmQ1M2I5OGRmMmJmMDc0YTRhODg2ZmQ1NmI0
ZmNmOGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9QbGF5YmFja1Nl
c3Npb25JbnRlcmZhY2VNYWMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUGxh
eWJhY2tTZXNzaW9uSW50ZXJmYWNlTWFjLmgKQEAgLTUyLDcgKzUyLDcgQEAgcHVibGljOgogICAg
IC8vIFBsYXliYWNrU2Vzc2lvbk1vZGVsQ2xpZW50CiAgICAgdm9pZCBkdXJhdGlvbkNoYW5nZWQo
ZG91YmxlKSBmaW5hbDsKICAgICB2b2lkIGN1cnJlbnRUaW1lQ2hhbmdlZChkb3VibGUgLypjdXJy
ZW50VGltZSovLCBkb3VibGUgLyphbmNob3JUaW1lKi8pIGZpbmFsOwotICAgIHZvaWQgcmF0ZUNo
YW5nZWQoYm9vbCAvKmlzUGxheWluZyovLCBmbG9hdCAvKnBsYXliYWNrUmF0ZSovKSBmaW5hbDsK
KyAgICB2b2lkIHJhdGVDaGFuZ2VkKGJvb2wgLyppc1BsYXlpbmcqLywgZmxvYXQgLypwbGF5YmFj
a1JhdGUqLywgZmxvYXQgLyogZGVmYXVsdFBsYXliYWNrUmF0ZSAqLykgZmluYWw7CiAgICAgdm9p
ZCBzZWVrYWJsZVJhbmdlc0NoYW5nZWQoY29uc3QgVGltZVJhbmdlcyYsIGRvdWJsZSAvKmxhc3RN
b2RpZmllZFRpbWUqLywgZG91YmxlIC8qbGl2ZVVwZGF0ZUludGVydmFsKi8pIGZpbmFsOwogICAg
IHZvaWQgYXVkaW9NZWRpYVNlbGVjdGlvbk9wdGlvbnNDaGFuZ2VkKGNvbnN0IFZlY3RvcjxNZWRp
YVNlbGVjdGlvbk9wdGlvbj4mIC8qb3B0aW9ucyovLCB1aW50NjRfdCAvKnNlbGVjdGVkSW5kZXgq
LykgZmluYWw7CiAgICAgdm9pZCBsZWdpYmxlTWVkaWFTZWxlY3Rpb25PcHRpb25zQ2hhbmdlZChj
b25zdCBWZWN0b3I8TWVkaWFTZWxlY3Rpb25PcHRpb24+JiAvKm9wdGlvbnMqLywgdWludDY0X3Qg
LypzZWxlY3RlZEluZGV4Ki8pIGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWFjL1BsYXliYWNrU2Vzc2lvbkludGVyZmFjZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21hYy9QbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VNYWMubW0KaW5kZXggYzlhNmU5
NTk4MTZmNTJhYTgxMTU2MDQxYWNiMDU2YjE0MjIwNWE0Zi4uYjEyYjkxY2YyNWE4ZTIwYmFjMTFm
YzI4MTgyYTg1OGZkYWUwZGNmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWFjL1BsYXliYWNrU2Vzc2lvbkludGVyZmFjZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tYWMvUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlTWFjLm1tCkBAIC05MiwxMSArOTIs
MTIgQEAgdm9pZCBQbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VNYWM6OmN1cnJlbnRUaW1lQ2hhbmdl
ZChkb3VibGUgY3VycmVudFRpbWUsIGRvdWJsZQogI2VuZGlmCiB9CiAKLXZvaWQgUGxheWJhY2tT
ZXNzaW9uSW50ZXJmYWNlTWFjOjpyYXRlQ2hhbmdlZChib29sIGlzUGxheWluZywgZmxvYXQgcGxh
eWJhY2tSYXRlKQordm9pZCBQbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VNYWM6OnJhdGVDaGFuZ2Vk
KGJvb2wgaXNQbGF5aW5nLCBmbG9hdCBwbGF5YmFja1JhdGUsIGZsb2F0IGRlZmF1bHRQbGF5YmFj
a1JhdGUpCiB7CiAjaWYgRU5BQkxFKFdFQl9QTEFZQkFDS19DT05UUk9MU19NQU5BR0VSKQogICAg
IFdlYlBsYXliYWNrQ29udHJvbHNNYW5hZ2VyKiBjb250cm9sc01hbmFnZXIgPSBwbGF5QmFja0Nv
bnRyb2xzTWFuYWdlcigpOwogICAgIFtjb250cm9sc01hbmFnZXIgc2V0UmF0ZTppc1BsYXlpbmcg
PyBwbGF5YmFja1JhdGUgOiAwLl07CisgICAgW2NvbnRyb2xzTWFuYWdlciBzZXREZWZhdWx0UGxh
eWJhY2tSYXRlOmRlZmF1bHRQbGF5YmFja1JhdGVdOwogICAgIFtjb250cm9sc01hbmFnZXIgc2V0
UGxheWluZzppc1BsYXlpbmddOwogICAgIHVwZGF0ZVBsYXliYWNrQ29udHJvbHNNYW5hZ2VyVGlt
aW5nKG1fcGxheWJhY2tTZXNzaW9uTW9kZWwgPyBtX3BsYXliYWNrU2Vzc2lvbk1vZGVsLT5jdXJy
ZW50VGltZSgpIDogMCwgW1tOU1Byb2Nlc3NJbmZvIHByb2Nlc3NJbmZvXSBzeXN0ZW1VcHRpbWVd
LCBwbGF5YmFja1JhdGUsIGlzUGxheWluZyk7CiAjZWxzZQpAQCAtMjM3LDYgKzIzOCw3IEBAIHZv
aWQgUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlTWFjOjpzZXRQbGF5QmFja0NvbnRyb2xzTWFuYWdl
cihXZWJQbGF5YmFja0NvbnRyb2xzCiAgICAgbWFuYWdlci5jb250ZW50RHVyYXRpb24gPSBkdXJh
dGlvbjsKICAgICBtYW5hZ2VyLmhhc0VuYWJsZWRBdWRpbyA9IGR1cmF0aW9uID4gMDsKICAgICBt
YW5hZ2VyLmhhc0VuYWJsZWRWaWRlbyA9IGR1cmF0aW9uID4gMDsKKyAgICBtYW5hZ2VyLmRlZmF1
bHRQbGF5YmFja1JhdGUgPSBtX3BsYXliYWNrU2Vzc2lvbk1vZGVsLT5kZWZhdWx0UGxheWJhY2tS
YXRlKCk7CiAgICAgbWFuYWdlci5yYXRlID0gbV9wbGF5YmFja1Nlc3Npb25Nb2RlbC0+aXNQbGF5
aW5nKCkgPyBtX3BsYXliYWNrU2Vzc2lvbk1vZGVsLT5wbGF5YmFja1JhdGUoKSA6IDAuOwogICAg
IG1hbmFnZXIuc2Vla2FibGVUaW1lUmFuZ2VzID0gdGltZVJhbmdlc1RvQXJyYXkobV9wbGF5YmFj
a1Nlc3Npb25Nb2RlbC0+c2Vla2FibGVSYW5nZXMoKSkuZ2V0KCk7CiAgICAgbWFuYWdlci5jYW5U
b2dnbGVQbGF5YmFjayA9IFlFUzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21hYy9WaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VNYWMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21hYy9WaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VNYWMuaAppbmRleCBhOGYxMWU4NWY4ZmJj
M2ViNjkzMjY1NWMyZDVkYzMzM2M0YWRhMjc4Li43ZTljMTlmY2MxODFiZGU0MDc5Y2MzMDY1ZWE0
NTlmMzM4MTcwZDllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvVmlk
ZW9GdWxsc2NyZWVuSW50ZXJmYWNlTWFjLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWFjL1ZpZGVvRnVsbHNjcmVlbkludGVyZmFjZU1hYy5oCkBAIC02Myw3ICs2Myw3IEBAIHB1Ymxp
YzoKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldFZpZGVvRnVsbHNjcmVlbkNoYW5nZU9ic2Vy
dmVyKFZpZGVvRnVsbHNjcmVlbkNoYW5nZU9ic2VydmVyKik7CiAKICAgICAvLyBQbGF5YmFja1Nl
c3Npb25Nb2RlbENsaWVudAotICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgcmF0ZUNoYW5nZWQoYm9v
bCBpc1BsYXlpbmcsIGZsb2F0IHBsYXliYWNrUmF0ZSkgb3ZlcnJpZGU7CisgICAgV0VCQ09SRV9F
WFBPUlQgdm9pZCByYXRlQ2hhbmdlZChib29sIGlzUGxheWluZywgZmxvYXQgcGxheWJhY2tSYXRl
LCBmbG9hdCBkZWZhdWx0UGxheWJhY2tSYXRlKSBvdmVycmlkZTsKICAgICBXRUJDT1JFX0VYUE9S
VCB2b2lkIGV4dGVybmFsUGxheWJhY2tDaGFuZ2VkKGJvb2wgIGVuYWJsZWQsIFBsYXliYWNrU2Vz
c2lvbk1vZGVsOjpFeHRlcm5hbFBsYXliYWNrVGFyZ2V0VHlwZSwgY29uc3QgU3RyaW5nJiBsb2Nh
bGl6ZWREZXZpY2VOYW1lKSBvdmVycmlkZTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGVuc3Vy
ZUNvbnRyb2xzTWFuYWdlcigpIG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tYWMvVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlTWFjLm1tIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWFjL1ZpZGVvRnVsbHNjcmVlbkludGVyZmFjZU1hYy5tbQppbmRleCAy
NGVkZTk0Yzg0ODYyMDNiNjA2MWE3ZjcxY2EwZTc3MTdhOTk2ODFmLi5mYTZiZDRkNWUwNDkwNzJi
NDQ0NzFkYTJhMDQ0MDFhMGExNDA1ODM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tYWMvVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21hYy9WaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VNYWMubW0KQEAgLTQyOCw3
ICs0MjgsNyBAQCB2b2lkIFZpZGVvRnVsbHNjcmVlbkludGVyZmFjZU1hYzo6Y2xlYXJNb2RlKEhU
TUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZQogICAgICAgICBtX3ZpZGVvRnVsbHNj
cmVlbk1vZGVsLT5mdWxsc2NyZWVuTW9kZUNoYW5nZWQobV9tb2RlKTsKIH0KIAotdm9pZCBWaWRl
b0Z1bGxzY3JlZW5JbnRlcmZhY2VNYWM6OnJhdGVDaGFuZ2VkKGJvb2wgaXNQbGF5aW5nLCBmbG9h
dCBwbGF5YmFja1JhdGUpCit2b2lkIFZpZGVvRnVsbHNjcmVlbkludGVyZmFjZU1hYzo6cmF0ZUNo
YW5nZWQoYm9vbCBpc1BsYXlpbmcsIGZsb2F0IHBsYXliYWNrUmF0ZSwgZmxvYXQgLyogZGVmYXVs
dFBsYXliYWNrUmF0ZSAqLykKIHsKICAgICBbdmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlT2JqQygp
IHVwZGF0ZUlzUGxheWluZzppc1BsYXlpbmcgbmV3UGxheWJhY2tSYXRlOnBsYXliYWNrUmF0ZV07
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2ViUGxheWJhY2tD
b250cm9sc01hbmFnZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJQbGF5YmFj
a0NvbnRyb2xzTWFuYWdlci5oCmluZGV4IDg5NmNjZWRmYWM5MDc2ZWZkOGVlNmU1MzI2ZDBjN2I3
N2Y1YTFmNDEuLjdiMWM2ZTYwZDdjOTMyNWJjOTExM2Q0ZmMyMTIwMDVhYzY3Y2QyNzMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJQbGF5YmFja0NvbnRyb2xzTWFu
YWdlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJQbGF5YmFja0NvbnRy
b2xzTWFuYWdlci5oCkBAIC01MCw2ICs1MCw3IEBAIFdFQkNPUkVfRVhQT1JUCiAgICAgUmV0YWlu
UHRyPE5TQXJyYXk8QVZUb3VjaEJhck1lZGlhU2VsZWN0aW9uT3B0aW9uICo+PiBfbGVnaWJsZVRv
dWNoQmFyTWVkaWFTZWxlY3Rpb25PcHRpb25zOwogICAgIFJldGFpblB0cjxBVlRvdWNoQmFyTWVk
aWFTZWxlY3Rpb25PcHRpb24+IF9jdXJyZW50TGVnaWJsZVRvdWNoQmFyTWVkaWFTZWxlY3Rpb25P
cHRpb247CiAgICAgUmVmUHRyPFdlYkNvcmU6OlBsYXliYWNrU2Vzc2lvbkludGVyZmFjZU1hYz4g
X3BsYXliYWNrU2Vzc2lvbkludGVyZmFjZU1hYzsKKyAgICBkb3VibGUgX2RlZmF1bHRQbGF5YmFj
a1JhdGU7CiAgICAgZmxvYXQgX3JhdGU7CiAgICAgQk9PTCBfcGxheWluZzsKICAgICBCT09MIF9o
YXNFbmFibGVkQXVkaW87CkBAIC02Niw2ICs2Nyw3IEBAIFdFQkNPUkVfRVhQT1JUCiBAcHJvcGVy
dHkgKG5vbmF0b21pYykgQk9PTCBoYXNFbmFibGVkVmlkZW87CiBAcHJvcGVydHkgKGdldHRlcj1p
c1BsYXlpbmcpIEJPT0wgcGxheWluZzsKIEBwcm9wZXJ0eSBCT09MIGNhblRvZ2dsZVBsYXliYWNr
OworQHByb3BlcnR5IGRvdWJsZSBkZWZhdWx0UGxheWJhY2tSYXRlOwogQHByb3BlcnR5IChub25h
dG9taWMpIGZsb2F0IHJhdGU7CiBAcHJvcGVydHkgQk9PTCBhbGxvd3NQaWN0dXJlSW5QaWN0dXJl
UGxheWJhY2s7CiBAcHJvcGVydHkgKGdldHRlcj1pc1BpY3R1cmVJblBpY3R1cmVBY3RpdmUpIEJP
T0wgcGljdHVyZUluUGljdHVyZUFjdGl2ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21hYy9XZWJQbGF5YmFja0NvbnRyb2xzTWFuYWdlci5tbSBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21hYy9XZWJQbGF5YmFja0NvbnRyb2xzTWFuYWdlci5tbQppbmRleCA4NTI1YzBm
ZDE3YzI0MmNjZGY4NzA2ZmU0NWMyYzA0NWQ3MGFkNGYyLi41MTk0NDRjNTFmMDQ2OTI1N2FjMzM2
OGJkZDc0MmJjN2JiZDRiMGRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
YWMvV2ViUGxheWJhY2tDb250cm9sc01hbmFnZXIubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWFjL1dlYlBsYXliYWNrQ29udHJvbHNNYW5hZ2VyLm1tCkBAIC00OCw2ICs0OCw3IEBA
IEBpbXBsZW1lbnRhdGlvbiBXZWJQbGF5YmFja0NvbnRyb2xzTWFuYWdlcgogQHN5bnRoZXNpemUg
c2Vla1RvVGltZSA9IF9zZWVrVG9UaW1lOwogQHN5bnRoZXNpemUgaGFzRW5hYmxlZEF1ZGlvID0g
X2hhc0VuYWJsZWRBdWRpbzsKIEBzeW50aGVzaXplIGhhc0VuYWJsZWRWaWRlbyA9IF9oYXNFbmFi
bGVkVmlkZW87CitAc3ludGhlc2l6ZSBkZWZhdWx0UGxheWJhY2tSYXRlID0gX2RlZmF1bHRQbGF5
YmFja1JhdGU7CiBAc3ludGhlc2l6ZSByYXRlID0gX3JhdGU7CiBAc3ludGhlc2l6ZSBjYW5Ub2dn
bGVQbGF5YmFjayA9IF9jYW5Ub2dnbGVQbGF5YmFjazsKIEBzeW50aGVzaXplIGFsbG93c1BpY3R1
cmVJblBpY3R1cmVQbGF5YmFjazsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0NvY29hL1BsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQ29jb2EvUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5LmgKaW5kZXggYzgzNWZmYTdi
YmMyZWVkZDk0ZDFjNDRjMzNmMDczN2FhYzliMWRhYi4uYjZlMWRlYzc1N2ZlZDQwMzM0NzNkMzFl
YWIyZmMyMDM1ZDVhYzJiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29j
b2EvUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQ29jb2EvUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5LmgKQEAgLTc1LDcgKzc1LDcg
QEAgcHVibGljOgogICAgIHZvaWQgY3VycmVudFRpbWVDaGFuZ2VkKGRvdWJsZSk7CiAgICAgdm9p
ZCBidWZmZXJlZFRpbWVDaGFuZ2VkKGRvdWJsZSk7CiAgICAgdm9pZCBwbGF5YmFja1N0YXJ0ZWRU
aW1lQ2hhbmdlZChkb3VibGUpOwotICAgIHZvaWQgcmF0ZUNoYW5nZWQoYm9vbCBpc1BsYXlpbmcs
IGZsb2F0IHBsYXliYWNrUmF0ZSk7CisgICAgdm9pZCByYXRlQ2hhbmdlZChib29sIGlzUGxheWlu
ZywgZmxvYXQgcGxheWJhY2tSYXRlLCBmbG9hdCBkZWZhdWx0UGxheWJhY2tSYXRlKTsKICAgICB2
b2lkIHNlZWthYmxlUmFuZ2VzQ2hhbmdlZChXZWJDb3JlOjpUaW1lUmFuZ2VzJiwgZG91YmxlIGxh
c3RNb2RpZmllZFRpbWUsIGRvdWJsZSBsaXZlVXBkYXRlSW50ZXJ2YWwpOwogICAgIHZvaWQgY2Fu
UGxheUZhc3RSZXZlcnNlQ2hhbmdlZChib29sKTsKICAgICB2b2lkIGF1ZGlvTWVkaWFTZWxlY3Rp
b25PcHRpb25zQ2hhbmdlZChjb25zdCBWZWN0b3I8V2ViQ29yZTo6TWVkaWFTZWxlY3Rpb25PcHRp
b24+JiBvcHRpb25zLCB1aW50NjRfdCBpbmRleCk7CkBAIC0xMTEsNiArMTExLDcgQEAgcHJpdmF0
ZToKICAgICB2b2lkIGJlZ2luU2Nhbm5pbmdGb3J3YXJkKCkgZmluYWw7CiAgICAgdm9pZCBiZWdp
blNjYW5uaW5nQmFja3dhcmQoKSBmaW5hbDsKICAgICB2b2lkIGVuZFNjYW5uaW5nKCkgZmluYWw7
CisgICAgdm9pZCBzZXREZWZhdWx0UGxheWJhY2tSYXRlKGZsb2F0KSBmaW5hbDsKICAgICB2b2lk
IHNlbGVjdEF1ZGlvTWVkaWFPcHRpb24odWludDY0X3QpIGZpbmFsOwogICAgIHZvaWQgc2VsZWN0
TGVnaWJsZU1lZGlhT3B0aW9uKHVpbnQ2NF90KSBmaW5hbDsKICAgICB2b2lkIHRvZ2dsZVBpY3R1
cmVJblBpY3R1cmUoKSBmaW5hbDsKQEAgLTEyNiw2ICsxMjcsNyBAQCBwcml2YXRlOgogICAgIGRv
dWJsZSBidWZmZXJlZFRpbWUoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2J1ZmZlcmVkVGltZTsg
fQogICAgIGJvb2wgaXNQbGF5aW5nKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9pc1BsYXlpbmc7
IH0KICAgICBib29sIGlzU2NydWJiaW5nKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9pc1NjcnVi
YmluZzsgfQorICAgIGZsb2F0IGRlZmF1bHRQbGF5YmFja1JhdGUoKSBjb25zdCBmaW5hbCB7IHJl
dHVybiBtX2RlZmF1bHRQbGF5YmFja1JhdGU7IH0KICAgICBmbG9hdCBwbGF5YmFja1JhdGUoKSBj
b25zdCBmaW5hbCB7IHJldHVybiBtX3BsYXliYWNrUmF0ZTsgfQogICAgIFJlZjxXZWJDb3JlOjpU
aW1lUmFuZ2VzPiBzZWVrYWJsZVJhbmdlcygpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fc2Vla2Fi
bGVSYW5nZXMuY29weVJlZigpOyB9CiAgICAgZG91YmxlIHNlZWthYmxlVGltZVJhbmdlc0xhc3RN
b2RpZmllZFRpbWUoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3NlZWthYmxlVGltZVJhbmdlc0xh
c3RNb2RpZmllZFRpbWU7IH0KQEAgLTE1Myw2ICsxNTUsNyBAQCBwcml2YXRlOgogICAgIGRvdWJs
ZSBtX2J1ZmZlcmVkVGltZSB7IDAgfTsKICAgICBib29sIG1faXNQbGF5aW5nIHsgZmFsc2UgfTsK
ICAgICBib29sIG1faXNTY3J1YmJpbmcgeyBmYWxzZSB9OworICAgIGZsb2F0IG1fZGVmYXVsdFBs
YXliYWNrUmF0ZSB7IDAgfTsKICAgICBmbG9hdCBtX3BsYXliYWNrUmF0ZSB7IDAgfTsKICAgICBS
ZWY8V2ViQ29yZTo6VGltZVJhbmdlcz4gbV9zZWVrYWJsZVJhbmdlcyB7IFdlYkNvcmU6OlRpbWVS
YW5nZXM6OmNyZWF0ZSgpIH07CiAgICAgZG91YmxlIG1fc2Vla2FibGVUaW1lUmFuZ2VzTGFzdE1v
ZGlmaWVkVGltZSB7IDAgfTsKQEAgLTIxNyw3ICsyMjAsNyBAQCBwcml2YXRlOgogICAgIHZvaWQg
d2lyZWxlc3NWaWRlb1BsYXliYWNrRGlzYWJsZWRDaGFuZ2VkKFBsYXliYWNrU2Vzc2lvbkNvbnRl
eHRJZGVudGlmaWVyLCBib29sKTsKICAgICB2b2lkIGR1cmF0aW9uQ2hhbmdlZChQbGF5YmFja1Nl
c3Npb25Db250ZXh0SWRlbnRpZmllciwgZG91YmxlIGR1cmF0aW9uKTsKICAgICB2b2lkIHBsYXli
YWNrU3RhcnRlZFRpbWVDaGFuZ2VkKFBsYXliYWNrU2Vzc2lvbkNvbnRleHRJZGVudGlmaWVyLCBk
b3VibGUgcGxheWJhY2tTdGFydGVkVGltZSk7Ci0gICAgdm9pZCByYXRlQ2hhbmdlZChQbGF5YmFj
a1Nlc3Npb25Db250ZXh0SWRlbnRpZmllciwgYm9vbCBpc1BsYXlpbmcsIGRvdWJsZSByYXRlKTsK
KyAgICB2b2lkIHJhdGVDaGFuZ2VkKFBsYXliYWNrU2Vzc2lvbkNvbnRleHRJZGVudGlmaWVyLCBi
b29sIGlzUGxheWluZywgZG91YmxlIHJhdGUsIGRvdWJsZSBkZWZhdWx0UGxheWJhY2tSYXRlKTsK
ICAgICB2b2lkIGhhbmRsZUNvbnRyb2xsZWRFbGVtZW50SURSZXNwb25zZShQbGF5YmFja1Nlc3Np
b25Db250ZXh0SWRlbnRpZmllciwgU3RyaW5nKSBjb25zdDsKICAgICB2b2lkIG11dGVkQ2hhbmdl
ZChQbGF5YmFja1Nlc3Npb25Db250ZXh0SWRlbnRpZmllciwgYm9vbCBtdXRlZCk7CiAgICAgdm9p
ZCB2b2x1bWVDaGFuZ2VkKFBsYXliYWNrU2Vzc2lvbkNvbnRleHRJZGVudGlmaWVyLCBkb3VibGUg
dm9sdW1lKTsKQEAgLTIzNCw2ICsyMzcsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgYmVnaW5TY2Fu
bmluZ0ZvcndhcmQoUGxheWJhY2tTZXNzaW9uQ29udGV4dElkZW50aWZpZXIpOwogICAgIHZvaWQg
YmVnaW5TY2FubmluZ0JhY2t3YXJkKFBsYXliYWNrU2Vzc2lvbkNvbnRleHRJZGVudGlmaWVyKTsK
ICAgICB2b2lkIGVuZFNjYW5uaW5nKFBsYXliYWNrU2Vzc2lvbkNvbnRleHRJZGVudGlmaWVyKTsK
KyAgICB2b2lkIHNldERlZmF1bHRQbGF5YmFja1JhdGUoUGxheWJhY2tTZXNzaW9uQ29udGV4dElk
ZW50aWZpZXIsIGZsb2F0KTsKICAgICB2b2lkIHNlbGVjdEF1ZGlvTWVkaWFPcHRpb24oUGxheWJh
Y2tTZXNzaW9uQ29udGV4dElkZW50aWZpZXIsIHVpbnQ2NF90IGluZGV4KTsKICAgICB2b2lkIHNl
bGVjdExlZ2libGVNZWRpYU9wdGlvbihQbGF5YmFja1Nlc3Npb25Db250ZXh0SWRlbnRpZmllciwg
dWludDY0X3QgaW5kZXgpOwogICAgIHZvaWQgdG9nZ2xlUGljdHVyZUluUGljdHVyZShQbGF5YmFj
a1Nlc3Npb25Db250ZXh0SWRlbnRpZmllcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9Db2NvYS9QbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHkubWVzc2FnZXMuaW4gYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9QbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHku
bWVzc2FnZXMuaW4KaW5kZXggZDcxNTY2YjA0NTNkZjJkNjViOTI2ZDI1NThiZTVhNzUwNjMxODE5
NS4uZDMzOTQ5OGQ4NTQxZmVlNWE1ODEzMzg0NGEzZTc3MDcxNWFjYTA0NyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5
Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1BsYXliYWNr
U2Vzc2lvbk1hbmFnZXJQcm94eS5tZXNzYWdlcy5pbgpAQCAtMzQsNyArMzQsNyBAQCBtZXNzYWdl
cyAtPiBQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHkgewogICAgIFdpcmVsZXNzVmlkZW9QbGF5
YmFja0Rpc2FibGVkQ2hhbmdlZChXZWJLaXQ6OlBsYXliYWNrU2Vzc2lvbkNvbnRleHRJZGVudGlm
aWVyIGNvbnRleHRJZCwgYm9vbCBkaXNhYmxlZCkKICAgICBEdXJhdGlvbkNoYW5nZWQoV2ViS2l0
OjpQbGF5YmFja1Nlc3Npb25Db250ZXh0SWRlbnRpZmllciBjb250ZXh0SWQsIGRvdWJsZSBkdXJh
dGlvbikKICAgICBQbGF5YmFja1N0YXJ0ZWRUaW1lQ2hhbmdlZChXZWJLaXQ6OlBsYXliYWNrU2Vz
c2lvbkNvbnRleHRJZGVudGlmaWVyIGNvbnRleHRJZCwgZG91YmxlIHBsYXliYWNrU3RhcnRlZFRp
bWUpCi0gICAgUmF0ZUNoYW5nZWQoV2ViS2l0OjpQbGF5YmFja1Nlc3Npb25Db250ZXh0SWRlbnRp
ZmllciBjb250ZXh0SWQsIGJvb2wgaXNQbGF5aW5nLCBkb3VibGUgcmF0ZSkKKyAgICBSYXRlQ2hh
bmdlZChXZWJLaXQ6OlBsYXliYWNrU2Vzc2lvbkNvbnRleHRJZGVudGlmaWVyIGNvbnRleHRJZCwg
Ym9vbCBpc1BsYXlpbmcsIGRvdWJsZSByYXRlLCBkb3VibGUgZGVmYXVsdFBsYXliYWNrUmF0ZSkK
ICAgICBNdXRlZENoYW5nZWQoV2ViS2l0OjpQbGF5YmFja1Nlc3Npb25Db250ZXh0SWRlbnRpZmll
ciBjb250ZXh0SWQsIGJvb2wgbXV0ZWQpOwogICAgIFZvbHVtZUNoYW5nZWQoV2ViS2l0OjpQbGF5
YmFja1Nlc3Npb25Db250ZXh0SWRlbnRpZmllciBjb250ZXh0SWQsIGRvdWJsZSB2b2x1bWUpOwog
ICAgIFBpY3R1cmVJblBpY3R1cmVTdXBwb3J0ZWRDaGFuZ2VkKFdlYktpdDo6UGxheWJhY2tTZXNz
aW9uQ29udGV4dElkZW50aWZpZXIgY29udGV4dElkLCBib29sIHBpY3R1cmVJblBpY3R1cmVTdXBw
b3J0ZWQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9QbGF5YmFj
a1Nlc3Npb25NYW5hZ2VyUHJveHkubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9Q
bGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHkubW0KaW5kZXggOWYyZDc5OGQxYTIyMDRjMmMxZmIx
NzkxYmZmMjZkNGQxZTRkODI0YS4uOTNkYzQ2NzZiZGNkZTFiMGM0ZTY4MjBjODZiNmE3NWY4MDIw
NmUzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvUGxheWJhY2tT
ZXNzaW9uTWFuYWdlclByb3h5Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29h
L1BsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eS5tbQpAQCAtMTIxLDYgKzEyMSwxMiBAQCB2b2lk
IFBsYXliYWNrU2Vzc2lvbk1vZGVsQ29udGV4dDo6ZW5kU2Nhbm5pbmcoKQogICAgICAgICBtX21h
bmFnZXItPmVuZFNjYW5uaW5nKG1fY29udGV4dElkKTsKIH0KIAordm9pZCBQbGF5YmFja1Nlc3Np
b25Nb2RlbENvbnRleHQ6OnNldERlZmF1bHRQbGF5YmFja1JhdGUoZmxvYXQgZGVmYXVsdFBsYXli
YWNrUmF0ZSkKK3sKKyAgICBpZiAobV9tYW5hZ2VyKQorICAgICAgICBtX21hbmFnZXItPnNldERl
ZmF1bHRQbGF5YmFja1JhdGUobV9jb250ZXh0SWQsIGRlZmF1bHRQbGF5YmFja1JhdGUpOworfQor
CiB2b2lkIFBsYXliYWNrU2Vzc2lvbk1vZGVsQ29udGV4dDo6c2VsZWN0QXVkaW9NZWRpYU9wdGlv
bih1aW50NjRfdCBvcHRpb25JZCkKIHsKICAgICBpZiAobV9tYW5hZ2VyKQpAQCAtMTk0LDEyICsy
MDAsMTMgQEAgdm9pZCBQbGF5YmFja1Nlc3Npb25Nb2RlbENvbnRleHQ6OmJ1ZmZlcmVkVGltZUNo
YW5nZWQoZG91YmxlIGJ1ZmZlcmVkVGltZSkKICAgICAgICAgY2xpZW50LT5idWZmZXJlZFRpbWVD
aGFuZ2VkKGJ1ZmZlcmVkVGltZSk7CiB9CiAKLXZvaWQgUGxheWJhY2tTZXNzaW9uTW9kZWxDb250
ZXh0OjpyYXRlQ2hhbmdlZChib29sIGlzUGxheWluZywgZmxvYXQgcGxheWJhY2tSYXRlKQordm9p
ZCBQbGF5YmFja1Nlc3Npb25Nb2RlbENvbnRleHQ6OnJhdGVDaGFuZ2VkKGJvb2wgaXNQbGF5aW5n
LCBmbG9hdCBwbGF5YmFja1JhdGUsIGZsb2F0IGRlZmF1bHRQbGF5YmFja1JhdGUpCiB7CiAgICAg
bV9pc1BsYXlpbmcgPSBpc1BsYXlpbmc7CiAgICAgbV9wbGF5YmFja1JhdGUgPSBwbGF5YmFja1Jh
dGU7CisgICAgbV9kZWZhdWx0UGxheWJhY2tSYXRlID0gZGVmYXVsdFBsYXliYWNrUmF0ZTsKICAg
ICBmb3IgKGF1dG8qIGNsaWVudCA6IG1fY2xpZW50cykKLSAgICAgICAgY2xpZW50LT5yYXRlQ2hh
bmdlZChpc1BsYXlpbmcsIHBsYXliYWNrUmF0ZSk7CisgICAgICAgIGNsaWVudC0+cmF0ZUNoYW5n
ZWQobV9pc1BsYXlpbmcsIG1fcGxheWJhY2tSYXRlLCBtX2RlZmF1bHRQbGF5YmFja1JhdGUpOwog
fQogCiB2b2lkIFBsYXliYWNrU2Vzc2lvbk1vZGVsQ29udGV4dDo6c2Vla2FibGVSYW5nZXNDaGFu
Z2VkKFdlYkNvcmU6OlRpbWVSYW5nZXMmIHNlZWthYmxlUmFuZ2VzLCBkb3VibGUgbGFzdE1vZGlm
aWVkVGltZSwgZG91YmxlIGxpdmVVcGRhdGVJbnRlcnZhbCkKQEAgLTQ3Niw5ICs0ODMsOSBAQCB2
b2lkIFBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eTo6cGxheWJhY2tTdGFydGVkVGltZUNoYW5n
ZWQoUGxheWJhY2tTZXNzaW9uQ29udAogICAgIGVuc3VyZU1vZGVsKGNvbnRleHRJZCkucGxheWJh
Y2tTdGFydGVkVGltZUNoYW5nZWQocGxheWJhY2tTdGFydGVkVGltZSk7CiB9CiAKLXZvaWQgUGxh
eWJhY2tTZXNzaW9uTWFuYWdlclByb3h5OjpyYXRlQ2hhbmdlZChQbGF5YmFja1Nlc3Npb25Db250
ZXh0SWRlbnRpZmllciBjb250ZXh0SWQsIGJvb2wgaXNQbGF5aW5nLCBkb3VibGUgcmF0ZSkKK3Zv
aWQgUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5OjpyYXRlQ2hhbmdlZChQbGF5YmFja1Nlc3Np
b25Db250ZXh0SWRlbnRpZmllciBjb250ZXh0SWQsIGJvb2wgaXNQbGF5aW5nLCBkb3VibGUgcmF0
ZSwgZG91YmxlIGRlZmF1bHRQbGF5YmFja1JhdGUpCiB7Ci0gICAgZW5zdXJlTW9kZWwoY29udGV4
dElkKS5yYXRlQ2hhbmdlZChpc1BsYXlpbmcsIHJhdGUpOworICAgIGVuc3VyZU1vZGVsKGNvbnRl
eHRJZCkucmF0ZUNoYW5nZWQoaXNQbGF5aW5nLCByYXRlLCBkZWZhdWx0UGxheWJhY2tSYXRlKTsK
IH0KIAogdm9pZCBQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHk6OnBpY3R1cmVJblBpY3R1cmVT
dXBwb3J0ZWRDaGFuZ2VkKFBsYXliYWNrU2Vzc2lvbkNvbnRleHRJZGVudGlmaWVyIGNvbnRleHRJ
ZCwgYm9vbCBzdXBwb3J0ZWQpCkBAIC01NTAsNiArNTU3LDExIEBAIHZvaWQgUGxheWJhY2tTZXNz
aW9uTWFuYWdlclByb3h5OjplbmRTY2FubmluZyhQbGF5YmFja1Nlc3Npb25Db250ZXh0SWRlbnRp
ZmllciBjCiAgICAgbV9wYWdlLT5zZW5kKE1lc3NhZ2VzOjpQbGF5YmFja1Nlc3Npb25NYW5hZ2Vy
OjpFbmRTY2FubmluZyhjb250ZXh0SWQpKTsKIH0KIAordm9pZCBQbGF5YmFja1Nlc3Npb25NYW5h
Z2VyUHJveHk6OnNldERlZmF1bHRQbGF5YmFja1JhdGUoUGxheWJhY2tTZXNzaW9uQ29udGV4dElk
ZW50aWZpZXIgY29udGV4dElkLCBmbG9hdCBkZWZhdWx0UGxheWJhY2tSYXRlKQoreworICAgIG1f
cGFnZS0+c2VuZChNZXNzYWdlczo6UGxheWJhY2tTZXNzaW9uTWFuYWdlcjo6U2V0RGVmYXVsdFBs
YXliYWNrUmF0ZShjb250ZXh0SWQsIGRlZmF1bHRQbGF5YmFja1JhdGUpKTsKK30KKwogdm9pZCBQ
bGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHk6OnNlbGVjdEF1ZGlvTWVkaWFPcHRpb24oUGxheWJh
Y2tTZXNzaW9uQ29udGV4dElkZW50aWZpZXIgY29udGV4dElkLCB1aW50NjRfdCBpbmRleCkKIHsK
ICAgICBtX3BhZ2UtPnNlbmQoTWVzc2FnZXM6OlBsYXliYWNrU2Vzc2lvbk1hbmFnZXI6OlNlbGVj
dEF1ZGlvTWVkaWFPcHRpb24oY29udGV4dElkLCBpbmRleCkpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvaW9zL2Z1bGxzY3JlZW4vV0tGdWxsU2NyZWVuVmlld0NvbnRyb2xs
ZXIubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvZnVsbHNjcmVlbi9XS0Z1bGxTY3Jl
ZW5WaWV3Q29udHJvbGxlci5tbQppbmRleCA3NWQyYmM1YTY0ZDFmYzljNDQwY2FkMzg4ZGRjNDlk
Zjc0MjFhOWRmLi5lMjZhMzZkY2Y4OTk2NTZjZDJlMGM5MjEzOTkxMzRhNDFmOWU1ODljIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvZnVsbHNjcmVlbi9XS0Z1bGxTY3Jl
ZW5WaWV3Q29udHJvbGxlci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvZnVs
bHNjcmVlbi9XS0Z1bGxTY3JlZW5WaWV3Q29udHJvbGxlci5tbQpAQCAtNTAsNyArNTAsNyBAQCBj
bGFzcyBXS0Z1bGxTY3JlZW5WaWV3Q29udHJvbGxlclBsYXliYWNrU2Vzc2lvbk1vZGVsQ2xpZW50
IDogV2ViQ29yZTo6UGxheWJhY2tTZQogcHVibGljOgogICAgIHZvaWQgc2V0UGFyZW50KFdLRnVs
bFNjcmVlblZpZXdDb250cm9sbGVyICpwYXJlbnQpIHsgbV9wYXJlbnQgPSBwYXJlbnQ7IH0KIAot
ICAgIHZvaWQgcmF0ZUNoYW5nZWQoYm9vbCBpc1BsYXlpbmcsIGZsb2F0KSBvdmVycmlkZQorICAg
IHZvaWQgcmF0ZUNoYW5nZWQoYm9vbCBpc1BsYXlpbmcsIGZsb2F0IC8qIHBsYXliYWNrUmF0ZSAq
LywgZmxvYXQgLyogZGVmYXVsdFBsYXliYWNrUmF0ZSAqLykgb3ZlcnJpZGUKICAgICB7CiAgICAg
ICAgIG1fcGFyZW50LnBsYXlpbmcgPSBpc1BsYXlpbmc7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1BsYXliYWNrU2Vzc2lvbk1hbmFnZXIuaCBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9QbGF5YmFja1Nlc3Npb25NYW5hZ2VyLmgKaW5k
ZXggYzdkMGUyNDg2NTZlODJhNmYzYThmNjIyYjE0MjljZjIwNWI5Y2Y3ZC4uZTgwZWVhMjA0NWM0
M2Q4ZTUwMTM5MTAwNjM4ZDJhZDBhYmMwNGM2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL2NvY29hL1BsYXliYWNrU2Vzc2lvbk1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvY29jb2EvUGxheWJhY2tTZXNzaW9uTWFuYWdlci5oCkBAIC03NSw3ICs3
NSw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBjdXJyZW50VGltZUNoYW5nZWQoZG91YmxlIGN1cnJl
bnRUaW1lLCBkb3VibGUgYW5jaG9yVGltZSkgZmluYWw7CiAgICAgdm9pZCBidWZmZXJlZFRpbWVD
aGFuZ2VkKGRvdWJsZSkgZmluYWw7CiAgICAgdm9pZCBwbGF5YmFja1N0YXJ0ZWRUaW1lQ2hhbmdl
ZChkb3VibGUgcGxheWJhY2tTdGFydGVkVGltZSkgZmluYWw7Ci0gICAgdm9pZCByYXRlQ2hhbmdl
ZChib29sIGlzUGxheWluZywgZmxvYXQgcGxheWJhY2tSYXRlKSBmaW5hbDsKKyAgICB2b2lkIHJh
dGVDaGFuZ2VkKGJvb2wgaXNQbGF5aW5nLCBmbG9hdCBwbGF5YmFja1JhdGUsIGZsb2F0IGRlZmF1
bHRQbGF5YmFja1JhdGUpIGZpbmFsOwogICAgIHZvaWQgc2Vla2FibGVSYW5nZXNDaGFuZ2VkKGNv
bnN0IFdlYkNvcmU6OlRpbWVSYW5nZXMmLCBkb3VibGUgbGFzdE1vZGlmaWVkVGltZSwgZG91Ymxl
IGxpdmVVcGRhdGVJbnRlcnZhbCkgZmluYWw7CiAgICAgdm9pZCBjYW5QbGF5RmFzdFJldmVyc2VD
aGFuZ2VkKGJvb2wgdmFsdWUpIGZpbmFsOwogICAgIHZvaWQgYXVkaW9NZWRpYVNlbGVjdGlvbk9w
dGlvbnNDaGFuZ2VkKGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpNZWRpYVNlbGVjdGlvbk9wdGlvbj4m
IG9wdGlvbnMsIHVpbnQ2NF90IHNlbGVjdGVkSW5kZXgpIGZpbmFsOwpAQCAtMTMwLDcgKzEzMCw3
IEBAIHByb3RlY3RlZDoKICAgICB2b2lkIGN1cnJlbnRUaW1lQ2hhbmdlZChQbGF5YmFja1Nlc3Np
b25Db250ZXh0SWRlbnRpZmllciwgZG91YmxlIGN1cnJlbnRUaW1lLCBkb3VibGUgYW5jaG9yVGlt
ZSk7CiAgICAgdm9pZCBidWZmZXJlZFRpbWVDaGFuZ2VkKFBsYXliYWNrU2Vzc2lvbkNvbnRleHRJ
ZGVudGlmaWVyLCBkb3VibGUgYnVmZmVyZWRUaW1lKTsKICAgICB2b2lkIHBsYXliYWNrU3RhcnRl
ZFRpbWVDaGFuZ2VkKFBsYXliYWNrU2Vzc2lvbkNvbnRleHRJZGVudGlmaWVyLCBkb3VibGUgcGxh
eWJhY2tTdGFydGVkVGltZSk7Ci0gICAgdm9pZCByYXRlQ2hhbmdlZChQbGF5YmFja1Nlc3Npb25D
b250ZXh0SWRlbnRpZmllciwgYm9vbCBpc1BsYXlpbmcsIGZsb2F0IHBsYXliYWNrUmF0ZSk7Cisg
ICAgdm9pZCByYXRlQ2hhbmdlZChQbGF5YmFja1Nlc3Npb25Db250ZXh0SWRlbnRpZmllciwgYm9v
bCBpc1BsYXlpbmcsIGZsb2F0IHBsYXliYWNrUmF0ZSwgZmxvYXQgZGVmYXVsdFBsYXliYWNrUmF0
ZSk7CiAgICAgdm9pZCBzZWVrYWJsZVJhbmdlc0NoYW5nZWQoUGxheWJhY2tTZXNzaW9uQ29udGV4
dElkZW50aWZpZXIsIGNvbnN0IFdlYkNvcmU6OlRpbWVSYW5nZXMmLCBkb3VibGUgbGFzdE1vZGlm
aWVkVGltZSwgZG91YmxlIGxpdmVVcGRhdGVJbnRlcnZhbCk7CiAgICAgdm9pZCBjYW5QbGF5RmFz
dFJldmVyc2VDaGFuZ2VkKFBsYXliYWNrU2Vzc2lvbkNvbnRleHRJZGVudGlmaWVyLCBib29sIHZh
bHVlKTsKICAgICB2b2lkIGF1ZGlvTWVkaWFTZWxlY3Rpb25PcHRpb25zQ2hhbmdlZChQbGF5YmFj
a1Nlc3Npb25Db250ZXh0SWRlbnRpZmllciwgY29uc3QgVmVjdG9yPFdlYkNvcmU6Ok1lZGlhU2Vs
ZWN0aW9uT3B0aW9uPiYgb3B0aW9ucywgdWludDY0X3Qgc2VsZWN0ZWRJbmRleCk7CkBAIC0xNTQs
NiArMTU0LDcgQEAgcHJvdGVjdGVkOgogICAgIHZvaWQgYmVnaW5TY2FubmluZ0ZvcndhcmQoUGxh
eWJhY2tTZXNzaW9uQ29udGV4dElkZW50aWZpZXIpOwogICAgIHZvaWQgYmVnaW5TY2FubmluZ0Jh
Y2t3YXJkKFBsYXliYWNrU2Vzc2lvbkNvbnRleHRJZGVudGlmaWVyKTsKICAgICB2b2lkIGVuZFNj
YW5uaW5nKFBsYXliYWNrU2Vzc2lvbkNvbnRleHRJZGVudGlmaWVyKTsKKyAgICB2b2lkIHNldERl
ZmF1bHRQbGF5YmFja1JhdGUoUGxheWJhY2tTZXNzaW9uQ29udGV4dElkZW50aWZpZXIsIGZsb2F0
KTsKICAgICB2b2lkIHNlbGVjdEF1ZGlvTWVkaWFPcHRpb24oUGxheWJhY2tTZXNzaW9uQ29udGV4
dElkZW50aWZpZXIsIHVpbnQ2NF90IGluZGV4KTsKICAgICB2b2lkIHNlbGVjdExlZ2libGVNZWRp
YU9wdGlvbihQbGF5YmFja1Nlc3Npb25Db250ZXh0SWRlbnRpZmllciwgdWludDY0X3QgaW5kZXgp
OwogICAgIHZvaWQgaGFuZGxlQ29udHJvbGxlZEVsZW1lbnRJRFJlcXVlc3QoUGxheWJhY2tTZXNz
aW9uQ29udGV4dElkZW50aWZpZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL2NvY29hL1BsYXliYWNrU2Vzc2lvbk1hbmFnZXIubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvY29jb2EvUGxheWJhY2tTZXNzaW9uTWFuYWdlci5tZXNzYWdlcy5pbgpp
bmRleCAzZDgyYTFmYjZlZjk0ZWNkODUwNjg5YTE5ZTQ4N2Y1YzE0NmJjZjJmLi5kOTA2ODg1NGNm
ZTNiM2QyZjUxNjk4ZjQwNTk2OTNjMjFhNDIyMDFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvY29jb2EvUGxheWJhY2tTZXNzaW9uTWFuYWdlci5tZXNzYWdlcy5pbgorKysg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvUGxheWJhY2tTZXNzaW9uTWFuYWdlci5t
ZXNzYWdlcy5pbgpAQCAtMzMsNiArMzMsNyBAQCBtZXNzYWdlcyAtPiBQbGF5YmFja1Nlc3Npb25N
YW5hZ2VyIHsKICAgICBCZWdpblNjYW5uaW5nRm9yd2FyZChXZWJLaXQ6OlBsYXliYWNrU2Vzc2lv
bkNvbnRleHRJZGVudGlmaWVyIGNvbnRleHRJZCkKICAgICBCZWdpblNjYW5uaW5nQmFja3dhcmQo
V2ViS2l0OjpQbGF5YmFja1Nlc3Npb25Db250ZXh0SWRlbnRpZmllciBjb250ZXh0SWQpCiAgICAg
RW5kU2Nhbm5pbmcoV2ViS2l0OjpQbGF5YmFja1Nlc3Npb25Db250ZXh0SWRlbnRpZmllciBjb250
ZXh0SWQpCisgICAgU2V0RGVmYXVsdFBsYXliYWNrUmF0ZShXZWJLaXQ6OlBsYXliYWNrU2Vzc2lv
bkNvbnRleHRJZGVudGlmaWVyIGNvbnRleHRJZCwgZmxvYXQgZGVmYXVsdFBsYXliYWNrUmF0ZSkK
ICAgICBTZWxlY3RBdWRpb01lZGlhT3B0aW9uKFdlYktpdDo6UGxheWJhY2tTZXNzaW9uQ29udGV4
dElkZW50aWZpZXIgY29udGV4dElkLCB1aW50NjRfdCBpbmRleCkKICAgICBTZWxlY3RMZWdpYmxl
TWVkaWFPcHRpb24oV2ViS2l0OjpQbGF5YmFja1Nlc3Npb25Db250ZXh0SWRlbnRpZmllciBjb250
ZXh0SWQsIHVpbnQ2NF90IGluZGV4KQogICAgIEhhbmRsZUNvbnRyb2xsZWRFbGVtZW50SURSZXF1
ZXN0KFdlYktpdDo6UGxheWJhY2tTZXNzaW9uQ29udGV4dElkZW50aWZpZXIgY29udGV4dElkKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1BsYXliYWNrU2Vzc2lv
bk1hbmFnZXIubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvUGxheWJhY2tTZXNz
aW9uTWFuYWdlci5tbQppbmRleCBhZTQ0ZGVmYTkwNTMxZDQyOTVjZGI0ZmFlN2Q4MjE0MDU0OGFj
MzU0Li45MzFjNzJkYzFjNmRiYzZkM2VlYzJiNTc5ODRhYWI3ODU2NzU5ZTQ5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvUGxheWJhY2tTZXNzaW9uTWFuYWdlci5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvUGxheWJhY2tTZXNzaW9uTWFu
YWdlci5tbQpAQCAtNzYsMTAgKzc2LDEwIEBAIHZvaWQgUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNl
Q29udGV4dDo6YnVmZmVyZWRUaW1lQ2hhbmdlZChkb3VibGUgYnVmZmVyZWRUaW1lKQogICAgICAg
ICBtX21hbmFnZXItPmJ1ZmZlcmVkVGltZUNoYW5nZWQobV9jb250ZXh0SWQsIGJ1ZmZlcmVkVGlt
ZSk7CiB9CiAKLXZvaWQgUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlQ29udGV4dDo6cmF0ZUNoYW5n
ZWQoYm9vbCBpc1BsYXlpbmcsIGZsb2F0IHBsYXliYWNrUmF0ZSkKK3ZvaWQgUGxheWJhY2tTZXNz
aW9uSW50ZXJmYWNlQ29udGV4dDo6cmF0ZUNoYW5nZWQoYm9vbCBpc1BsYXlpbmcsIGZsb2F0IHBs
YXliYWNrUmF0ZSwgZmxvYXQgZGVmYXVsdFBsYXliYWNrUmF0ZSkKIHsKICAgICBpZiAobV9tYW5h
Z2VyKQotICAgICAgICBtX21hbmFnZXItPnJhdGVDaGFuZ2VkKG1fY29udGV4dElkLCBpc1BsYXlp
bmcsIHBsYXliYWNrUmF0ZSk7CisgICAgICAgIG1fbWFuYWdlci0+cmF0ZUNoYW5nZWQobV9jb250
ZXh0SWQsIGlzUGxheWluZywgcGxheWJhY2tSYXRlLCBkZWZhdWx0UGxheWJhY2tSYXRlKTsKIH0K
IAogdm9pZCBQbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VDb250ZXh0OjpwbGF5YmFja1N0YXJ0ZWRU
aW1lQ2hhbmdlZChkb3VibGUgcGxheWJhY2tTdGFydGVkVGltZSkKQEAgLTM0MSw5ICszNDEsOSBA
QCB2b2lkIFBsYXliYWNrU2Vzc2lvbk1hbmFnZXI6OnBsYXliYWNrU3RhcnRlZFRpbWVDaGFuZ2Vk
KFBsYXliYWNrU2Vzc2lvbkNvbnRleHRJZAogICAgIG1fcGFnZS0+c2VuZChNZXNzYWdlczo6UGxh
eWJhY2tTZXNzaW9uTWFuYWdlclByb3h5OjpQbGF5YmFja1N0YXJ0ZWRUaW1lQ2hhbmdlZChjb250
ZXh0SWQsIHBsYXliYWNrU3RhcnRlZFRpbWUpKTsKIH0KIAotdm9pZCBQbGF5YmFja1Nlc3Npb25N
YW5hZ2VyOjpyYXRlQ2hhbmdlZChQbGF5YmFja1Nlc3Npb25Db250ZXh0SWRlbnRpZmllciBjb250
ZXh0SWQsIGJvb2wgaXNQbGF5aW5nLCBmbG9hdCBwbGF5YmFja1JhdGUpCit2b2lkIFBsYXliYWNr
U2Vzc2lvbk1hbmFnZXI6OnJhdGVDaGFuZ2VkKFBsYXliYWNrU2Vzc2lvbkNvbnRleHRJZGVudGlm
aWVyIGNvbnRleHRJZCwgYm9vbCBpc1BsYXlpbmcsIGZsb2F0IHBsYXliYWNrUmF0ZSwgZmxvYXQg
ZGVmYXVsdFBsYXliYWNrUmF0ZSkKIHsKLSAgICBtX3BhZ2UtPnNlbmQoTWVzc2FnZXM6OlBsYXli
YWNrU2Vzc2lvbk1hbmFnZXJQcm94eTo6UmF0ZUNoYW5nZWQoY29udGV4dElkLCBpc1BsYXlpbmcs
IHBsYXliYWNrUmF0ZSkpOworICAgIG1fcGFnZS0+c2VuZChNZXNzYWdlczo6UGxheWJhY2tTZXNz
aW9uTWFuYWdlclByb3h5OjpSYXRlQ2hhbmdlZChjb250ZXh0SWQsIGlzUGxheWluZywgcGxheWJh
Y2tSYXRlLCBkZWZhdWx0UGxheWJhY2tSYXRlKSk7CiB9CiAKIHZvaWQgUGxheWJhY2tTZXNzaW9u
TWFuYWdlcjo6c2Vla2FibGVSYW5nZXNDaGFuZ2VkKFBsYXliYWNrU2Vzc2lvbkNvbnRleHRJZGVu
dGlmaWVyIGNvbnRleHRJZCwgY29uc3QgV2ViQ29yZTo6VGltZVJhbmdlcyYgdGltZVJhbmdlcywg
ZG91YmxlIGxhc3RNb2RpZmllZFRpbWUsIGRvdWJsZSBsaXZlVXBkYXRlSW50ZXJ2YWwpCkBAIC00
NjksNiArNDY5LDEyIEBAIHZvaWQgUGxheWJhY2tTZXNzaW9uTWFuYWdlcjo6ZW5kU2Nhbm5pbmco
UGxheWJhY2tTZXNzaW9uQ29udGV4dElkZW50aWZpZXIgY29udGV4CiAgICAgZW5zdXJlTW9kZWwo
Y29udGV4dElkKS5lbmRTY2FubmluZygpOwogfQogCit2b2lkIFBsYXliYWNrU2Vzc2lvbk1hbmFn
ZXI6OnNldERlZmF1bHRQbGF5YmFja1JhdGUoUGxheWJhY2tTZXNzaW9uQ29udGV4dElkZW50aWZp
ZXIgY29udGV4dElkLCBmbG9hdCBkZWZhdWx0UGxheWJhY2tSYXRlKQoreworICAgIFVzZXJHZXN0
dXJlSW5kaWNhdG9yIGluZGljYXRvcihQcm9jZXNzaW5nVXNlckdlc3R1cmUpOworICAgIGVuc3Vy
ZU1vZGVsKGNvbnRleHRJZCkuc2V0RGVmYXVsdFBsYXliYWNrUmF0ZShkZWZhdWx0UGxheWJhY2tS
YXRlKTsKK30KKwogdm9pZCBQbGF5YmFja1Nlc3Npb25NYW5hZ2VyOjpzZWxlY3RBdWRpb01lZGlh
T3B0aW9uKFBsYXliYWNrU2Vzc2lvbkNvbnRleHRJZGVudGlmaWVyIGNvbnRleHRJZCwgdWludDY0
X3QgaW5kZXgpCiB7CiAgICAgVXNlckdlc3R1cmVJbmRpY2F0b3IgaW5kaWNhdG9yKFByb2Nlc3Np
bmdVc2VyR2VzdHVyZSk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>