<?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>213933</bug_id>
          
          <creation_ts>2020-07-03 12:57:56 -0700</creation_ts>
          <short_desc>REGRESSION(r263882): Broke the build</short_desc>
          <delta_ts>2020-07-03 13:00:29 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>213048</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>achristensen</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1668620</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-07-03 12:57:56 -0700</bug_when>
    <thetext>https://trac.webkit.org/changeset/263882 broke the build:
Broke the build

This is an automatic bug report generated by webkitbot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests fail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1668622</commentid>
    <comment_count>1</comment_count>
      <attachid>403473</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-07-03 12:58:03 -0700</bug_when>
    <thetext>Created attachment 403473
REVERT of r263882

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the revert will be successful.  This process takes approximately 15 minutes.

If you would like to land the revert faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1668624</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-07-03 12:59:59 -0700</bug_when>
    <thetext>Committed r263904: &lt;https://trac.webkit.org/changeset/263904&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 403473.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1668625</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-07-03 13:00:29 -0700</bug_when>
    <thetext>&lt;rdar://problem/65082144&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>403473</attachid>
            <date>2020-07-03 12:58:03 -0700</date>
            <delta_ts>2020-07-03 12:59:59 -0700</delta_ts>
            <desc>REVERT of r263882</desc>
            <filename>bug-213933-20200703195802.patch</filename>
            <type>text/plain</type>
            <size>37479</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYzOTAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDNmNjEyZmI0MWU3MDMxNzVjNzkzNGEx
OWIzYWJjZWMyYWUyNmMzMzEuLjBmMmQ0MmU4NTRkZjY4NGUyNDNjZmE5ODRhZTMxNmIyMGM5Y2M1
ZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjAtMDctMDMgIENvbW1pdCBRdWV1ZSAgPGNvbW1p
dC1xdWV1ZUB3ZWJraXQub3JnPgorCisgICAgICAgIFVucmV2aWV3ZWQsIHJldmVydGluZyByMjYz
ODgyLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEz
OTMzCisKKyAgICAgICAgQnJva2UgdGhlIGJ1aWxkCisKKyAgICAgICAgUmV2ZXJ0ZWQgY2hhbmdl
c2V0OgorCisgICAgICAgICJNYWtlIF9XS1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uIFNQ
SSBmb3IgSFNUUyBzdG9yYWdlIHRvCisgICAgICAgIHJlcGxhY2UgX1dLUHJvY2Vzc1Bvb2xDb25m
aWd1cmF0aW9uLmhzdHNTdG9yYWdlRGlyZWN0b3J5IgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEzMDQ4CisgICAgICAgIGh0dHBzOi8vdHJhYy53ZWJr
aXQub3JnL2NoYW5nZXNldC8yNjM4ODIKKwogMjAyMC0wNy0wMiAgQWxleCBDaHJpc3RlbnNlbiAg
PGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIE1ha2UgX1dLV2Vic2l0ZURhdGFT
dG9yZUNvbmZpZ3VyYXRpb24gU1BJIGZvciBIU1RTIHN0b3JhZ2UgdG8gcmVwbGFjZSBfV0tQcm9j
ZXNzUG9vbENvbmZpZ3VyYXRpb24uaHN0c1N0b3JhZ2VEaXJlY3RvcnkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9n
CmluZGV4IGUzYzAxMzdiNjMyMWJkYjUxMzdkYTE3NDk0YzdlNWNlZmVhNWRjYTYuLmI3MTE1Yjgy
Y2UzMmQ5OTQ4M2IxYmYzMDVhZmRhMDlmNTJjNDNlODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1BBTC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE3IEBACisyMDIwLTA3LTAzICBDb21taXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Vi
a2l0Lm9yZz4KKworICAgICAgICBVbnJldmlld2VkLCByZXZlcnRpbmcgcjI2Mzg4Mi4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMzkzMworCisgICAg
ICAgIEJyb2tlIHRoZSBidWlsZAorCisgICAgICAgIFJldmVydGVkIGNoYW5nZXNldDoKKworICAg
ICAgICAiTWFrZSBfV0tXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbiBTUEkgZm9yIEhTVFMg
c3RvcmFnZSB0bworICAgICAgICByZXBsYWNlIF9XS1Byb2Nlc3NQb29sQ29uZmlndXJhdGlvbi5o
c3RzU3RvcmFnZURpcmVjdG9yeSIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIxMzA0OAorICAgICAgICBodHRwczovL3RyYWMud2Via2l0Lm9yZy9jaGFu
Z2VzZXQvMjYzODgyCisKIDIwMjAtMDctMDIgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5z
ZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBNYWtlIF9XS1dlYnNpdGVEYXRhU3RvcmVDb25maWd1
cmF0aW9uIFNQSSBmb3IgSFNUUyBzdG9yYWdlIHRvIHJlcGxhY2UgX1dLUHJvY2Vzc1Bvb2xDb25m
aWd1cmF0aW9uLmhzdHNTdG9yYWdlRGlyZWN0b3J5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDJkMjY0MjhhM2M0YzY0
OGY0YWM3Y2Q4NTAzNWEyOGNlZWRlNGZmZTIuLmE0MWUxZDgzZjg1ZTkwNGJmMTQwM2ZmMzQwNWEz
ZGUzNWM5ZjU4N2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjAtMDctMDMgIENvbW1p
dCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3JnPgorCisgICAgICAgIFVucmV2aWV3ZWQs
IHJldmVydGluZyByMjYzODgyLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjEzOTMzCisKKyAgICAgICAgQnJva2UgdGhlIGJ1aWxkCisKKyAgICAgICAg
UmV2ZXJ0ZWQgY2hhbmdlc2V0OgorCisgICAgICAgICJNYWtlIF9XS1dlYnNpdGVEYXRhU3RvcmVD
b25maWd1cmF0aW9uIFNQSSBmb3IgSFNUUyBzdG9yYWdlIHRvCisgICAgICAgIHJlcGxhY2UgX1dL
UHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uLmhzdHNTdG9yYWdlRGlyZWN0b3J5IgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEzMDQ4CisgICAgICAgIGh0
dHBzOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8yNjM4ODIKKwogMjAyMC0wNy0wMyAgTWlj
aGFlbCBDYXRhbnphcm8gIDxtY2F0YW56YXJvQGdub21lLm9yZz4KIAogICAgICAgICBbV1BFXVtH
VEtdIEJ1YmJsZXdyYXAgc2FuZGJveCBzaG91bGQgbm90IGF0dGVtcHQgdG8gYmluZCBlbXB0eSBw
YXRocwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1IYXZlLmggYi9Tb3VyY2Uv
V1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaAppbmRleCBkNzVmNWNmNGFjNDdiZTM1MzAxYTE2MTI0Nzhh
Y2FmYTBmMjIxZmQxLi41YjQzYWE5MzRlN2YwM2UzOWFmMzEyZGJkNDRjYjlkYzhiODk1MDdkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaAorKysgYi9Tb3VyY2UvV1RG
L3d0Zi9QbGF0Zm9ybUhhdmUuaApAQCAtNDE1LDEzICs0MTUsNiBAQAogI2RlZmluZSBIQVZFX0JS
T0tFTl9ET1dOTE9BRF9SRVNVTUVfVU5MSU5LIDEKICNlbmRpZgogCi0jaWYgKFBMQVRGT1JNKE1B
QykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE2MDApIFwKLSAgICB8
fCAoKFBMQVRGT1JNKElPUykgfHwgUExBVEZPUk0oTUFDQ0FUQUxZU1QpKSAmJiBfX0lQSE9ORV9P
U19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxNDAwMDApIFwKLSAgICB8fCAoUExBVEZPUk0oV0FU
Q0hPUykgJiYgX19XQVRDSF9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSA3MDAwMCkgXAotICAg
IHx8IChQTEFURk9STShBUFBMRVRWKSAmJiBfX1RWX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49
IDE0MDAwMCkKLSNkZWZpbmUgSEFWRV9IU1RTX1NUT1JBR0UgMQotI2VuZGlmCi0KICNpZiAoUExB
VEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTYwMCkg
fHwgKFBMQVRGT1JNKElPU19GQU1JTFkpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJ
UkVEID49IDE0MDAwMCkKICNkZWZpbmUgSEFWRV9DRk5FVFdPUktfTUVUUklDU19BUElTX1Y0IDEK
ICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY2YvQ0ZOZXR3
b3JrU1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jZi9DRk5ldHdvcmtTUEkuaApp
bmRleCA5NzIwMDhjYThkMmZmN2U3MTRiNTY4OTI1ZGJmYTQ4Y2NiOTA3MjIyLi42Mzk5ZmYzNWNk
ZjY5MWY1NDQwYjQ4YWU1NWI5NjgyMjk3NzNiNDliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9QQUwvcGFsL3NwaS9jZi9DRk5ldHdvcmtTUEkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwv
cGFsL3NwaS9jZi9DRk5ldHdvcmtTUEkuaApAQCAtMjQxLDkgKzI0MSw2IEBAIHR5cGVkZWYgTlNf
RU5VTShOU0ludGVnZXIsIE5TVVJMU2Vzc2lvbkNvbXBhbmlvblByb3h5UHJlZmVyZW5jZSkgewog
QHByb3BlcnR5IChudWxsYWJsZSwgcmV0YWluKSBfTlNIVFRQQWx0ZXJuYXRpdmVTZXJ2aWNlc1N0
b3JhZ2UgKl9hbHRlcm5hdGl2ZVNlcnZpY2VzU3RvcmFnZTsKIEBwcm9wZXJ0eSAocmVhZG9ubHks
IGFzc2lnbikgQk9PTCBfYWxsb3dzSFRUUDM7CiAjZW5kaWYKLSNpZiBIQVZFKEhTVFNfU1RPUkFH
RSkKLUBwcm9wZXJ0eSAobnVsbGFibGUsIHJldGFpbikgX05TSFNUU1N0b3JhZ2UgKl9oc3RzU3Rv
cmFnZTsKLSNlbmRpZgogQGVuZAogCiBAaW50ZXJmYWNlIE5TVVJMU2Vzc2lvblRhc2sgKCkKQEAg
LTMwOCwxNiArMzA1LDYgQEAgdHlwZWRlZiBOU19FTlVNKE5TSW50ZWdlciwgTlNVUkxTZXNzaW9u
Q29tcGFuaW9uUHJveHlQcmVmZXJlbmNlKSB7CiAKIGV4dGVybiBOU1N0cmluZyAqIGNvbnN0IE5T
VVJMQXV0aGVudGljYXRpb25NZXRob2RPQXV0aDsKIAotI2lmIEhBVkUoSFNUU19TVE9SQUdFKQot
QGludGVyZmFjZSBfTlNIU1RTU3RvcmFnZSA6IE5TT2JqZWN0Ci0tKGluc3RhbmNldHlwZSlpbml0
UGVyc2lzdGVudFN0b3JlV2l0aFVSTDoobnVsbGFibGUgTlNVUkwqKXBhdGg7Ci0tKEJPT0wpc2hv
dWxkUHJvbW90ZUhvc3RUb0hUVFBTOihOU1N0cmluZyAqKWhvc3Q7Ci0tKE5TQXJyYXk8TlNTdHJp
bmcgKj4gKilub25QcmVsb2FkZWRIb3N0czsKLS0odm9pZClyZXNldEhTVFNGb3JIb3N0OihOU1N0
cmluZyAqKWhvc3Q7Ci0tKHZvaWQpcmVzZXRIU1RTSG9zdHNTaW5jZURhdGU6KE5TRGF0ZSAqKWRh
dGU7Ci1AZW5kCi0jZW5kaWYKLQogI2VuZGlmIC8vIGRlZmluZWQoX19PQkpDX18pCiAKICNlbmRp
ZiAvLyBQTEFURk9STShXSU4pIHx8IFVTRShBUFBMRV9JTlRFUk5BTF9TREspCkBAIC00MzEsNyAr
NDE4LDcgQEAgV1RGX0VYVEVSTl9DX0JFR0lOCiBDRkRhdGFSZWYgX0NGTmV0d29ya0NvcHlBVFND
b250ZXh0KHZvaWQpOwogQm9vbGVhbiBfQ0ZOZXR3b3JrU2V0QVRTQ29udGV4dChDRkRhdGFSZWYp
OwogCi0jaWYgUExBVEZPUk0oQ09DT0EpICYmICFIQVZFKEhTVFNfU1RPUkFHRSkKKyNpZiBQTEFU
Rk9STShDT0NPQSkKIGV4dGVybiBjb25zdCBDRlN0cmluZ1JlZiBfa0NGTmV0d29ya0hTVFNQcmVs
b2FkZWQ7CiBDRkRpY3Rpb25hcnlSZWYgX0NGTmV0d29ya0NvcHlIU1RTUG9saWNpZXMoQ0ZVUkxT
dG9yYWdlU2Vzc2lvblJlZik7CiB2b2lkIF9DRk5ldHdvcmtSZXNldEhTVFMoQ0ZVUkxSZWYsIENG
VVJMU3RvcmFnZVNlc3Npb25SZWYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L05ldHdvcmtQcm9jZXNzLmNwcAppbmRleCA5ZGFmMjI2YTdlYzdlYmIxYmYyOWEzYzIwMDBhM2Fh
M2Y0ZDc4OGM5Li5mMTIzYjIwYWM2YzI0NTEwZjQ0OWEwMjRlYmRjOWY1MmI2NGQyZDM1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcApAQCAt
MTUzNCw4ICsxNTM0LDEwIEBAIHZvaWQgTmV0d29ya1Byb2Nlc3M6OmZldGNoV2Vic2l0ZURhdGEo
UEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBPcHRpb25TZXQ8V2Vic2l0CiAgICAgfQogCiAjaWYg
UExBVEZPUk0oQ09DT0EpIHx8IFVTRShTT1VQKQotICAgIGlmICh3ZWJzaXRlRGF0YVR5cGVzLmNv
bnRhaW5zKFdlYnNpdGVEYXRhVHlwZTo6SFNUU0NhY2hlKSkKLSAgICAgICAgY2FsbGJhY2tBZ2dy
ZWdhdG9yLT5tX3dlYnNpdGVEYXRhLmhvc3ROYW1lc1dpdGhIU1RTQ2FjaGUgPSBob3N0TmFtZXNX
aXRoSFNUU0NhY2hlKHNlc3Npb25JRCk7CisgICAgaWYgKHdlYnNpdGVEYXRhVHlwZXMuY29udGFp
bnMoV2Vic2l0ZURhdGFUeXBlOjpIU1RTQ2FjaGUpKSB7CisgICAgICAgIGlmIChhdXRvKiBuZXR3
b3JrU3RvcmFnZVNlc3Npb24gPSBzdG9yYWdlU2Vzc2lvbihzZXNzaW9uSUQpKQorICAgICAgICAg
ICAgZ2V0SG9zdE5hbWVzV2l0aEhTVFNDYWNoZSgqbmV0d29ya1N0b3JhZ2VTZXNzaW9uLCBjYWxs
YmFja0FnZ3JlZ2F0b3ItPm1fd2Vic2l0ZURhdGEuaG9zdE5hbWVzV2l0aEhTVFNDYWNoZSk7Cisg
ICAgfQogI2VuZGlmCiAKICNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKQEAgLTE1OTQsOCAr
MTU5NiwxMCBAQCB2b2lkIE5ldHdvcmtQcm9jZXNzOjpmZXRjaFdlYnNpdGVEYXRhKFBBTDo6U2Vz
c2lvbklEIHNlc3Npb25JRCwgT3B0aW9uU2V0PFdlYnNpdAogdm9pZCBOZXR3b3JrUHJvY2Vzczo6
ZGVsZXRlV2Vic2l0ZURhdGEoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBPcHRpb25TZXQ8V2Vi
c2l0ZURhdGFUeXBlPiB3ZWJzaXRlRGF0YVR5cGVzLCBXYWxsVGltZSBtb2RpZmllZFNpbmNlLCBD
YWxsYmFja0lEIGNhbGxiYWNrSUQpCiB7CiAjaWYgUExBVEZPUk0oQ09DT0EpIHx8IFVTRShTT1VQ
KQotICAgIGlmICh3ZWJzaXRlRGF0YVR5cGVzLmNvbnRhaW5zKFdlYnNpdGVEYXRhVHlwZTo6SFNU
U0NhY2hlKSkKLSAgICAgICAgY2xlYXJIU1RTQ2FjaGUoc2Vzc2lvbklELCBtb2RpZmllZFNpbmNl
KTsKKyAgICBpZiAod2Vic2l0ZURhdGFUeXBlcy5jb250YWlucyhXZWJzaXRlRGF0YVR5cGU6OkhT
VFNDYWNoZSkpIHsKKyAgICAgICAgaWYgKGF1dG8qIG5ldHdvcmtTdG9yYWdlU2Vzc2lvbiA9IHN0
b3JhZ2VTZXNzaW9uKHNlc3Npb25JRCkpCisgICAgICAgICAgICBjbGVhckhTVFNDYWNoZSgqbmV0
d29ya1N0b3JhZ2VTZXNzaW9uLCBtb2RpZmllZFNpbmNlKTsKKyAgICB9CiAjZW5kaWYKIAogICAg
IGlmICh3ZWJzaXRlRGF0YVR5cGVzLmNvbnRhaW5zKFdlYnNpdGVEYXRhVHlwZTo6Q29va2llcykp
IHsKQEAgLTE2OTcsOCArMTcwMSwxMCBAQCB2b2lkIE5ldHdvcmtQcm9jZXNzOjpkZWxldGVXZWJz
aXRlRGF0YUZvck9yaWdpbnMoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBPcHRpbwogICAgIH0K
IAogI2lmIFBMQVRGT1JNKENPQ09BKSB8fCBVU0UoU09VUCkKLSAgICBpZiAod2Vic2l0ZURhdGFU
eXBlcy5jb250YWlucyhXZWJzaXRlRGF0YVR5cGU6OkhTVFNDYWNoZSkpCi0gICAgICAgIGRlbGV0
ZUhTVFNDYWNoZUZvckhvc3ROYW1lcyhzZXNzaW9uSUQsIEhTVFNDYWNoZUhvc3ROYW1lcyk7Cisg
ICAgaWYgKHdlYnNpdGVEYXRhVHlwZXMuY29udGFpbnMoV2Vic2l0ZURhdGFUeXBlOjpIU1RTQ2Fj
aGUpKSB7CisgICAgICAgIGlmIChhdXRvKiBuZXR3b3JrU3RvcmFnZVNlc3Npb24gPSBzdG9yYWdl
U2Vzc2lvbihzZXNzaW9uSUQpKQorICAgICAgICAgICAgZGVsZXRlSFNUU0NhY2hlRm9ySG9zdE5h
bWVzKCpuZXR3b3JrU3RvcmFnZVNlc3Npb24sIEhTVFNDYWNoZUhvc3ROYW1lcyk7CisgICAgfQog
I2VuZGlmCiAKICNpZiBIQVZFKENGTkVUV09SS19BTFRFUk5BVElWRV9TRVJWSUNFKQpAQCAtMTg2
NiwxMyArMTg3MiwxNSBAQCB2b2lkIE5ldHdvcmtQcm9jZXNzOjpkZWxldGVBbmRSZXN0cmljdFdl
YnNpdGVEYXRhRm9yUmVnaXN0cmFibGVEb21haW5zKFBBTDo6U2VzcwogICAgIFZlY3RvcjxTdHJp
bmc+IGhvc3RuYW1lc1dpdGhIU1RTVG9EZWxldGU7CiAjaWYgUExBVEZPUk0oQ09DT0EpIHx8IFVT
RShTT1VQKQogICAgIGlmICh3ZWJzaXRlRGF0YVR5cGVzLmNvbnRhaW5zKFdlYnNpdGVEYXRhVHlw
ZTo6SFNUU0NhY2hlKSkgewotICAgICAgICBob3N0TmFtZXNXaXRoSFNUU0NhY2hlID0gdGhpcy0+
aG9zdE5hbWVzV2l0aEhTVFNDYWNoZShzZXNzaW9uSUQpOwotICAgICAgICBob3N0bmFtZXNXaXRo
SFNUU1RvRGVsZXRlID0gZmlsdGVyRm9yUmVnaXN0cmFibGVEb21haW5zKGRvbWFpbnNUb0RlbGV0
ZUFsbE5vbkNvb2tpZVdlYnNpdGVEYXRhRm9yLCBob3N0TmFtZXNXaXRoSFNUU0NhY2hlKTsKKyAg
ICAgICAgaWYgKGF1dG8qIG5ldHdvcmtTdG9yYWdlU2Vzc2lvbiA9IHN0b3JhZ2VTZXNzaW9uKHNl
c3Npb25JRCkpIHsKKyAgICAgICAgICAgIGdldEhvc3ROYW1lc1dpdGhIU1RTQ2FjaGUoKm5ldHdv
cmtTdG9yYWdlU2Vzc2lvbiwgaG9zdE5hbWVzV2l0aEhTVFNDYWNoZSk7CisgICAgICAgICAgICBo
b3N0bmFtZXNXaXRoSFNUU1RvRGVsZXRlID0gZmlsdGVyRm9yUmVnaXN0cmFibGVEb21haW5zKGRv
bWFpbnNUb0RlbGV0ZUFsbE5vbkNvb2tpZVdlYnNpdGVEYXRhRm9yLCBob3N0TmFtZXNXaXRoSFNU
U0NhY2hlKTsKIAotICAgICAgICBmb3IgKGNvbnN0IGF1dG8mIGhvc3QgOiBob3N0bmFtZXNXaXRo
SFNUU1RvRGVsZXRlKQotICAgICAgICAgICAgY2FsbGJhY2tBZ2dyZWdhdG9yLT5tX2RvbWFpbnMu
YWRkKFJlZ2lzdHJhYmxlRG9tYWluOjp1bmNoZWNrZWRDcmVhdGVGcm9tSG9zdChob3N0KSk7Cisg
ICAgICAgICAgICBmb3IgKGNvbnN0IGF1dG8mIGhvc3QgOiBob3N0bmFtZXNXaXRoSFNUU1RvRGVs
ZXRlKQorICAgICAgICAgICAgICAgIGNhbGxiYWNrQWdncmVnYXRvci0+bV9kb21haW5zLmFkZChS
ZWdpc3RyYWJsZURvbWFpbjo6dW5jaGVja2VkQ3JlYXRlRnJvbUhvc3QoaG9zdCkpOwogCi0gICAg
ICAgIGRlbGV0ZUhTVFNDYWNoZUZvckhvc3ROYW1lcyhzZXNzaW9uSUQsIGhvc3RuYW1lc1dpdGhI
U1RTVG9EZWxldGUpOworICAgICAgICAgICAgZGVsZXRlSFNUU0NhY2hlRm9ySG9zdE5hbWVzKCpu
ZXR3b3JrU3RvcmFnZVNlc3Npb24sIGhvc3RuYW1lc1dpdGhIU1RTVG9EZWxldGUpOworICAgICAg
ICB9CiAgICAgfQogI2VuZGlmCiAKQEAgLTIwNDksMTYgKzIwNTcsMTggQEAgdm9pZCBOZXR3b3Jr
UHJvY2Vzczo6cmVnaXN0cmFibGVEb21haW5zV2l0aFdlYnNpdGVEYXRhKFBBTDo6U2Vzc2lvbklE
IHNlc3Npb25JRCwKICAgICAgICAgfSk7CiAgICAgfSkpOwogICAgIAotICAgIGF1dG8mIHdlYnNp
dGVEYXRhID0gY2FsbGJhY2tBZ2dyZWdhdG9yLT5tX3dlYnNpdGVEYXRhOworICAgIGF1dG8mIHdl
YnNpdGVEYXRhU3RvcmUgPSBjYWxsYmFja0FnZ3JlZ2F0b3ItPm1fd2Vic2l0ZURhdGE7CiAgICAg
CiAgICAgaWYgKHdlYnNpdGVEYXRhVHlwZXMuY29udGFpbnMoV2Vic2l0ZURhdGFUeXBlOjpDb29r
aWVzKSkgewogICAgICAgICBpZiAoYXV0byogbmV0d29ya1N0b3JhZ2VTZXNzaW9uID0gc3RvcmFn
ZVNlc3Npb24oc2Vzc2lvbklEKSkKLSAgICAgICAgICAgIG5ldHdvcmtTdG9yYWdlU2Vzc2lvbi0+
Z2V0SG9zdG5hbWVzV2l0aENvb2tpZXMod2Vic2l0ZURhdGEuaG9zdE5hbWVzV2l0aENvb2tpZXMp
OworICAgICAgICAgICAgbmV0d29ya1N0b3JhZ2VTZXNzaW9uLT5nZXRIb3N0bmFtZXNXaXRoQ29v
a2llcyh3ZWJzaXRlRGF0YVN0b3JlLmhvc3ROYW1lc1dpdGhDb29raWVzKTsKICAgICB9CiAgICAg
CiAjaWYgUExBVEZPUk0oQ09DT0EpIHx8IFVTRShTT1VQKQotICAgIGlmICh3ZWJzaXRlRGF0YVR5
cGVzLmNvbnRhaW5zKFdlYnNpdGVEYXRhVHlwZTo6SFNUU0NhY2hlKSkKLSAgICAgICAgd2Vic2l0
ZURhdGEuaG9zdE5hbWVzV2l0aEhTVFNDYWNoZSA9IGhvc3ROYW1lc1dpdGhIU1RTQ2FjaGUoc2Vz
c2lvbklEKTsKKyAgICBpZiAod2Vic2l0ZURhdGFUeXBlcy5jb250YWlucyhXZWJzaXRlRGF0YVR5
cGU6OkhTVFNDYWNoZSkpIHsKKyAgICAgICAgaWYgKGF1dG8qIG5ldHdvcmtTdG9yYWdlU2Vzc2lv
biA9IHN0b3JhZ2VTZXNzaW9uKHNlc3Npb25JRCkpCisgICAgICAgICAgICBnZXRIb3N0TmFtZXNX
aXRoSFNUU0NhY2hlKCpuZXR3b3JrU3RvcmFnZVNlc3Npb24sIHdlYnNpdGVEYXRhU3RvcmUuaG9z
dE5hbWVzV2l0aEhTVFNDYWNoZSk7CisgICAgfQogI2VuZGlmCiAKICAgICBpZiAod2Vic2l0ZURh
dGFUeXBlcy5jb250YWlucyhXZWJzaXRlRGF0YVR5cGU6OkNyZWRlbnRpYWxzKSkgewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oIGIvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCmluZGV4IDMyMzljNGI1
NTA2ZTZhOGFlNDg0NWUzMmNjNDIyNjk5Y2EwMzNkMTUuLjdmYjlmN2JhMTdlNjRlNjU0YWM3YWVh
NmQ1MDgwMjA2NGIxMTFhMWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvTmV0d29ya1Byb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05l
dHdvcmtQcm9jZXNzLmgKQEAgLTE5Myw5ICsxOTMsOSBAQCBwdWJsaWM6CiAgICAgUmV0YWluUHRy
PENGRGF0YVJlZj4gc291cmNlQXBwbGljYXRpb25BdWRpdERhdGEoKSBjb25zdDsKICNlbmRpZgog
I2lmIFBMQVRGT1JNKENPQ09BKSB8fCBVU0UoU09VUCkKLSAgICBIYXNoU2V0PFN0cmluZz4gaG9z
dE5hbWVzV2l0aEhTVFNDYWNoZShQQUw6OlNlc3Npb25JRCkgY29uc3Q7Ci0gICAgdm9pZCBkZWxl
dGVIU1RTQ2FjaGVGb3JIb3N0TmFtZXMoUEFMOjpTZXNzaW9uSUQsIGNvbnN0IFZlY3RvcjxTdHJp
bmc+Jik7Ci0gICAgdm9pZCBjbGVhckhTVFNDYWNoZShQQUw6OlNlc3Npb25JRCwgV2FsbFRpbWUg
bW9kaWZpZWRTaW5jZSk7CisgICAgdm9pZCBnZXRIb3N0TmFtZXNXaXRoSFNUU0NhY2hlKFdlYkNv
cmU6Ok5ldHdvcmtTdG9yYWdlU2Vzc2lvbiYsIEhhc2hTZXQ8U3RyaW5nPiYpOworICAgIHZvaWQg
ZGVsZXRlSFNUU0NhY2hlRm9ySG9zdE5hbWVzKFdlYkNvcmU6Ok5ldHdvcmtTdG9yYWdlU2Vzc2lv
biYsIGNvbnN0IFZlY3RvcjxTdHJpbmc+Jik7CisgICAgdm9pZCBjbGVhckhTVFNDYWNoZShXZWJD
b3JlOjpOZXR3b3JrU3RvcmFnZVNlc3Npb24mLCBXYWxsVGltZSBtb2RpZmllZFNpbmNlKTsKICNl
bmRpZgogCiAgICAgdm9pZCBmaW5kUGVuZGluZ0Rvd25sb2FkTG9jYXRpb24oTmV0d29ya0RhdGFU
YXNrJiwgUmVzcG9uc2VDb21wbGV0aW9uSGFuZGxlciYmLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJj
ZVJlc3BvbnNlJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05l
dHdvcmtTZXNzaW9uQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvTmV0d29ya1Nlc3Npb25DcmVhdGlvblBhcmFtZXRlcnMuY3BwCmluZGV4IGUyZWRi
Y2VjNTE0MDk3ZjE3MDgwMjBkZmU5ZmVkZjJlYzFiYzk3YzguLjNkODNjZDIzNmJhOWRjZjZmNGZj
NGUxNzdhOWQ1MTQ4NmE5YTYxYTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvTmV0d29ya1Nlc3Npb25DcmVhdGlvblBhcmFtZXRlcnMuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Nlc3Npb25DcmVhdGlvblBhcmFtZXRlcnMuY3Bw
CkBAIC01Nyw4ICs1Nyw2IEBAIHZvaWQgTmV0d29ya1Nlc3Npb25DcmVhdGlvblBhcmFtZXRlcnM6
OmVuY29kZShJUEM6OkVuY29kZXImIGVuY29kZXIpIGNvbnN0CiAgICAgZW5jb2RlciA8PCBhbHRl
cm5hdGl2ZVNlcnZpY2VEaXJlY3RvcnlFeHRlbnNpb25IYW5kbGU7CiAgICAgZW5jb2RlciA8PCBo
dHRwM0VuYWJsZWQ7CiAjZW5kaWYKLSAgICBlbmNvZGVyIDw8IGhzdHNTdG9yYWdlRGlyZWN0b3J5
OwotICAgIGVuY29kZXIgPDwgaHN0c1N0b3JhZ2VEaXJlY3RvcnlFeHRlbnNpb25IYW5kbGU7CiAj
aWYgVVNFKFNPVVApCiAgICAgZW5jb2RlciA8PCBjb29raWVQZXJzaXN0ZW50U3RvcmFnZVBhdGg7
CiAgICAgZW5jb2RlciA8PCBjb29raWVQZXJzaXN0ZW50U3RvcmFnZVR5cGU7CkBAIC0xNTUsMTYg
KzE1Myw2IEBAIE9wdGlvbmFsPE5ldHdvcmtTZXNzaW9uQ3JlYXRpb25QYXJhbWV0ZXJzPiBOZXR3
b3JrU2Vzc2lvbkNyZWF0aW9uUGFyYW1ldGVyczo6ZGVjCiAgICAgICAgIHJldHVybiBXVEY6Om51
bGxvcHQ7CiAjZW5kaWYKIAotICAgIE9wdGlvbmFsPFN0cmluZz4gaHN0c1N0b3JhZ2VEaXJlY3Rv
cnk7Ci0gICAgZGVjb2RlciA+PiBoc3RzU3RvcmFnZURpcmVjdG9yeTsKLSAgICBpZiAoIWhzdHNT
dG9yYWdlRGlyZWN0b3J5KQotICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwotCi0gICAgT3B0
aW9uYWw8U2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlPiBoc3RzU3RvcmFnZURpcmVjdG9yeUV4dGVu
c2lvbkhhbmRsZTsKLSAgICBkZWNvZGVyID4+IGhzdHNTdG9yYWdlRGlyZWN0b3J5RXh0ZW5zaW9u
SGFuZGxlOwotICAgIGlmICghaHN0c1N0b3JhZ2VEaXJlY3RvcnlFeHRlbnNpb25IYW5kbGUpCi0g
ICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7Ci0gICAgCiAjaWYgVVNFKFNPVVApCiAgICAgT3B0
aW9uYWw8U3RyaW5nPiBjb29raWVQZXJzaXN0ZW50U3RvcmFnZVBhdGg7CiAgICAgZGVjb2RlciA+
PiBjb29raWVQZXJzaXN0ZW50U3RvcmFnZVBhdGg7CkBAIC0yODcsOCArMjc1LDYgQEAgT3B0aW9u
YWw8TmV0d29ya1Nlc3Npb25DcmVhdGlvblBhcmFtZXRlcnM+IE5ldHdvcmtTZXNzaW9uQ3JlYXRp
b25QYXJhbWV0ZXJzOjpkZWMKICAgICAgICAgLCBXVEZNb3ZlKCphbHRlcm5hdGl2ZVNlcnZpY2VE
aXJlY3RvcnlFeHRlbnNpb25IYW5kbGUpCiAgICAgICAgICwgV1RGTW92ZSgqaHR0cDNFbmFibGVk
KQogI2VuZGlmCi0gICAgICAgICwgV1RGTW92ZSgqaHN0c1N0b3JhZ2VEaXJlY3RvcnkpCi0gICAg
ICAgICwgV1RGTW92ZSgqaHN0c1N0b3JhZ2VEaXJlY3RvcnlFeHRlbnNpb25IYW5kbGUpCiAjaWYg
VVNFKFNPVVApCiAgICAgICAgICwgV1RGTW92ZSgqY29va2llUGVyc2lzdGVudFN0b3JhZ2VQYXRo
KQogICAgICAgICAsIFdURk1vdmUoKmNvb2tpZVBlcnNpc3RlbnRTdG9yYWdlVHlwZSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Nlc3Npb25DcmVhdGlv
blBhcmFtZXRlcnMuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Nlc3Np
b25DcmVhdGlvblBhcmFtZXRlcnMuaAppbmRleCBjMzQyOTMzOTUxOWVjYTdjYzNlYTMwNWI1NjRh
NDc0NmJmZjcwZDhkLi5mNjc3NDU1MGEyNDdiOWI4NmQ1MDJhODU1ODIwOTA5MTMxYjBkN2Y1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uQ3Jl
YXRpb25QYXJhbWV0ZXJzLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrU2Vzc2lvbkNyZWF0aW9uUGFyYW1ldGVycy5oCkBAIC02OSw4ICs2OSw2IEBAIHN0cnVjdCBO
ZXR3b3JrU2Vzc2lvbkNyZWF0aW9uUGFyYW1ldGVycyB7CiAgICAgU2FuZGJveEV4dGVuc2lvbjo6
SGFuZGxlIGFsdGVybmF0aXZlU2VydmljZURpcmVjdG9yeUV4dGVuc2lvbkhhbmRsZTsKICAgICBi
b29sIGh0dHAzRW5hYmxlZCB7IGZhbHNlIH07CiAjZW5kaWYKLSAgICBTdHJpbmcgaHN0c1N0b3Jh
Z2VEaXJlY3Rvcnk7Ci0gICAgU2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlIGhzdHNTdG9yYWdlRGly
ZWN0b3J5RXh0ZW5zaW9uSGFuZGxlOwogI2lmIFVTRShTT1VQKQogICAgIFN0cmluZyBjb29raWVQ
ZXJzaXN0ZW50U3RvcmFnZVBhdGg7CiAgICAgU291cENvb2tpZVBlcnNpc3RlbnRTdG9yYWdlVHlw
ZSBjb29raWVQZXJzaXN0ZW50U3RvcmFnZVR5cGUgeyBTb3VwQ29va2llUGVyc2lzdGVudFN0b3Jh
Z2VUeXBlOjpUZXh0IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L2NvY29hL05ldHdvcmtQcm9jZXNzQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL2NvY29hL05ldHdvcmtQcm9jZXNzQ29jb2EubW0KaW5kZXggZDk0MGI3NWViNTMyZDE2MjQ2
NmFjNGRiNzBkNTBjNmM3NGEwZDVlNS4uYWZiZDkzMGY0YjM1ZTI0OWE4OGExMDhmNTUxMWMwNGQ3
ZWVkMzU1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9O
ZXR3b3JrUHJvY2Vzc0NvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
Y29jb2EvTmV0d29ya1Byb2Nlc3NDb2NvYS5tbQpAQCAtMTM0LDcgKzEzNCw2IEBAIFJldGFpblB0
cjxDRkRhdGFSZWY+IE5ldHdvcmtQcm9jZXNzOjpzb3VyY2VBcHBsaWNhdGlvbkF1ZGl0RGF0YSgp
IGNvbnN0CiAjZW5kaWYKIH0KIAotI2lmICFIQVZFKEhTVFNfU1RPUkFHRSkKIHN0YXRpYyB2b2lk
IGZpbHRlclByZWxvYWRIU1RTRW50cnkoY29uc3Qgdm9pZCoga2V5LCBjb25zdCB2b2lkKiB2YWx1
ZSwgdm9pZCogY29udGV4dCkKIHsKICAgICBSRUxFQVNFX0FTU0VSVChjb250ZXh0KTsKQEAgLTE1
Myw1MyArMTUyLDI3IEBAIHN0YXRpYyB2b2lkIGZpbHRlclByZWxvYWRIU1RTRW50cnkoY29uc3Qg
dm9pZCoga2V5LCBjb25zdCB2b2lkKiB2YWx1ZSwgdm9pZCogY29uCiAgICAgaWYgKENGRGljdGlv
bmFyeUdldFZhbHVlKHZhbCwgX2tDRk5ldHdvcmtIU1RTUHJlbG9hZGVkKSAhPSBrQ0ZCb29sZWFu
VHJ1ZSkKICAgICAgICAgaG9zdG5hbWVzLT5hZGQoKENGU3RyaW5nUmVmKWtleSk7CiB9Ci0jZW5k
aWYKIAotSGFzaFNldDxTdHJpbmc+IE5ldHdvcmtQcm9jZXNzOjpob3N0TmFtZXNXaXRoSFNUU0Nh
Y2hlKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCkgY29uc3QKK3ZvaWQgTmV0d29ya1Byb2Nlc3M6
OmdldEhvc3ROYW1lc1dpdGhIU1RTQ2FjaGUoV2ViQ29yZTo6TmV0d29ya1N0b3JhZ2VTZXNzaW9u
JiBzZXNzaW9uLCBIYXNoU2V0PFN0cmluZz4mIGhvc3ROYW1lcykKIHsKLSAgICBIYXNoU2V0PFN0
cmluZz4gaG9zdE5hbWVzOwotI2lmIEhBVkUoSFNUU19TVE9SQUdFKQotICAgIGlmIChhdXRvKiBu
ZXR3b3JrU2Vzc2lvbiA9IHN0YXRpY19jYXN0PE5ldHdvcmtTZXNzaW9uQ29jb2EqPih0aGlzLT5u
ZXR3b3JrU2Vzc2lvbihzZXNzaW9uSUQpKSkgewotICAgICAgICBmb3IgKE5TU3RyaW5nICpob3N0
IGluIG5ldHdvcmtTZXNzaW9uLT5oc3RzU3RvcmFnZSgpLm5vblByZWxvYWRlZEhvc3RzKQotICAg
ICAgICAgICAgaG9zdE5hbWVzLmFkZChob3N0KTsKLSAgICB9Ci0jZWxzZQotICAgIGlmIChhdXRv
KiBzZXNzaW9uID0gc3RvcmFnZVNlc3Npb24oc2Vzc2lvbklEKSkgewotICAgICAgICBpZiAoYXV0
byBIU1RTUG9saWNpZXMgPSBhZG9wdENGKF9DRk5ldHdvcmtDb3B5SFNUU1BvbGljaWVzKHNlc3Np
b24tPnBsYXRmb3JtU2Vzc2lvbigpKSkpCi0gICAgICAgICAgICBDRkRpY3Rpb25hcnlBcHBseUZ1
bmN0aW9uKEhTVFNQb2xpY2llcy5nZXQoKSwgZmlsdGVyUHJlbG9hZEhTVFNFbnRyeSwgJmhvc3RO
YW1lcyk7Ci0gICAgfQotI2VuZGlmCi0gICAgcmV0dXJuIGhvc3ROYW1lczsKKyAgICBpZiAoYXV0
byBIU1RTUG9saWNpZXMgPSBhZG9wdENGKF9DRk5ldHdvcmtDb3B5SFNUU1BvbGljaWVzKHNlc3Np
b24ucGxhdGZvcm1TZXNzaW9uKCkpKSkKKyAgICAgICAgQ0ZEaWN0aW9uYXJ5QXBwbHlGdW5jdGlv
bihIU1RTUG9saWNpZXMuZ2V0KCksIGZpbHRlclByZWxvYWRIU1RTRW50cnksICZob3N0TmFtZXMp
OwogfQogCi12b2lkIE5ldHdvcmtQcm9jZXNzOjpkZWxldGVIU1RTQ2FjaGVGb3JIb3N0TmFtZXMo
UEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgaG9zdE5hbWVz
KQordm9pZCBOZXR3b3JrUHJvY2Vzczo6ZGVsZXRlSFNUU0NhY2hlRm9ySG9zdE5hbWVzKFdlYkNv
cmU6Ok5ldHdvcmtTdG9yYWdlU2Vzc2lvbiYgc2Vzc2lvbiwgY29uc3QgVmVjdG9yPFN0cmluZz4m
IGhvc3ROYW1lcykKIHsKLSNpZiBIQVZFKEhTVFNfU1RPUkFHRSkKLSAgICBpZiAoYXV0byogbmV0
d29ya1Nlc3Npb24gPSBzdGF0aWNfY2FzdDxOZXR3b3JrU2Vzc2lvbkNvY29hKj4odGhpcy0+bmV0
d29ya1Nlc3Npb24oc2Vzc2lvbklEKSkpIHsKLSAgICAgICAgZm9yIChhdXRvJiBob3N0TmFtZSA6
IGhvc3ROYW1lcykKLSAgICAgICAgICAgIFtuZXR3b3JrU2Vzc2lvbi0+aHN0c1N0b3JhZ2UoKSBy
ZXNldEhTVFNGb3JIb3N0Omhvc3ROYW1lXTsKKyAgICBmb3IgKGF1dG8mIGhvc3ROYW1lIDogaG9z
dE5hbWVzKSB7CisgICAgICAgIGF1dG8gdXJsID0gVVJMKHsgfSwgbWFrZVN0cmluZygiaHR0cHM6
Ly8iLCBob3N0TmFtZSkpOworICAgICAgICBfQ0ZOZXR3b3JrUmVzZXRIU1RTKHVybC5jcmVhdGVD
RlVSTCgpLmdldCgpLCBzZXNzaW9uLnBsYXRmb3JtU2Vzc2lvbigpKTsKICAgICB9Ci0jZWxzZQot
ICAgIGlmIChhdXRvKiBzZXNzaW9uID0gc3RvcmFnZVNlc3Npb24oc2Vzc2lvbklEKSkgewotICAg
ICAgICBmb3IgKGF1dG8mIGhvc3ROYW1lIDogaG9zdE5hbWVzKSB7Ci0gICAgICAgICAgICBhdXRv
IHVybCA9IFVSTCh7IH0sIG1ha2VTdHJpbmcoImh0dHBzOi8vIiwgaG9zdE5hbWUpKTsKLSAgICAg
ICAgICAgIF9DRk5ldHdvcmtSZXNldEhTVFModXJsLmNyZWF0ZUNGVVJMKCkuZ2V0KCksIHNlc3Np
b24tPnBsYXRmb3JtU2Vzc2lvbigpKTsKLSAgICAgICAgfQotICAgIH0KLSNlbmRpZgogfQogCi12
b2lkIE5ldHdvcmtQcm9jZXNzOjpjbGVhckhTVFNDYWNoZShQQUw6OlNlc3Npb25JRCBzZXNzaW9u
SUQsIFdhbGxUaW1lIG1vZGlmaWVkU2luY2UpCit2b2lkIE5ldHdvcmtQcm9jZXNzOjpjbGVhckhT
VFNDYWNoZShXZWJDb3JlOjpOZXR3b3JrU3RvcmFnZVNlc3Npb24mIHNlc3Npb24sIFdhbGxUaW1l
IG1vZGlmaWVkU2luY2UpCiB7CiAgICAgTlNUaW1lSW50ZXJ2YWwgdGltZUludGVydmFsID0gbW9k
aWZpZWRTaW5jZS5zZWNvbmRzU2luY2VFcG9jaCgpLnNlY29uZHMoKTsKICAgICBOU0RhdGUgKmRh
dGUgPSBbTlNEYXRlIGRhdGVXaXRoVGltZUludGVydmFsU2luY2UxOTcwOnRpbWVJbnRlcnZhbF07
Ci0jaWYgSEFWRShIU1RTX1NUT1JBR0UpCi0gICAgaWYgKGF1dG8qIG5ldHdvcmtTZXNzaW9uID0g
c3RhdGljX2Nhc3Q8TmV0d29ya1Nlc3Npb25Db2NvYSo+KHRoaXMtPm5ldHdvcmtTZXNzaW9uKHNl
c3Npb25JRCkpKQotICAgICAgICBbbmV0d29ya1Nlc3Npb24tPmhzdHNTdG9yYWdlKCkgcmVzZXRI
U1RTSG9zdHNTaW5jZURhdGU6ZGF0ZV07Ci0jZWxzZQotICAgIGlmIChhdXRvKiBzZXNzaW9uID0g
c3RvcmFnZVNlc3Npb24oc2Vzc2lvbklEKSkKLSAgICAgICAgX0NGTmV0d29ya1Jlc2V0SFNUU0hv
c3RzU2luY2VEYXRlKHNlc3Npb24tPnBsYXRmb3JtU2Vzc2lvbigpLCAoX19icmlkZ2UgQ0ZEYXRl
UmVmKWRhdGUpOwotI2VuZGlmCisKKyAgICBfQ0ZOZXR3b3JrUmVzZXRIU1RTSG9zdHNTaW5jZURh
dGUoc2Vzc2lvbi5wbGF0Zm9ybVNlc3Npb24oKSwgKF9fYnJpZGdlIENGRGF0ZVJlZilkYXRlKTsK
IH0KIAogdm9pZCBOZXR3b3JrUHJvY2Vzczo6Y2xlYXJEaXNrQ2FjaGUoV2FsbFRpbWUgbW9kaWZp
ZWRTaW5jZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrU2Vz
c2lvbkNvY29hLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtT
ZXNzaW9uQ29jb2EuaAppbmRleCBhYTAzOTIxYWU5YzRhMDUzZDdjOTM1YzI4NGEwOTEyMjQ5YmJm
ODRjLi45Y2E4ZmE2ZWE4OWQ5MzgxMmZhMDgwNDdhN2YzNGI5Y2RlMmY2OTdkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtTZXNzaW9uQ29jb2Eu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtTZXNzaW9u
Q29jb2EuaApAQCAtMzMsNyArMzMsNiBAQCBPQkpDX0NMQVNTIE5TVVJMU2Vzc2lvbkRvd25sb2Fk
VGFzazsKIE9CSkNfQ0xBU1MgTlNPcGVyYXRpb25RdWV1ZTsKIE9CSkNfQ0xBU1MgV0tOZXR3b3Jr
U2Vzc2lvbkRlbGVnYXRlOwogT0JKQ19DTEFTUyBXS05ldHdvcmtTZXNzaW9uV2ViU29ja2V0RGVs
ZWdhdGU7Ci1PQkpDX0NMQVNTIF9OU0hTVFNTdG9yYWdlOwogCiAjaW5jbHVkZSAiRG93bmxvYWRJ
RC5oIgogI2luY2x1ZGUgIk5ldHdvcmtEYXRhVGFza0NvY29hLmgiCkBAIC0xMDUsNyArMTA0LDYg
QEAgcHVibGljOgogICAgIHZvaWQgdGFza1NlcnZlckNvbm5lY3Rpb25TdWNjZWVkZWQoTmV0d29y
a0RhdGFUYXNrQ29jb2E6OlRhc2tJZGVudGlmaWVyKTsKICAgICB2b2lkIHRhc2tGYWlsZWQoTmV0
d29ya0RhdGFUYXNrQ29jb2E6OlRhc2tJZGVudGlmaWVyKTsKICAgICBOU1VSTENyZWRlbnRpYWwg
KnN1Y2Nlc3NmdWxDbGllbnRDZXJ0aWZpY2F0ZUZvckhvc3QoY29uc3QgU3RyaW5nJiBob3N0LCB1
aW50MTZfdCBwb3J0KSBjb25zdDsKLSAgICBfTlNIU1RTU3RvcmFnZSAqaHN0c1N0b3JhZ2UoKSBj
b25zdDsKIAogcHJpdmF0ZToKICAgICB2b2lkIGludmFsaWRhdGVBbmRDYW5jZWwoKSBvdmVycmlk
ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29y
a1Nlc3Npb25Db2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0
d29ya1Nlc3Npb25Db2NvYS5tbQppbmRleCA3NWEwNDVhM2RiNjg5MDA5MzQ4Njg5YTA2NTc5NWE3
NGYzZWM0M2I0Li43OGZkMmQyMzVlOGM2OGI1MWQwZTAyZTg1Zjg5MTdjNDI1OTVhNWE5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtTZXNzaW9u
Q29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3Jr
U2Vzc2lvbkNvY29hLm1tCkBAIC02OCwxMCArNjgsNiBAQAogCiAjaW1wb3J0ICJEZXZpY2VNYW5h
Z2VtZW50U29mdExpbmsuaCIKIAotLy8gRklYTUU6IFJlbW92ZSB0aGlzIHNvZnQgbGluayBvbmNl
IHJkYXI6Ly9wcm9ibGVtLzUwMTA5NjMxIGlzIGluIGEgYnVpbGQgYW5kIGJvdHMgYXJlIHVwZGF0
ZWQuCi1TT0ZUX0xJTktfRlJBTUVXT1JLKENGTmV0d29yaykKLVNPRlRfTElOS19DTEFTU19PUFRJ
T05BTChDRk5ldHdvcmssIF9OU0hTVFNTdG9yYWdlKQotCiB1c2luZyBuYW1lc3BhY2UgV2ViS2l0
OwogCiBDRlN0cmluZ1JlZiBjb25zdCBXZWJLaXQySFRUUFByb3h5RGVmYXVsdHNLZXkgPSBzdGF0
aWNfY2FzdDxDRlN0cmluZ1JlZj4oQCJXZWJLaXQySFRUUFByb3h5Iik7CkBAIC0xMDk2LDE3ICsx
MDkyLDYgQEAgTlNVUkxDcmVkZW50aWFsICpOZXR3b3JrU2Vzc2lvbkNvY29hOjpzdWNjZXNzZnVs
Q2xpZW50Q2VydGlmaWNhdGVGb3JIb3N0KGNvbnN0IFMKICAgICByZXR1cm4gbV9zdWNjZXNzZnVs
Q2xpZW50Q2VydGlmaWNhdGVzLmdldChrZXkpLmdldCgpOwogfQogCi1fTlNIU1RTU3RvcmFnZSAq
TmV0d29ya1Nlc3Npb25Db2NvYTo6aHN0c1N0b3JhZ2UoKSBjb25zdAotewotI2lmIEhBVkUoSFNU
U19TVE9SQUdFKQotICAgIE5TVVJMU2Vzc2lvbkNvbmZpZ3VyYXRpb24gKmNvbmZpZ3VyYXRpb24g
PSBtX3Nlc3Npb25XaXRoQ3JlZGVudGlhbFN0b3JhZ2Uuc2Vzc2lvbi5nZXQoKS5jb25maWd1cmF0
aW9uOwotICAgIC8vIEZJWE1FOiBSZW1vdmUgdGhpcyByZXNwb25kc1RvU2VsZWN0b3IgY2hlY2sg
b25jZSByZGFyOi8vcHJvYmxlbS81MDEwOTYzMSBpcyBpbiBhIGJ1aWxkIGFuZCBib3RzIGFyZSB1
cGRhdGVkLgotICAgIGlmIChbY29uZmlndXJhdGlvbiByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVj
dG9yKF9oc3RzU3RvcmFnZSldKQotICAgICAgICByZXR1cm4gbV9zZXNzaW9uV2l0aENyZWRlbnRp
YWxTdG9yYWdlLnNlc3Npb24uZ2V0KCkuY29uZmlndXJhdGlvbi5faHN0c1N0b3JhZ2U7Ci0jZW5k
aWYKLSAgICByZXR1cm4gbmlsOwotfQotCiBjb25zdCBTdHJpbmcmIE5ldHdvcmtTZXNzaW9uQ29j
b2E6OmJvdW5kSW50ZXJmYWNlSWRlbnRpZmllcigpIGNvbnN0CiB7CiAgICAgcmV0dXJuIG1fYm91
bmRJbnRlcmZhY2VJZGVudGlmaWVyOwpAQCAtMTE4NywxNSArMTE3Miw2IEBAIE5ldHdvcmtTZXNz
aW9uQ29jb2E6Ok5ldHdvcmtTZXNzaW9uQ29jb2EoTmV0d29ya1Byb2Nlc3MmIG5ldHdvcmtQcm9j
ZXNzLCBOZXR3b3JrCiAKICAgICBOU1VSTFNlc3Npb25Db25maWd1cmF0aW9uICpjb25maWd1cmF0
aW9uID0gY29uZmlndXJhdGlvbkZvclNlc3Npb25JRChtX3Nlc3Npb25JRCk7CiAKLSNpZiBIQVZF
KEhTVFNfU1RPUkFHRSkKLSAgICBpZiAoISFwYXJhbWV0ZXJzLmhzdHNTdG9yYWdlRGlyZWN0b3J5
ICYmICFtX3Nlc3Npb25JRC5pc0VwaGVtZXJhbCgpKSB7Ci0gICAgICAgIFNhbmRib3hFeHRlbnNp
b246OmNvbnN1bWVQZXJtYW5lbnRseShwYXJhbWV0ZXJzLmhzdHNTdG9yYWdlRGlyZWN0b3J5RXh0
ZW5zaW9uSGFuZGxlKTsKLSAgICAgICAgLy8gRklYTUU6IFJlbW92ZSB0aGlzIHJlc3BvbmRzVG9T
ZWxlY3RvciBjaGVjayBvbmNlIHJkYXI6Ly9wcm9ibGVtLzUwMTA5NjMxIGlzIGluIGEgYnVpbGQg
YW5kIGJvdHMgYXJlIHVwZGF0ZWQuCi0gICAgICAgIGlmIChbY29uZmlndXJhdGlvbiByZXNwb25k
c1RvU2VsZWN0b3I6QHNlbGVjdG9yKF9oc3RzU3RvcmFnZSldKQotICAgICAgICAgICAgY29uZmln
dXJhdGlvbi5faHN0c1N0b3JhZ2UgPSBbW2FsbG9jX05TSFNUU1N0b3JhZ2VJbnN0YW5jZSgpIGlu
aXRQZXJzaXN0ZW50U3RvcmVXaXRoVVJMOltOU1VSTCBmaWxlVVJMV2l0aFBhdGg6cGFyYW1ldGVy
cy5oc3RzU3RvcmFnZURpcmVjdG9yeSBpc0RpcmVjdG9yeTpZRVNdXSBhdXRvcmVsZWFzZV07Ci0g
ICAgfQotI2VuZGlmCi0KICNpZiBIQVZFKEFQUF9TU08pIHx8IFBMQVRGT1JNKE1BQ0NBVEFMWVNU
KQogICAgIGNvbmZpZ3VyYXRpb24uX3ByZXZlbnRzQXBwU1NPID0gdHJ1ZTsKICNlbmRpZgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9zb3VwL05ldHdvcmtQcm9jZXNz
U291cC5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3NvdXAvTmV0d29ya1Byb2Nl
c3NTb3VwLmNwcAppbmRleCBiYWY5YmI5MjIwZjJmNDIyYTdiYmEyNDI1Y2ZkMzNkZDYwN2IwNmMz
Li42MGZhNTU2YjllNGY0ODc5NGQ1YWEyZjA1NjlmYmJkZWU2NTMyOTkwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3NvdXAvTmV0d29ya1Byb2Nlc3NTb3VwLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3NvdXAvTmV0d29ya1Byb2Nlc3NTb3Vw
LmNwcApAQCAtOTQsMjMgKzk0LDIxIEBAIHN0YXRpYyBDU3RyaW5nIGJ1aWxkQWNjZXB0TGFuZ3Vh
Z2VzKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBsYW5ndWFnZXMpCiAgICAgcmV0dXJuIGJ1aWxkZXIu
dG9TdHJpbmcoKS51dGY4KCk7CiB9CiAKLUhhc2hTZXQ8U3RyaW5nPiBOZXR3b3JrUHJvY2Vzczo6
aG9zdE5hbWVzV2l0aEhTVFNDYWNoZShQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQpIGNvbnN0Cit2
b2lkIE5ldHdvcmtQcm9jZXNzOjpnZXRIb3N0TmFtZXNXaXRoSFNUU0NhY2hlKFdlYkNvcmU6Ok5l
dHdvcmtTdG9yYWdlU2Vzc2lvbiYgc3RvcmFnZVNlc3Npb24sIEhhc2hTZXQ8U3RyaW5nPiYgaG9z
dE5hbWVzKQogewotICAgIEhhc2hTZXQ8U3RyaW5nPiBob3N0TmFtZXM7Ci0gICAgY29uc3QgYXV0
byogc2Vzc2lvbiA9IHN0YXRpY19jYXN0PE5ldHdvcmtTZXNzaW9uU291cCo+KG5ldHdvcmtTZXNz
aW9uKHNlc3Npb25JRCkpOworICAgIGNvbnN0IGF1dG8qIHNlc3Npb24gPSBzdGF0aWNfY2FzdDxO
ZXR3b3JrU2Vzc2lvblNvdXAqPihuZXR3b3JrU2Vzc2lvbihzdG9yYWdlU2Vzc2lvbi5zZXNzaW9u
SUQoKSkpOwogICAgIHNlc3Npb24tPnNvdXBOZXR3b3JrU2Vzc2lvbigpLmdldEhvc3ROYW1lc1dp
dGhIU1RTQ2FjaGUoaG9zdE5hbWVzKTsKLSAgICByZXR1cm4gaG9zdE5hbWVzOwogfQogCi12b2lk
IE5ldHdvcmtQcm9jZXNzOjpkZWxldGVIU1RTQ2FjaGVGb3JIb3N0TmFtZXMoUEFMOjpTZXNzaW9u
SUQgc2Vzc2lvbklELCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgaG9zdE5hbWVzKQordm9pZCBOZXR3
b3JrUHJvY2Vzczo6ZGVsZXRlSFNUU0NhY2hlRm9ySG9zdE5hbWVzKFdlYkNvcmU6Ok5ldHdvcmtT
dG9yYWdlU2Vzc2lvbiYgc3RvcmFnZVNlc3Npb24sIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBob3N0
TmFtZXMpCiB7Ci0gICAgY29uc3QgYXV0byogc2Vzc2lvbiA9IHN0YXRpY19jYXN0PE5ldHdvcmtT
ZXNzaW9uU291cCo+KG5ldHdvcmtTZXNzaW9uKHNlc3Npb25JRCkpOworICAgIGNvbnN0IGF1dG8q
IHNlc3Npb24gPSBzdGF0aWNfY2FzdDxOZXR3b3JrU2Vzc2lvblNvdXAqPihuZXR3b3JrU2Vzc2lv
bihzdG9yYWdlU2Vzc2lvbi5zZXNzaW9uSUQoKSkpOwogICAgIHNlc3Npb24tPnNvdXBOZXR3b3Jr
U2Vzc2lvbigpLmRlbGV0ZUhTVFNDYWNoZUZvckhvc3ROYW1lcyhob3N0TmFtZXMpOwogfQogCi12
b2lkIE5ldHdvcmtQcm9jZXNzOjpjbGVhckhTVFNDYWNoZShQQUw6OlNlc3Npb25JRCBzZXNzaW9u
SUQsIFdhbGxUaW1lIG1vZGlmaWVkU2luY2UpCit2b2lkIE5ldHdvcmtQcm9jZXNzOjpjbGVhckhT
VFNDYWNoZShXZWJDb3JlOjpOZXR3b3JrU3RvcmFnZVNlc3Npb24mIHN0b3JhZ2VTZXNzaW9uLCBX
YWxsVGltZSBtb2RpZmllZFNpbmNlKQogewotICAgIGNvbnN0IGF1dG8qIHNlc3Npb24gPSBzdGF0
aWNfY2FzdDxOZXR3b3JrU2Vzc2lvblNvdXAqPihuZXR3b3JrU2Vzc2lvbihzZXNzaW9uSUQpKTsK
KyAgICBjb25zdCBhdXRvKiBzZXNzaW9uID0gc3RhdGljX2Nhc3Q8TmV0d29ya1Nlc3Npb25Tb3Vw
Kj4obmV0d29ya1Nlc3Npb24oc3RvcmFnZVNlc3Npb24uc2Vzc2lvbklEKCkpKTsKICAgICBzZXNz
aW9uLT5zb3VwTmV0d29ya1Nlc3Npb24oKS5jbGVhckhTVFNDYWNoZShtb2RpZmllZFNpbmNlKTsK
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvbWFjL1dLQ29u
dGV4dFByaXZhdGVNYWMuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL21hYy9XS0Nv
bnRleHRQcml2YXRlTWFjLmgKaW5kZXggZTk4ZjVmZGYyZTA2ZWE4M2U5OWU0YTQ2Y2QzNTAzM2Nj
MTgyMGQ4MS4uNDY4NmUzYmYxYzhjMmEwOGNmYzZlMTU0ZTA2NTE5MDJmYjQwMmYzOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvbWFjL1dLQ29udGV4dFByaXZhdGVN
YWMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9tYWMvV0tDb250ZXh0UHJp
dmF0ZU1hYy5oCkBAIC0yNyw3ICsyNyw2IEBACiAjZGVmaW5lIFdLQ29udGV4dFByaXZhdGVNYWNf
aAogCiAjaW5jbHVkZSA8V2ViS2l0L1dLQmFzZS5oPgotI2luY2x1ZGUgPFdlYktpdC9XS0RlcHJl
Y2F0ZWQuaD4KICNpbmNsdWRlIDxXZWJLaXQvV0tQbHVnaW5Mb2FkUG9saWN5Lmg+CiAKICNpZmRl
ZiBfX2NwbHVzcGx1cwpAQCAtNDQsOCArNDMsMTAgQEAgV0tfRVhQT1JUIFdLRGljdGlvbmFyeVJl
ZiBXS0NvbnRleHRDb3B5UGx1Z0luSW5mb0ZvckJ1bmRsZUlkZW50aWZpZXIoV0tDb250ZXh0UmUK
IHR5cGVkZWYgdm9pZCAoXldLQ29udGV4dEdldEluZm9Gb3JJbnN0YWxsZWRQbHVnSW5zQmxvY2sp
KFdLQXJyYXlSZWYsIFdLRXJyb3JSZWYpOwogV0tfRVhQT1JUIHZvaWQgV0tDb250ZXh0R2V0SW5m
b0Zvckluc3RhbGxlZFBsdWdJbnMoV0tDb250ZXh0UmVmIGNvbnRleHQsIFdLQ29udGV4dEdldElu
Zm9Gb3JJbnN0YWxsZWRQbHVnSW5zQmxvY2sgYmxvY2spOwogCi1XS19FWFBPUlQgdm9pZCBXS0Nv
bnRleHRSZXNldEhTVFNIb3N0cyhXS0NvbnRleHRSZWYgY29udGV4dCkgV0tfQ19BUElfREVQUkVD
QVRFRDsKLVdLX0VYUE9SVCB2b2lkIFdLQ29udGV4dFJlc2V0SFNUU0hvc3RzQWRkZWRBZnRlckRh
dGUoV0tDb250ZXh0UmVmIGNvbnRleHQsIGRvdWJsZSBzdGFydERhdGVJbnRlcnZhbFNpbmNlMTk3
MCkgV0tfQ19BUElfREVQUkVDQVRFRDsKK1dLX0VYUE9SVCB2b2lkIFdLQ29udGV4dFJlc2V0SFNU
U0hvc3RzKFdLQ29udGV4dFJlZiBjb250ZXh0KTsKKworLy8gVGhlIHRpbWUgaGVyZSBpcyByZWxh
dGl2ZSB0byB0aGUgVW5peCBlcG9jaC4KK1dLX0VYUE9SVCB2b2lkIFdLQ29udGV4dFJlc2V0SFNU
U0hvc3RzQWRkZWRBZnRlckRhdGUoV0tDb250ZXh0UmVmIGNvbnRleHQsIGRvdWJsZSBzdGFydERh
dGVJbnRlcnZhbFNpbmNlMTk3MCk7CiAKIFdLX0VYUE9SVCB2b2lkIFdLQ29udGV4dFJlZ2lzdGVy
U2NoZW1lRm9yQ3VzdG9tUHJvdG9jb2woV0tDb250ZXh0UmVmIGNvbnRleHQsIFdLU3RyaW5nUmVm
IHNjaGVtZSk7CiBXS19FWFBPUlQgdm9pZCBXS0NvbnRleHRVbnJlZ2lzdGVyU2NoZW1lRm9yQ3Vz
dG9tUHJvdG9jb2woV0tDb250ZXh0UmVmIGNvbnRleHQsIFdLU3RyaW5nUmVmIHNjaGVtZSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9tYWMvV0tDb250ZXh0UHJp
dmF0ZU1hYy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL21hYy9XS0NvbnRleHRQ
cml2YXRlTWFjLm1tCmluZGV4IGQzYTA3MTdhNmJmMmRjOTc0YzZlMzkwOWNiMTM4MGZmMGY2ZWU5
NjIuLjEzYzBjNmYwY2VjOTI1ZTZkOTJkYzI2YmQ1ZjgxNjczOGRlZjI3MDAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL21hYy9XS0NvbnRleHRQcml2YXRlTWFjLm1t
CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL21hYy9XS0NvbnRleHRQcml2YXRl
TWFjLm1tCkBAIC0xMDEsMTIgKzEwMSwxNCBAQCB2b2lkIFdLQ29udGV4dEdldEluZm9Gb3JJbnN0
YWxsZWRQbHVnSW5zKFdLQ29udGV4dFJlZiBjb250ZXh0UmVmLCBXS0NvbnRleHRHZXRJbgogI2Vu
ZGlmCiB9CiAKLXZvaWQgV0tDb250ZXh0UmVzZXRIU1RTSG9zdHMoV0tDb250ZXh0UmVmKQordm9p
ZCBXS0NvbnRleHRSZXNldEhTVFNIb3N0cyhXS0NvbnRleHRSZWYgY29udGV4dCkKIHsKKyAgICBy
ZXR1cm4gV2ViS2l0Ojp0b0ltcGwoY29udGV4dCktPnJlc2V0SFNUU0hvc3RzKCk7CiB9CiAKLXZv
aWQgV0tDb250ZXh0UmVzZXRIU1RTSG9zdHNBZGRlZEFmdGVyRGF0ZShXS0NvbnRleHRSZWYsIGRv
dWJsZSkKK3ZvaWQgV0tDb250ZXh0UmVzZXRIU1RTSG9zdHNBZGRlZEFmdGVyRGF0ZShXS0NvbnRl
eHRSZWYgY29udGV4dCwgZG91YmxlIHN0YXJ0RGF0ZUludGVydmFsU2luY2UxOTcwKQogeworICAg
IHJldHVybiBXZWJLaXQ6OnRvSW1wbChjb250ZXh0KS0+cmVzZXRIU1RTSG9zdHNBZGRlZEFmdGVy
RGF0ZShzdGFydERhdGVJbnRlcnZhbFNpbmNlMTk3MCk7CiB9CiAKIHZvaWQgV0tDb250ZXh0UmVn
aXN0ZXJTY2hlbWVGb3JDdXN0b21Qcm90b2NvbChXS0NvbnRleHRSZWYgY29udGV4dCwgV0tTdHJp
bmdSZWYgc2NoZW1lKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Nv
Y29hL19XS1Byb2Nlc3NQb29sQ29uZmlndXJhdGlvbi5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0NvY29hL19XS1Byb2Nlc3NQb29sQ29uZmlndXJhdGlvbi5oCmluZGV4IDcyMjZjYzJj
YjYwNWQyMzg0YjVmZGY5MjEwYWM3MzFiNDE2MTBjMWUuLmRmMmI5MTljOWJhMThjYzljYzA0NzFh
NDMzNGViODVjNDVlMzgyMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9fV0tQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uLmgKQEAgLTY4
LDcgKzY4LDcgQEAgV0tfQ0xBU1NfQVZBSUxBQkxFKG1hY29zKDEwLjEwKSwgaW9zKDguMCkpCiBA
cHJvcGVydHkgKG5vbmF0b21pYykgQk9PTCB1c2VzV2ViUHJvY2Vzc0NhY2hlIFdLX0FQSV9BVkFJ
TEFCTEUobWFjb3MoMTAuMTQuNCksIGlvcygxMi4yKSk7CiBAcHJvcGVydHkgKG5vbmF0b21pYykg
Qk9PTCBwYWdlQ2FjaGVFbmFibGVkIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoMTAuMTQpLCBpb3Mo
MTIuMCkpOwogQHByb3BlcnR5IChub25hdG9taWMsIGdldHRlcj1pc0pJVEVuYWJsZWQpIEJPT0wg
SklURW5hYmxlZCBXS19BUElfQVZBSUxBQkxFKG1hY29zKDEwLjE0LjQpLCBpb3MoMTIuMikpOwot
QHByb3BlcnR5IChub25hdG9taWMsIG51bGxhYmxlLCBjb3B5LCBzZXR0ZXI9c2V0SFNUU1N0b3Jh
Z2VEaXJlY3Rvcnk6KSBOU1VSTCAqaHN0c1N0b3JhZ2VEaXJlY3RvcnkgV0tfQVBJX0RFUFJFQ0FU
RURfV0lUSF9SRVBMQUNFTUVOVCgiX1dLV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24uaHN0
c1N0b3JhZ2VEaXJlY3RvcnkiLCBtYWNvcygxMC4xNSwgV0tfTUFDX1RCQSksIGlvcygxMy4wLCBX
S19JT1NfVEJBKSk7CitAcHJvcGVydHkgKG5vbmF0b21pYywgbnVsbGFibGUsIGNvcHksIHNldHRl
cj1zZXRIU1RTU3RvcmFnZURpcmVjdG9yeTopIE5TVVJMICpoc3RzU3RvcmFnZURpcmVjdG9yeSBX
S19BUElfQVZBSUxBQkxFKG1hY29zKDEwLjE1KSwgaW9zKDEzLjApKTsKIAogQHByb3BlcnR5IChu
b25hdG9taWMpIEJPT0wgY29uZmlndXJlSlNDRm9yVGVzdGluZyBXS19BUElfQVZBSUxBQkxFKG1h
Y29zKFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRp
b24uaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tXZWJzaXRlRGF0YVN0
b3JlQ29uZmlndXJhdGlvbi5oCmluZGV4IDcxYzEzZDgwYWNhODZiMTk3NGI4YTgzMjIzYTdkYTdm
NWY2NjY3ODYuLjI5ZDhjNTk0Y2FmM2VkNzEyMTZmYTc2Y2E3ZTdmMTc2ODMwNDViZmQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tXZWJzaXRlRGF0YVN0
b3JlQ29uZmlndXJhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9fV0tXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbi5oCkBAIC03Miw3ICs3Miw2IEBAIFdL
X0NMQVNTX0FWQUlMQUJMRShtYWNvcygxMC4xMyksIGlvcygxMS4wKSkKIEBwcm9wZXJ0eSAobm9u
YXRvbWljKSBOU1VJbnRlZ2VyIHRlc3RTcGVlZE11bHRpcGxpZXIgV0tfQVBJX0FWQUlMQUJMRSht
YWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKIEBwcm9wZXJ0eSAobm9uYXRvbWlj
KSBCT09MIHN1cHByZXNzZXNDb25uZWN0aW9uVGVybWluYXRpb25PblN5c3RlbUNoYW5nZSBXS19B
UElfQVZBSUxBQkxFKG1hY29zKFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOwogQHByb3Bl
cnR5IChub25hdG9taWMpIEJPT0wgYWxsb3dzU2VydmVyUHJlY29ubmVjdCBXS19BUElfQVZBSUxB
QkxFKG1hY29zKFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOwotQHByb3BlcnR5IChub25h
dG9taWMsIG51bGxhYmxlLCBjb3B5LCBzZXR0ZXI9c2V0SFNUU1N0b3JhZ2VEaXJlY3Rvcnk6KSBO
U1VSTCAqaHN0c1N0b3JhZ2VEaXJlY3RvcnkgV0tfQVBJX0FWQUlMQUJMRShtYWNvcyhXS19NQUNf
VEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKIAogQHByb3BlcnR5IChub25hdG9taWMsIG51bGxhYmxl
LCBjb3B5KSBOU1VSTCAqYWx0ZXJuYXRpdmVTZXJ2aWNlc1N0b3JhZ2VEaXJlY3RvcnkgV0tfQVBJ
X0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1dlYnNpdGVEYXRhU3Rv
cmVDb25maWd1cmF0aW9uLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19X
S1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uLm1tCmluZGV4IDBmYWY3OWY1NzdiNWNjNmQz
OGZiYTViOTc2OWI0M2IyYWU2ZjY0MzAuLjAxNTMxMTYwMDU2NDgwM2E5ZDBiOGRlOWJmMWZlNzlm
ZjEwMmJlYTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9f
V0tXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbi5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvX1dLV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24ubW0KQEAg
LTI5MCwxOSArMjkwLDYgQEAgLSAodm9pZClzZXRNZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5OihO
U1VSTCAqKXVybAogICAgIF9jb25maWd1cmF0aW9uLT5zZXRNZWRpYUtleXNTdG9yYWdlRGlyZWN0
b3J5KHVybC5wYXRoKTsKIH0KIAotLSAoTlNVUkwgKiloc3RzU3RvcmFnZURpcmVjdG9yeQotewot
ICAgIHJldHVybiBbTlNVUkwgZmlsZVVSTFdpdGhQYXRoOl9jb25maWd1cmF0aW9uLT5oc3RzU3Rv
cmFnZURpcmVjdG9yeSgpIGlzRGlyZWN0b3J5OllFU107Ci19Ci0KLS0gKHZvaWQpc2V0SFNUU1N0
b3JhZ2VEaXJlY3Rvcnk6KE5TVVJMICopdXJsCi17Ci0gICAgaWYgKCFfY29uZmlndXJhdGlvbi0+
aXNQZXJzaXN0ZW50KCkpCi0gICAgICAgIFtOU0V4Y2VwdGlvbiByYWlzZTpOU0ludmFsaWRBcmd1
bWVudEV4Y2VwdGlvbiBmb3JtYXQ6QCJDYW5ub3Qgc2V0IGhzdHNTdG9yYWdlRGlyZWN0b3J5IG9u
IGEgbm9uLXBlcnNpc3RlbnQgX1dLV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24uIl07Ci0g
ICAgY2hlY2tVUkxBcmd1bWVudCh1cmwpOwotICAgIF9jb25maWd1cmF0aW9uLT5zZXRIU1RTU3Rv
cmFnZURpcmVjdG9yeSh1cmwucGF0aCk7Ci19Ci0KIC0gKE5TVVJMICopYWx0ZXJuYXRpdmVTZXJ2
aWNlc1N0b3JhZ2VEaXJlY3RvcnkKIHsKICAgICByZXR1cm4gW05TVVJMIGZpbGVVUkxXaXRoUGF0
aDpfY29uZmlndXJhdGlvbi0+YWx0ZXJuYXRpdmVTZXJ2aWNlc0RpcmVjdG9yeSgpIGlzRGlyZWN0
b3J5OllFU107CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQ
cm9jZXNzUG9vbENvY29hLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJv
Y2Vzc1Bvb2xDb2NvYS5tbQppbmRleCBhMTc2MGY4NjhmNDUzMmVjMTM5YjJkZGEyZjljNTNkYTky
MGY4YjRkLi4xZmE2MDMxZDlhZDg2NzI0ODc5ODI2YWY2MDM2ZWZkMmNiZDVjMjFiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1t
CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2Eu
bW0KQEAgLTcyOCw2ICs3MjgsMTggQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6dW5yZWdpc3Rlck5v
dGlmaWNhdGlvbk9ic2VydmVycygpCiAgICAgW1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0
Q2VudGVyXSByZW1vdmVPYnNlcnZlcjptX2FjdGl2YXRpb25PYnNlcnZlci5nZXQoKV07CiB9CiAK
K3N0YXRpYyBDRlVSTFN0b3JhZ2VTZXNzaW9uUmVmIHByaXZhdGVCcm93c2luZ1Nlc3Npb24oKQor
eworICAgIHN0YXRpYyBDRlVSTFN0b3JhZ2VTZXNzaW9uUmVmIHNlc3Npb247CisgICAgc3RhdGlj
IGRpc3BhdGNoX29uY2VfdCBvbmNlOworICAgIGRpc3BhdGNoX29uY2UoJm9uY2UsIF57CisgICAg
ICAgIE5TU3RyaW5nICppZGVudGlmaWVyID0gW05TU3RyaW5nIHN0cmluZ1dpdGhGb3JtYXQ6QCIl
QC5Qcml2YXRlQnJvd3NpbmciLCBbW05TQnVuZGxlIG1haW5CdW5kbGVdIGJ1bmRsZUlkZW50aWZp
ZXJdXTsKKyAgICAgICAgc2Vzc2lvbiA9IGNyZWF0ZVByaXZhdGVTdG9yYWdlU2Vzc2lvbigoX19i
cmlkZ2UgQ0ZTdHJpbmdSZWYpaWRlbnRpZmllcik7CisgICAgfSk7CisKKyAgICByZXR1cm4gc2Vz
c2lvbjsKK30KKwogYm9vbCBXZWJQcm9jZXNzUG9vbDo6aXNVUkxLbm93bkhTVFNIb3N0KGNvbnN0
IFN0cmluZyYgdXJsU3RyaW5nKSBjb25zdAogewogICAgIFJldGFpblB0cjxDRlVSTFJlZj4gdXJs
ID0gVVJMKFVSTCgpLCB1cmxTdHJpbmcpLmNyZWF0ZUNGVVJMKCk7CkBAIC03MzUsNiArNzQ3LDE5
IEBAIGJvb2wgV2ViUHJvY2Vzc1Bvb2w6OmlzVVJMS25vd25IU1RTSG9zdChjb25zdCBTdHJpbmcm
IHVybFN0cmluZykgY29uc3QKICAgICByZXR1cm4gX0NGTmV0d29ya0lzS25vd25IU1RTSG9zdFdp
dGhTZXNzaW9uKHVybC5nZXQoKSwgbnVsbHB0cik7CiB9CiAKK3ZvaWQgV2ViUHJvY2Vzc1Bvb2w6
OnJlc2V0SFNUU0hvc3RzKCkKK3sKKyAgICBfQ0ZOZXR3b3JrUmVzZXRIU1RTSG9zdHNXaXRoU2Vz
c2lvbihudWxscHRyKTsKKyAgICBfQ0ZOZXR3b3JrUmVzZXRIU1RTSG9zdHNXaXRoU2Vzc2lvbihw
cml2YXRlQnJvd3NpbmdTZXNzaW9uKCkpOworfQorCit2b2lkIFdlYlByb2Nlc3NQb29sOjpyZXNl
dEhTVFNIb3N0c0FkZGVkQWZ0ZXJEYXRlKGRvdWJsZSBzdGFydERhdGVJbnRlcnZhbFNpbmNlMTk3
MCkKK3sKKyAgICBOU0RhdGUgKnN0YXJ0RGF0ZSA9IFtOU0RhdGUgZGF0ZVdpdGhUaW1lSW50ZXJ2
YWxTaW5jZTE5NzA6c3RhcnREYXRlSW50ZXJ2YWxTaW5jZTE5NzBdOworICAgIF9DRk5ldHdvcmtS
ZXNldEhTVFNIb3N0c1NpbmNlRGF0ZShudWxscHRyLCAoX19icmlkZ2UgQ0ZEYXRlUmVmKXN0YXJ0
RGF0ZSk7CisgICAgX0NGTmV0d29ya1Jlc2V0SFNUU0hvc3RzU2luY2VEYXRlKHByaXZhdGVCcm93
c2luZ1Nlc3Npb24oKSwgKF9fYnJpZGdlIENGRGF0ZVJlZilzdGFydERhdGUpOworfQorCiAjaWYg
UExBVEZPUk0oTUFDKSAmJiBFTkFCTEUoV0VCUFJPQ0VTU19XSU5ET1dTRVJWRVJfQkxPQ0tJTkcp
CiBPcHRpb25hbDx1bnNpZ25lZD4gV2ViUHJvY2Vzc1Bvb2w6Om5vbWluYWxGcmFtZXNQZXJTZWNv
bmRGb3JEaXNwbGF5KFdlYkNvcmU6OlBsYXRmb3JtRGlzcGxheUlEIGRpc3BsYXlJRCkKIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmggYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oCmluZGV4IDQwYmQ4YzEwNmZkNzYx
MmE2YmU2ODUxZDcyZTllYTlkN2EyZmM4MmUuLmJmMmQ4YzdlNTJkZmIwODZmNjU1MmFlMTMwNWNk
NzhkOGU2Njc3YWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nl
c3NQb29sLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaApA
QCAtNDIyLDYgKzQyMiw4IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBkaWRSZWNlaXZlSW52
YWxpZE1lc3NhZ2UoSVBDOjpNZXNzYWdlTmFtZSk7CiAKICAgICBib29sIGlzVVJMS25vd25IU1RT
SG9zdChjb25zdCBTdHJpbmcmIHVybFN0cmluZykgY29uc3Q7CisgICAgdm9pZCByZXNldEhTVFNI
b3N0cygpOworICAgIHZvaWQgcmVzZXRIU1RTSG9zdHNBZGRlZEFmdGVyRGF0ZShkb3VibGUgc3Rh
cnREYXRlSW50ZXJ2YWxTaW5jZTE5NzApOwogCiAgICAgc3RhdGljIHZvaWQgcmVnaXN0ZXJHbG9i
YWxVUkxTY2hlbWVBc0hhdmluZ0N1c3RvbVByb3RvY29sSGFuZGxlcnMoY29uc3QgU3RyaW5nJik7
CiAgICAgc3RhdGljIHZvaWQgdW5yZWdpc3Rlckdsb2JhbFVSTFNjaGVtZUFzSGF2aW5nQ3VzdG9t
UHJvdG9jb2xIYW5kbGVycyhjb25zdCBTdHJpbmcmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuY3BwIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5jcHAKaW5kZXggZDZh
ZTFjODhjM2IzNzhhMWUyNzcyODk4NDZiYWJiMjRhOTZmZmJmMi4uY2U5YmQ3ZjhiODQxMTlkOTBh
ODM4YjVhZmVlMDRiOGJmNzllMmRkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5jcHAKQEAgLTIzMiw4ICsyMzIs
NiBAQCB2b2lkIFdlYnNpdGVEYXRhU3RvcmU6OnJlc29sdmVEaXJlY3Rvcmllc0lmTmVjZXNzYXJ5
KCkKICAgICAgICAgbV9yZXNvbHZlZENvbmZpZ3VyYXRpb24tPnNldEphdmFTY3JpcHRDb25maWd1
cmF0aW9uRGlyZWN0b3J5KHJlc29sdmVQYXRoRm9yU2FuZGJveEV4dGVuc2lvbihtX2NvbmZpZ3Vy
YXRpb24tPmphdmFTY3JpcHRDb25maWd1cmF0aW9uRGlyZWN0b3J5KCkpKTsKICAgICBpZiAoIW1f
Y29uZmlndXJhdGlvbi0+Y2FjaGVTdG9yYWdlRGlyZWN0b3J5KCkuaXNFbXB0eSgpICYmIG1fcmVz
b2x2ZWRDb25maWd1cmF0aW9uLT5jYWNoZVN0b3JhZ2VEaXJlY3RvcnkoKS5pc0VtcHR5KCkpCiAg
ICAgICAgIG1fcmVzb2x2ZWRDb25maWd1cmF0aW9uLT5zZXRDYWNoZVN0b3JhZ2VEaXJlY3Rvcnko
cmVzb2x2ZVBhdGhGb3JTYW5kYm94RXh0ZW5zaW9uKG1fY29uZmlndXJhdGlvbi0+Y2FjaGVTdG9y
YWdlRGlyZWN0b3J5KCkpKTsKLSAgICBpZiAoIW1fY29uZmlndXJhdGlvbi0+aHN0c1N0b3JhZ2VE
aXJlY3RvcnkoKS5pc0VtcHR5KCkgJiYgbV9yZXNvbHZlZENvbmZpZ3VyYXRpb24tPmhzdHNTdG9y
YWdlRGlyZWN0b3J5KCkuaXNFbXB0eSgpKQotICAgICAgICBtX3Jlc29sdmVkQ29uZmlndXJhdGlv
bi0+c2V0SFNUU1N0b3JhZ2VEaXJlY3RvcnkocmVzb2x2ZVBhdGhGb3JTYW5kYm94RXh0ZW5zaW9u
KG1fY29uZmlndXJhdGlvbi0+aHN0c1N0b3JhZ2VEaXJlY3RvcnkoKSkpOwogCiAgICAgLy8gUmVz
b2x2ZSBkaXJlY3RvcmllcyBmb3IgZmlsZSBwYXRocy4KICAgICBpZiAoIW1fY29uZmlndXJhdGlv
bi0+Y29va2llU3RvcmFnZUZpbGUoKS5pc0VtcHR5KCkpIHsKQEAgLTIyNjEsMTEgKzIyNTksNiBA
QCBXZWJzaXRlRGF0YVN0b3JlUGFyYW1ldGVycyBXZWJzaXRlRGF0YVN0b3JlOjpwYXJhbWV0ZXJz
KCkKICAgICBpZiAoIW5ldHdvcmtDYWNoZURpcmVjdG9yeS5pc0VtcHR5KCkpCiAgICAgICAgIFNh
bmRib3hFeHRlbnNpb246OmNyZWF0ZUhhbmRsZUZvclJlYWRXcml0ZURpcmVjdG9yeShuZXR3b3Jr
Q2FjaGVEaXJlY3RvcnksIG5ldHdvcmtDYWNoZURpcmVjdG9yeUV4dGVuc2lvbkhhbmRsZSk7CiAK
LSAgICBhdXRvIGhzdHNTdG9yYWdlRGlyZWN0b3J5ID0gcmVzb2x2ZWRIU1RTU3RvcmFnZURpcmVj
dG9yeSgpOwotICAgIFNhbmRib3hFeHRlbnNpb246OkhhbmRsZSBoc3RzU3RvcmFnZURpcmVjdG9y
eUV4dGVuc2lvbkhhbmRsZTsKLSAgICBpZiAoIWhzdHNTdG9yYWdlRGlyZWN0b3J5LmlzRW1wdHko
KSkKLSAgICAgICAgU2FuZGJveEV4dGVuc2lvbjo6Y3JlYXRlSGFuZGxlRm9yUmVhZFdyaXRlRGly
ZWN0b3J5KGhzdHNTdG9yYWdlRGlyZWN0b3J5LCBoc3RzU3RvcmFnZURpcmVjdG9yeUV4dGVuc2lv
bkhhbmRsZSk7Ci0KICAgICBib29sIHNob3VsZEluY2x1ZGVMb2NhbGhvc3RJblJlc291cmNlTG9h
ZFN0YXRpc3RpY3MgPSBmYWxzZTsKICAgICBib29sIGVuYWJsZVJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NEZWJ1Z01vZGUgPSBmYWxzZTsKICAgICBhdXRvIGZpcnN0UGFydHlXZWJzaXRlRGF0YVJlbW92
YWxNb2RlID0gV2ViQ29yZTo6Rmlyc3RQYXJ0eVdlYnNpdGVEYXRhUmVtb3ZhbE1vZGU6OkFsbEJ1
dENvb2tpZXM7CkBAIC0yMzA3LDggKzIzMDAsNiBAQCBXZWJzaXRlRGF0YVN0b3JlUGFyYW1ldGVy
cyBXZWJzaXRlRGF0YVN0b3JlOjpwYXJhbWV0ZXJzKCkKICAgICBuZXR3b3JrU2Vzc2lvblBhcmFt
ZXRlcnMuYWxsTG9hZHNCbG9ja2VkQnlEZXZpY2VNYW5hZ2VtZW50UmVzdHJpY3Rpb25zRm9yVGVz
dGluZyA9IG1fY29uZmlndXJhdGlvbi0+YWxsTG9hZHNCbG9ja2VkQnlEZXZpY2VNYW5hZ2VtZW50
UmVzdHJpY3Rpb25zRm9yVGVzdGluZygpOwogICAgIG5ldHdvcmtTZXNzaW9uUGFyYW1ldGVycy5u
ZXR3b3JrQ2FjaGVEaXJlY3RvcnkgPSBXVEZNb3ZlKG5ldHdvcmtDYWNoZURpcmVjdG9yeSk7CiAg
ICAgbmV0d29ya1Nlc3Npb25QYXJhbWV0ZXJzLm5ldHdvcmtDYWNoZURpcmVjdG9yeUV4dGVuc2lv
bkhhbmRsZSA9IFdURk1vdmUobmV0d29ya0NhY2hlRGlyZWN0b3J5RXh0ZW5zaW9uSGFuZGxlKTsK
LSAgICBuZXR3b3JrU2Vzc2lvblBhcmFtZXRlcnMuaHN0c1N0b3JhZ2VEaXJlY3RvcnkgPSBXVEZN
b3ZlKGhzdHNTdG9yYWdlRGlyZWN0b3J5KTsKLSAgICBuZXR3b3JrU2Vzc2lvblBhcmFtZXRlcnMu
aHN0c1N0b3JhZ2VEaXJlY3RvcnlFeHRlbnNpb25IYW5kbGUgPSBXVEZNb3ZlKGhzdHNTdG9yYWdl
RGlyZWN0b3J5RXh0ZW5zaW9uSGFuZGxlKTsKICAgICBuZXR3b3JrU2Vzc2lvblBhcmFtZXRlcnMu
ZGF0YUNvbm5lY3Rpb25TZXJ2aWNlVHlwZSA9IG1fY29uZmlndXJhdGlvbi0+ZGF0YUNvbm5lY3Rp
b25TZXJ2aWNlVHlwZSgpOwogICAgIG5ldHdvcmtTZXNzaW9uUGFyYW1ldGVycy5mYXN0U2VydmVy
VHJ1c3RFdmFsdWF0aW9uRW5hYmxlZCA9IG1fY29uZmlndXJhdGlvbi0+ZmFzdFNlcnZlclRydXN0
RXZhbHVhdGlvbkVuYWJsZWQoKTsKICAgICBuZXR3b3JrU2Vzc2lvblBhcmFtZXRlcnMubmV0d29y
a0NhY2hlU3BlY3VsYXRpdmVWYWxpZGF0aW9uRW5hYmxlZCA9IG1fY29uZmlndXJhdGlvbi0+bmV0
d29ya0NhY2hlU3BlY3VsYXRpdmVWYWxpZGF0aW9uRW5hYmxlZCgpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5oIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5oCmluZGV4
IDcxYzg1YTJhYmEwYTkyMWRjMDliZjJkZGMzZjAxZGZlNGM5YjAyYjUuLjBmNTViOGI1ZmFjOTMy
MTc1MWEyNjMxODQxYjAxZGNkMGYyNWY4MWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmgKQEAgLTIyNCw3ICsyMjQs
NiBAQCBwdWJsaWM6CiAgICAgY29uc3QgU3RyaW5nJiByZXNvbHZlZEluZGV4ZWREYXRhYmFzZURp
cmVjdG9yeSgpIGNvbnN0IHsgcmV0dXJuIG1fcmVzb2x2ZWRDb25maWd1cmF0aW9uLT5pbmRleGVk
REJEYXRhYmFzZURpcmVjdG9yeSgpOyB9CiAgICAgY29uc3QgU3RyaW5nJiByZXNvbHZlZFNlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb25EaXJlY3RvcnkoKSBjb25zdCB7IHJldHVybiBtX3Jlc29sdmVk
Q29uZmlndXJhdGlvbi0+c2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRpcmVjdG9yeSgpOyB9CiAg
ICAgY29uc3QgU3RyaW5nJiByZXNvbHZlZFJlc291cmNlTG9hZFN0YXRpc3RpY3NEaXJlY3Rvcnko
KSBjb25zdCB7IHJldHVybiBtX3Jlc29sdmVkQ29uZmlndXJhdGlvbi0+cmVzb3VyY2VMb2FkU3Rh
dGlzdGljc0RpcmVjdG9yeSgpOyB9Ci0gICAgY29uc3QgU3RyaW5nJiByZXNvbHZlZEhTVFNTdG9y
YWdlRGlyZWN0b3J5KCkgY29uc3QgeyByZXR1cm4gbV9yZXNvbHZlZENvbmZpZ3VyYXRpb24tPmhz
dHNTdG9yYWdlRGlyZWN0b3J5KCk7IH0KIAogICAgIERldmljZUlkSGFzaFNhbHRTdG9yYWdlJiBk
ZXZpY2VJZEhhc2hTYWx0U3RvcmFnZSgpIHsgcmV0dXJuIG1fZGV2aWNlSWRIYXNoU2FsdFN0b3Jh
Z2UuZ2V0KCk7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0
ZURhdGEvV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24uY3BwIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24uY3BwCmlu
ZGV4IDFiMWJmYTk4MTI1ODMxYzhkMWE2ZTg0ZjBjYjNiZDIyMTA0YzJlMTMuLmE3NWE3OTBkNjUx
YjBjMDMyODVjMDQ1ODgzOWRhNDU1YmU0NDk2NWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3Jl
Q29uZmlndXJhdGlvbi5jcHAKQEAgLTY3LDcgKzY3LDkgQEAgUmVmPFdlYnNpdGVEYXRhU3RvcmVD
b25maWd1cmF0aW9uPiBXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbjo6Y29weSgpIGNvbnN0
CiAgICAgY29weS0+bV9pbmRleGVkREJEYXRhYmFzZURpcmVjdG9yeSA9IHRoaXMtPm1faW5kZXhl
ZERCRGF0YWJhc2VEaXJlY3Rvcnk7CiAgICAgY29weS0+bV9zZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uRGlyZWN0b3J5ID0gdGhpcy0+bV9zZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGlyZWN0b3J5
OwogICAgIGNvcHktPm1fd2ViU1FMRGF0YWJhc2VEaXJlY3RvcnkgPSB0aGlzLT5tX3dlYlNRTERh
dGFiYXNlRGlyZWN0b3J5OworI2lmIFVTRShHTElCKQogICAgIGNvcHktPm1faHN0c1N0b3JhZ2VE
aXJlY3RvcnkgPSB0aGlzLT5tX2hzdHNTdG9yYWdlRGlyZWN0b3J5OworI2VuZGlmCiAgICAgY29w
eS0+bV9sb2NhbFN0b3JhZ2VEaXJlY3RvcnkgPSB0aGlzLT5tX2xvY2FsU3RvcmFnZURpcmVjdG9y
eTsKICAgICBjb3B5LT5tX21lZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnkgPSB0aGlzLT5tX21lZGlh
S2V5c1N0b3JhZ2VEaXJlY3Rvcnk7CiAgICAgY29weS0+bV9hbHRlcm5hdGl2ZVNlcnZpY2VzRGly
ZWN0b3J5ID0gdGhpcy0+bV9hbHRlcm5hdGl2ZVNlcnZpY2VzRGlyZWN0b3J5OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZUNv
bmZpZ3VyYXRpb24uaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNp
dGVEYXRhU3RvcmVDb25maWd1cmF0aW9uLmgKaW5kZXggY2JiN2VkYzRiMGQ5OGU4ZDk3M2ZkMDFl
NjQ2NWM4ZGZlOGIzYWI5My4uNWRjNzIyMWNkOGQzYTU5ZDY0NDZmNGUwMDg5YTAyYjA2MmUyMjk4
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0
ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbi5oCkBAIC02NiwxMCArNjYs
MTAgQEAgcHVibGljOgogCiAgICAgY29uc3QgU3RyaW5nJiB3ZWJTUUxEYXRhYmFzZURpcmVjdG9y
eSgpIGNvbnN0IHsgcmV0dXJuIG1fd2ViU1FMRGF0YWJhc2VEaXJlY3Rvcnk7IH0KICAgICB2b2lk
IHNldFdlYlNRTERhdGFiYXNlRGlyZWN0b3J5KFN0cmluZyYmIGRpcmVjdG9yeSkgeyBtX3dlYlNR
TERhdGFiYXNlRGlyZWN0b3J5ID0gV1RGTW92ZShkaXJlY3RvcnkpOyB9Ci0KKyNpZiBVU0UoR0xJ
QikgLy8gQWNjb3JkaW5nIHRvIHIyNDUwNzUgdGhpcyB3aWxsIGV2ZW50dWFsbHkgbW92ZSBoZXJl
LgogICAgIGNvbnN0IFN0cmluZyYgaHN0c1N0b3JhZ2VEaXJlY3RvcnkoKSBjb25zdCB7IHJldHVy
biBtX2hzdHNTdG9yYWdlRGlyZWN0b3J5OyB9CiAgICAgdm9pZCBzZXRIU1RTU3RvcmFnZURpcmVj
dG9yeShTdHJpbmcmJiBkaXJlY3RvcnkpIHsgbV9oc3RzU3RvcmFnZURpcmVjdG9yeSA9IFdURk1v
dmUoZGlyZWN0b3J5KTsgfQotCisjZW5kaWYKICAgICBjb25zdCBTdHJpbmcmIGxvY2FsU3RvcmFn
ZURpcmVjdG9yeSgpIGNvbnN0IHsgcmV0dXJuIG1fbG9jYWxTdG9yYWdlRGlyZWN0b3J5OyB9CiAg
ICAgdm9pZCBzZXRMb2NhbFN0b3JhZ2VEaXJlY3RvcnkoU3RyaW5nJiYgZGlyZWN0b3J5KSB7IG1f
bG9jYWxTdG9yYWdlRGlyZWN0b3J5ID0gV1RGTW92ZShkaXJlY3RvcnkpOyB9CiAKQEAgLTE3NCw4
ICsxNzQsOCBAQCBwcml2YXRlOgogICAgIFN0cmluZyBtX2luZGV4ZWREQkRhdGFiYXNlRGlyZWN0
b3J5OwogICAgIFN0cmluZyBtX3NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EaXJlY3Rvcnk7CiAg
ICAgU3RyaW5nIG1fd2ViU1FMRGF0YWJhc2VEaXJlY3Rvcnk7Ci0gICAgU3RyaW5nIG1faHN0c1N0
b3JhZ2VEaXJlY3Rvcnk7CiAjaWYgVVNFKEdMSUIpCisgICAgU3RyaW5nIG1faHN0c1N0b3JhZ2VE
aXJlY3Rvcnk7CiAgICAgYm9vbCBtX25ldHdvcmtDYWNoZVNwZWN1bGF0aXZlVmFsaWRhdGlvbkVu
YWJsZWQgeyB0cnVlIH07CiAjZWxzZQogICAgIGJvb2wgbV9uZXR3b3JrQ2FjaGVTcGVjdWxhdGl2
ZVZhbGlkYXRpb25FbmFibGVkIHsgZmFsc2UgfTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>