<?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>206263</bug_id>
          
          <creation_ts>2020-01-14 15:08:23 -0800</creation_ts>
          <short_desc>REGRESSION(r254533): Breaks iOS and macOS builds (Requested by ryanhaddad on #webkit).</short_desc>
          <delta_ts>2020-01-14 15:12:16 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>206112</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>achristensen</cc>
    
    <cc>jiewen_tan</cc>
    
    <cc>ryanhaddad</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1606620</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-14 15:08:23 -0800</bug_when>
    <thetext>https://trac.webkit.org/changeset/254533 broke the build:
Breaks iOS and macOS builds (Requested by ryanhaddad on #webkit).

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>1606622</commentid>
    <comment_count>1</comment_count>
      <attachid>387709</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-14 15:08:32 -0800</bug_when>
    <thetext>Created attachment 387709
ROLLOUT of r254533

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 rollout will be successful.  This process takes approximately 15 minutes.

If you would like to land the rollout 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>1606626</commentid>
    <comment_count>2</comment_count>
      <attachid>387709</attachid>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2020-01-14 15:11:19 -0800</bug_when>
    <thetext>Comment on attachment 387709
ROLLOUT of r254533

Clearing flags on attachment: 387709

Committed r254539: &lt;https://trac.webkit.org/changeset/254539&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1606627</commentid>
    <comment_count>3</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2020-01-14 15:11:20 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1606629</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-01-14 15:12:16 -0800</bug_when>
    <thetext>&lt;rdar://problem/58583832&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>387709</attachid>
            <date>2020-01-14 15:08:32 -0800</date>
            <delta_ts>2020-01-14 15:11:19 -0800</delta_ts>
            <desc>ROLLOUT of r254533</desc>
            <filename>bug-206263-20200114150831.patch</filename>
            <type>text/plain</type>
            <size>57942</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU0NTM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWY5MGNiOTNhNGZlYTAx
MDMxNDc0NDU2YmUwYzcwZTk4N2Q3NzU1Mi4uMDE0MWJlMDljOGJmYWYxM2NiN2M1YmUyZjllMTYy
NWM2NzMxOWE3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDIwLTAxLTE0ICBDb21t
aXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KKworICAgICAgICBVbnJldmlld2Vk
LCByb2xsaW5nIG91dCByMjU0NTMzIGFuZCByMjU0NTM1LgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA2MjYzCisKKyAgICAgICAgQnJlYWtzIGlPUyBh
bmQgbWFjT1MgYnVpbGRzIChSZXF1ZXN0ZWQgYnkgcnlhbmhhZGRhZCBvbgorICAgICAgICAjd2Vi
a2l0KS4KKworICAgICAgICBSZXZlcnRlZCBjaGFuZ2VzZXRzOgorCisgICAgICAgICJbV2ViQXV0
aG5dIEltcGxlbWVudCBTUEkgdG8gdGVsbCBVSSBjbGllbnRzIHRvIHNlbGVjdAorICAgICAgICBh
c3NlcnRpb24gcmVzcG9uc2VzIgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjA2MTEyCisgICAgICAgIGh0dHBzOi8vdHJhYy53ZWJraXQub3JnL2NoYW5n
ZXNldC8yNTQ1MzMKKworICAgICAgICAiVW5yZXZpZXdlZCwgYSBidWlsZCBmaXggYWZ0ZXIgcjI1
NDUzMyIKKyAgICAgICAgaHR0cHM6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzI1NDUzNQor
CiAyMDIwLTAxLTE0ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CiAK
ICAgICAgICAgW0NvY29hXSBHbHlwaCBsb29rdXAgc2hvdWxkIGJlIGxhbmd1YWdlLXNlbnNpdGl2
ZSAoc3BlY2lmaWNhbGx5IGJldHdlZW4gWWlkZGlzaCBhbmQgSGVicmV3KQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA0
NGQ4MzYxZjQ4M2E4ZTgwZDM1MjM0ZGUyZGVmNTcxNzg2NmNlYzI3Li5jYzcxYzM3OTUzMzk3NjRi
YmM3MGJiY2YxYTA1ZTc3OGY0OTBhYjUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDIw
LTAxLTE0ICBDb21taXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KKworICAgICAg
ICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMjU0NTMzIGFuZCByMjU0NTM1LgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA2MjYzCisKKyAgICAgICAg
QnJlYWtzIGlPUyBhbmQgbWFjT1MgYnVpbGRzIChSZXF1ZXN0ZWQgYnkgcnlhbmhhZGRhZCBvbgor
ICAgICAgICAjd2Via2l0KS4KKworICAgICAgICBSZXZlcnRlZCBjaGFuZ2VzZXRzOgorCisgICAg
ICAgICJbV2ViQXV0aG5dIEltcGxlbWVudCBTUEkgdG8gdGVsbCBVSSBjbGllbnRzIHRvIHNlbGVj
dAorICAgICAgICBhc3NlcnRpb24gcmVzcG9uc2VzIgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA2MTEyCisgICAgICAgIGh0dHBzOi8vdHJhYy53ZWJr
aXQub3JnL2NoYW5nZXNldC8yNTQ1MzMKKworICAgICAgICAiVW5yZXZpZXdlZCwgYSBidWlsZCBm
aXggYWZ0ZXIgcjI1NDUzMyIKKyAgICAgICAgaHR0cHM6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdl
c2V0LzI1NDUzNQorCiAyMDIwLTAxLTE0ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBw
bGUuY29tPgogCiAgICAgICAgIFtpT1NdIEtleWJvYXJkIGlucHV0IGlzIHNldmVyZWx5IGRlbGF5
ZWQgYWZ0ZXIgc3dpdGNoaW5nIGF3YXkgZnJvbSB1bnJlc3BvbnNpdmUgdGFiCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0b3JBc3NlcnRpb25S
ZXNwb25zZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9BdXRoZW50aWNhdG9y
QXNzZXJ0aW9uUmVzcG9uc2UuaAppbmRleCBkNzBhOWNjZjhmMzkxYjBkZDYyYzJhMTE0ZTExNTJm
OWY2YzBkNmEyLi5kYzRjODAzN2EzNTY4MTNiZTUyYmMzNzlmNDg3ZjViNTc5MWM4ZTUyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0b3JBc3Nl
cnRpb25SZXNwb25zZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4vQXV0
aGVudGljYXRvckFzc2VydGlvblJlc3BvbnNlLmgKQEAgLTQyLDkgKzQyLDkgQEAgcHVibGljOgog
ICAgIEFycmF5QnVmZmVyKiB1c2VySGFuZGxlKCkgY29uc3QgeyByZXR1cm4gbV91c2VySGFuZGxl
LmdldCgpOyB9CiAKICAgICB2b2lkIHNldE5hbWUoY29uc3QgU3RyaW5nJiBuYW1lKSB7IG1fbmFt
ZSA9IG5hbWU7IH0KLSAgICBjb25zdCBTdHJpbmcmIG5hbWUoKSBjb25zdCB7IHJldHVybiBtX25h
bWU7IH0KKyAgICBTdHJpbmcgbmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fbmFtZTsgfQogICAgIHZv
aWQgc2V0RGlzcGxheU5hbWUoY29uc3QgU3RyaW5nJiBkaXNwbGF5TmFtZSkgeyBtX2Rpc3BsYXlO
YW1lID0gZGlzcGxheU5hbWU7IH0KLSAgICBjb25zdCBTdHJpbmcmIGRpc3BsYXlOYW1lKCkgY29u
c3QgeyByZXR1cm4gbV9kaXNwbGF5TmFtZTsgfQorICAgIFN0cmluZyBkaXNwbGF5TmFtZSgpIGNv
bnN0IHsgcmV0dXJuIG1fZGlzcGxheU5hbWU7IH0KICAgICB2b2lkIHNldE51bWJlck9mQ3JlZGVu
dGlhbHMoc2l6ZV90IG51bWJlck9mQ3JlZGVudGlhbHMpIHsgbV9udW1iZXJPZkNyZWRlbnRpYWxz
ID0gbnVtYmVyT2ZDcmVkZW50aWFsczsgfQogICAgIHNpemVfdCBudW1iZXJPZkNyZWRlbnRpYWxz
KCkgY29uc3QgeyByZXR1cm4gbV9udW1iZXJPZkNyZWRlbnRpYWxzOyB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSS9BUElPYmplY3QuaCBiL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL0FQSS9BUElPYmplY3QuaAppbmRleCA4ZGExM2M0YjMzYzcwODk0NGFiMjE4YjM2NzA4ZTcx
NmMwODQ1OTlhLi5mZGI4MWY0MTM1NTFmZmMyY2JkMWUyN2YwYjQwZDI0Yjg0ZGQ4OWJmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUEkvQVBJT2JqZWN0LmgKKysrIGIvU291cmNl
L1dlYktpdC9TaGFyZWQvQVBJL0FQSU9iamVjdC5oCkBAIC0xODMsNyArMTgzLDYgQEAgcHVibGlj
OgogI2VuZGlmCiAKICNpZiBFTkFCTEUoV0VCX0FVVEhOKQotICAgICAgICBXZWJBdXRoZW50aWNh
dGlvbkFzc2VydGlvblJlc3BvbnNlLAogICAgICAgICBXZWJBdXRoZW50aWNhdGlvblBhbmVsLAog
I2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0FQSU9iamVj
dC5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0FQSU9iamVjdC5tbQppbmRleCBiZjI0
ZGI2YWI5NTYwNjkwZGM4MzU0NWVjOTk2MzgxMWVlNjJkNzhlLi42NDJmNmVmNGJkYzdiMzQxZjgy
YmQ0NjYzZWEzZDE5MzFlODUyMGU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9D
b2NvYS9BUElPYmplY3QubW0KKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQVBJT2Jq
ZWN0Lm1tCkBAIC04OCw3ICs4OCw2IEBACiAjaW1wb3J0ICJfV0tVc2VySW5pdGlhdGVkQWN0aW9u
SW50ZXJuYWwuaCIKICNpbXBvcnQgIl9XS1VzZXJTdHlsZVNoZWV0SW50ZXJuYWwuaCIKICNpbXBv
cnQgIl9XS1Zpc2l0ZWRMaW5rU3RvcmVJbnRlcm5hbC5oIgotI2ltcG9ydCAiX1dLV2ViQXV0aGVu
dGljYXRpb25Bc3NlcnRpb25SZXNwb25zZUludGVybmFsLmgiCiAjaW1wb3J0ICJfV0tXZWJBdXRo
ZW50aWNhdGlvblBhbmVsSW50ZXJuYWwuaCIKICNpbXBvcnQgIl9XS1dlYnNpdGVEYXRhU3RvcmVD
b25maWd1cmF0aW9uSW50ZXJuYWwuaCIKIApAQCAtMzkwLDkgKzM4OSw2IEBAIHZvaWQqIE9iamVj
dDo6bmV3T2JqZWN0KHNpemVfdCBzaXplLCBUeXBlIHR5cGUpCiAgICAgY2FzZSBUeXBlOjpXZWJB
dXRoZW50aWNhdGlvblBhbmVsOgogICAgICAgICB3cmFwcGVyID0gW19XS1dlYkF1dGhlbnRpY2F0
aW9uUGFuZWwgYWxsb2NdOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIFR5cGU6OldlYkF1dGhl
bnRpY2F0aW9uQXNzZXJ0aW9uUmVzcG9uc2U6Ci0gICAgICAgIHdyYXBwZXIgPSBbX1dLV2ViQXV0
aGVudGljYXRpb25Bc3NlcnRpb25SZXNwb25zZSBhbGxvY107Ci0gICAgICAgIGJyZWFrOwogI2Vu
ZGlmCiAKICAgICBjYXNlIFR5cGU6OkJ1bmRsZUZyYW1lOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQKaW5kZXggOGY4YTU2
MmUyZjIyMTRkNzFiZDE5OTNhMDg5MzFkOTJjZGMwNjM2Ny4uNjA2ZjAzOTRlMTAzZGQ5YjIxMmE0
Mzk0YTg3NDYwYzI1YzI1ZDdmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4
dAorKysgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0CkBAIC0zNDEsNyArMzQxLDYgQEAgVUlQ
cm9jZXNzL0FQSS9BUElVUkxTY2hlbWVUYXNrLmNwcAogVUlQcm9jZXNzL0FQSS9BUElVc2VyQ29u
dGVudFdvcmxkLmNwcAogVUlQcm9jZXNzL0FQSS9BUElVc2VyU2NyaXB0LmNwcAogVUlQcm9jZXNz
L0FQSS9BUElVc2VyU3R5bGVTaGVldC5jcHAKLVVJUHJvY2Vzcy9BUEkvQVBJV2ViQXV0aGVudGlj
YXRpb25Bc3NlcnRpb25SZXNwb25zZS5jcHAKIFVJUHJvY2Vzcy9BUEkvQVBJV2ViQXV0aGVudGlj
YXRpb25QYW5lbC5jcHAKIFVJUHJvY2Vzcy9BUEkvQVBJV2Vic2l0ZVBvbGljaWVzLmNwcAogVUlQ
cm9jZXNzL0FQSS9BUElXaW5kb3dGZWF0dXJlcy5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvU291cmNlc0NvY29hLnR4dCBiL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dAppbmRl
eCBiNzNkZDgxNTdlZmEyMDdkNmNmYzI4ZjRiM2ZlOGEyYzkwNTUxNTgzLi4zOTRjNjcwNDQ1ZmZk
MTcyZmUwMmYxNTZkNjBlNWYxMWVmZTk3ZDg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1Nv
dXJjZXNDb2NvYS50eHQKKysrIGIvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0CkBAIC0y
NzgsNyArMjc4LDYgQEAgVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tVc2VyQ29udGVudFdvcmxkLm1t
CiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS1VzZXJJbml0aWF0ZWRBY3Rpb24ubW0KIFVJUHJvY2Vz
cy9BUEkvQ29jb2EvX1dLVXNlclN0eWxlU2hlZXQubW0KIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dL
VmlzaXRlZExpbmtTdG9yZS5tbQotVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tXZWJBdXRoZW50aWNh
dGlvbkFzc2VydGlvblJlc3BvbnNlLm1tCiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS1dlYkF1dGhl
bnRpY2F0aW9uUGFuZWwubW0KIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLV2Vic2l0ZURhdGFTaXpl
Lm1tCiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS1dlYnNpdGVEYXRhU3RvcmUubW0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElSZXNvdXJjZUxvYWRDbGllbnQuaCBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElSZXNvdXJjZUxvYWRDbGllbnQuaAppbmRl
eCBhMzBkZDk1MjMxZGY0ZjhiMWM2YThhMWNiYjU2ZTI1NjhkNzAxYjY5Li4yMTgxZDhkNTc0ZDNm
NTRhNmZiODc1NjkzYTAyNzJiYTRjMmU1NGJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQVBJUmVzb3VyY2VMb2FkQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0FQSVJlc291cmNlTG9hZENsaWVudC5oCkBAIC0yNSwxMCArMjUsNiBAQAog
CiAjcHJhZ21hIG9uY2UKIAotI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VFcnJvci5oPgotI2lu
Y2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VSZXF1ZXN0Lmg+Ci0jaW5jbHVkZSA8V2ViQ29yZS9SZXNv
dXJjZVJlc3BvbnNlLmg+Ci0KIG5hbWVzcGFjZSBXZWJLaXQgewogY2xhc3MgQXV0aGVudGljYXRp
b25DaGFsbGVuZ2VQcm94eTsKIHN0cnVjdCBSZXNvdXJjZUxvYWRJbmZvOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSVdlYkF1dGhlbnRpY2F0aW9uQXNzZXJ0aW9u
UmVzcG9uc2UuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSVdlYkF1dGhlbnRp
Y2F0aW9uQXNzZXJ0aW9uUmVzcG9uc2UuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCBjNzk3NmZmNTJlYThlMTVhYjY4MGE1NjNlNDMxMDg2OGVjZDMxMDBlLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9BUElXZWJBdXRoZW50aWNhdGlvbkFzc2VydGlvblJlc3BvbnNlLmNwcAorKysgL2Rldi9u
dWxsCkBAIC0xLDYyICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0g
KiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0j
aW5jbHVkZSAiQVBJV2ViQXV0aGVudGljYXRpb25Bc3NlcnRpb25SZXNwb25zZS5oIgotCi0jaWYg
RU5BQkxFKFdFQl9BVVRITikKLQotI2luY2x1ZGUgIkFQSURhdGEuaCIKLQotbmFtZXNwYWNlIEFQ
SSB7Ci11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLQotUmVmPFdlYkF1dGhlbnRpY2F0aW9uQXNz
ZXJ0aW9uUmVzcG9uc2U+IFdlYkF1dGhlbnRpY2F0aW9uQXNzZXJ0aW9uUmVzcG9uc2U6OmNyZWF0
ZShSZWY8V2ViQ29yZTo6QXV0aGVudGljYXRvckFzc2VydGlvblJlc3BvbnNlPiYmIHJlc3BvbnNl
KQotewotICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFdlYkF1dGhlbnRpY2F0aW9uQXNzZXJ0aW9u
UmVzcG9uc2UoV1RGTW92ZShyZXNwb25zZSkpKTsKLX0KLQotV2ViQXV0aGVudGljYXRpb25Bc3Nl
cnRpb25SZXNwb25zZTo6V2ViQXV0aGVudGljYXRpb25Bc3NlcnRpb25SZXNwb25zZShSZWY8V2Vi
Q29yZTo6QXV0aGVudGljYXRvckFzc2VydGlvblJlc3BvbnNlPiYmIHJlc3BvbnNlKQotICAgIDog
bV9yZXNwb25zZShXVEZNb3ZlKHJlc3BvbnNlKSkKLXsKLX0KLQotV2ViQXV0aGVudGljYXRpb25B
c3NlcnRpb25SZXNwb25zZTo6fldlYkF1dGhlbnRpY2F0aW9uQXNzZXJ0aW9uUmVzcG9uc2UoKSA9
IGRlZmF1bHQ7Ci0KLVJlZlB0cjxEYXRhPiBXZWJBdXRoZW50aWNhdGlvbkFzc2VydGlvblJlc3Bv
bnNlOjp1c2VySGFuZGxlKCkgY29uc3QKLXsKLSAgICBSZWZQdHI8QVBJOjpEYXRhPiBkYXRhOwot
ICAgIGlmIChhdXRvKiB1c2VySGFuZGxlID0gbV9yZXNwb25zZS0+dXNlckhhbmRsZSgpKSB7Ci0g
ICAgICAgIHVzZXJIYW5kbGUtPnJlZigpOwotICAgICAgICBkYXRhID0gQVBJOjpEYXRhOjpjcmVh
dGVXaXRob3V0Q29weWluZyhyZWludGVycHJldF9jYXN0PHVuc2lnbmVkIGNoYXIqPih1c2VySGFu
ZGxlLT5kYXRhKCkpLCB1c2VySGFuZGxlLT5ieXRlTGVuZ3RoKCksIFtdICh1bnNpZ25lZCBjaGFy
KiwgY29uc3Qgdm9pZCogZGF0YSkgewotICAgICAgICAgICAgc3RhdGljX2Nhc3Q8QXJyYXlCdWZm
ZXIqPihjb25zdF9jYXN0PHZvaWQqPihkYXRhKSktPmRlcmVmKCk7Ci0gICAgICAgIH0sIHVzZXJI
YW5kbGUpOwotICAgIH0KLSAgICByZXR1cm4gZGF0YTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgQVBJ
Ci0KLSNlbmRpZiAvLyBFTkFCTEUoV0VCX0FVVEhOKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0FQSVdlYkF1dGhlbnRpY2F0aW9uQXNzZXJ0aW9uUmVzcG9uc2UuaCBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElXZWJBdXRoZW50aWNhdGlvbkFzc2VydGlv
blJlc3BvbnNlLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQxNzYyMDgwNWQ0M2Rm
N2QwNzZiNDllMDA4YzIxMWM4NjFmNTI4Y2QuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSVdlYkF1dGhl
bnRpY2F0aW9uQXNzZXJ0aW9uUmVzcG9uc2UuaAorKysgL2Rldi9udWxsCkBAIC0xLDU2ICswLDAg
QEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICog
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KLSAqLwotCi0jcHJhZ21hIG9uY2UKLQotI2lmIEVOQUJMRShXRUJfQVVUSE4pCi0K
LSNpbmNsdWRlICJBUElPYmplY3QuaCIKLSNpbmNsdWRlIDxXZWJDb3JlL0F1dGhlbnRpY2F0b3JB
c3NlcnRpb25SZXNwb25zZS5oPgotCi1uYW1lc3BhY2UgQVBJIHsKLQotY2xhc3MgRGF0YTsKLQot
Y2xhc3MgV2ViQXV0aGVudGljYXRpb25Bc3NlcnRpb25SZXNwb25zZSBmaW5hbCA6IHB1YmxpYyBP
YmplY3RJbXBsPE9iamVjdDo6VHlwZTo6V2ViQXV0aGVudGljYXRpb25Bc3NlcnRpb25SZXNwb25z
ZT4gewotcHVibGljOgotICAgIHN0YXRpYyBSZWY8V2ViQXV0aGVudGljYXRpb25Bc3NlcnRpb25S
ZXNwb25zZT4gY3JlYXRlKFJlZjxXZWJDb3JlOjpBdXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVzcG9u
c2U+JiYpOwotICAgIH5XZWJBdXRoZW50aWNhdGlvbkFzc2VydGlvblJlc3BvbnNlKCk7Ci0KLSAg
ICBjb25zdCBXVEY6OlN0cmluZyYgbmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fcmVzcG9uc2UtPm5h
bWUoKTsgfQotICAgIGNvbnN0IFdURjo6U3RyaW5nJiBkaXNwbGF5TmFtZSgpIGNvbnN0IHsgcmV0
dXJuIG1fcmVzcG9uc2UtPmRpc3BsYXlOYW1lKCk7IH0KLSAgICBSZWZQdHI8RGF0YT4gdXNlckhh
bmRsZSgpIGNvbnN0OwotCi0gICAgY29uc3QgV2ViQ29yZTo6QXV0aGVudGljYXRvckFzc2VydGlv
blJlc3BvbnNlJiByZXNwb25zZSgpIHsgcmV0dXJuIG1fcmVzcG9uc2UuZ2V0KCk7IH0KLQotcHJp
dmF0ZToKLSAgICBXZWJBdXRoZW50aWNhdGlvbkFzc2VydGlvblJlc3BvbnNlKFJlZjxXZWJDb3Jl
OjpBdXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVzcG9uc2U+JiYpOwotCi0gICAgUmVmPFdlYkNvcmU6
OkF1dGhlbnRpY2F0b3JBc3NlcnRpb25SZXNwb25zZT4gbV9yZXNwb25zZTsKLX07Ci0KLX0gLy8g
bmFtZXNwYWNlIEFQSQotCi0jZW5kaWYgLy8gRU5BQkxFKFdFQl9BVVRITikKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElXZWJBdXRoZW50aWNhdGlvblBhbmVsQ2xp
ZW50LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJV2ViQXV0aGVudGljYXRpb25Q
YW5lbENsaWVudC5oCmluZGV4IDcwMTBkNzhkODY0ZmQwZGMyNDdlNmIwMmMxZTkyNzgwZTdkYTg1
NTEuLjAwNjJmOWE3ZDk3NDcyNjZmN2Y2MjIxZjRlNzlkNTg1N2ZmYzIzMWMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElXZWJBdXRoZW50aWNhdGlvblBhbmVsQ2xp
ZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSVdlYkF1dGhlbnRpY2F0
aW9uUGFuZWxDbGllbnQuaApAQCAtNTAsOCArNTAsOCBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFs
IHZvaWQgdXBkYXRlUGFuZWwoV2ViS2l0OjpXZWJBdXRoZW50aWNhdGlvblN0YXR1cykgY29uc3Qg
eyB9CiAgICAgdmlydHVhbCB2b2lkIGRpc21pc3NQYW5lbChXZWJLaXQ6OldlYkF1dGhlbnRpY2F0
aW9uUmVzdWx0KSBjb25zdCB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgc2VsZWN0QXNzZXJ0aW9uUmVz
cG9uc2VzKGNvbnN0IEhhc2hTZXQ8UmVmPFdlYkNvcmU6OkF1dGhlbnRpY2F0b3JBc3NlcnRpb25S
ZXNwb25zZT4+JiByZXNwb25zZXMsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoY29uc3QgUmVmPFdl
YkNvcmU6OkF1dGhlbnRpY2F0b3JBc3NlcnRpb25SZXNwb25zZT4mKT4mJiBjb21wbGV0aW9uSGFu
ZGxlcikgY29uc3QgeyBjb21wbGV0aW9uSGFuZGxlcigqcmVzcG9uc2VzLmJlZ2luKCkpOyB9CiAg
ICAgdmlydHVhbCB2b2lkIHJlcXVlc3RQaW4odWludDY0X3QsIENvbXBsZXRpb25IYW5kbGVyPHZv
aWQoY29uc3QgV1RGOjpTdHJpbmcmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikgY29uc3QgeyBjb21w
bGV0aW9uSGFuZGxlcihlbXB0eVN0cmluZygpKTsgfQotICAgIHZpcnR1YWwgdm9pZCBzZWxlY3RB
c3NlcnRpb25SZXNwb25zZShjb25zdCBIYXNoU2V0PFJlZjxXZWJDb3JlOjpBdXRoZW50aWNhdG9y
QXNzZXJ0aW9uUmVzcG9uc2U+PiYgcmVzcG9uc2VzLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGNv
bnN0IFdlYkNvcmU6OkF1dGhlbnRpY2F0b3JBc3NlcnRpb25SZXNwb25zZSYpPiYmIGNvbXBsZXRp
b25IYW5kbGVyKSBjb25zdCB7IEFTU0VSVCghcmVzcG9uc2VzLmlzRW1wdHkoKSk7IGNvbXBsZXRp
b25IYW5kbGVyKCpyZXNwb25zZXMuYmVnaW4oKSk7IH0KIH07CiAKIH0gLy8gbmFtZXNwYWNlIEFQ
SQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1dlYkF1
dGhlbnRpY2F0aW9uQXNzZXJ0aW9uUmVzcG9uc2UuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9Db2NvYS9fV0tXZWJBdXRoZW50aWNhdGlvbkFzc2VydGlvblJlc3BvbnNlLmgKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQxMmY1YWYwMmQ0NGVkYWFjMjBlOWM4OTQyYTFiNTAx
MThjZmQ3MzkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1dlYkF1dGhlbnRpY2F0aW9uQXNz
ZXJ0aW9uUmVzcG9uc2UuaAorKysgL2Rldi9udWxsCkBAIC0xLDQzICswLDAgQEAKLS8qCi0gKiBD
b3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgot
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
LSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAq
LwotCi0jcHJhZ21hIG9uY2UKLQotI2ltcG9ydCA8V2ViS2l0L1dLRm91bmRhdGlvbi5oPgotCi0j
aW1wb3J0IDxGb3VuZGF0aW9uL0ZvdW5kYXRpb24uaD4KLQotTlNfQVNTVU1FX05PTk5VTExfQkVH
SU4KLQotV0tfQ0xBU1NfQVZBSUxBQkxFKG1hY29zKFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RC
QSkpCi1AaW50ZXJmYWNlIF9XS1dlYkF1dGhlbnRpY2F0aW9uQXNzZXJ0aW9uUmVzcG9uc2UgOiBO
U09iamVjdAotCi1AcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHksIGNvcHkpIE5TU3RyaW5n
ICpuYW1lOwotQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5LCBjb3B5KSBOU1N0cmluZyAq
ZGlzcGxheU5hbWU7Ci1AcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHksIGNvcHkpIE5TRGF0
YSAqdXNlckhhbmRsZTsKLQotQGVuZAotCi1OU19BU1NVTUVfTk9OTlVMTF9FTkQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tXZWJBdXRoZW50aWNhdGlv
bkFzc2VydGlvblJlc3BvbnNlLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29h
L19XS1dlYkF1dGhlbnRpY2F0aW9uQXNzZXJ0aW9uUmVzcG9uc2UubW0KZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDk3MWYyMzY2NDAzMDU4MzkwMzRlMDkxODQ4NDdiOTdjZTFkOWFhYTEu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1dlYkF1dGhlbnRpY2F0aW9uQXNzZXJ0aW9uUmVz
cG9uc2UubW0KKysrIC9kZXYvbnVsbApAQCAtMSw2NSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0
IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0g
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0g
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lt
cG9ydCAiY29uZmlnLmgiCi0jaW1wb3J0ICJfV0tXZWJBdXRoZW50aWNhdGlvbkFzc2VydGlvblJl
c3BvbnNlSW50ZXJuYWwuaCIKLQotI2ltcG9ydCAiV0tOU0RhdGEuaCIKLQotQGltcGxlbWVudGF0
aW9uIF9XS1dlYkF1dGhlbnRpY2F0aW9uQXNzZXJ0aW9uUmVzcG9uc2UKLQotI2lmIEVOQUJMRShX
RUJfQVVUSE4pCi0KLS0gKHZvaWQpZGVhbGxvYwotewotICAgIF9yZXNwb25zZS0+fldlYkF1dGhl
bnRpY2F0aW9uQXNzZXJ0aW9uUmVzcG9uc2UoKTsKLQotICAgIFtzdXBlciBkZWFsbG9jXTsKLX0K
LQotLSAoTlNTdHJpbmcgKiluYW1lCi17Ci0gICAgcmV0dXJuIF9yZXNwb25zZS0+bmFtZSgpOwot
fQotCi0tIChOU1N0cmluZyAqKWRpc3BsYXlOYW1lCi17Ci0gICAgcmV0dXJuIF9yZXNwb25zZS0+
ZGlzcGxheU5hbWUoKTsKLX0KLQotLSAoTlNEYXRhICopdXNlckhhbmRsZQotewotICAgIHJldHVy
biB3cmFwcGVyKF9yZXNwb25zZS0+dXNlckhhbmRsZSgpKTsKLX0KLQotI3ByYWdtYSBtYXJrIFdL
T2JqZWN0IHByb3RvY29sIGltcGxlbWVudGF0aW9uCi0KLS0gKEFQSTo6T2JqZWN0JilfYXBpT2Jq
ZWN0Ci17Ci0gICAgcmV0dXJuICpfcmVzcG9uc2U7Ci19Ci0jZW5kaWYKLQotQGVuZApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1dlYkF1dGhlbnRpY2F0
aW9uQXNzZXJ0aW9uUmVzcG9uc2VJbnRlcm5hbC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0NvY29hL19XS1dlYkF1dGhlbnRpY2F0aW9uQXNzZXJ0aW9uUmVzcG9uc2VJbnRlcm5hbC5o
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlZjM2MDBmYzlmMzBjNDhlN2RmMjZlZDlk
MDNhYWU5NTA0OTIxYTdlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tXZWJBdXRoZW50aWNh
dGlvbkFzc2VydGlvblJlc3BvbnNlSW50ZXJuYWwuaAorKysgL2Rldi9udWxsCkBAIC0xLDQ5ICsw
LDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0g
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAot
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0g
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KLSAqLwotCi0jcHJhZ21hIG9uY2UKLQotI2ltcG9ydCAiX1dLV2ViQXV0aGVu
dGljYXRpb25Bc3NlcnRpb25SZXNwb25zZS5oIgotCi0jaWYgRU5BQkxFKFdFQl9BVVRITikKLQot
I2ltcG9ydCAiQVBJV2ViQXV0aGVudGljYXRpb25Bc3NlcnRpb25SZXNwb25zZS5oIgotI2ltcG9y
dCAiV0tPYmplY3QuaCIKLQotbmFtZXNwYWNlIFdlYktpdCB7Ci0KLXRlbXBsYXRlPD4gc3RydWN0
IFdyYXBwZXJUcmFpdHM8QVBJOjpXZWJBdXRoZW50aWNhdGlvbkFzc2VydGlvblJlc3BvbnNlPiB7
Ci0gICAgdXNpbmcgV3JhcHBlckNsYXNzID0gX1dLV2ViQXV0aGVudGljYXRpb25Bc3NlcnRpb25S
ZXNwb25zZTsKLX07Ci0KLX0KLQotQGludGVyZmFjZSBfV0tXZWJBdXRoZW50aWNhdGlvbkFzc2Vy
dGlvblJlc3BvbnNlICgpIDxXS09iamVjdD4gewotQHBhY2thZ2UKLSAgICBBUEk6Ok9iamVjdFN0
b3JhZ2U8QVBJOjpXZWJBdXRoZW50aWNhdGlvbkFzc2VydGlvblJlc3BvbnNlPiBfcmVzcG9uc2U7
Ci19Ci1AZW5kCi0KLSNlbmRpZiAvLyBFTkFCTEUoV0VCX0FVVEhOKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwu
aCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tXZWJBdXRoZW50aWNhdGlv
blBhbmVsLmgKaW5kZXggNDMxYzYzM2IwZmViMGI1NTJhNmI5ZDE4N2VhZDNkNmZiNWJjYzhjMi4u
ODY4MDYyM2ZjNDllMDdhZmMzMWFhYzc2MGU1YjZhNDRlYmYyZDMwOCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLV2ViQXV0aGVudGlj
YXRpb25QYW5lbC5oCkBAIC0zMSw3ICszMSw2IEBACiAKIE5TX0FTU1VNRV9OT05OVUxMX0JFR0lO
CiAKLUBjbGFzcyBfV0tXZWJBdXRoZW50aWNhdGlvbkFzc2VydGlvblJlc3BvbnNlOwogQGNsYXNz
IF9XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWw7CiAKIHR5cGVkZWYgTlNfRU5VTShOU0ludGVnZXIs
IF9XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWxSZXN1bHQpIHsKQEAgLTcwLDcgKzY5LDYgQEAgdHlw
ZWRlZiBOU19FTlVNKE5TSW50ZWdlciwgX1dLV2ViQXV0aGVudGljYXRpb25UeXBlKSB7CiAtICh2
b2lkKXBhbmVsOihfV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsICopcGFuZWwgdXBkYXRlV2ViQXV0
aGVudGljYXRpb25QYW5lbDooX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbFVwZGF0ZSl1cGRhdGUg
V0tfQVBJX0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKIC0g
KHZvaWQpcGFuZWw6KF9XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwgKilwYW5lbCBkaXNtaXNzV2Vi
QXV0aGVudGljYXRpb25QYW5lbFdpdGhSZXN1bHQ6KF9XS1dlYkF1dGhlbnRpY2F0aW9uUmVzdWx0
KXJlc3VsdCBXS19BUElfQVZBSUxBQkxFKG1hY29zKFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RC
QSkpOwogLSAodm9pZClwYW5lbDooX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbCAqKXBhbmVsIHJl
cXVlc3RQSU5XaXRoUmVtYWluaW5nUmV0cmllczooTlNVSW50ZWdlcilyZXRyaWVzIGNvbXBsZXRp
b25IYW5kbGVyOih2b2lkICheKShOU1N0cmluZyAqKSljb21wbGV0aW9uSGFuZGxlciBXS19BUElf
QVZBSUxBQkxFKG1hY29zKFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOwotLSAodm9pZClw
YW5lbDooX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbCAqKXBhbmVsIHNlbGVjdEFzc2VydGlvblJl
c3BvbnNlOihOU0FycmF5IDwgX1dLV2ViQXV0aGVudGljYXRpb25Bc3NlcnRpb25SZXNwb25zZSAq
PiAqKXJlc3BvbnNlcyBjb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoX1dLV2ViQXV0aGVudGlj
YXRpb25Bc3NlcnRpb25SZXNwb25zZSAqKSljb21wbGV0aW9uSGFuZGxlciBXS19BUElfQVZBSUxB
QkxFKG1hY29zKFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOwogCiBAZW5kCiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tXZWJBdXRoZW50aWNh
dGlvblBhbmVsLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1dlYkF1
dGhlbnRpY2F0aW9uUGFuZWwubW0KaW5kZXggMmViMzFlODEyYzk1OThlODk4ODQwYjk1NThjZTMz
MmYyZWQ2NzlmZi4uNDQ3NGJhYzY0MjdkMjA5NmI0ZDEyYWQ0NWUwODcwYTVjYTAwOWZkOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1dlYkF1dGhlbnRp
Y2F0aW9uUGFuZWwubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19X
S1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwubW0KQEAgLTI0LDEwICsyNCwxMCBAQAogICovCiAKICNp
bXBvcnQgImNvbmZpZy5oIgotI2ltcG9ydCAiX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbEludGVy
bmFsLmgiCi0KICNpbXBvcnQgIldlYkF1dGhlbnRpY2F0aW9uUGFuZWxDbGllbnQuaCIKKyNpbXBv
cnQgIl9XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWxJbnRlcm5hbC5oIgogI2ltcG9ydCA8V2ViQ29y
ZS9XZWJBdXRoZW50aWNhdGlvbkNvbnN0YW50cy5oPgorCiAjaW1wb3J0IDx3dGYvUmV0YWluUHRy
Lmg+CiAKIEBpbXBsZW1lbnRhdGlvbiBfV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1Jlc291cmNlTG9hZERlbGVnYXRl
LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9SZXNvdXJjZUxvYWREZWxlZ2F0ZS5o
CmluZGV4IGE0N2IyOTI2YzFkMzY3MjVhYzMyODExMWJjZGZkZDVmMWE2ZTQwZDEuLmU4MzUzMDQx
M2IxZGVlNWQ4YWQwNGVmMmMxNWY3N2M2MTE2ZDJmMmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0NvY29hL1Jlc291cmNlTG9hZERlbGVnYXRlLmgKKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQ29jb2EvUmVzb3VyY2VMb2FkRGVsZWdhdGUuaApAQCAtMjksOCArMjks
NiBAQAogI2ltcG9ydCAiV0tGb3VuZGF0aW9uLmgiCiAjaW1wb3J0IDx3dGYvV2Vha09iakNQdHIu
aD4KIAotQGNsYXNzIFdLV2ViVmlldzsKLQogQHByb3RvY29sIF9XS1Jlc291cmNlTG9hZERlbGVn
YXRlOwogCiBuYW1lc3BhY2UgQVBJIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0NvY29hL1Jlc291cmNlTG9hZERlbGVnYXRlLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQ29jb2EvUmVzb3VyY2VMb2FkRGVsZWdhdGUubW0KaW5kZXggZDQyNjI4NTNjNTBhNjBmYmFi
NzE1MzA3ZDI1MGYwYzhlMDFlMzU5Ni4uNmI3ODAwYmM5OTAwZmU2MDkwMzFhMTNmNWEwZWQ5YWRj
NGY2ZWIyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvUmVzb3Vy
Y2VMb2FkRGVsZWdhdGUubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvUmVz
b3VyY2VMb2FkRGVsZWdhdGUubW0KQEAgLTI2LDggKzI2LDYgQEAKICNpbXBvcnQgImNvbmZpZy5o
IgogI2ltcG9ydCAiUmVzb3VyY2VMb2FkRGVsZWdhdGUuaCIKIAotI2ltcG9ydCAiQXV0aGVudGlj
YXRpb25DaGFsbGVuZ2VQcm94eS5oIgotI2ltcG9ydCAiV0tOU1VSTEF1dGhlbnRpY2F0aW9uQ2hh
bGxlbmdlLmgiCiAjaW1wb3J0ICJfV0tSZXNvdXJjZUxvYWREZWxlZ2F0ZS5oIgogI2ltcG9ydCAi
X1dLUmVzb3VyY2VMb2FkSW5mb0ludGVybmFsLmgiCiAKQEAgLTgyLDcgKzgwLDcgQEAgdm9pZCBS
ZXNvdXJjZUxvYWREZWxlZ2F0ZTo6UmVzb3VyY2VMb2FkQ2xpZW50OjpkaWRTZW5kUmVxdWVzdChX
ZWJLaXQ6OlJlc291cmNlTG8KICAgICBpZiAoIWRlbGVnYXRlKQogICAgICAgICByZXR1cm47CiAK
LSAgICBbZGVsZWdhdGUgd2ViVmlldzptX3Jlc291cmNlTG9hZERlbGVnYXRlLm1fd2ViVmlldy5n
ZXQoKS5nZXQoKSByZXNvdXJjZUxvYWQ6d3JhcHBlcihBUEk6OlJlc291cmNlTG9hZEluZm86OmNy
ZWF0ZShXVEZNb3ZlKGxvYWRJbmZvKSkuZ2V0KCkpIGRpZFNlbmRSZXF1ZXN0OnJlcXVlc3QubnNV
UkxSZXF1ZXN0KFdlYkNvcmU6OkhUVFBCb2R5VXBkYXRlUG9saWN5OjpEb05vdFVwZGF0ZUhUVFBC
b2R5KV07CisgICAgW2RlbGVnYXRlIHdlYlZpZXc6bV9yZXNvdXJjZUxvYWREZWxlZ2F0ZS5tX3dl
YlZpZXcuZ2V0KCkuZ2V0KCkgcmVzb3VyY2VMb2FkOndyYXBwZXIoQVBJOjpSZXNvdXJjZUxvYWRJ
bmZvOjpjcmVhdGUoV1RGTW92ZShsb2FkSW5mbykpLmdldCgpKSBkaWRTZW5kUmVxdWVzdDpyZXF1
ZXN0Lm5zVVJMUmVxdWVzdChIVFRQQm9keVVwZGF0ZVBvbGljeTo6RG9Ob3RVcGRhdGVIVFRQQm9k
eSldOwogfQogCiB2b2lkIFJlc291cmNlTG9hZERlbGVnYXRlOjpSZXNvdXJjZUxvYWRDbGllbnQ6
OmRpZFBlcmZvcm1IVFRQUmVkaXJlY3Rpb24oV2ViS2l0OjpSZXNvdXJjZUxvYWRJbmZvJiYgbG9h
ZEluZm8sIFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmJiByZXNwb25zZSwgV2ViQ29yZTo6UmVz
b3VyY2VSZXF1ZXN0JiYgcmVxdWVzdCkgY29uc3QKQEAgLTk0LDcgKzkyLDcgQEAgdm9pZCBSZXNv
dXJjZUxvYWREZWxlZ2F0ZTo6UmVzb3VyY2VMb2FkQ2xpZW50OjpkaWRQZXJmb3JtSFRUUFJlZGly
ZWN0aW9uKFdlYktpdDoKICAgICBpZiAoIWRlbGVnYXRlKQogICAgICAgICByZXR1cm47CiAKLSAg
ICBbZGVsZWdhdGUgd2ViVmlldzptX3Jlc291cmNlTG9hZERlbGVnYXRlLm1fd2ViVmlldy5nZXQo
KS5nZXQoKSByZXNvdXJjZUxvYWQ6d3JhcHBlcihBUEk6OlJlc291cmNlTG9hZEluZm86OmNyZWF0
ZShXVEZNb3ZlKGxvYWRJbmZvKSkuZ2V0KCkpIGRpZFBlcmZvcm1IVFRQUmVkaXJlY3Rpb246cmVz
cG9uc2UubnNVUkxSZXNwb25zZSgpIG5ld1JlcXVlc3Q6cmVxdWVzdC5uc1VSTFJlcXVlc3QoV2Vi
Q29yZTo6SFRUUEJvZHlVcGRhdGVQb2xpY3k6OkRvTm90VXBkYXRlSFRUUEJvZHkpXTsKKyAgICBb
ZGVsZWdhdGUgd2ViVmlldzptX3Jlc291cmNlTG9hZERlbGVnYXRlLm1fd2ViVmlldy5nZXQoKS5n
ZXQoKSByZXNvdXJjZUxvYWQ6d3JhcHBlcihBUEk6OlJlc291cmNlTG9hZEluZm86OmNyZWF0ZShX
VEZNb3ZlKGxvYWRJbmZvKSkuZ2V0KCkpIGRpZFBlcmZvcm1IVFRQUmVkaXJlY3Rpb246cmVzcG9u
c2UubnNVUkxSZXNwb25zZSgpIG5ld1JlcXVlc3Q6cmVxdWVzdC5uc1VSTFJlcXVlc3QoSFRUUEJv
ZHlVcGRhdGVQb2xpY3k6OkRvTm90VXBkYXRlSFRUUEJvZHkpXTsKIH0KIAogdm9pZCBSZXNvdXJj
ZUxvYWREZWxlZ2F0ZTo6UmVzb3VyY2VMb2FkQ2xpZW50OjpkaWRSZWNlaXZlQ2hhbGxlbmdlKFdl
YktpdDo6UmVzb3VyY2VMb2FkSW5mbyYmIGxvYWRJbmZvLCBXZWJLaXQ6OkF1dGhlbnRpY2F0aW9u
Q2hhbGxlbmdlUHJveHkmIGNoYWxsZW5nZSkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0b3IuaCBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0b3IuaAppbmRleCBk
MTZiMTdkNWZjNmJjNzk1MjE0YjI3ZTgyNTdmZDZmMDBiZDRjN2U1Li4zMmZjN2QyZDdmZmNkOTMx
NmZhNjYzYzYwYTI1ZmI2ZGMxYmExMTA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdG9yLmgKKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRvci5oCkBAIC01MSw4ICs1
MSw4IEBAIHB1YmxpYzoKICAgICAgICAgdmlydHVhbCB2b2lkIHJlc3BvbmRSZWNlaXZlZChSZXNw
b25kJiYpID0gMDsKICAgICAgICAgdmlydHVhbCB2b2lkIGRvd25ncmFkZShBdXRoZW50aWNhdG9y
KiBpZCwgUmVmPEF1dGhlbnRpY2F0b3I+JiYgZG93bmdyYWRlZEF1dGhlbnRpY2F0b3IpID0gMDsK
ICAgICAgICAgdmlydHVhbCB2b2lkIGF1dGhlbnRpY2F0b3JTdGF0dXNVcGRhdGVkKFdlYkF1dGhl
bnRpY2F0aW9uU3RhdHVzKSA9IDA7CisgICAgICAgIHZpcnR1YWwgdm9pZCBzZWxlY3RBc3NlcnRp
b25SZXNwb25zZXMoY29uc3QgSGFzaFNldDxSZWY8V2ViQ29yZTo6QXV0aGVudGljYXRvckFzc2Vy
dGlvblJlc3BvbnNlPj4mLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGNvbnN0IFJlZjxXZWJDb3Jl
OjpBdXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVzcG9uc2U+Jik+JiYpID0gMDsKICAgICAgICAgdmly
dHVhbCB2b2lkIHJlcXVlc3RQaW4odWludDY0X3QgcmV0cmllcywgQ29tcGxldGlvbkhhbmRsZXI8
dm9pZChjb25zdCBXVEY6OlN0cmluZyYpPiYmKSA9IDA7Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBz
ZWxlY3RBc3NlcnRpb25SZXNwb25zZShjb25zdCBIYXNoU2V0PFJlZjxXZWJDb3JlOjpBdXRoZW50
aWNhdG9yQXNzZXJ0aW9uUmVzcG9uc2U+PiYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoY29uc3Qg
V2ViQ29yZTo6QXV0aGVudGljYXRvckFzc2VydGlvblJlc3BvbnNlJik+JiYpID0gMDsKICAgICB9
OwogCiAgICAgdmlydHVhbCB+QXV0aGVudGljYXRvcigpID0gZGVmYXVsdDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0b3JN
YW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL0F1
dGhlbnRpY2F0b3JNYW5hZ2VyLmNwcAppbmRleCAzZGI2M2VmNmJkNWVhMzJiMjk2YWMwNDZhYTQz
YTBkMTQ5N2M1ZTc0Li45Y2Q0NTQ3Yzg4YWU4NDZlOWY1N2Y4OWE1OGMzZmM1YmVjMmI2MTUxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9BdXRo
ZW50aWNhdG9yTWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0
aGVudGljYXRpb24vQXV0aGVudGljYXRvck1hbmFnZXIuY3BwCkBAIC0yNzMsMTYgKzI3MywxNiBA
QCB2b2lkIEF1dGhlbnRpY2F0b3JNYW5hZ2VyOjphdXRoZW50aWNhdG9yU3RhdHVzVXBkYXRlZChX
ZWJBdXRoZW50aWNhdGlvblN0YXR1cyBzdAogICAgICAgICBwYW5lbC0+Y2xpZW50KCkudXBkYXRl
UGFuZWwoc3RhdHVzKTsKIH0KIAotdm9pZCBBdXRoZW50aWNhdG9yTWFuYWdlcjo6cmVxdWVzdFBp
bih1aW50NjRfdCByZXRyaWVzLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGNvbnN0IFdURjo6U3Ry
aW5nJik+JiYgY29tcGxldGlvbkhhbmRsZXIpCit2b2lkIEF1dGhlbnRpY2F0b3JNYW5hZ2VyOjpz
ZWxlY3RBc3NlcnRpb25SZXNwb25zZXMoY29uc3QgSGFzaFNldDxSZWY8V2ViQ29yZTo6QXV0aGVu
dGljYXRvckFzc2VydGlvblJlc3BvbnNlPj4mIHJlc3BvbnNlcywgQ29tcGxldGlvbkhhbmRsZXI8
dm9pZChjb25zdCBSZWY8V2ViQ29yZTo6QXV0aGVudGljYXRvckFzc2VydGlvblJlc3BvbnNlPiYp
PiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewogICAgIGlmIChhdXRvKiBwYW5lbCA9IG1fcGVuZGlu
Z1JlcXVlc3REYXRhLnBhbmVsLmdldCgpKQotICAgICAgICBwYW5lbC0+Y2xpZW50KCkucmVxdWVz
dFBpbihyZXRyaWVzLCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CisgICAgICAgIHBhbmVs
LT5jbGllbnQoKS5zZWxlY3RBc3NlcnRpb25SZXNwb25zZXMocmVzcG9uc2VzLCBXVEZNb3ZlKGNv
bXBsZXRpb25IYW5kbGVyKSk7CiB9CiAKLXZvaWQgQXV0aGVudGljYXRvck1hbmFnZXI6OnNlbGVj
dEFzc2VydGlvblJlc3BvbnNlKGNvbnN0IEhhc2hTZXQ8UmVmPFdlYkNvcmU6OkF1dGhlbnRpY2F0
b3JBc3NlcnRpb25SZXNwb25zZT4+JiByZXNwb25zZXMsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
Y29uc3QgV2ViQ29yZTo6QXV0aGVudGljYXRvckFzc2VydGlvblJlc3BvbnNlJik+JiYgY29tcGxl
dGlvbkhhbmRsZXIpCit2b2lkIEF1dGhlbnRpY2F0b3JNYW5hZ2VyOjpyZXF1ZXN0UGluKHVpbnQ2
NF90IHJldHJpZXMsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoY29uc3QgV1RGOjpTdHJpbmcmKT4m
JiBjb21wbGV0aW9uSGFuZGxlcikKIHsKICAgICBpZiAoYXV0byogcGFuZWwgPSBtX3BlbmRpbmdS
ZXF1ZXN0RGF0YS5wYW5lbC5nZXQoKSkKLSAgICAgICAgcGFuZWwtPmNsaWVudCgpLnNlbGVjdEFz
c2VydGlvblJlc3BvbnNlKHJlc3BvbnNlcywgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwor
ICAgICAgICBwYW5lbC0+Y2xpZW50KCkucmVxdWVzdFBpbihyZXRyaWVzLCBXVEZNb3ZlKGNvbXBs
ZXRpb25IYW5kbGVyKSk7CiB9CiAKIFVuaXF1ZVJlZjxBdXRoZW50aWNhdG9yVHJhbnNwb3J0U2Vy
dmljZT4gQXV0aGVudGljYXRvck1hbmFnZXI6OmNyZWF0ZVNlcnZpY2UoQXV0aGVudGljYXRvclRy
YW5zcG9ydCB0cmFuc3BvcnQsIEF1dGhlbnRpY2F0b3JUcmFuc3BvcnRTZXJ2aWNlOjpPYnNlcnZl
ciYgb2JzZXJ2ZXIpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJBdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdG9yTWFuYWdlci5oIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRvck1hbmFnZXIuaAppbmRleCBh
OWI2MjkzYzU4ZjEyMjA0MzJlYjc2NWJjZjJkNmExZWRkOWJlNTZlLi45ZmQ1MjNkNDA3MWYxNzg3
MjJjNGZmMWY5ZDUyNjQ3MTE4Njg3OWZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdG9yTWFuYWdlci5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0b3JNYW5hZ2Vy
LmgKQEAgLTgxLDggKzgxLDggQEAgcHJpdmF0ZToKICAgICB2b2lkIHJlc3BvbmRSZWNlaXZlZChS
ZXNwb25kJiYpIGZpbmFsOwogICAgIHZvaWQgZG93bmdyYWRlKEF1dGhlbnRpY2F0b3IqIGlkLCBS
ZWY8QXV0aGVudGljYXRvcj4mJiBkb3duZ3JhZGVkQXV0aGVudGljYXRvcikgZmluYWw7CiAgICAg
dm9pZCBhdXRoZW50aWNhdG9yU3RhdHVzVXBkYXRlZChXZWJBdXRoZW50aWNhdGlvblN0YXR1cykg
ZmluYWw7CisgICAgdm9pZCBzZWxlY3RBc3NlcnRpb25SZXNwb25zZXMoY29uc3QgSGFzaFNldDxS
ZWY8V2ViQ29yZTo6QXV0aGVudGljYXRvckFzc2VydGlvblJlc3BvbnNlPj4mLCBDb21wbGV0aW9u
SGFuZGxlcjx2b2lkKGNvbnN0IFJlZjxXZWJDb3JlOjpBdXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVz
cG9uc2U+Jik+JiYpIGZpbmFsOwogICAgIHZvaWQgcmVxdWVzdFBpbih1aW50NjRfdCByZXRyaWVz
LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGNvbnN0IFdURjo6U3RyaW5nJik+JiYpIGZpbmFsOwot
ICAgIHZvaWQgc2VsZWN0QXNzZXJ0aW9uUmVzcG9uc2UoY29uc3QgSGFzaFNldDxSZWY8V2ViQ29y
ZTo6QXV0aGVudGljYXRvckFzc2VydGlvblJlc3BvbnNlPj4mLCBDb21wbGV0aW9uSGFuZGxlcjx2
b2lkKGNvbnN0IFdlYkNvcmU6OkF1dGhlbnRpY2F0b3JBc3NlcnRpb25SZXNwb25zZSYpPiYmKSBm
aW5hbDsKIAogICAgIC8vIE92ZXJyaWRlbiBieSBNb2NrQXV0aGVudGljYXRvck1hbmFnZXIuCiAg
ICAgdmlydHVhbCBVbmlxdWVSZWY8QXV0aGVudGljYXRvclRyYW5zcG9ydFNlcnZpY2U+IGNyZWF0
ZVNlcnZpY2UoV2ViQ29yZTo6QXV0aGVudGljYXRvclRyYW5zcG9ydCwgQXV0aGVudGljYXRvclRy
YW5zcG9ydFNlcnZpY2U6Ok9ic2VydmVyJikgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9Db2NvYS9XZWJBdXRoZW50aWNhdGlvblBh
bmVsQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9D
b2NvYS9XZWJBdXRoZW50aWNhdGlvblBhbmVsQ2xpZW50LmgKaW5kZXggZmFmYWE4MTEyODcxMjU1
YTZjNDhjM2UwOWQxMTNlOWE3M2ZhNGEyZi4uMTQ5OTQ2NmExY2VjYThlOWZkOTBmOWNmNjE0MjU2
NTkwMmE4OGZiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVu
dGljYXRpb24vQ29jb2EvV2ViQXV0aGVudGljYXRpb25QYW5lbENsaWVudC5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL0NvY29hL1dlYkF1dGhlbnRpY2F0
aW9uUGFuZWxDbGllbnQuaApAQCAtNTAsNyArNTAsNiBAQCBwcml2YXRlOgogICAgIHZvaWQgdXBk
YXRlUGFuZWwoV2ViQXV0aGVudGljYXRpb25TdGF0dXMpIGNvbnN0IGZpbmFsOwogICAgIHZvaWQg
ZGlzbWlzc1BhbmVsKFdlYkF1dGhlbnRpY2F0aW9uUmVzdWx0KSBjb25zdCBmaW5hbDsKICAgICB2
b2lkIHJlcXVlc3RQaW4odWludDY0X3QsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoY29uc3QgV1RG
OjpTdHJpbmcmKT4mJikgY29uc3QgZmluYWw7Ci0gICAgdm9pZCBzZWxlY3RBc3NlcnRpb25SZXNw
b25zZShjb25zdCBIYXNoU2V0PFJlZjxXZWJDb3JlOjpBdXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVz
cG9uc2U+PiYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoY29uc3QgV2ViQ29yZTo6QXV0aGVudGlj
YXRvckFzc2VydGlvblJlc3BvbnNlJik+JiYpIGNvbnN0IGZpbmFsOwogCiAgICAgX1dLV2ViQXV0
aGVudGljYXRpb25QYW5lbCAqbV9wYW5lbDsKICAgICBXZWFrT2JqQ1B0cjxpZCA8X1dLV2ViQXV0
aGVudGljYXRpb25QYW5lbERlbGVnYXRlPiA+IG1fZGVsZWdhdGU7CkBAIC01OSw3ICs1OCw2IEBA
IHByaXZhdGU6CiAgICAgICAgIGJvb2wgcGFuZWxVcGRhdGVXZWJBdXRoZW50aWNhdGlvblBhbmVs
IDogMTsKICAgICAgICAgYm9vbCBwYW5lbERpc21pc3NXZWJBdXRoZW50aWNhdGlvblBhbmVsV2l0
aFJlc3VsdCA6IDE7CiAgICAgICAgIGJvb2wgcGFuZWxSZXF1ZXN0UGluV2l0aFJlbWFpbmluZ1Jl
dHJpZXNDb21wbGV0aW9uSGFuZGxlciA6IDE7Ci0gICAgICAgIGJvb2wgcGFuZWxzZWxlY3RBc3Nl
cnRpb25SZXNwb25zZUNvbXBsZXRpb25IYW5kbGVyIDogMTsKICAgICB9IG1fZGVsZWdhdGVNZXRo
b2RzOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVu
dGljYXRpb24vQ29jb2EvV2ViQXV0aGVudGljYXRpb25QYW5lbENsaWVudC5tbSBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL0NvY29hL1dlYkF1dGhlbnRpY2F0aW9u
UGFuZWxDbGllbnQubW0KaW5kZXggMGMxYmQ0ZjVhOGM5Y2QyZTJjOGU5Mzg3MmE3ZWYzMDIyNmIy
NWVkMy4uN2YxNTdiZDk4NDY5Y2Q2NjkxZmUxMDBmM2UzNWE0MTk3MzhmNWU5MSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vQ29jb2EvV2ViQXV0
aGVudGljYXRpb25QYW5lbENsaWVudC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJBdXRoZW50aWNhdGlvbi9Db2NvYS9XZWJBdXRoZW50aWNhdGlvblBhbmVsQ2xpZW50Lm1tCkBA
IC0yOCwxMCArMjgsOCBAQAogCiAjaWYgRU5BQkxFKFdFQl9BVVRITikKIAotI2ltcG9ydCAiQVBJ
V2ViQXV0aGVudGljYXRpb25Bc3NlcnRpb25SZXNwb25zZS5oIgogI2ltcG9ydCAiQ29tcGxldGlv
bkhhbmRsZXJDYWxsQ2hlY2tlci5oIgogI2ltcG9ydCAiV2ViQXV0aGVudGljYXRpb25GbGFncy5o
IgotI2ltcG9ydCAiX1dLV2ViQXV0aGVudGljYXRpb25Bc3NlcnRpb25SZXNwb25zZUludGVybmFs
LmgiCiAjaW1wb3J0ICJfV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsLmgiCiAjaW1wb3J0IDx3dGYv
QmxvY2tQdHIuaD4KICNpbXBvcnQgPHd0Zi9SdW5Mb29wLmg+CkBAIC00NSw3ICs0Myw2IEBAIFdl
YkF1dGhlbnRpY2F0aW9uUGFuZWxDbGllbnQ6OldlYkF1dGhlbnRpY2F0aW9uUGFuZWxDbGllbnQo
X1dLV2ViQXV0aGVudGljYXRpb25QCiAgICAgbV9kZWxlZ2F0ZU1ldGhvZHMucGFuZWxVcGRhdGVX
ZWJBdXRoZW50aWNhdGlvblBhbmVsID0gW2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2Vs
ZWN0b3IocGFuZWw6dXBkYXRlV2ViQXV0aGVudGljYXRpb25QYW5lbDopXTsKICAgICBtX2RlbGVn
YXRlTWV0aG9kcy5wYW5lbERpc21pc3NXZWJBdXRoZW50aWNhdGlvblBhbmVsV2l0aFJlc3VsdCA9
IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKHBhbmVsOmRpc21pc3NXZWJB
dXRoZW50aWNhdGlvblBhbmVsV2l0aFJlc3VsdDopXTsKICAgICBtX2RlbGVnYXRlTWV0aG9kcy5w
YW5lbFJlcXVlc3RQaW5XaXRoUmVtYWluaW5nUmV0cmllc0NvbXBsZXRpb25IYW5kbGVyID0gW2Rl
bGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IocGFuZWw6cmVxdWVzdFBJTldpdGhS
ZW1haW5pbmdSZXRyaWVzOmNvbXBsZXRpb25IYW5kbGVyOildOwotICAgIG1fZGVsZWdhdGVNZXRo
b2RzLnBhbmVsc2VsZWN0QXNzZXJ0aW9uUmVzcG9uc2VDb21wbGV0aW9uSGFuZGxlciA9IFtkZWxl
Z2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKHBhbmVsOnNlbGVjdEFzc2VydGlvblJl
c3BvbnNlOmNvbXBsZXRpb25IYW5kbGVyOildOwogfQogCiBSZXRhaW5QdHI8aWQgPF9XS1dlYkF1
dGhlbnRpY2F0aW9uUGFuZWxEZWxlZ2F0ZT4gPiBXZWJBdXRoZW50aWNhdGlvblBhbmVsQ2xpZW50
OjpkZWxlZ2F0ZSgpCkBAIC02NSw3ICs2Miw2IEBAIHN0YXRpYyBfV0tXZWJBdXRoZW50aWNhdGlv
blBhbmVsVXBkYXRlIHdrV2ViQXV0aGVudGljYXRpb25QYW5lbFVwZGF0ZShXZWJBdXRoZW50CiAK
IHZvaWQgV2ViQXV0aGVudGljYXRpb25QYW5lbENsaWVudDo6dXBkYXRlUGFuZWwoV2ViQXV0aGVu
dGljYXRpb25TdGF0dXMgc3RhdHVzKSBjb25zdAogewotICAgIC8vIEZJWE1FKDIwNjI0OCkKICAg
ICAvLyBDYWxsIGRlbGVnYXRlcyBpbiB0aGUgbmV4dCBydW4gbG9vcCB0byBwcmV2ZW50IGNsaWVu
dHMnIHJlZW50cmFuY2UgdGhhdCB3b3VsZCBwb3RlbnRpYWxseSBtb2RpZnkgdGhlIHN0YXRlCiAg
ICAgLy8gb2YgdGhlIGN1cnJlbnQgcnVuIGxvb3AgaW4gdW5leHBlY3RlZCB3YXlzLgogICAgIFJ1
bkxvb3A6Om1haW4oKS5kaXNwYXRjaChbd2Vha1RoaXMgPSBtYWtlV2Vha1B0cigqdGhpcyksIHRo
aXMsIHN0YXR1c10gewpAQCAtOTcsNyArOTMsNiBAQCBzdGF0aWMgX1dLV2ViQXV0aGVudGljYXRp
b25SZXN1bHQgd2tXZWJBdXRoZW50aWNhdGlvblJlc3VsdChXZWJBdXRoZW50aWNhdGlvblJlcwog
CiB2b2lkIFdlYkF1dGhlbnRpY2F0aW9uUGFuZWxDbGllbnQ6OmRpc21pc3NQYW5lbChXZWJBdXRo
ZW50aWNhdGlvblJlc3VsdCByZXN1bHQpIGNvbnN0CiB7Ci0gICAgLy8gRklYTUUoMjA2MjQ4KQog
ICAgIC8vIENhbGwgZGVsZWdhdGVzIGluIHRoZSBuZXh0IHJ1biBsb29wIHRvIHByZXZlbnQgY2xp
ZW50cycgcmVlbnRyYW5jZSB0aGF0IHdvdWxkIHBvdGVudGlhbGx5IG1vZGlmeSB0aGUgc3RhdGUK
ICAgICAvLyBvZiB0aGUgY3VycmVudCBydW4gbG9vcCBpbiB1bmV4cGVjdGVkIHdheXMuCiAgICAg
UnVuTG9vcDo6bWFpbigpLmRpc3BhdGNoKFt3ZWFrVGhpcyA9IG1ha2VXZWFrUHRyKCp0aGlzKSwg
dGhpcywgcmVzdWx0XSB7CkBAIC0xMTcsNyArMTEyLDYgQEAgdm9pZCBXZWJBdXRoZW50aWNhdGlv
blBhbmVsQ2xpZW50OjpkaXNtaXNzUGFuZWwoV2ViQXV0aGVudGljYXRpb25SZXN1bHQgcmVzdWx0
KQogCiB2b2lkIFdlYkF1dGhlbnRpY2F0aW9uUGFuZWxDbGllbnQ6OnJlcXVlc3RQaW4odWludDY0
X3QgcmV0cmllcywgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChjb25zdCBXVEY6OlN0cmluZyYpPiYm
IGNvbXBsZXRpb25IYW5kbGVyKSBjb25zdAogewotICAgIC8vIEZJWE1FKDIwNjI0OCkKICAgICAv
LyBDYWxsIGRlbGVnYXRlcyBpbiB0aGUgbmV4dCBydW4gbG9vcCB0byBwcmV2ZW50IGNsaWVudHMn
IHJlZW50cmFuY2UgdGhhdCB3b3VsZCBwb3RlbnRpYWxseSBtb2RpZnkgdGhlIHN0YXRlCiAgICAg
Ly8gb2YgdGhlIGN1cnJlbnQgcnVuIGxvb3AgaW4gdW5leHBlY3RlZCB3YXlzLgogICAgIFJ1bkxv
b3A6Om1haW4oKS5kaXNwYXRjaChbd2Vha1RoaXMgPSBtYWtlV2Vha1B0cigqdGhpcyksIHRoaXMs
IHJldHJpZXMsIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcild
ICgpIG11dGFibGUgewpAQCAtMTQ3LDQzICsxNDEsNiBAQCB2b2lkIFdlYkF1dGhlbnRpY2F0aW9u
UGFuZWxDbGllbnQ6OnJlcXVlc3RQaW4odWludDY0X3QgcmV0cmllcywgQ29tcGxldGlvbkhhbmRs
ZQogICAgIH0pOwogfQogCi12b2lkIFdlYkF1dGhlbnRpY2F0aW9uUGFuZWxDbGllbnQ6OnNlbGVj
dEFzc2VydGlvblJlc3BvbnNlKGNvbnN0IEhhc2hTZXQ8UmVmPFdlYkNvcmU6OkF1dGhlbnRpY2F0
b3JBc3NlcnRpb25SZXNwb25zZT4+JiByZXNwb25zZXMsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
Y29uc3QgV2ViQ29yZTo6QXV0aGVudGljYXRvckFzc2VydGlvblJlc3BvbnNlJik+JiYgY29tcGxl
dGlvbkhhbmRsZXIpIGNvbnN0Ci17Ci0gICAgQVNTRVJUKCFyZXNwb25zZXMuaXNFbXB0eSgpKTsK
LSAgICBhdXRvIG5zUmVzcG9uc2VzID0gYWRvcHROUyhbW05TTXV0YWJsZUFycmF5IGFsbG9jXSBp
bml0V2l0aENhcGFjaXR5OnJlc3BvbnNlcy5zaXplKCldKTsKLSAgICBmb3IgKGF1dG8mIHJlc3Bv
bnNlIDogcmVzcG9uc2VzKQotICAgICAgICBbbnNSZXNwb25zZXMgYWRkT2JqZWN0OndyYXBwZXIo
QVBJOjpXZWJBdXRoZW50aWNhdGlvbkFzc2VydGlvblJlc3BvbnNlOjpjcmVhdGUocmVzcG9uc2Uu
Y29weVJlZigpKSldOwotCi0gICAgLy8gRklYTUUoMjA2MjQ4KQotICAgIC8vIENhbGwgZGVsZWdh
dGVzIGluIHRoZSBuZXh0IHJ1biBsb29wIHRvIHByZXZlbnQgY2xpZW50cycgcmVlbnRyYW5jZSB0
aGF0IHdvdWxkIHBvdGVudGlhbGx5IG1vZGlmeSB0aGUgc3RhdGUKLSAgICAvLyBvZiB0aGUgY3Vy
cmVudCBydW4gbG9vcCBpbiB1bmV4cGVjdGVkIHdheXMuCi0gICAgUnVuTG9vcDo6bWFpbigpLmRp
c3BhdGNoKFt3ZWFrVGhpcyA9IG1ha2VXZWFrUHRyKCp0aGlzKSwgdGhpcywgbnNSZXNwb25zZXMg
PSBXVEZNb3ZlKG5zUmVzcG9uc2VzKSwgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBs
ZXRpb25IYW5kbGVyKV0gKCkgbXV0YWJsZSB7Ci0gICAgICAgIGlmICghd2Vha1RoaXMpIHsKLSAg
ICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKHN0YXRpY19jYXN0PEFQSTo6V2ViQXV0aGVudGlj
YXRpb25Bc3NlcnRpb25SZXNwb25zZSY+KFtbbnNSZXNwb25zZXMgZmlyc3RPYmplY3RdIF9hcGlP
YmplY3RdKS5yZXNwb25zZSgpKTsKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfQotCi0g
ICAgICAgIGlmICghbV9kZWxlZ2F0ZU1ldGhvZHMucGFuZWxzZWxlY3RBc3NlcnRpb25SZXNwb25z
ZUNvbXBsZXRpb25IYW5kbGVyKSB7Ci0gICAgICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihzdGF0
aWNfY2FzdDxBUEk6OldlYkF1dGhlbnRpY2F0aW9uQXNzZXJ0aW9uUmVzcG9uc2UmPihbW25zUmVz
cG9uc2VzIGZpcnN0T2JqZWN0XSBfYXBpT2JqZWN0XSkucmVzcG9uc2UoKSk7Ci0gICAgICAgICAg
ICByZXR1cm47Ci0gICAgICAgIH0KLQotICAgICAgICBhdXRvIGRlbGVnYXRlID0gbV9kZWxlZ2F0
ZS5nZXQoKTsKLSAgICAgICAgaWYgKCFkZWxlZ2F0ZSkgewotICAgICAgICAgICAgY29tcGxldGlv
bkhhbmRsZXIoc3RhdGljX2Nhc3Q8QVBJOjpXZWJBdXRoZW50aWNhdGlvbkFzc2VydGlvblJlc3Bv
bnNlJj4oW1tuc1Jlc3BvbnNlcyBmaXJzdE9iamVjdF0gX2FwaU9iamVjdF0pLnJlc3BvbnNlKCkp
OwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0KLSAgICAgICAgYXV0byBjaGVja2Vy
ID0gQ29tcGxldGlvbkhhbmRsZXJDYWxsQ2hlY2tlcjo6Y3JlYXRlKGRlbGVnYXRlLmdldCgpLCBA
c2VsZWN0b3IocGFuZWw6c2VsZWN0QXNzZXJ0aW9uUmVzcG9uc2U6Y29tcGxldGlvbkhhbmRsZXI6
KSk7Ci0gICAgICAgIFtkZWxlZ2F0ZSBwYW5lbDptX3BhbmVsIHNlbGVjdEFzc2VydGlvblJlc3Bv
bnNlOm5zUmVzcG9uc2VzLmdldCgpIGNvbXBsZXRpb25IYW5kbGVyOm1ha2VCbG9ja1B0cihbY29t
cGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSwgY2hlY2tlciA9IFdU
Rk1vdmUoY2hlY2tlcildKF9XS1dlYkF1dGhlbnRpY2F0aW9uQXNzZXJ0aW9uUmVzcG9uc2UgKnJl
c3BvbnNlKSBtdXRhYmxlIHsKLSAgICAgICAgICAgIGlmIChjaGVja2VyLT5jb21wbGV0aW9uSGFu
ZGxlckhhc0JlZW5DYWxsZWQoKSkKLSAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAg
ICBjaGVja2VyLT5kaWRDYWxsQ29tcGxldGlvbkhhbmRsZXIoKTsKLSAgICAgICAgICAgIGNvbXBs
ZXRpb25IYW5kbGVyKHN0YXRpY19jYXN0PEFQSTo6V2ViQXV0aGVudGljYXRpb25Bc3NlcnRpb25S
ZXNwb25zZSY+KFtyZXNwb25zZSBfYXBpT2JqZWN0XSkucmVzcG9uc2UoKSk7Ci0gICAgICAgIH0p
LmdldCgpXTsKLSAgICB9KTsKLX0KLQogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICNlbmRpZiAv
LyBFTkFCTEUoV0VCX0FVVEhOKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViQXV0aGVudGljYXRpb24vZmlkby9DdGFwQXV0aGVudGljYXRvci5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9maWRvL0N0YXBBdXRoZW50aWNhdG9yLmNw
cAppbmRleCA5YTBhOGRiMjdkYTVhMmEzMGQyZmUxZmQ1NDliNzcyZDZkZjJhMWZlLi4zYzNmOTYy
MThhYmJlNWY2YzEyMjEwOTk3NDlkZTk3NGNlZWE4MTY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9maWRvL0N0YXBBdXRoZW50aWNhdG9yLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9maWRvL0N0
YXBBdXRoZW50aWNhdG9yLmNwcApAQCAtMTUxLDExICsxNTEsMTEgQEAgdm9pZCBDdGFwQXV0aGVu
dGljYXRvcjo6Y29udGludWVHZXROZXh0QXNzZXJ0aW9uQWZ0ZXJSZXNwb25zZVJlY2VpdmVkKFZl
Y3Rvcjx1aW4KIAogICAgIGlmICghbV9yZW1haW5pbmdBc3NlcnRpb25SZXNwb25zZXMpIHsKICAg
ICAgICAgaWYgKGF1dG8qIG9ic2VydmVyID0gdGhpcy0+b2JzZXJ2ZXIoKSkgewotICAgICAgICAg
ICAgb2JzZXJ2ZXItPnNlbGVjdEFzc2VydGlvblJlc3BvbnNlKG1fYXNzZXJ0aW9uUmVzcG9uc2Vz
LCBbdGhpcywgd2Vha1RoaXMgPSBtYWtlV2Vha1B0cigqdGhpcyldIChjb25zdCBBdXRoZW50aWNh
dG9yQXNzZXJ0aW9uUmVzcG9uc2UmIHJlc3BvbnNlKSB7CisgICAgICAgICAgICBvYnNlcnZlci0+
c2VsZWN0QXNzZXJ0aW9uUmVzcG9uc2VzKG1fYXNzZXJ0aW9uUmVzcG9uc2VzLCBbdGhpcywgd2Vh
a1RoaXMgPSBtYWtlV2Vha1B0cigqdGhpcyldIChjb25zdCBSZWY8QXV0aGVudGljYXRvckFzc2Vy
dGlvblJlc3BvbnNlPiYgcmVzcG9uc2UpIHsKICAgICAgICAgICAgICAgICBBU1NFUlQoUnVuTG9v
cDo6aXNNYWluKCkpOwogICAgICAgICAgICAgICAgIGlmICghd2Vha1RoaXMpCiAgICAgICAgICAg
ICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgICAgICBhdXRvIHJldHVyblJlc3BvbnNlID0g
bV9hc3NlcnRpb25SZXNwb25zZXMudGFrZShjb25zdF9jYXN0PEF1dGhlbnRpY2F0b3JBc3NlcnRp
b25SZXNwb25zZSo+KCZyZXNwb25zZSkpOworICAgICAgICAgICAgICAgIGF1dG8gcmV0dXJuUmVz
cG9uc2UgPSBtX2Fzc2VydGlvblJlc3BvbnNlcy50YWtlKHJlc3BvbnNlKTsKICAgICAgICAgICAg
ICAgICBpZiAoIXJldHVyblJlc3BvbnNlKQogICAgICAgICAgICAgICAgICAgICByZXR1cm47CiAg
ICAgICAgICAgICAgICAgcmVjZWl2ZVJlc3BvbmQoV1RGTW92ZSgqcmV0dXJuUmVzcG9uc2UpKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL2Zp
ZG8vRmlkb0F1dGhlbnRpY2F0b3IuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0
aGVudGljYXRpb24vZmlkby9GaWRvQXV0aGVudGljYXRvci5jcHAKaW5kZXggNmI1MWJmOTkzZDNh
ZDE4MThmYTUwNGY1OGVhNWNhZTlhNjUzODg4NC4uNmY3ZmI1M2U2NTJhMmMxNzIzMTNiYTJlZjMw
YzIwODlkOTc0MzE5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0
aGVudGljYXRpb24vZmlkby9GaWRvQXV0aGVudGljYXRvci5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vZmlkby9GaWRvQXV0aGVudGljYXRvci5jcHAK
QEAgLTI4LDggKzI4LDYgQEAKIAogI2lmIEVOQUJMRShXRUJfQVVUSE4pCiAKLSNpbmNsdWRlICJD
dGFwRHJpdmVyLmgiCi0KIG5hbWVzcGFjZSBXZWJLaXQgewogCiBGaWRvQXV0aGVudGljYXRvcjo6
Rmlkb0F1dGhlbnRpY2F0b3Ioc3RkOjp1bmlxdWVfcHRyPEN0YXBEcml2ZXI+JiYgZHJpdmVyKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
aiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXgg
MzcwYTliNTAwMGNiNGQ1OTJhNzVkMTdmZGM1ZmY1YTk0NDU5YWY1My4uYjE5NDMzYWUyYmI5ZmE3
NjY3NTI2ZTcyNTVkOWQxNWRhNDJhNDFmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJL
aXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMDk4LDkgKzEwOTgsNiBAQAogCQk1NzdGRjc4
MjIzNDZFODFDMDA0RURGQjkgLyogQVBJV2ViQXV0aGVudGljYXRpb25QYW5lbENsaWVudC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTc3RkY3ODEyMzQ2
RTgxQzAwNEVERkI5IC8qIEFQSVdlYkF1dGhlbnRpY2F0aW9uUGFuZWxDbGllbnQuaCAqLzsgfTsK
IAkJNTc3RkY3ODUyMzQ2RUNBQTAwNEVERkI5IC8qIFdlYkF1dGhlbnRpY2F0aW9uUGFuZWxDbGll
bnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3N0ZG
NzgzMjM0NkVDQUEwMDRFREZCOSAvKiBXZWJBdXRoZW50aWNhdGlvblBhbmVsQ2xpZW50LmggKi87
IH07CiAJCTU3OERDMjk4MjE1NUEwMDIwMDc0RTgxNSAvKiBMb2NhbEF1dGhlbnRpY2F0aW9uU29m
dExpbmsuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3
OERDMjk3MjE1NUEwMDEwMDc0RTgxNSAvKiBMb2NhbEF1dGhlbnRpY2F0aW9uU29mdExpbmsuaCAq
LzsgfTsKLQkJNTc5RjFCRjYyM0M4MERCNjAwQzdENEI0IC8qIF9XS1dlYkF1dGhlbnRpY2F0aW9u
QXNzZXJ0aW9uUmVzcG9uc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDU3OUYxQkY0MjNDODBEQjYwMEM3RDRCNCAvKiBfV0tXZWJBdXRoZW50aWNhdGlv
bkFzc2VydGlvblJlc3BvbnNlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKLQkJNTc5RjFCRjkyM0M4MEVDNjAwQzdENEI0IC8qIF9XS1dlYkF1dGhlbnRp
Y2F0aW9uQXNzZXJ0aW9uUmVzcG9uc2VJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTc5RjFCRjgyM0M4MEVDNjAwQzdENEI0IC8qIF9XS1dl
YkF1dGhlbnRpY2F0aW9uQXNzZXJ0aW9uUmVzcG9uc2VJbnRlcm5hbC5oICovOyB9OwotCQk1NzlG
MUJGQzIzQzgxMUNGMDBDN0Q0QjQgLyogQVBJV2ViQXV0aGVudGljYXRpb25Bc3NlcnRpb25SZXNw
b25zZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTc5
RjFCRkEyM0M4MTFDRjAwQzdENEI0IC8qIEFQSVdlYkF1dGhlbnRpY2F0aW9uQXNzZXJ0aW9uUmVz
cG9uc2UuaCAqLzsgfTsKIAkJNTdBQzhGNTAyMTdGRUVEOTAwNTU0MzhDIC8qIEhpZENvbm5lY3Rp
b24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3QUM4
RjRFMjE3RkVFRDkwMDU1NDM4QyAvKiBIaWRDb25uZWN0aW9uLmggKi87IH07CiAJCTU3QjRCNDYw
MjBCNTA0QUMwMEQ0QUQ3OSAvKiBDbGllbnRDZXJ0aWZpY2F0ZUF1dGhlbnRpY2F0aW9uWFBDQ29u
c3RhbnRzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1
N0I0QjQ1RTIwQjUwNEFCMDBENEFENzkgLyogQ2xpZW50Q2VydGlmaWNhdGVBdXRoZW50aWNhdGlv
blhQQ0NvbnN0YW50cy5oICovOyB9OwogCQk1N0I4MjY0MTIzMDRFQjNFMDBCNzJFQjAgLyogTmVh
ckZpZWxkU1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA1N0I4MjY0MDIzMDRFQjNFMDBCNzJFQjAgLyogTmVhckZpZWxkU1BJLmggKi87IH07CkBAIC0z
Nzc2LDExICszNzczLDYgQEAKIAkJNTc3RkY3ODMyMzQ2RUNBQTAwNEVERkI5IC8qIFdlYkF1dGhl
bnRpY2F0aW9uUGFuZWxDbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViQXV0aGVudGljYXRpb25Q
YW5lbENsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1NzdGRjc4NDIzNDZF
Q0FBMDA0RURGQjkgLyogV2ViQXV0aGVudGljYXRpb25QYW5lbENsaWVudC5tbSAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9i
amNwcDsgcGF0aCA9IFdlYkF1dGhlbnRpY2F0aW9uUGFuZWxDbGllbnQubW07IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTU3OERDMjk3MjE1NUEwMDEwMDc0RTgxNSAvKiBMb2NhbEF1dGhl
bnRpY2F0aW9uU29mdExpbmsuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTG9jYWxBdXRoZW50aWNhdGlvblNv
ZnRMaW5rLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTU3OUYxQkY0MjNDODBEQjYw
MEM3RDRCNCAvKiBfV0tXZWJBdXRoZW50aWNhdGlvbkFzc2VydGlvblJlc3BvbnNlLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IF9XS1dlYkF1dGhlbnRpY2F0aW9uQXNzZXJ0aW9uUmVzcG9uc2UuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNTc5RjFCRjUyM0M4MERCNjAwQzdENEI0IC8qIF9XS1dl
YkF1dGhlbnRpY2F0aW9uQXNzZXJ0aW9uUmVzcG9uc2UubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGgg
PSBfV0tXZWJBdXRoZW50aWNhdGlvbkFzc2VydGlvblJlc3BvbnNlLm1tOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwotCQk1NzlGMUJGODIzQzgwRUM2MDBDN0Q0QjQgLyogX1dLV2ViQXV0aGVu
dGljYXRpb25Bc3NlcnRpb25SZXNwb25zZUludGVybmFsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IF9XS1dl
YkF1dGhlbnRpY2F0aW9uQXNzZXJ0aW9uUmVzcG9uc2VJbnRlcm5hbC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwotCQk1NzlGMUJGQTIzQzgxMUNGMDBDN0Q0QjQgLyogQVBJV2ViQXV0aGVu
dGljYXRpb25Bc3NlcnRpb25SZXNwb25zZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBUElXZWJBdXRoZW50
aWNhdGlvbkFzc2VydGlvblJlc3BvbnNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0J
CTU3OUYxQkZCMjNDODExQ0YwMEM3RDRCNCAvKiBBUElXZWJBdXRoZW50aWNhdGlvbkFzc2VydGlv
blJlc3BvbnNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFQSVdlYkF1dGhlbnRpY2F0aW9uQXNz
ZXJ0aW9uUmVzcG9uc2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1N0FDOEY0
RTIxN0ZFRUQ5MDA1NTQzOEMgLyogSGlkQ29ubmVjdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBIaWRD
b25uZWN0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU3QUM4RjRGMjE3RkVF
RDkwMDU1NDM4QyAvKiBIaWRDb25uZWN0aW9uLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gSGlk
Q29ubmVjdGlvbi5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTdCNEI0NUQyMEI1
MDRBQjAwRDRBRDc5IC8qIEF1dGhlbnRpY2F0aW9uTWFuYWdlckNvY29hLm1tICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gQXV0aGVudGljYXRpb25NYW5hZ2VyQ29jb2Eu
bW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC02ODgzLDkgKzY4NzUsNiBAQAogCQkJ
CTFBODFCMzdGMThCRDY2QUQwMDA3RkRBQyAvKiBfV0tWaXNpdGVkTGlua1N0b3JlLmggKi8sCiAJ
CQkJMUE4MUIzN0UxOEJENjZBRDAwMDdGREFDIC8qIF9XS1Zpc2l0ZWRMaW5rU3RvcmUubW0gKi8s
CiAJCQkJMUE4MUIzODQxOEJENjczQTAwMDdGREFDIC8qIF9XS1Zpc2l0ZWRMaW5rU3RvcmVJbnRl
cm5hbC5oICovLAotCQkJCTU3OUYxQkY0MjNDODBEQjYwMEM3RDRCNCAvKiBfV0tXZWJBdXRoZW50
aWNhdGlvbkFzc2VydGlvblJlc3BvbnNlLmggKi8sCi0JCQkJNTc5RjFCRjUyM0M4MERCNjAwQzdE
NEI0IC8qIF9XS1dlYkF1dGhlbnRpY2F0aW9uQXNzZXJ0aW9uUmVzcG9uc2UubW0gKi8sCi0JCQkJ
NTc5RjFCRjgyM0M4MEVDNjAwQzdENEI0IC8qIF9XS1dlYkF1dGhlbnRpY2F0aW9uQXNzZXJ0aW9u
UmVzcG9uc2VJbnRlcm5hbC5oICovLAogCQkJCTU3NDcyOENGMjM0NTZFOTgwMDE3MDBBRiAvKiBf
V0tXZWJBdXRoZW50aWNhdGlvblBhbmVsLmggKi8sCiAJCQkJNTc0NzI4RDAyMzQ1NkU5ODAwMTcw
MEFGIC8qIF9XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwubW0gKi8sCiAJCQkJNTc0NzI4RDMyMzQ1
NzBBRTAwMTcwMEFGIC8qIF9XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWxJbnRlcm5hbC5oICovLApA
QCAtODU2OCw4ICs4NTU3LDYgQEAKIAkJCQk3Qzg5RDI5MjFBNjcxMjJGMDAzQTVGREUgLyogQVBJ
VXNlclNjcmlwdC5oICovLAogCQkJCTJEODc4NjIxMUJEQjU4RkYwMEQwMkFCQiAvKiBBUElVc2Vy
U3R5bGVTaGVldC5jcHAgKi8sCiAJCQkJMkQ4Nzg2MjIxQkRCNThGRjAwRDAyQUJCIC8qIEFQSVVz
ZXJTdHlsZVNoZWV0LmggKi8sCi0JCQkJNTc5RjFCRkIyM0M4MTFDRjAwQzdENEI0IC8qIEFQSVdl
YkF1dGhlbnRpY2F0aW9uQXNzZXJ0aW9uUmVzcG9uc2UuY3BwICovLAotCQkJCTU3OUYxQkZBMjND
ODExQ0YwMEM3RDRCNCAvKiBBUElXZWJBdXRoZW50aWNhdGlvbkFzc2VydGlvblJlc3BvbnNlLmgg
Ki8sCiAJCQkJNTdFQkUyNjkyMzQ2NzZDNTAwOEQ4QUY5IC8qIEFQSVdlYkF1dGhlbnRpY2F0aW9u
UGFuZWwuY3BwICovLAogCQkJCTU3RUJFMjY4MjM0Njc2QzUwMDhEOEFGOSAvKiBBUElXZWJBdXRo
ZW50aWNhdGlvblBhbmVsLmggKi8sCiAJCQkJNTc3RkY3ODEyMzQ2RTgxQzAwNEVERkI5IC8qIEFQ
SVdlYkF1dGhlbnRpY2F0aW9uUGFuZWxDbGllbnQuaCAqLywKQEAgLTk5NDIsOCArOTkyOSw2IEBA
CiAJCQkJMkQ4Nzg2MjAxQkRCNTdGNTAwRDAyQUJCIC8qIF9XS1VzZXJTdHlsZVNoZWV0SW50ZXJu
YWwuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBODFCMzgxMThCRDY2QUQwMDA3RkRBQyAvKiBfV0tW
aXNpdGVkTGlua1N0b3JlLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTgxQjM4NTE4QkQ2NzNBMDAw
N0ZEQUMgLyogX1dLVmlzaXRlZExpbmtTdG9yZUludGVybmFsLmggaW4gSGVhZGVycyAqLywKLQkJ
CQk1NzlGMUJGNjIzQzgwREI2MDBDN0Q0QjQgLyogX1dLV2ViQXV0aGVudGljYXRpb25Bc3NlcnRp
b25SZXNwb25zZS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJNTc5RjFCRjkyM0M4MEVDNjAwQzdENEI0
IC8qIF9XS1dlYkF1dGhlbnRpY2F0aW9uQXNzZXJ0aW9uUmVzcG9uc2VJbnRlcm5hbC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNTc0NzI4RDEyMzQ1NkU5ODAwMTcwMEFGIC8qIF9XS1dlYkF1dGhlbnRp
Y2F0aW9uUGFuZWwuaCBpbiBIZWFkZXJzICovLAogCQkJCTU3NDcyOEQ0MjM0NTcwQUUwMDE3MDBB
RiAvKiBfV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAog
CQkJCTFBRTI4Njc4MUM3RTc2NTEwMDY5QUM0RiAvKiBfV0tXZWJzaXRlRGF0YVNpemUuaCBpbiBI
ZWFkZXJzICovLApAQCAtMTAwMjYsNyArMTAwMTEsNiBAQAogCQkJCTJEODc4NjI0MUJEQjU4RkYw
MEQwMkFCQiAvKiBBUElVc2VyU3R5bGVTaGVldC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzVFMUFG
RUQxNkIyMTAxNzAwNkNDMUYyIC8qIEFQSVdlYkFyY2hpdmUuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUM1RTFBRkVGMTZCMjEwMjkwMDZDQzFGMiAvKiBBUElXZWJBcmNoaXZlUmVzb3VyY2UuaCBpbiBI
ZWFkZXJzICovLAotCQkJCTU3OUYxQkZDMjNDODExQ0YwMEM3RDRCNCAvKiBBUElXZWJBdXRoZW50
aWNhdGlvbkFzc2VydGlvblJlc3BvbnNlLmggaW4gSGVhZGVycyAqLywKIAkJCQk1N0VCRTI2QTIz
NDY3NkM1MDA4RDhBRjkgLyogQVBJV2ViQXV0aGVudGljYXRpb25QYW5lbC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNTc3RkY3ODIyMzQ2RTgxQzAwNEVERkI5IC8qIEFQSVdlYkF1dGhlbnRpY2F0aW9u
UGFuZWxDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBRTI4Njg0MUM3RjkzODYwMDY5QUM0
RiAvKiBBUElXZWJzaXRlRGF0YVJlY29yZC5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9U
b29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZWY1YzEyYjhkNWE3NDZiNGU5
NGVkYjU4MTkyNDZlMDIwMWFiNjRjNy4uNGY5ZDc1MGZiYzdkMjkyOGJlNWMxYmJkOTJhMzA1ZjI4
OWZmZDYwYiAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDIxIEBACisyMDIwLTAxLTE0ICBDb21taXQgUXVldWUgIDxjb21taXQtcXVl
dWVAd2Via2l0Lm9yZz4KKworICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMjU0NTMz
IGFuZCByMjU0NTM1LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjA2MjYzCisKKyAgICAgICAgQnJlYWtzIGlPUyBhbmQgbWFjT1MgYnVpbGRzIChSZXF1
ZXN0ZWQgYnkgcnlhbmhhZGRhZCBvbgorICAgICAgICAjd2Via2l0KS4KKworICAgICAgICBSZXZl
cnRlZCBjaGFuZ2VzZXRzOgorCisgICAgICAgICJbV2ViQXV0aG5dIEltcGxlbWVudCBTUEkgdG8g
dGVsbCBVSSBjbGllbnRzIHRvIHNlbGVjdAorICAgICAgICBhc3NlcnRpb24gcmVzcG9uc2VzIgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA2MTEyCisg
ICAgICAgIGh0dHBzOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8yNTQ1MzMKKworICAgICAg
ICAiVW5yZXZpZXdlZCwgYSBidWlsZCBmaXggYWZ0ZXIgcjI1NDUzMyIKKyAgICAgICAgaHR0cHM6
Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzI1NDUzNQorCiAyMDIwLTAxLTE0ICBXZW5zb24g
SHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFtpT1NdIEtleWJvYXJk
IGlucHV0IGlzIHNldmVyZWx5IGRlbGF5ZWQgYWZ0ZXIgc3dpdGNoaW5nIGF3YXkgZnJvbSB1bnJl
c3BvbnNpdmUgdGFiCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRB
UEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdl
YktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGRlMzFiMWVmY2Q5NzJkOTJi
YjA0M2U3ODg0NzRiMzJhZjdlNTk1MGIuLmEyZDQxZTZjM2ViYzJmZTliYjYwYzFhNDYyOTI4MGQ3
MjgxNTkxYjMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdl
YktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0zNjgsNyArMzY4LDYgQEAKIAkJ
NTc5N0ZFMzMxRUIxNUFCMTAwQjJGNEEwIC8qIG5hdmlnYXRpb24tY2xpZW50LWRlZmF1bHQtY3J5
cHRvLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNTc5N0ZFMzIxRUIxNUE4OTAwQjJGNEEwIC8qIG5hdmlnYXRpb24tY2xpZW50LWRlZmF1
bHQtY3J5cHRvLmh0bWwgKi87IH07CiAJCTU3OTgzMzdFMjM2MDE5QTQwMDhFNTU0NyAvKiB3ZWIt
YXV0aGVudGljYXRpb24tbWFrZS1jcmVkZW50aWFsLWhpZC5odG1sIGluIENvcHkgUmVzb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3OTgzMzdEMjM2MDE5NkQwMDhF
NTU0NyAvKiB3ZWItYXV0aGVudGljYXRpb24tbWFrZS1jcmVkZW50aWFsLWhpZC5odG1sICovOyB9
OwogCQk1Nzk4MzM5MjIzNjhGQTM3MDA4RTU1NDcgLyogd2ViLWF1dGhlbnRpY2F0aW9uLWdldC1h
c3NlcnRpb24tbmZjLW11bHRpcGxlLXRhZ3MuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1Nzk4MzM3QjIzNUVCNjVDMDA4RTU1NDcgLyog
d2ViLWF1dGhlbnRpY2F0aW9uLWdldC1hc3NlcnRpb24tbmZjLW11bHRpcGxlLXRhZ3MuaHRtbCAq
LzsgfTsKLQkJNTc5RjFDMDEyM0M5M0FGNTAwQzdENEI0IC8qIHdlYi1hdXRoZW50aWNhdGlvbi1n
ZXQtYXNzZXJ0aW9uLWhpZC1tdWx0aXBsZS1hY2NvdW50cy5odG1sIGluIENvcHkgUmVzb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3OUYxQkZGMjNDOTJGRDMwMEM3
RDRCNCAvKiB3ZWItYXV0aGVudGljYXRpb24tZ2V0LWFzc2VydGlvbi1oaWQtbXVsdGlwbGUtYWNj
b3VudHMuaHRtbCAqLzsgfTsKIAkJNTdBNzk4NTcyMjRBQjM0RTAwQTdGNkYxIC8qIFdlYkNyeXB0
b01hc3RlcktleS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDU3QTc5ODU2MjI0QUIzNEUwMEE3RjZGMSAvKiBXZWJDcnlwdG9NYXN0ZXJLZXkubW0gKi87
IH07CiAJCTU3QzNGQTY2MUY3QzI0OEYwMDlENEI4MCAvKiBXZWFrUHRyLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDQjlCQzM3MUE2NzQ4MjMwMEZF
NTY3OCAvKiBXZWFrUHRyLmNwcCAqLzsgfTsKIAkJNTdDNjI0NEUyMzQ2QkNGQTAwMzgzRkU3IC8q
IF9XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA1N0M2MjQ0RDIzNDZCQ0ZBMDAzODNGRTcgLyogX1dLV2ViQXV0
aGVudGljYXRpb25QYW5lbC5tbSAqLzsgfTsKQEAgLTE0ODUsNyArMTQ4NCw2IEBACiAJCQkJMkVC
RDlEMEEyMTM0NzMwRDAwMkRBNzU4IC8qIHZpZGVvLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8s
CiAJCQkJQ0Q1Nzc3OTkyMTFDRTBFNDAwMUIzNzFFIC8qIHdlYi1hdWRpby1vbmx5Lmh0bWwgaW4g
Q29weSBSZXNvdXJjZXMgKi8sCiAJCQkJNTc2NjNERjMyMzU3RTQ4OTAwRTg1RTA5IC8qIHdlYi1h
dXRoZW50aWNhdGlvbi1nZXQtYXNzZXJ0aW9uLWhpZC1jYW5jZWwuaHRtbCBpbiBDb3B5IFJlc291
cmNlcyAqLywKLQkJCQk1NzlGMUMwMTIzQzkzQUY1MDBDN0Q0QjQgLyogd2ViLWF1dGhlbnRpY2F0
aW9uLWdldC1hc3NlcnRpb24taGlkLW11bHRpcGxlLWFjY291bnRzLmh0bWwgaW4gQ29weSBSZXNv
dXJjZXMgKi8sCiAJCQkJNTc3NDU0RDAyMzU5QjM3ODAwOEUxRUQ3IC8qIHdlYi1hdXRoZW50aWNh
dGlvbi1nZXQtYXNzZXJ0aW9uLWhpZC1uby1jcmVkZW50aWFscy5odG1sIGluIENvcHkgUmVzb3Vy
Y2VzICovLAogCQkJCTU3MEQyNkZDMjNDM0Y4NzAwMEQ1Q0Y2NyAvKiB3ZWItYXV0aGVudGljYXRp
b24tZ2V0LWFzc2VydGlvbi1oaWQtcGluLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCiAJCQkJ
NTc2NjNERUMyMzRGMUY5MzAwRTg1RTA5IC8qIHdlYi1hdXRoZW50aWNhdGlvbi1nZXQtYXNzZXJ0
aW9uLWhpZC5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLApAQCAtMTk1MSw3ICsxOTQ5LDYgQEAK
IAkJNTc5ODMzN0IyMzVFQjY1QzAwOEU1NTQ3IC8qIHdlYi1hdXRoZW50aWNhdGlvbi1nZXQtYXNz
ZXJ0aW9uLW5mYy1tdWx0aXBsZS10YWdzLmh0bWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0Lmh0bWw7IHBhdGgg
PSAid2ViLWF1dGhlbnRpY2F0aW9uLWdldC1hc3NlcnRpb24tbmZjLW11bHRpcGxlLXRhZ3MuaHRt
bCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU3OTgzMzdEMjM2MDE5NkQwMDhFNTU0
NyAvKiB3ZWItYXV0aGVudGljYXRpb24tbWFrZS1jcmVkZW50aWFsLWhpZC5odG1sICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gdGV4dC5odG1sOyBwYXRoID0gIndlYi1hdXRoZW50aWNhdGlvbi1tYWtlLWNyZWRlbnRpYWwt
aGlkLmh0bWwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1Nzk4RTJBRjFDQUY1QzI4
MDBDNUNCQTAgLyogUHJvdmlzaW9uYWxVUkxOb3RDaGFuZ2UubW0gKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5vYmpjcHA7IHBhdGggPSBQcm92aXNpb25hbFVSTE5vdENoYW5nZS5tbTsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNTc5RjFCRkYyM0M5MkZEMzAwQzdENEI0IC8qIHdlYi1h
dXRoZW50aWNhdGlvbi1nZXQtYXNzZXJ0aW9uLWhpZC1tdWx0aXBsZS1hY2NvdW50cy5odG1sICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1s
OyBwYXRoID0gIndlYi1hdXRoZW50aWNhdGlvbi1nZXQtYXNzZXJ0aW9uLWhpZC1tdWx0aXBsZS1h
Y2NvdW50cy5odG1sIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTdBNzk4NTYyMjRB
QjM0RTAwQTdGNkYxIC8qIFdlYkNyeXB0b01hc3RlcktleS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0
aCA9IFdlYkNyeXB0b01hc3RlcktleS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NTdDNjI0NEQyMzQ2QkNGQTAwMzgzRkU3IC8qIF9XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwubW0g
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5vYmpjcHA7IHBhdGggPSBfV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsLm1tOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1N0M2MjQ0RjIzNDZDMUVDMDAzODNGRTcgLyogd2Vi
LWF1dGhlbnRpY2F0aW9uLWdldC1hc3NlcnRpb24uaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsg
cGF0aCA9ICJ3ZWItYXV0aGVudGljYXRpb24tZ2V0LWFzc2VydGlvbi5odG1sIjsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTM1MDQsNyArMzUwMSw2IEBACiAJCQkJQ0Q1Nzc3OUIyMTFD
RTZDRTAwMUIzNzFFIC8qIHZpZGVvLXdpdGgtYXVkaW8tYW5kLXdlYi1hdWRpby5odG1sICovLAog
CQkJCUNENTc3Nzk4MjExQ0RFOEYwMDFCMzcxRSAvKiB3ZWItYXVkaW8tb25seS5odG1sICovLAog
CQkJCTU3NjYzREYyMjM1N0U0NUQwMEU4NUUwOSAvKiB3ZWItYXV0aGVudGljYXRpb24tZ2V0LWFz
c2VydGlvbi1oaWQtY2FuY2VsLmh0bWwgKi8sCi0JCQkJNTc5RjFCRkYyM0M5MkZEMzAwQzdENEI0
IC8qIHdlYi1hdXRoZW50aWNhdGlvbi1nZXQtYXNzZXJ0aW9uLWhpZC1tdWx0aXBsZS1hY2NvdW50
cy5odG1sICovLAogCQkJCTU3NzQ1NENGMjM1OUIzMzgwMDhFMUVENyAvKiB3ZWItYXV0aGVudGlj
YXRpb24tZ2V0LWFzc2VydGlvbi1oaWQtbm8tY3JlZGVudGlhbHMuaHRtbCAqLywKIAkJCQk1NzBE
MjZGQjIzQzNGODY1MDBENUNGNjcgLyogd2ViLWF1dGhlbnRpY2F0aW9uLWdldC1hc3NlcnRpb24t
aGlkLXBpbi5odG1sICovLAogCQkJCTU3NjYzREVCMjM0RjFGODAwMEU4NUUwOSAvKiB3ZWItYXV0
aGVudGljYXRpb24tZ2V0LWFzc2VydGlvbi1oaWQuaHRtbCAqLywKZGlmZiAtLWdpdCBhL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvX1dLV2ViQXV0aGVudGljYXRpb25QYW5l
bC5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvX1dLV2ViQXV0aGVu
dGljYXRpb25QYW5lbC5tbQppbmRleCBhOTc1ODMzMDRlNjhhOTA5YmRkMzBiODA3Zjc5NThmNzJl
NjQwYzI4Li4wY2IyNDc4ZGM5YjE5YzdhYWEyMTRjODM4YWZmYmIzYzFjMmFmZDNkIDEwMDY0NAot
LS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL19XS1dlYkF1dGhlbnRp
Y2F0aW9uUGFuZWwubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2Nv
YS9fV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsLm1tCkBAIC0zNSwxMCArMzUsOCBAQAogI2ltcG9y
dCA8V2ViS2l0L1dLUHJlZmVyZW5jZXNQcml2YXRlLmg+CiAjaW1wb3J0IDxXZWJLaXQvV0tVSURl
bGVnYXRlUHJpdmF0ZS5oPgogI2ltcG9ydCA8V2ViS2l0L19XS0V4cGVyaW1lbnRhbEZlYXR1cmUu
aD4KLSNpbXBvcnQgPFdlYktpdC9fV0tXZWJBdXRoZW50aWNhdGlvbkFzc2VydGlvblJlc3BvbnNl
Lmg+CiAjaW1wb3J0IDxXZWJLaXQvX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbC5oPgogI2ltcG9y
dCA8d3RmL0Jsb2NrUHRyLmg+Ci0jaW1wb3J0IDx3dGYvUmFuZG9tTnVtYmVyLmg+CiAjaW1wb3J0
IDx3dGYvdGV4dC9TdHJpbmdDb25jYXRlbmF0ZU51bWJlcnMuaD4KIAogc3RhdGljIGJvb2wgd2Vi
QXV0aGVudGljYXRpb25QYW5lbFJhbiA9IGZhbHNlOwpAQCAtNDgsNyArNDYsNiBAQCBzdGF0aWMg
Ym9vbCB3ZWJBdXRoZW50aWNhdGlvblBhbmVsVXBkYXRlTXVsdGlwbGVORkNUYWdzUHJlc2VudCA9
IGZhbHNlOwogc3RhdGljIGJvb2wgd2ViQXV0aGVudGljYXRpb25QYW5lbFVwZGF0ZU5vQ3JlZGVu
dGlhbHNGb3VuZCA9IGZhbHNlOwogc3RhdGljIGJvb2wgd2ViQXV0aGVudGljYXRpb25QYW5lbENh
bmNlbEltbWVkaWF0ZWx5ID0gZmFsc2U7CiBzdGF0aWMgU3RyaW5nIHdlYkF1dGhlbnRpY2F0aW9u
UGFuZWxQaW47Ci1zdGF0aWMgQk9PTCB3ZWJBdXRoZW50aWNhdGlvblBhbmVsTnVsbFVzZXJIYW5k
bGUgPSBOTzsKIAogQGludGVyZmFjZSBUZXN0V2ViQXV0aGVudGljYXRpb25QYW5lbERlbGVnYXRl
IDogTlNPYmplY3QgPF9XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWxEZWxlZ2F0ZT4KIEBlbmQKQEAg
LTk0LDIwICs5MSw2IEBAIHN0YXRpYyBCT09MIHdlYkF1dGhlbnRpY2F0aW9uUGFuZWxOdWxsVXNl
ckhhbmRsZSA9IE5POwogICAgIGNvbXBsZXRpb25IYW5kbGVyKHdlYkF1dGhlbnRpY2F0aW9uUGFu
ZWxQaW4pOwogfQogCi0tICh2b2lkKXBhbmVsOihfV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsICop
cGFuZWwgc2VsZWN0QXNzZXJ0aW9uUmVzcG9uc2U6KE5TQXJyYXkgPCBfV0tXZWJBdXRoZW50aWNh
dGlvbkFzc2VydGlvblJlc3BvbnNlICo+ICopcmVzcG9uc2VzIGNvbXBsZXRpb25IYW5kbGVyOih2
b2lkICheKShfV0tXZWJBdXRoZW50aWNhdGlvbkFzc2VydGlvblJlc3BvbnNlICopKWNvbXBsZXRp
b25IYW5kbGVyCi17Ci0gICAgRVhQRUNUX0VRKHJlc3BvbnNlcy5jb3VudCwgMnVsKTsKLSAgICBm
b3IgKF9XS1dlYkF1dGhlbnRpY2F0aW9uQXNzZXJ0aW9uUmVzcG9uc2UgKnJlc3BvbnNlIGluIHJl
c3BvbnNlcykgewotICAgICAgICBFWFBFQ1RfVFJVRShbcmVzcG9uc2UubmFtZSBpc0VxdWFsOkAi
am9obnBzbWl0aEBleGFtcGxlLmNvbSJdIHx8IFtyZXNwb25zZS5uYW1lIGlzRXF1YWw6QCIiXSk7
Ci0gICAgICAgIEVYUEVDVF9UUlVFKFtyZXNwb25zZS5kaXNwbGF5TmFtZSBpc0VxdWFsOkAiSm9o
biBQLiBTbWl0aCJdIHx8IFtyZXNwb25zZS5kaXNwbGF5TmFtZSBpc0VxdWFsOkAiIl0pOwotICAg
ICAgICBFWFBFQ1RfVFJVRShbW3Jlc3BvbnNlLnVzZXJIYW5kbGUgYmFzZTY0RW5jb2RlZFN0cmlu
Z1dpdGhPcHRpb25zOjBdIGlzRXF1YWw6QCJNSUlCa3pDQ0FUaWdBd0lCQWpDQ0FaTXdnZ0U0b0FN
Q0FRSXdnZ0dUTUlJPSJdIHx8ICFyZXNwb25zZS51c2VySGFuZGxlKTsKLSAgICB9Ci0KLSAgICBh
dXRvIGluZGV4ID0gd2Vha1JhbmRvbVVpbnQzMigpICUgMjsKLSAgICB3ZWJBdXRoZW50aWNhdGlv
blBhbmVsTnVsbFVzZXJIYW5kbGUgPSByZXNwb25zZXNbaW5kZXhdLnVzZXJIYW5kbGUgPyBOTyA6
IFlFUzsKLSAgICBjb21wbGV0aW9uSGFuZGxlcihyZXNwb25zZXNbaW5kZXhdKTsKLX0KLQogQGVu
ZAogCiBAaW50ZXJmYWNlIFRlc3RXZWJBdXRoZW50aWNhdGlvblBhbmVsRmFrZURlbGVnYXRlIDog
TlNPYmplY3QgPF9XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWxEZWxlZ2F0ZT4KQEAgLTg4OSw0MCAr
ODcyLDYgQEAgVEVTVChXZWJBdXRoZW50aWNhdGlvblBhbmVsLCBHZXRBc3NlcnRpb25QaW4pCiAg
ICAgW3dlYlZpZXcgd2FpdEZvck1lc3NhZ2U6QCJTdWNjZWVkZWQhIl07CiB9CiAKLVRFU1QoV2Vi
QXV0aGVudGljYXRpb25QYW5lbCwgTXVsdGlwbGVBY2NvdW50c051bGxEZWxlZ2F0ZSkKLXsKLSAg
ICByZXNldCgpOwotICAgIFJldGFpblB0cjxOU1VSTD4gdGVzdFVSTCA9IFtbTlNCdW5kbGUgbWFp
bkJ1bmRsZV0gVVJMRm9yUmVzb3VyY2U6QCJ3ZWItYXV0aGVudGljYXRpb24tZ2V0LWFzc2VydGlv
bi1oaWQtbXVsdGlwbGUtYWNjb3VudHMiIHdpdGhFeHRlbnNpb246QCJodG1sIiBzdWJkaXJlY3Rv
cnk6QCJUZXN0V2ViS2l0QVBJLnJlc291cmNlcyJdOwotCi0gICAgYXV0byAqY29uZmlndXJhdGlv
biA9IFtXS1dlYlZpZXdDb25maWd1cmF0aW9uIF90ZXN0X2NvbmZpZ3VyYXRpb25XaXRoVGVzdFBs
dWdJbkNsYXNzTmFtZTpAIldlYlByb2Nlc3NQbHVnSW5XaXRoSW50ZXJuYWxzIiBjb25maWd1cmVK
U0NGb3JUZXN0aW5nOllFU107Ci0gICAgW1tjb25maWd1cmF0aW9uIHByZWZlcmVuY2VzXSBfc2V0
RW5hYmxlZDpZRVMgZm9yRXhwZXJpbWVudGFsRmVhdHVyZTp3ZWJBdXRoZW50aWNhdGlvbkV4cGVy
aW1lbnRhbEZlYXR1cmUoKV07Ci0KLSAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdL
V2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU1plcm9SZWN0IGNvbmZpZ3VyYXRpb246Y29u
ZmlndXJhdGlvbl0pOwotICAgIGF1dG8gZGVsZWdhdGUgPSBhZG9wdE5TKFtbVGVzdFdlYkF1dGhl
bnRpY2F0aW9uUGFuZWxVSURlbGVnYXRlIGFsbG9jXSBpbml0XSk7Ci0gICAgW2RlbGVnYXRlIHNl
dElzTnVsbDp0cnVlXTsKLSAgICBbd2ViVmlldyBzZXRVSURlbGVnYXRlOmRlbGVnYXRlLmdldCgp
XTsKLQotICAgIFt3ZWJWaWV3IGxvYWRSZXF1ZXN0OltOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhV
Ukw6dGVzdFVSTC5nZXQoKV1dOwotICAgIFt3ZWJWaWV3IHdhaXRGb3JNZXNzYWdlOkAiU3VjY2Vl
ZGVkISJdOwotfQotCi1URVNUKFdlYkF1dGhlbnRpY2F0aW9uUGFuZWwsIE11bHRpcGxlQWNjb3Vu
dHMpCi17Ci0gICAgcmVzZXQoKTsKLSAgICBSZXRhaW5QdHI8TlNVUkw+IHRlc3RVUkwgPSBbW05T
QnVuZGxlIG1haW5CdW5kbGVdIFVSTEZvclJlc291cmNlOkAid2ViLWF1dGhlbnRpY2F0aW9uLWdl
dC1hc3NlcnRpb24taGlkLW11bHRpcGxlLWFjY291bnRzIiB3aXRoRXh0ZW5zaW9uOkAiaHRtbCIg
c3ViZGlyZWN0b3J5OkAiVGVzdFdlYktpdEFQSS5yZXNvdXJjZXMiXTsKLQotICAgIGF1dG8gKmNv
bmZpZ3VyYXRpb24gPSBbV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBfdGVzdF9jb25maWd1cmF0aW9u
V2l0aFRlc3RQbHVnSW5DbGFzc05hbWU6QCJXZWJQcm9jZXNzUGx1Z0luV2l0aEludGVybmFscyIg
Y29uZmlndXJlSlNDRm9yVGVzdGluZzpZRVNdOwotICAgIFtbY29uZmlndXJhdGlvbiBwcmVmZXJl
bmNlc10gX3NldEVuYWJsZWQ6WUVTIGZvckV4cGVyaW1lbnRhbEZlYXR1cmU6d2ViQXV0aGVudGlj
YXRpb25FeHBlcmltZW50YWxGZWF0dXJlKCldOwotCi0gICAgYXV0byB3ZWJWaWV3ID0gYWRvcHRO
UyhbW1Rlc3RXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNaZXJvUmVjdCBjb25maWd1
cmF0aW9uOmNvbmZpZ3VyYXRpb25dKTsKLSAgICBhdXRvIGRlbGVnYXRlID0gYWRvcHROUyhbW1Rl
c3RXZWJBdXRoZW50aWNhdGlvblBhbmVsVUlEZWxlZ2F0ZSBhbGxvY10gaW5pdF0pOwotICAgIFt3
ZWJWaWV3IHNldFVJRGVsZWdhdGU6ZGVsZWdhdGUuZ2V0KCldOwotCi0gICAgW3dlYlZpZXcgbG9h
ZFJlcXVlc3Q6W05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDp0ZXN0VVJMLmdldCgpXV07Ci0g
ICAgW3dlYlZpZXcgd2FpdEZvck1lc3NhZ2U6QCJTdWNjZWVkZWQhIl07Ci0gICAgRVhQRUNUX0VR
KFtbd2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAidXNlckhhbmRsZSJdIGlz
RXF1YWxUb1N0cmluZzpAIjxudWxsPiJdLCB3ZWJBdXRoZW50aWNhdGlvblBhbmVsTnVsbFVzZXJI
YW5kbGUpOwotfQotCiB9IC8vIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJCiAKICNlbmRpZiAvLyBF
TkFCTEUoV0VCX0FVVEhOKQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJLaXRDb2NvYS93ZWItYXV0aGVudGljYXRpb24tZ2V0LWFzc2VydGlvbi1oaWQtbXVsdGlwbGUt
YWNjb3VudHMuaHRtbCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2Evd2Vi
LWF1dGhlbnRpY2F0aW9uLWdldC1hc3NlcnRpb24taGlkLW11bHRpcGxlLWFjY291bnRzLmh0bWwK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ2MzdlNDIwNzk1ZmQ1Njc3YmQ1MGYxMWRk
NTRlYTYwNDI0OWFlNDkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS93ZWItYXV0aGVudGlj
YXRpb24tZ2V0LWFzc2VydGlvbi1oaWQtbXVsdGlwbGUtYWNjb3VudHMuaHRtbAorKysgL2Rldi9u
dWxsCkBAIC0xLDU2ICswLDAgQEAKLTxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0iaW5wdXQiPgotPHNj
cmlwdD4KLSAgICBjb25zdCB0ZXN0QXNzZXJ0aW9uTWVzc2FnZUxvbmdCYXNlNjQgPQotICAgICAg
ICAiQUtVQm9tSnBaRmhBS0FpdHp1aitUc2x6ZWxmMy92WndJR3REUU5nb0tlRmQ1b0VpZVl6aHl6
QTY1c2FmMHRLMiIgKwotICAgICAgICAidy9tb29hN3RRdEdnRGR3WklqT2hqY3VaMHBRMWFqb0U0
R1IwZVhCbGFuQjFZbXhwWXkxclpYa0NXQ1ZHekgrNSIgKwotICAgICAgICAiWjUxVnN0dVFrdUhJ
MmVYaDBDdDFnUEMwZ1N4M0NXTGg1STlhMkFFQUFBQlFBMWhITUVVQ0lRQ1NGVHV1QldnQiIgKwot
ICAgICAgICAiNC9GMFZCN0RsVVZNMDlJSFBteGUxTXpIVXdSb0NSWmJDQUlnR0tvdjZ4b0F4Mk1F
ZjYvNnFOczhPdXR6aFAyQyIgKwotICAgICAgICAiUW9KMUw3RmU2NEc5dUJjRXBHSnBaRmdnTUlJ
Qmt6Q0NBVGlnQXdJQkFqQ0NBWk13Z2dFNG9BTUNBUUl3Z2dHVCIgKwotICAgICAgICAiTUlKa2FX
TnZibmdvYUhSMGNITTZMeTl3YVdOekxtRmpiV1V1WTI5dEx6QXdMM0F2WVVKcWFtcHdjVkJpTG5C
dSIgKwotICAgICAgICAiWjJSdVlXMWxkbXB2YUc1d2MyMXBkR2hBWlhoaGJYQnNaUzVqYjIxclpH
bHpjR3hoZVU1aGJXVnRTbTlvYmlCUSIgKwotICAgICAgICAiTGlCVGJXbDBhQVVDIjsKLSAgICBj
b25zdCB0ZXN0QXNzZXJ0aW9uTWVzc2FnZUJhc2U2NCA9Ci0gICAgICAgICJBS01Cb21KcFpGaEFL
QWl0enVqK1RzbHplbGYzL3Zad0lHdERRTmdvS2VGZDVvRWllWXpoeXpBNjVzYWYwdEsyIiArCi0g
ICAgICAgICJ3L21vb2E3dFF0R2dEZHdaSWpPaGpjdVowcFExYWpvRTRHUjBlWEJsYW5CMVlteHBZ
eTFyWlhrQ1dDVkd6SCs1IiArCi0gICAgICAgICJaNTFWc3R1UWt1SEkyZVhoMEN0MWdQQzBnU3gz
Q1dMaDVJOWEyQUVBQUFCUUExaEhNRVVDSVFDU0ZUdXVCV2dCIiArCi0gICAgICAgICI0L0YwVkI3
RGxVVk0wOUlIUG14ZTFNekhVd1JvQ1JaYkNBSWdHS292NnhvQXgyTUVmNi82cU5zOE91dHpoUDJD
IiArCi0gICAgICAgICJRb0oxTDdGZTY0Rzl1QmM9IjsKLSAgICBpZiAod2luZG93LmludGVybmFs
cykgewotICAgICAgICBpbnRlcm5hbHMuc2V0TW9ja1dlYkF1dGhlbnRpY2F0aW9uQ29uZmlndXJh
dGlvbih7IHNpbGVudEZhaWx1cmU6IHRydWUsIGhpZDogeyBwYXlsb2FkQmFzZTY0OiBbdGVzdEFz
c2VydGlvbk1lc3NhZ2VMb25nQmFzZTY0LCB0ZXN0QXNzZXJ0aW9uTWVzc2FnZUJhc2U2NF0gfSB9
KTsKLSAgICAgICAgaW50ZXJuYWxzLndpdGhVc2VyR2VzdHVyZSgoKSA9PiB7IGlucHV0LmZvY3Vz
KCk7IH0pOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIGJ5dGVzVG9IZXhTdHJpbmcoYnl0ZXMpCi0g
ICAgewotICAgICAgICBpZiAoIWJ5dGVzKQotICAgICAgICAgICAgcmV0dXJuIG51bGw7Ci0KLSAg
ICAgICAgYnl0ZXMgPSBuZXcgVWludDhBcnJheShieXRlcyk7Ci0gICAgICAgIHZhciBoZXhCeXRl
cyA9IFtdOwotCi0gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYnl0ZXMubGVuZ3RoOyArK2kp
IHsKLSAgICAgICAgICAgIHZhciBieXRlU3RyaW5nID0gYnl0ZXNbaV0udG9TdHJpbmcoMTYpOwot
ICAgICAgICAgICAgaWYgKGJ5dGVTdHJpbmcubGVuZ3RoIDwgMikKLSAgICAgICAgICAgICAgICBi
eXRlU3RyaW5nID0gIjAiICsgYnl0ZVN0cmluZzsKLSAgICAgICAgICAgIGhleEJ5dGVzLnB1c2go
Ynl0ZVN0cmluZyk7Ci0gICAgICAgIH0KLQotICAgICAgICByZXR1cm4gaGV4Qnl0ZXMuam9pbigi
Iik7Ci0gICAgfQotCi0gICAgY29uc3Qgb3B0aW9ucyA9IHsKLSAgICAgICAgcHVibGljS2V5OiB7
Ci0gICAgICAgICAgICBjaGFsbGVuZ2U6IG5ldyBVaW50OEFycmF5KDE2KSwKLSAgICAgICAgICAg
IHRpbWVvdXQ6IDEwMDAKLSAgICAgICAgfQotICAgIH07Ci0KLSAgICBuYXZpZ2F0b3IuY3JlZGVu
dGlhbHMuZ2V0KG9wdGlvbnMpLnRoZW4oY3JlZGVudGlhbCA9PiB7Ci0gICAgICAgIHVzZXJIYW5k
bGUgPSBieXRlc1RvSGV4U3RyaW5nKGNyZWRlbnRpYWwucmVzcG9uc2UudXNlckhhbmRsZSk7Ci0g
ICAgICAgIC8vIGNvbnNvbGUubG9nKCJTdWNjZWVkZWQhIik7Ci0gICAgICAgIHdpbmRvdy53ZWJr
aXQubWVzc2FnZUhhbmRsZXJzLnRlc3RIYW5kbGVyLnBvc3RNZXNzYWdlKCJTdWNjZWVkZWQhIik7
Ci0gICAgfSwgZXJyb3IgPT4gewotICAgICAgICAvLyBjb25zb2xlLmxvZyhlcnJvci5tZXNzYWdl
KTsKLSAgICAgICAgd2luZG93LndlYmtpdC5tZXNzYWdlSGFuZGxlcnMudGVzdEhhbmRsZXIucG9z
dE1lc3NhZ2UoZXJyb3IubWVzc2FnZSk7Ci0gICAgfSk7Ci08L3NjcmlwdD4KZGlmZiAtLWdpdCBh
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2Evd2ViLWF1dGhlbnRpY2F0aW9u
LW1ha2UtY3JlZGVudGlhbC1oaWQuaHRtbCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0Q29jb2Evd2ViLWF1dGhlbnRpY2F0aW9uLW1ha2UtY3JlZGVudGlhbC1oaWQuaHRtbAppbmRl
eCBlOTgxYTcwZjk5NzE5MTU1ZDBmYjNlNzk4ZTU2MTUyYWYzYjg2ODc4Li41YjZhZWJlYmYxMjRi
MTAzOWVkMDc5NGVkMjJkM2RiNjhlYTM0YWZjIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdENvY29hL3dlYi1hdXRoZW50aWNhdGlvbi1tYWtlLWNyZWRlbnRpYWwt
aGlkLmh0bWwKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS93ZWIt
YXV0aGVudGljYXRpb24tbWFrZS1jcmVkZW50aWFsLWhpZC5odG1sCkBAIC0zOSw3ICszOSw3IEBA
CiAgICAgICAgICAgICB9LAogICAgICAgICAgICAgY2hhbGxlbmdlOiBuZXcgVWludDhBcnJheSgx
NiksCiAgICAgICAgICAgICBwdWJLZXlDcmVkUGFyYW1zOiBbeyB0eXBlOiAicHVibGljLWtleSIs
IGFsZzogLTcgfV0sCi0gICAgICAgICAgICB0aW1lb3V0OiAxMDAsCisgICAgICAgICAgICB0aW1l
b3V0OiAxMDAKICAgICAgICAgfQogICAgIH07CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>