<?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>158384</bug_id>
          
          <creation_ts>2016-06-04 15:44:29 -0700</creation_ts>
          <short_desc>Remove NPSPI that is no longer used</short_desc>
          <delta_ts>2016-06-07 07:56:35 -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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          <cc>achristensen</cc>
    
    <cc>ossy</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1199299</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2016-06-04 15:44:29 -0700</bug_when>
    <thetext>Remove NPSPI that is no longer used</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1199300</commentid>
    <comment_count>1</comment_count>
      <attachid>280534</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2016-06-04 15:44:57 -0700</bug_when>
    <thetext>Created attachment 280534
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1199302</commentid>
    <comment_count>2</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2016-06-04 15:46:46 -0700</bug_when>
    <thetext>Committed r201689: &lt;http://trac.webkit.org/changeset/201689&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1199534</commentid>
    <comment_count>3</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2016-06-06 02:24:19 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Committed r201689: &lt;http://trac.webkit.org/changeset/201689&gt;

FYI: It broke the Apple Mac cmake build.

make[2]: *** No rule to make target `../../Source/WebKit/mac/Plugins/WebNetscapeContainerCheckContextInfo.mm&apos;, needed by `Source/WebKit/CMakeFiles/WebKit.dir/mac/Plugins/WebNetscapeContainerCheckContextInfo.mm.o&apos;.  Stop.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1200046</commentid>
    <comment_count>4</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2016-06-07 07:56:35 -0700</bug_when>
    <thetext>fix landed in https://trac.webkit.org/changeset/201750</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>280534</attachid>
            <date>2016-06-04 15:44:57 -0700</date>
            <delta_ts>2016-06-04 15:45:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-158384-20160604154620.patch</filename>
            <type>text/plain</type>
            <size>45385</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAxNjg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGY3YjJkNWUyMGNkZDA4NzY3
NDk2MzFiMzc5NWVmZTUwNGY0NDE1NzIuLmY2MjI2ZTU3YWQ5OWU0MTc2NWZkNjg2YTA1ZjIxNGUx
MWZlNTEzMzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTYtMDYtMDQgIEFuZGVycyBD
YXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgTlBTUEkgdGhh
dCBpcyBubyBsb25nZXIgdXNlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTU4Mzg0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBXZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKwogMjAxNi0w
Ni0wMyAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIE1vZGVybml6
ZSBhIGZldyBtb3JlIGxhbWJkYSBjYXB0dXJlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9t
YWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IDIwNjJlY2I0
NDBhZTQxODI0YzJhMmMxYmEwMWJlMjVhYzRlMWI3ODUuLmQ3YjIxZTJmODUzYzI3ZmM0MDhiN2Yw
NGM3ZTg2MmVhMTUwYTk1MTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsNSArMSw1NSBAQAogMjAx
Ni0wNi0wNCAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgogCisgICAgICAg
IFJlbW92ZSBOUFNQSSB0aGF0IGlzIG5vIGxvbmdlciB1c2VkCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTgzODQKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL1dlYktpdExlZ2Fj
eS54Y2NvbmZpZzoKKyAgICAgICAgKiBQbHVnaW5zL0hvc3RlZC9OZXRzY2FwZVBsdWdpbkhvc3RQ
cm94eS5tbToKKyAgICAgICAgKFdLUENDaGVja0lmQWxsb3dlZFRvTG9hZFVSTCk6IERlbGV0ZWQu
CisgICAgICAgIChXS1BDQ2FuY2VsQ2hlY2tJZkFsbG93ZWRUb0xvYWRVUkwpOiBEZWxldGVkLgor
ICAgICAgICAoV0tQQ1Jlc29sdmVVUkwpOiBEZWxldGVkLgorICAgICAgICAqIFBsdWdpbnMvSG9z
dGVkL05ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eS5oOgorICAgICAgICAqIFBsdWdpbnMvSG9z
dGVkL05ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eS5tbToKKyAgICAgICAgKFdlYktpdDo6TmV0
c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5OjpOZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHkpOiBE
ZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpOZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHk6OmNo
ZWNrSWZBbGxvd2VkVG9Mb2FkVVJMKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6TmV0c2Nh
cGVQbHVnaW5JbnN0YW5jZVByb3h5OjpjYW5jZWxDaGVja0lmQWxsb3dlZFRvTG9hZFVSTCk6IERl
bGV0ZWQuCisgICAgICAgIChXZWJLaXQ6Ok5ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eTo6Y2hl
Y2tJZkFsbG93ZWRUb0xvYWRVUkxSZXN1bHQpOiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpO
ZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHk6OnJlc29sdmVVUkwpOiBEZWxldGVkLgorICAgICAg
ICAqIFBsdWdpbnMvSG9zdGVkL1dlYkhvc3RlZE5ldHNjYXBlUGx1Z2luVmlldy5oOgorICAgICAg
ICAqIFBsdWdpbnMvSG9zdGVkL1dlYkhvc3RlZE5ldHNjYXBlUGx1Z2luVmlldy5tbToKKyAgICAg
ICAgKC1bV2ViSG9zdGVkTmV0c2NhcGVQbHVnaW5WaWV3IF93ZWJQbHVnaW5Db250YWluZXJDYW5j
ZWxDaGVja0lmQWxsb3dlZFRvTG9hZFJlcXVlc3Q6XSk6IERlbGV0ZWQuCisgICAgICAgICgtW1dl
Ykhvc3RlZE5ldHNjYXBlUGx1Z2luVmlldyBfY29udGFpbmVyQ2hlY2tSZXN1bHQ6Y29udGV4dElu
Zm86XSk6IERlbGV0ZWQuCisgICAgICAgICogUGx1Z2lucy9Ib3N0ZWQvV2ViS2l0UGx1Z2luQ2xp
ZW50LmRlZnM6CisgICAgICAgICogUGx1Z2lucy9XZWJCYXNlTmV0c2NhcGVQbHVnaW5WaWV3Lmg6
CisgICAgICAgICogUGx1Z2lucy9XZWJCYXNlTmV0c2NhcGVQbHVnaW5WaWV3Lm1tOgorICAgICAg
ICAoLVtXZWJCYXNlTmV0c2NhcGVQbHVnaW5WaWV3IHJlc29sdmVkVVJMU3RyaW5nRm9yVVJMOnRh
cmdldDpdKTogRGVsZXRlZC4KKyAgICAgICAgKiBQbHVnaW5zL1dlYk5ldHNjYXBlQ29udGFpbmVy
Q2hlY2tDb250ZXh0SW5mby5oOiBSZW1vdmVkLgorICAgICAgICAqIFBsdWdpbnMvV2ViTmV0c2Nh
cGVDb250YWluZXJDaGVja0NvbnRleHRJbmZvLm1tOiBSZW1vdmVkLgorICAgICAgICAoLVtXZWJO
ZXRzY2FwZUNvbnRhaW5lckNoZWNrQ29udGV4dEluZm8gaW5pdFdpdGhDaGVja1JlcXVlc3RJRDpj
YWxsYmFja0Z1bmM6Y29udGV4dDpdKTogRGVsZXRlZC4KKyAgICAgICAgKC1bV2ViTmV0c2NhcGVD
b250YWluZXJDaGVja0NvbnRleHRJbmZvIGNoZWNrUmVxdWVzdElEXSk6IERlbGV0ZWQuCisgICAg
ICAgICgtW1dlYk5ldHNjYXBlQ29udGFpbmVyQ2hlY2tDb250ZXh0SW5mbyBjYWxsYmFja10pOiBE
ZWxldGVkLgorICAgICAgICAoLVtXZWJOZXRzY2FwZUNvbnRhaW5lckNoZWNrQ29udGV4dEluZm8g
Y29udGV4dF0pOiBEZWxldGVkLgorICAgICAgICAqIFBsdWdpbnMvV2ViTmV0c2NhcGVDb250YWlu
ZXJDaGVja1ByaXZhdGUuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBQbHVnaW5zL1dlYk5ldHNjYXBl
Q29udGFpbmVyQ2hlY2tQcml2YXRlLm1tOiBSZW1vdmVkLgorICAgICAgICAoYnJvd3NlckNvbnRh
aW5lckNoZWNrRnVuY3MpOiBEZWxldGVkLgorICAgICAgICAqIFBsdWdpbnMvV2ViTmV0c2NhcGVQ
bHVnaW5WaWV3Lmg6CisgICAgICAgICogUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblZpZXcubW06
CisgICAgICAgICgtW1dlYk5ldHNjYXBlUGx1Z2luVmlldyBjaGVja0lmQWxsb3dlZFRvTG9hZFVS
TDpmcmFtZTpjYWxsYmFja0Z1bmM6Y29udGV4dDpdKTogRGVsZXRlZC4KKyAgICAgICAgKC1bV2Vi
TmV0c2NhcGVQbHVnaW5WaWV3IF9jb250YWluZXJDaGVja1Jlc3VsdDpjb250ZXh0SW5mbzpdKTog
RGVsZXRlZC4KKyAgICAgICAgKC1bV2ViTmV0c2NhcGVQbHVnaW5WaWV3IGNhbmNlbENoZWNrSWZB
bGxvd2VkVG9Mb2FkVVJMOl0pOiBEZWxldGVkLgorICAgICAgICAoLVtXZWJOZXRzY2FwZVBsdWdp
blZpZXcgX3dlYlBsdWdpbkNvbnRhaW5lckNhbmNlbENoZWNrSWZBbGxvd2VkVG9Mb2FkUmVxdWVz
dDpdKTogRGVsZXRlZC4KKyAgICAgICAgKC1bV2ViTmV0c2NhcGVQbHVnaW5WaWV3IGZpbmldKTog
RGVsZXRlZC4KKyAgICAgICAgKC1bV2ViTmV0c2NhcGVQbHVnaW5WaWV3IGdldFZhcmlhYmxlOnZh
bHVlOl0pOiBEZWxldGVkLgorICAgICAgICAoLVtXZWJOZXRzY2FwZVBsdWdpblZpZXcgcmVzb2x2
ZVVSTDpmb3JUYXJnZXQ6XSk6IERlbGV0ZWQuCisgICAgICAgICogUGx1Z2lucy9ucGFwaS5tbToK
KyAgICAgICAgKFdLTl9DaGVja0lmQWxsb3dlZFRvTG9hZFVSTCk6IERlbGV0ZWQuCisgICAgICAg
IChXS05fQ2FuY2VsQ2hlY2tJZkFsbG93ZWRUb0xvYWRVUkwpOiBEZWxldGVkLgorICAgICAgICAo
V0tOX1Jlc29sdmVVUkwpOiBEZWxldGVkLgorCisyMDE2LTA2LTA0ICBBbmRlcnMgQ2FybHNzb24g
IDxhbmRlcnNjYUBhcHBsZS5jb20+CisKICAgICAgICAgVGVtcG9yYXJ5IGJ1aWxkIGZpeC4gKFRo
aXMgZnVuY3Rpb24gaXMgZ29pbmcgYXdheSkuCiAKICAgICAgICAgKiBQbHVnaW5zL0hvc3RlZC9O
ZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHkubW06CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYktpdC9XZWJLaXQu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA3NGMxMmU5ODYzZDc1MTUzMjcxNDVhNDE1
YWFjZDIyNDk5ZTVhMWFlLi4wYjBlOWNiMmExYjUyNzQwZjg2MDMwZTlkYTliYjQxOTk4YjM5ZWE3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
QEAgLTE1LDEwICsxNSw2IEBACiAJCTA3MEY1NDlDMTdGMUU0MkIwMDE2OUUwNCAvKiBXZWJVc2Vy
TWVkaWFDbGllbnQubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAwNzBGNTQ5QTE3RjFFNDJCMDAxNjlFMDQgLyogV2ViVXNlck1lZGlhQ2xpZW50Lm1tICov
OyB9OwogCQkwNzJFNUY0NTFBQkY4ODc1MDAwM0IxNjQgLyogV2ViTWVkaWFQbGF5YmFja1Rhcmdl
dFBpY2tlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MDcyRTVGNDMxQUJGODg3NTAwMDNCMTY0IC8qIFdlYk1lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXIu
aCAqLzsgfTsKIAkJMDcyRTVGNDYxQUJGODg3NTAwMDNCMTY0IC8qIFdlYk1lZGlhUGxheWJhY2tU
YXJnZXRQaWNrZXIubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAwNzJFNUY0NDFBQkY4ODc1MDAwM0IxNjQgLyogV2ViTWVkaWFQbGF5YmFja1RhcmdldFBp
Y2tlci5tbSAqLzsgfTsKLQkJMEFCNzUyMzcwRkEyRTREQjAwRDdDQkIxIC8qIFdlYk5ldHNjYXBl
Q29udGFpbmVyQ2hlY2tDb250ZXh0SW5mby5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMEFCNzUyMzUwRkEyRTREQjAwRDdDQkIxIC8qIFdlYk5ldHNjYXBl
Q29udGFpbmVyQ2hlY2tDb250ZXh0SW5mby5oICovOyB9OwotCQkwQUI3NTIzODBGQTJFNERCMDBE
N0NCQjEgLyogV2ViTmV0c2NhcGVDb250YWluZXJDaGVja0NvbnRleHRJbmZvLm1tIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEFCNzUyMzYwRkEyRTREQjAw
RDdDQkIxIC8qIFdlYk5ldHNjYXBlQ29udGFpbmVyQ2hlY2tDb250ZXh0SW5mby5tbSAqLzsgfTsK
LQkJMEFFQkZGNjMwRjlGQThCRTAwMEQ0ODZCIC8qIFdlYk5ldHNjYXBlQ29udGFpbmVyQ2hlY2tQ
cml2YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAw
QUVCRkY2MTBGOUZBOEJFMDAwRDQ4NkIgLyogV2ViTmV0c2NhcGVDb250YWluZXJDaGVja1ByaXZh
dGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQkw
QUVCRkY2NDBGOUZBOEJFMDAwRDQ4NkIgLyogV2ViTmV0c2NhcGVDb250YWluZXJDaGVja1ByaXZh
dGUubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwQUVC
RkY2MjBGOUZBOEJFMDAwRDQ4NkIgLyogV2ViTmV0c2NhcGVDb250YWluZXJDaGVja1ByaXZhdGUu
bW0gKi87IH07CiAJCTE0MzBDMTJDMUIyQzVERjcwMERFQTAxRCAvKiBXZWJWaWV3R3JvdXAuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTQzMEMxMkEx
QjJDNURGNzAwREVBMDFEIC8qIFdlYlZpZXdHcm91cC5jcHAgKi87IH07CiAJCTE0MzBDMTJEMUIy
QzVERjcwMERFQTAxRCAvKiBXZWJWaWV3R3JvdXAuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0MzBDMTJCMUIyQzVERjcwMERFQTAxRCAvKiBXZWJWaWV3
R3JvdXAuaCAqLzsgfTsKIAkJMTREODI1MkYwQUY5NTUwOTAwMDRGMDU3IC8qIFdlYkNocm9tZUNs
aWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTRE
ODI1MkQwQUY5NTUwOTAwMDRGMDU3IC8qIFdlYkNocm9tZUNsaWVudC5oICovOyB9OwpAQCAtNDc0
LDEwICs0NzAsNiBAQAogCQkwNzBGNTQ5QTE3RjFFNDJCMDAxNjlFMDQgLyogV2ViVXNlck1lZGlh
Q2xpZW50Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2ViVXNl
ck1lZGlhQ2xpZW50Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwNzJFNUY0MzFB
QkY4ODc1MDAwM0IxNjQgLyogV2ViTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlci5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJNZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA3MkU1RjQ0MUFCRjg4NzUwMDAzQjE2NCAv
KiBXZWJNZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAub2JqY3BwOyBwYXRoID0gV2ViTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlci5tbTsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMEFCNzUyMzUwRkEyRTREQjAwRDdDQkIxIC8qIFdlYk5l
dHNjYXBlQ29udGFpbmVyQ2hlY2tDb250ZXh0SW5mby5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBXZWJOZXRzY2FwZUNvbnRhaW5lckNoZWNrQ29udGV4dEluZm8uaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMEFCNzUyMzYwRkEyRTREQjAwRDdDQkIxIC8qIFdlYk5l
dHNjYXBlQ29udGFpbmVyQ2hlY2tDb250ZXh0SW5mby5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLm9iamNwcDsgcGF0aCA9IFdlYk5ldHNjYXBlQ29udGFpbmVyQ2hlY2tDb250ZXh0SW5mby5t
bTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMEFFQkZGNjEwRjlGQThCRTAwMEQ0ODZC
IC8qIFdlYk5ldHNjYXBlQ29udGFpbmVyQ2hlY2tQcml2YXRlLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZXhwbGljaXRGaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBmaWxlRW5jb2Rp
bmcgPSA0OyBwYXRoID0gV2ViTmV0c2NhcGVDb250YWluZXJDaGVja1ByaXZhdGUuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMEFFQkZGNjIwRjlGQThCRTAwMEQ0ODZCIC8qIFdlYk5l
dHNjYXBlQ29udGFpbmVyQ2hlY2tQcml2YXRlLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
b2JqY3BwOyBwYXRoID0gV2ViTmV0c2NhcGVDb250YWluZXJDaGVja1ByaXZhdGUubW07IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTE0MzBDMTJBMUIyQzVERjcwMERFQTAxRCAvKiBXZWJW
aWV3R3JvdXAuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGV4cGxpY2l0RmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IGZpbGVFbmNvZGluZyA9IDQ7IG5hbWUgPSBXZWJW
aWV3R3JvdXAuY3BwOyBwYXRoID0gV2ViQ29yZVN1cHBvcnQvV2ViVmlld0dyb3VwLmNwcDsgc291
cmNlVHJlZSA9IFNPVVJDRV9ST09UOyB9OwogCQkxNDMwQzEyQjFCMkM1REY3MDBERUEwMUQgLyog
V2ViVmlld0dyb3VwLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFdlYlZpZXdH
cm91cC5oOyBwYXRoID0gV2ViQ29yZVN1cHBvcnQvV2ViVmlld0dyb3VwLmg7IHNvdXJjZVRyZWUg
PSBTT1VSQ0VfUk9PVDsgfTsKIAkJMTREODI1MkQwQUY5NTUwOTAwMDRGMDU3IC8qIFdlYkNocm9t
ZUNsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMw
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViQ2hyb21lQ2xp
ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMjg2LDEwICsxMjc4LDYgQEAK
IAkJCQlGNUY3MTcyMzAyODg0OTNDMDE4NjM1Q0EgLyogbnBhcGkubW0gKi8sCiAJCQkJMUE0REY1
RTIwRUM4RDEwNDAwNkJENEI0IC8qIFdlYkJhc2VOZXRzY2FwZVBsdWdpblZpZXcuaCAqLywKIAkJ
CQkxQTRERjVFMzBFQzhEMTA0MDA2QkQ0QjQgLyogV2ViQmFzZU5ldHNjYXBlUGx1Z2luVmlldy5t
bSAqLywKLQkJCQkwQUI3NTIzNTBGQTJFNERCMDBEN0NCQjEgLyogV2ViTmV0c2NhcGVDb250YWlu
ZXJDaGVja0NvbnRleHRJbmZvLmggKi8sCi0JCQkJMEFCNzUyMzYwRkEyRTREQjAwRDdDQkIxIC8q
IFdlYk5ldHNjYXBlQ29udGFpbmVyQ2hlY2tDb250ZXh0SW5mby5tbSAqLywKLQkJCQkwQUVCRkY2
MTBGOUZBOEJFMDAwRDQ4NkIgLyogV2ViTmV0c2NhcGVDb250YWluZXJDaGVja1ByaXZhdGUuaCAq
LywKLQkJCQkwQUVCRkY2MjBGOUZBOEJFMDAwRDQ4NkIgLyogV2ViTmV0c2NhcGVDb250YWluZXJD
aGVja1ByaXZhdGUubW0gKi8sCiAJCQkJRjVGNzE3MUUwMjg4NDkzQzAxODYzNUNBIC8qIFdlYk5l
dHNjYXBlUGx1Z2luUGFja2FnZS5oICovLAogCQkJCUY1RjcxNzFGMDI4ODQ5M0MwMTg2MzVDQSAv
KiBXZWJOZXRzY2FwZVBsdWdpblBhY2thZ2UubW0gKi8sCiAJCQkJRjVBNjcyQjkwMjYzODY2RTAx
MDAwMTAyIC8qIFdlYk5ldHNjYXBlUGx1Z2luU3RyZWFtLmggKi8sCkBAIC0xODcyLDggKzE4NjAs
NiBAQAogCQkJCTA3MkU1RjQ1MUFCRjg4NzUwMDAzQjE2NCAvKiBXZWJNZWRpYVBsYXliYWNrVGFy
Z2V0UGlja2VyLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTBDMUQ3MjE4MjAzMDBFMDAzNjg4M0Eg
LyogV2ViTUlNRVR5cGVSZWdpc3RyeS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE4NUY2MjYxMDcx
MkI4MDAwN0FBMzkzIC8qIFdlYk5hdmlnYXRpb25EYXRhLmggaW4gSGVhZGVycyAqLywKLQkJCQkw
QUI3NTIzNzBGQTJFNERCMDBEN0NCQjEgLyogV2ViTmV0c2NhcGVDb250YWluZXJDaGVja0NvbnRl
eHRJbmZvLmggaW4gSGVhZGVycyAqLywKLQkJCQkwQUVCRkY2MzBGOUZBOEJFMDAwRDQ4NkIgLyog
V2ViTmV0c2NhcGVDb250YWluZXJDaGVja1ByaXZhdGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTFB
RUE2NkQ0MERDNkIxRkYwMDNEMTJCRiAvKiBXZWJOZXRzY2FwZVBsdWdpbkV2ZW50SGFuZGxlci5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJMUFFQTY2RDgwREM2QjIwOTAwM0QxMkJGIC8qIFdlYk5ldHNj
YXBlUGx1Z2luRXZlbnRIYW5kbGVyQ2FyYm9uLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUVBNkE1
MDBEQzhDRTJGMDAzRDEyQkYgLyogV2ViTmV0c2NhcGVQbHVnaW5FdmVudEhhbmRsZXJDb2NvYS5o
IGluIEhlYWRlcnMgKi8sCkBAIC0yMjgwLDggKzIyNjYsNiBAQAogCQkJCTA3MkU1RjQ2MUFCRjg4
NzUwMDAzQjE2NCAvKiBXZWJNZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyLm1tIGluIFNvdXJjZXMg
Ki8sCiAJCQkJQTEwQzFENzMxODIwMzAwRTAwMzY4ODNBIC8qIFdlYk1JTUVUeXBlUmVnaXN0cnku
bW0gaW4gU291cmNlcyAqLywKIAkJCQk1MTg1RjYyODEwNzEyQjk3MDA3QUEzOTMgLyogV2ViTmF2
aWdhdGlvbkRhdGEubW0gaW4gU291cmNlcyAqLywKLQkJCQkwQUI3NTIzODBGQTJFNERCMDBEN0NC
QjEgLyogV2ViTmV0c2NhcGVDb250YWluZXJDaGVja0NvbnRleHRJbmZvLm1tIGluIFNvdXJjZXMg
Ki8sCi0JCQkJMEFFQkZGNjQwRjlGQThCRTAwMEQ0ODZCIC8qIFdlYk5ldHNjYXBlQ29udGFpbmVy
Q2hlY2tQcml2YXRlLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMUFFQTY2RDUwREM2QjFGRjAwM0Qx
MkJGIC8qIFdlYk5ldHNjYXBlUGx1Z2luRXZlbnRIYW5kbGVyLm1tIGluIFNvdXJjZXMgKi8sCiAJ
CQkJMUFFQTY2RDkwREM2QjIwOTAwM0QxMkJGIC8qIFdlYk5ldHNjYXBlUGx1Z2luRXZlbnRIYW5k
bGVyQ2FyYm9uLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMUFFQTZBNTEwREM4Q0UyRjAwM0QxMkJG
IC8qIFdlYk5ldHNjYXBlUGx1Z2luRXZlbnRIYW5kbGVyQ29jb2EubW0gaW4gU291cmNlcyAqLywK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL1dlYktpdExlZ2Fj
eS54Y2NvbmZpZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL1dlYktpdExlZ2Fj
eS54Y2NvbmZpZwppbmRleCBlNDk4ZTNhOGMzZTcxMWQwNzdlNjNjYjBjM2Q2MDcyMjMxNTg2OTBh
Li5kYTdiYmUzMGQxYzUwZGQyZDQxNWU4OTc0MzM3MmQ4MWE2ODNhMDIyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9XZWJLaXRMZWdhY3kueGNjb25maWcKKysr
IGIvU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvV2ViS2l0TGVnYWN5LnhjY29uZmln
CkBAIC0yNCw3ICsyNCw3IEBACiAjaW5jbHVkZSAiRmVhdHVyZURlZmluZXMueGNjb25maWciCiAj
aW5jbHVkZSAiVmVyc2lvbi54Y2NvbmZpZyIKIAotRVhDTFVERURfU09VUkNFX0ZJTEVfTkFNRVNb
c2RrPWlwaG9uZSpdID0gKi5kZWZzICoubmliICoucGRmICoudGlmZiBDYXJib25VdGlscy5tIENh
cmJvbldpbmRvd0FkYXB0ZXIubW0gQ2FyYm9uV2luZG93Q29udGVudFZpZXcubSBDYXJib25XaW5k
b3dGcmFtZS5tIEhJVmlld0FkYXB0ZXIubSBISVdlYlZpZXcubW0gT3V0bG9va1F1aXJrc1VzZXJT
Y3JpcHQuanMgUG9wdXBNZW51TWFjLm1tIFNlYXJjaFBvcHVwTWVudU1hYy5tbSBXZWJDbGlwVmll
dy4qIFdlYkRhc2hib2FyZFJlZ2lvbi4qIFdlYkR5bmFtaWNTY3JvbGxCYXJzVmlldy4qIFdlYklj
b25EYXRhYmFzZS4qIFdlYkljb25EYXRhYmFzZVByaXZhdGUuKiBXZWJJbnNwZWN0b3JDbGllbnQu
bW0gV2ViSmF2YVNjcmlwdFRleHRJbnB1dFBhbmVsLiogV2ViS2V5R2VuZXJhdG9yLiogV2ViTmV0
c2NhcGVDb250YWluZXJDaGVja0NvbnRleHRJbmZvLiogV2ViTmV0c2NhcGVDb250YWluZXJDaGVj
a1ByaXZhdGUuKiBXZWJOU0V2ZW50RXh0cmFzLiogV2ViTlNQYXN0ZWJvYXJkRXh0cmFzLiogV2Vi
TlNXaW5kb3dFeHRyYXMuKiBXZWJQYW5lbEF1dGhlbnRpY2F0aW9uSGFuZGxlci4qIFdlYlBsdWdp
bnNQcml2YXRlLiogV2ViU3RyaW5nVHJ1bmNhdG9yLiogV2ViVGV4dENvbXBsZXRpb25Db250cm9s
bGVyLio7CitFWENMVURFRF9TT1VSQ0VfRklMRV9OQU1FU1tzZGs9aXBob25lKl0gPSAqLmRlZnMg
Ki5uaWIgKi5wZGYgKi50aWZmIENhcmJvblV0aWxzLm0gQ2FyYm9uV2luZG93QWRhcHRlci5tbSBD
YXJib25XaW5kb3dDb250ZW50Vmlldy5tIENhcmJvbldpbmRvd0ZyYW1lLm0gSElWaWV3QWRhcHRl
ci5tIEhJV2ViVmlldy5tbSBPdXRsb29rUXVpcmtzVXNlclNjcmlwdC5qcyBQb3B1cE1lbnVNYWMu
bW0gU2VhcmNoUG9wdXBNZW51TWFjLm1tIFdlYkNsaXBWaWV3LiogV2ViRGFzaGJvYXJkUmVnaW9u
LiogV2ViRHluYW1pY1Njcm9sbEJhcnNWaWV3LiogV2ViSWNvbkRhdGFiYXNlLiogV2ViSWNvbkRh
dGFiYXNlUHJpdmF0ZS4qIFdlYkluc3BlY3RvckNsaWVudC5tbSBXZWJKYXZhU2NyaXB0VGV4dElu
cHV0UGFuZWwuKiBXZWJLZXlHZW5lcmF0b3IuKiBXZWJOU0V2ZW50RXh0cmFzLiogV2ViTlNQYXN0
ZWJvYXJkRXh0cmFzLiogV2ViTlNXaW5kb3dFeHRyYXMuKiBXZWJQYW5lbEF1dGhlbnRpY2F0aW9u
SGFuZGxlci4qIFdlYlBsdWdpbnNQcml2YXRlLiogV2ViU3RyaW5nVHJ1bmNhdG9yLiogV2ViVGV4
dENvbXBsZXRpb25Db250cm9sbGVyLio7CiBFWENMVURFRF9TT1VSQ0VfRklMRV9OQU1FU1tzZGs9
bWFjb3N4Kl0gPSAqSU9TLm1tIE1lbW9yeU1lYXN1cmUuaCBXZWJDYXJldENoYW5nZUxpc3RlbmVy
LmggV2ViRml4ZWRQb3NpdGlvbkNvbnRlbnQuaCBXZWJGcmFtZUlPUy5oIFdlYkZyYW1lSVBob25l
LmggV2ViR2VvbG9jYXRpb25Db3JlTG9jYXRpb25Qcm92aWRlci5oIFdlYkdlb2xvY2F0aW9uUHJp
dmF0ZS5oIFdlYkdlb2xvY2F0aW9uUHJvdmlkZXJJT1MuaCBXZWJNSU1FVHlwZVJlZ2lzdHJ5Lmgg
V2ViTlNTdHJpbmdFeHRyYXNJT1MuaCBXZWJOU1N0cmluZ0V4dHJhc0lQaG9uZS5oIFdlYlBERlZp
ZXdJT1MuaCBXZWJQREZWaWV3SVBob25lLmggV2ViUERGVmlld1BsYWNlaG9sZGVyLmggV2ViU2Vs
ZWN0aW9uUmVjdC5oIFdlYlVJS2l0RGVsZWdhdGUuaCBXZWJVSUtpdFN1cHBvcnQuaCBXZWJWaXNp
YmxlUG9zaXRpb24uaDsKIAogRVhQT1JURURfU1lNQk9MU19GSUxFID0gJChFWFBPUlRFRF9TWU1C
T0xTX0ZJTEVfJChDVVJSRU5UX0FSQ0gpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFj
L1BsdWdpbnMvSG9zdGVkL05ldHNjYXBlUGx1Z2luSG9zdFByb3h5Lm1tIGIvU291cmNlL1dlYktp
dC9tYWMvUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5Ib3N0UHJveHkubW0KaW5kZXggMWMx
NWMzMmQ0NTQ2MzY5NGJkMmU2YjhlNTcxYzk5MDdiOTBhYzU5My4uZWFkNTkzNjk2ZDRiOWE5NzY2
YTNjYmNlMDNlYWQ2ZWFmZDA3OTU3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvUGx1
Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5Ib3N0UHJveHkubW0KKysrIGIvU291cmNlL1dlYktp
dC9tYWMvUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5Ib3N0UHJveHkubW0KQEAgLTExMDMs
NTkgKzExMDMsNiBAQCBrZXJuX3JldHVybl90IFdLUENMYXllckhvc3RpbmdNb2RlQ2hhbmdlZCht
YWNoX3BvcnRfdCBjbGllbnRQb3J0LCB1aW50MzJfdCBwbHVnaQogICAgIHJldHVybiBLRVJOX1NV
Q0NFU1M7CiB9CiAKLWtlcm5fcmV0dXJuX3QgV0tQQ0NoZWNrSWZBbGxvd2VkVG9Mb2FkVVJMKG1h
Y2hfcG9ydF90IGNsaWVudFBvcnQsIHVpbnQzMl90IHBsdWdpbklELCBkYXRhX3QgdXJsRGF0YSwg
bWFjaF9tc2dfdHlwZV9udW1iZXJfdCB1cmxMZW5ndGgsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBkYXRhX3QgdGFyZ2V0RGF0YSwgbWFjaF9tc2dfdHlwZV9udW1i
ZXJfdCB0YXJnZXRMZW5ndGgsIHVpbnQzMl90ICpjaGVja0lEKQotewotICAgIERhdGFEZWFsbG9j
YXRvciB1cmxEZWFsbG9jYXRvcih1cmxEYXRhLCB1cmxMZW5ndGgpOwotICAgIERhdGFEZWFsbG9j
YXRvciB0YXJnZXREZWFsbG9jYXRvcih0YXJnZXREYXRhLCB0YXJnZXRMZW5ndGgpOwotCi0gICAg
TmV0c2NhcGVQbHVnaW5Ib3N0UHJveHkqIGhvc3RQcm94eSA9IHBsdWdpblByb3h5TWFwKCkuZ2V0
KGNsaWVudFBvcnQpOwotICAgIGlmICghaG9zdFByb3h5KQotICAgICAgICByZXR1cm4gS0VSTl9G
QUlMVVJFOwotICAgIAotICAgIE5ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eSogaW5zdGFuY2VQ
cm94eSA9IGhvc3RQcm94eS0+cGx1Z2luSW5zdGFuY2UocGx1Z2luSUQpOwotICAgIGlmICghaW5z
dGFuY2VQcm94eSkKLSAgICAgICAgcmV0dXJuIEtFUk5fRkFJTFVSRTsKLSAgICAKLSAgICAqY2hl
Y2tJRCA9IGluc3RhbmNlUHJveHktPmNoZWNrSWZBbGxvd2VkVG9Mb2FkVVJMKHVybERhdGEsIHRh
cmdldERhdGEpOwotICAgIHJldHVybiBLRVJOX1NVQ0NFU1M7Ci19Ci0KLWtlcm5fcmV0dXJuX3Qg
V0tQQ0NhbmNlbENoZWNrSWZBbGxvd2VkVG9Mb2FkVVJMKG1hY2hfcG9ydF90IGNsaWVudFBvcnQs
IHVpbnQzMl90IHBsdWdpbklELCB1aW50MzJfdCBjaGVja0lEKQotewotICAgIE5ldHNjYXBlUGx1
Z2luSG9zdFByb3h5KiBob3N0UHJveHkgPSBwbHVnaW5Qcm94eU1hcCgpLmdldChjbGllbnRQb3J0
KTsKLSAgICBpZiAoIWhvc3RQcm94eSkKLSAgICAgICAgcmV0dXJuIEtFUk5fRkFJTFVSRTsKLSAg
ICAKLSAgICBOZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHkqIGluc3RhbmNlUHJveHkgPSBob3N0
UHJveHktPnBsdWdpbkluc3RhbmNlKHBsdWdpbklEKTsKLSAgICBpZiAoIWluc3RhbmNlUHJveHkp
Ci0gICAgICAgIHJldHVybiBLRVJOX0ZBSUxVUkU7Ci0KLSAgICBpbnN0YW5jZVByb3h5LT5jYW5j
ZWxDaGVja0lmQWxsb3dlZFRvTG9hZFVSTChjaGVja0lEKTsKLSAgICByZXR1cm4gS0VSTl9TVUND
RVNTOwotfQotCi1rZXJuX3JldHVybl90IFdLUENSZXNvbHZlVVJMKG1hY2hfcG9ydF90IGNsaWVu
dFBvcnQsIHVpbnQzMl90IHBsdWdpbklELCBkYXRhX3QgdXJsRGF0YSwgbWFjaF9tc2dfdHlwZV9u
dW1iZXJfdCB1cmxMZW5ndGgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFfdCB0
YXJnZXREYXRhLCBtYWNoX21zZ190eXBlX251bWJlcl90IHRhcmdldExlbmd0aCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZGF0YV90ICpyZXNvbHZlZFVSTERhdGEsIG1hY2hfbXNnX3R5
cGVfbnVtYmVyX3QgKnJlc29sdmVkVVJMTGVuZ3RoKQotewotICAgIERhdGFEZWFsbG9jYXRvciB1
cmxEZWFsbG9jYXRvcih1cmxEYXRhLCB1cmxMZW5ndGgpOwotICAgIERhdGFEZWFsbG9jYXRvciB0
YXJnZXREZWFsbG9jYXRvcih0YXJnZXREYXRhLCB0YXJnZXRMZW5ndGgpOwotICAgIAotICAgICpy
ZXNvbHZlZFVSTERhdGEgPSAwOwotICAgICpyZXNvbHZlZFVSTExlbmd0aCA9IDA7Ci0gICAgCi0g
ICAgTmV0c2NhcGVQbHVnaW5Ib3N0UHJveHkqIGhvc3RQcm94eSA9IHBsdWdpblByb3h5TWFwKCku
Z2V0KGNsaWVudFBvcnQpOwotICAgIGlmICghaG9zdFByb3h5KQotICAgICAgICByZXR1cm4gS0VS
Tl9GQUlMVVJFOwotICAgIAotICAgIE5ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eSogaW5zdGFu
Y2VQcm94eSA9IGhvc3RQcm94eS0+cGx1Z2luSW5zdGFuY2UocGx1Z2luSUQpOwotICAgIGlmICgh
aW5zdGFuY2VQcm94eSkKLSAgICAgICAgcmV0dXJuIEtFUk5fRkFJTFVSRTsKLSAgICAKLSAgICBp
bnN0YW5jZVByb3h5LT5yZXNvbHZlVVJMKHVybERhdGEsIHRhcmdldERhdGEsICpyZXNvbHZlZFVS
TERhdGEsICpyZXNvbHZlZFVSTExlbmd0aCk7Ci0gICAgcmV0dXJuIEtFUk5fU1VDQ0VTUzsKLX0K
IAoga2Vybl9yZXR1cm5fdCBXS1BDU2V0RXhjZXB0aW9uKG1hY2hfcG9ydF90IGNsaWVudFBvcnQs
IGRhdGFfdCBtZXNzYWdlLCBtYWNoX21zZ190eXBlX251bWJlcl90IG1lc3NhZ2VDbnQpCiB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3RlZC9OZXRzY2FwZVBsdWdp
bkluc3RhbmNlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVkL05ldHNj
YXBlUGx1Z2luSW5zdGFuY2VQcm94eS5oCmluZGV4IDYzMmMxYTc1OGE2N2Y1MGI2NGEyOTIzNDdh
YjczMjA5ODBlNGEzMjEuLjk4ZjI3NTM3NWMzMDcyMjVkYzRiNWEzYTZkYzUzOWQ0MzA1Mjc0OTMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVkL05ldHNjYXBlUGx1
Z2luSW5zdGFuY2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVk
L05ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eS5oCkBAIC0xNjIsMTMgKzE2Miw3IEBAIHB1Ymxp
YzoKICAgICBib29sIHNob3VsZFN0b3AoKTsKICAgICAKICAgICB1aW50MzJfdCBuZXh0UmVxdWVz
dElEKCk7Ci0gICAgCi0gICAgdWludDMyX3QgY2hlY2tJZkFsbG93ZWRUb0xvYWRVUkwoY29uc3Qg
Y2hhciogdXJsLCBjb25zdCBjaGFyKiB0YXJnZXQpOwotICAgIHZvaWQgY2FuY2VsQ2hlY2tJZkFs
bG93ZWRUb0xvYWRVUkwodWludDMyX3QgY2hlY2tJRCk7Ci0gICAgdm9pZCBjaGVja0lmQWxsb3dl
ZFRvTG9hZFVSTFJlc3VsdCh1aW50MzJfdCBjaGVja0lELCBib29sIGFsbG93ZWQpOwogCi0gICAg
dm9pZCByZXNvbHZlVVJMKGNvbnN0IGNoYXIqIHVybCwgY29uc3QgY2hhciogdGFyZ2V0LCBkYXRh
X3QmIHJlc29sdmVkVVJMRGF0YSwgbWFjaF9tc2dfdHlwZV9udW1iZXJfdCYgcmVzb2x2ZWRVUkxM
ZW5ndGgpOwotICAgIAogICAgIHZvaWQgZGlkRHJhdygpOwogICAgIHZvaWQgcHJpdmF0ZUJyb3dz
aW5nTW9kZURpZENoYW5nZShib29sIGlzUHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCk7CiAgICAgCkBA
IC0zNDMsMTAgKzMzNyw2IEBAIHByaXZhdGU6CiAgICAgdHlwZWRlZiBIYXNoU2V0PFByb3h5SW5z
dGFuY2UqPiBQcm94eUluc3RhbmNlU2V0OwogICAgIFByb3h5SW5zdGFuY2VTZXQgbV9pbnN0YW5j
ZXM7CiAKLSAgICB1aW50MzJfdCBtX3VybENoZWNrQ291bnRlcjsKLSAgICB0eXBlZGVmIEhhc2hN
YXA8dWludDMyX3QsIFJldGFpblB0cjxpZD4+IFVSTENoZWNrTWFwOwotICAgIFVSTENoZWNrTWFw
IG1fdXJsQ2hlY2tzOwotICAgIAogICAgIHVuc2lnbmVkIG1fcGx1Z2luRnVuY3Rpb25DYWxsRGVw
dGg7CiAgICAgYm9vbCBtX3Nob3VsZFN0b3BTb29uOwogICAgIHVpbnQzMl90IG1fY3VycmVudFJl
cXVlc3RJRDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVkL05l
dHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eS5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMv
SG9zdGVkL05ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eS5tbQppbmRleCA3MzE1MTBhNWY0OTJi
ZTg5YTc3MTRlNGEyNGJhYWY3Mjg1NWEwODljLi45ODRjMjNkYjYxZmZlZDBhMGQ0OGI2YjVkOWYy
YWJkZTZmMmYzMDA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3Rl
ZC9OZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHkubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMv
UGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5Lm1tCkBAIC0yMjMsNyAr
MjIzLDYgQEAgTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5OjpOZXRzY2FwZVBsdWdpbkluc3Rh
bmNlUHJveHkoTmV0c2NhcGVQbHVnaW5Ib3N0UHJveHkKICAgICAsIG1fcmVuZGVyQ29udGV4dElE
KDApCiAgICAgLCBtX3JlbmRlcmVyVHlwZShVc2VTb2Z0d2FyZVJlbmRlcmVyKQogICAgICwgbV93
YWl0aW5nRm9yUmVwbHkoZmFsc2UpCi0gICAgLCBtX3VybENoZWNrQ291bnRlcigwKQogICAgICwg
bV9wbHVnaW5GdW5jdGlvbkNhbGxEZXB0aCgwKQogICAgICwgbV9zaG91bGRTdG9wU29vbihmYWxz
ZSkKICAgICAsIG1fY3VycmVudFJlcXVlc3RJRCgwKQpAQCAtMTYwNyw1OCArMTYwNiw2IEBAIGJv
b2wgTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5Ojpjb252ZXJ0UG9pbnQoZG91YmxlIHNvdXJj
ZVgsIGRvdWJsZSBzb3VyY2VZLCBOCiAgICAgcmV0dXJuIFttX3BsdWdpblZpZXcgY29udmVydEZy
b21YOnNvdXJjZVggYW5kWTpzb3VyY2VZIHNwYWNlOnNvdXJjZVNwYWNlIHRvWDomZGVzdFggYW5k
WTomZGVzdFkgc3BhY2U6ZGVzdFNwYWNlXTsKIH0KIAotdWludDMyX3QgTmV0c2NhcGVQbHVnaW5J
bnN0YW5jZVByb3h5OjpjaGVja0lmQWxsb3dlZFRvTG9hZFVSTChjb25zdCBjaGFyKiB1cmwsIGNv
bnN0IGNoYXIqIHRhcmdldCkKLXsKLSAgICB1aW50MzJfdCBjaGVja0lEOwotICAgIAotICAgIC8v
IEFzc2lnbiBhIGNoZWNrIElECi0gICAgZG8gewotICAgICAgICBjaGVja0lEID0gKyttX3VybENo
ZWNrQ291bnRlcjsKLSAgICB9IHdoaWxlIChtX3VybENoZWNrcy5jb250YWlucyhjaGVja0lEKSB8
fCAhbV91cmxDaGVja0NvdW50ZXIpOwotCi0gICAgTlNTdHJpbmcgKmZyYW1lTmFtZSA9IHRhcmdl
dCA/IFtOU1N0cmluZyBzdHJpbmdXaXRoQ1N0cmluZzp0YXJnZXQgZW5jb2Rpbmc6TlNJU09MYXRp
bjFTdHJpbmdFbmNvZGluZ10gOiBuaWw7Ci0KLSAgICBOU051bWJlciAqY29udGV4dEluZm8gPSBb
W05TTnVtYmVyIGFsbG9jXSBpbml0V2l0aFVuc2lnbmVkSW50OmNoZWNrSURdOwotICAgIFdlYlBs
dWdpbkNvbnRhaW5lckNoZWNrICpjaGVjayA9IFtXZWJQbHVnaW5Db250YWluZXJDaGVjayBjaGVj
a1dpdGhSZXF1ZXN0OlttX3BsdWdpblZpZXcgcmVxdWVzdFdpdGhVUkxDU3RyaW5nOnVybF0KLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHRhcmdldDpmcmFtZU5hbWUKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdE9iamVjdDptX3Bs
dWdpblZpZXcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RvcjpAc2VsZWN0b3IoX2NvbnRhaW5lckNoZWNr
UmVzdWx0OmNvbnRleHRJbmZvOikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udHJvbGxlcjptX3BsdWdpblZpZXcg
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29udGV4dEluZm86Y29udGV4dEluZm9dOwotICAgIAotICAgIFtjb250ZXh0
SW5mbyByZWxlYXNlXTsKLSAgICBtX3VybENoZWNrcy5zZXQoY2hlY2tJRCwgY2hlY2spOwotICAg
IFtjaGVjayBzdGFydF07Ci0gICAgCi0gICAgcmV0dXJuIGNoZWNrSUQ7Ci19Ci0KLXZvaWQgTmV0
c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5OjpjYW5jZWxDaGVja0lmQWxsb3dlZFRvTG9hZFVSTCh1
aW50MzJfdCBjaGVja0lEKQotewotICAgIFVSTENoZWNrTWFwOjppdGVyYXRvciBpdCA9IG1fdXJs
Q2hlY2tzLmZpbmQoY2hlY2tJRCk7Ci0gICAgaWYgKGl0ID09IG1fdXJsQ2hlY2tzLmVuZCgpKQot
ICAgICAgICByZXR1cm47Ci0gICAgCi0gICAgV2ViUGx1Z2luQ29udGFpbmVyQ2hlY2sgKmNoZWNr
ID0gaXQtPnZhbHVlLmdldCgpOwotICAgIFtjaGVjayBjYW5jZWxdOwotICAgIG1fdXJsQ2hlY2tz
LnJlbW92ZShpdCk7Ci19Ci0KLXZvaWQgTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5OjpjaGVj
a0lmQWxsb3dlZFRvTG9hZFVSTFJlc3VsdCh1aW50MzJfdCBjaGVja0lELCBib29sIGFsbG93ZWQp
Ci17Ci19Ci0KLXZvaWQgTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5OjpyZXNvbHZlVVJMKGNv
bnN0IGNoYXIqIHVybCwgY29uc3QgY2hhciogdGFyZ2V0LCBkYXRhX3QmIHJlc29sdmVkVVJMRGF0
YSwgbWFjaF9tc2dfdHlwZV9udW1iZXJfdCYgcmVzb2x2ZWRVUkxMZW5ndGgpCi17Ci0gICAgQVNT
RVJUKG1fcGx1Z2luVmlldyk7Ci0gICAgCi0gICAgV1RGOjpDU3RyaW5nIHJlc29sdmVkVVJMID0g
W21fcGx1Z2luVmlldyByZXNvbHZlZFVSTFN0cmluZ0ZvclVSTDp1cmwgdGFyZ2V0OnRhcmdldF07
Ci0gICAgCi0gICAgcmVzb2x2ZWRVUkxMZW5ndGggPSByZXNvbHZlZFVSTC5sZW5ndGgoKTsKLSAg
ICBtaWdfYWxsb2NhdGUocmVpbnRlcnByZXRfY2FzdDx2bV9hZGRyZXNzX3QqPigmcmVzb2x2ZWRV
UkxEYXRhKSwgcmVzb2x2ZWRVUkxMZW5ndGgpOwotICAgIG1lbWNweShyZXNvbHZlZFVSTERhdGEs
IHJlc29sdmVkVVJMLmRhdGEoKSwgcmVzb2x2ZWRVUkxMZW5ndGgpOwotfQotCiB2b2lkIE5ldHNj
YXBlUGx1Z2luSW5zdGFuY2VQcm94eTo6cHJpdmF0ZUJyb3dzaW5nTW9kZURpZENoYW5nZShib29s
IGlzUHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCkKIHsKICAgICBfV0tQSFBsdWdpbkluc3RhbmNlUHJp
dmF0ZUJyb3dzaW5nTW9kZURpZENoYW5nZShtX3BsdWdpbkhvc3RQcm94eS0+cG9ydCgpLCBtX3Bs
dWdpbklELCBpc1ByaXZhdGVCcm93c2luZ0VuYWJsZWQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQvV2ViSG9zdGVkTmV0c2NhcGVQbHVnaW5WaWV3LmggYi9T
b3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3RlZC9XZWJIb3N0ZWROZXRzY2FwZVBsdWdpblZp
ZXcuaAppbmRleCAyMzAwZGFmOGUzYzYzOTM2MGY0OTVmZjA2MWIyN2JhMDU1M2FlN2EzLi4xY2Fl
MDg1OTFjNzM4YzcxZmY2NGRmZDQ1NjBhMWRmZDIzZDQwM2Y3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L21hYy9QbHVnaW5zL0hvc3RlZC9XZWJIb3N0ZWROZXRzY2FwZVBsdWdpblZpZXcuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3RlZC9XZWJIb3N0ZWROZXRzY2FwZVBs
dWdpblZpZXcuaApAQCAtMzUsNyArMzUsNyBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKICAgICBjbGFz
cyBOZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHk7CiB9CiAKLUBpbnRlcmZhY2UgV2ViSG9zdGVk
TmV0c2NhcGVQbHVnaW5WaWV3IDogV2ViQmFzZU5ldHNjYXBlUGx1Z2luVmlldzxXZWJQbHVnaW5N
YW51YWxMb2FkZXIsIFdlYlBsdWdpbkNvbnRhaW5lckNoZWNrQ29udHJvbGxlcj4KK0BpbnRlcmZh
Y2UgV2ViSG9zdGVkTmV0c2NhcGVQbHVnaW5WaWV3IDogV2ViQmFzZU5ldHNjYXBlUGx1Z2luVmll
dzxXZWJQbHVnaW5NYW51YWxMb2FkZXI+CiB7CiAgICAgUmV0YWluUHRyPE5TQXJyYXk+IF9hdHRy
aWJ1dGVLZXlzOwogICAgIFJldGFpblB0cjxOU0FycmF5PiBfYXR0cmlidXRlVmFsdWVzOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQvV2ViSG9zdGVkTmV0c2Nh
cGVQbHVnaW5WaWV3Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQvV2ViSG9z
dGVkTmV0c2NhcGVQbHVnaW5WaWV3Lm1tCmluZGV4IDgzMmNlMGUzNDk5OWY2YjNmOTM3OGFlZTQx
ZjJjOTk0MDJiM2M1NGQuLjdiZTQ3MTMyYjc4NTM5YjEzNTc2OWUyY2Y3NjYyNDZkMDJjZGViNzEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVkL1dlYkhvc3RlZE5l
dHNjYXBlUGx1Z2luVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3Rl
ZC9XZWJIb3N0ZWROZXRzY2FwZVBsdWdpblZpZXcubW0KQEAgLTUxNSwzMCArNTE1LDYgQEAgZXh0
ZXJuICJDIiB7CiAgICAgICAgIG1hbnVhbFN0cmVhbS0+ZGlkRmluaXNoTG9hZGluZygwKTsKIH0K
IAotLSAodm9pZClfd2ViUGx1Z2luQ29udGFpbmVyQ2FuY2VsQ2hlY2tJZkFsbG93ZWRUb0xvYWRS
ZXF1ZXN0OihpZCl3ZWJQbHVnaW5Db250YWluZXJDaGVjawotewotICAgIEFTU0VSVChbd2ViUGx1
Z2luQ29udGFpbmVyQ2hlY2sgaXNLaW5kT2ZDbGFzczpbV2ViUGx1Z2luQ29udGFpbmVyQ2hlY2sg
Y2xhc3NdXSk7Ci0gICAgCi0gICAgaWQgY29udGV4dEluZm8gPSBbd2ViUGx1Z2luQ29udGFpbmVy
Q2hlY2sgY29udGV4dEluZm9dOwotICAgIEFTU0VSVChbY29udGV4dEluZm8gaXNLaW5kT2ZDbGFz
czpbTlNOdW1iZXIgY2xhc3NdXSk7Ci0KLSAgICBpZiAoIV9wcm94eSkKLSAgICAgICAgcmV0dXJu
OwotCi0gICAgdWludDMyX3QgY2hlY2tJRCA9IFsoTlNOdW1iZXIgKiljb250ZXh0SW5mbyB1bnNp
Z25lZEludFZhbHVlXTsKLSAgICBfcHJveHktPmNhbmNlbENoZWNrSWZBbGxvd2VkVG9Mb2FkVVJM
KGNoZWNrSUQpOwotfQotCi0tICh2b2lkKV9jb250YWluZXJDaGVja1Jlc3VsdDooUG9saWN5QWN0
aW9uKXBvbGljeSBjb250ZXh0SW5mbzooaWQpY29udGV4dEluZm8KLXsKLSAgICBBU1NFUlQoW2Nv
bnRleHRJbmZvIGlzS2luZE9mQ2xhc3M6W05TTnVtYmVyIGNsYXNzXV0pOwotICAgIGlmICghX3By
b3h5KQotICAgICAgICByZXR1cm47Ci0KLSAgICB1aW50MzJfdCBjaGVja0lEID0gWyhOU051bWJl
ciAqKWNvbnRleHRJbmZvIHVuc2lnbmVkSW50VmFsdWVdOwotICAgIF9wcm94eS0+Y2hlY2tJZkFs
bG93ZWRUb0xvYWRVUkxSZXN1bHQoY2hlY2tJRCwgKHBvbGljeSA9PSBQb2xpY3lVc2UpKTsKLX0K
LQogLSAodm9pZCl3ZWJGcmFtZTooV2ViRnJhbWUgKil3ZWJGcmFtZSBkaWRGaW5pc2hMb2FkV2l0
aFJlYXNvbjooTlBSZWFzb24pcmVhc29uCiB7CiAgICAgaWYgKF9pc1N0YXJ0ZWQgJiYgX3Byb3h5
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQvV2ViS2l0UGx1
Z2luQ2xpZW50LmRlZnMgYi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3RlZC9XZWJLaXRQ
bHVnaW5DbGllbnQuZGVmcwppbmRleCAyNmNlYTViM2E3NGU5ZDczZmVkMjBiMmM3OWRjNDgxYTQ4
ZTY5MTM2Li5jMDA0Mjc1NTY2ZWMyMjk4YTg1NGE2NTA4YTJhYzI0OWVlMTExMGUzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3RlZC9XZWJLaXRQbHVnaW5DbGllbnQu
ZGVmcworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3RlZC9XZWJLaXRQbHVnaW5D
bGllbnQuZGVmcwpAQCAtMTkxLDIyICsxOTEsNiBAQCBzaW1wbGVyb3V0aW5lIFBDU2V0TWVudUJh
clZpc2libGUoY2xpZW50UG9ydCA6bWFjaF9wb3J0X3Q7CiBzaW1wbGVyb3V0aW5lIFBDU2V0TW9k
YWwoY2xpZW50UG9ydCA6bWFjaF9wb3J0X3Q7CiAgICAgICAgICAgICAgICAgICAgICAgIG1vZGFs
IDpib29sZWFuX3QpOwogCi1yb3V0aW5lIFBDQ2hlY2tJZkFsbG93ZWRUb0xvYWRVUkwoY2xpZW50
UG9ydCA6bWFjaF9wb3J0X3Q7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGx1
Z2luSUQgOnVpbnQzMl90OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybCA6
ZGF0YV90OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldCA6ZGF0YV90
OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG91dCBjaGVja0lEIDp1aW50MzJf
dCk7Ci0KLXNpbXBsZXJvdXRpbmUgUENDYW5jZWxDaGVja0lmQWxsb3dlZFRvTG9hZFVSTChjbGll
bnRQb3J0IDptYWNoX3BvcnRfdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBwbHVnaW5JRCA6dWludDMyX3Q7Ci0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY2hlY2tJRCA6dWludDMyX3QpOwotCi1yb3V0aW5lIFBDUmVz
b2x2ZVVSTChjbGllbnRQb3J0IDptYWNoX3BvcnRfdDsKLSAgICAgICAgICAgICAgICAgICAgIHBs
dWdpbklEIDp1aW50MzJfdDsKLSAgICAgICAgICAgICAgICAgICAgIHVybCA6ZGF0YV90OwotICAg
ICAgICAgICAgICAgICAgICAgdGFyZ2V0IDpkYXRhX3Q7Ci0gICAgICAgICAgICAgICAgICAgICBv
dXQgcmVzb2x2ZWRVUkwgOmRhdGFfdCwgZGVhbGxvYyk7Ci0KIC8vIFJlcGxpZXMKIHNpbXBsZXJv
dXRpbmUgUENJbnN0YW50aWF0ZVBsdWdpblJlcGx5KGNsaWVudFBvcnQgOm1hY2hfcG9ydF90Owog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsdWdpbklEIDp1aW50MzJfdDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViQmFzZU5ldHNjYXBlUGx1
Z2luVmlldy5oIGIvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJCYXNlTmV0c2NhcGVQbHVn
aW5WaWV3LmgKaW5kZXggZjRkOGZhYjgxYTc3MjNmZDZjZWNmYmUwNDgxNDdkZmI4ZjllNTBmOS4u
MjQ5OWIzZDk5NzJmNWQ1MDk1YzhhZjZhODBmZDVmY2VhYzY1MjRiMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJCYXNlTmV0c2NhcGVQbHVnaW5WaWV3LmgKKysrIGIv
U291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJCYXNlTmV0c2NhcGVQbHVnaW5WaWV3LmgKQEAg
LTMwLDcgKzMwLDYgQEAKICNpbXBvcnQgPENvY29hL0NvY29hLmg+CiAKICNpbXBvcnQgIldlYk5l
dHNjYXBlUGx1Z2luUGFja2FnZS5oIgotI2ltcG9ydCAiV2ViUGx1Z2luQ29udGFpbmVyQ2hlY2su
aCIKICNpbXBvcnQgPHd0Zi9Gb3J3YXJkLmg+CiAjaW1wb3J0IDx3dGYvUGFzc1JlZlB0ci5oPgog
I2ltcG9ydCA8d3RmL1JlZlB0ci5oPgpAQCAtMTIyLDcgKzEyMSw2IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogLSAoQk9PTCljb252ZXJ0RnJvbVg6KGRvdWJsZSlzb3VyY2VYIGFuZFk6KGRvdWJs
ZSlzb3VyY2VZIHNwYWNlOihOUENvb3JkaW5hdGVTcGFjZSlzb3VyY2VTcGFjZQogICAgICAgICAg
ICAgICAgICB0b1g6KGRvdWJsZSAqKWRlc3RYIGFuZFk6KGRvdWJsZSAqKWRlc3RZIHNwYWNlOihO
UENvb3JkaW5hdGVTcGFjZSlkZXN0U3BhY2U7Ci0tIChXVEY6OkNTdHJpbmcpcmVzb2x2ZWRVUkxT
dHJpbmdGb3JVUkw6KGNvbnN0IGNoYXIqKXVybCB0YXJnZXQ6KGNvbnN0IGNoYXIqKXRhcmdldDsK
IAogLSAodm9pZClpbnZhbGlkYXRlUGx1Z2luQ29udGVudFJlY3Q6KE5TUmVjdClyZWN0OwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dlYkJhc2VOZXRzY2FwZVBsdWdp
blZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dlYkJhc2VOZXRzY2FwZVBsdWdp
blZpZXcubW0KaW5kZXggMGU2ZmZmZWE3Y2M3NzU0ODA5NGM4OWI0ZDY5YWFmNGZlYjU5ODRiYy4u
ZThjOWE5ZmM1YmZjYjI5MzJkYjViOTdkNGQ4YTFlN2NhZDcxMjc5NSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJCYXNlTmV0c2NhcGVQbHVnaW5WaWV3Lm1tCisrKyBi
L1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViQmFzZU5ldHNjYXBlUGx1Z2luVmlldy5tbQpA
QCAtMzQsOCArMzQsNiBAQAogI2ltcG9ydCAiV2ViS2l0TG9nZ2luZy5oIgogI2ltcG9ydCAiV2Vi
S2l0TlNTdHJpbmdFeHRyYXMuaCIKICNpbXBvcnQgIldlYktpdFN5c3RlbUludGVyZmFjZS5oIgot
I2ltcG9ydCAiV2ViUGx1Z2luQ29udGFpbmVyQ2hlY2suaCIKLSNpbXBvcnQgIldlYk5ldHNjYXBl
Q29udGFpbmVyQ2hlY2tDb250ZXh0SW5mby5oIgogI2ltcG9ydCAiV2ViTlNVUkxFeHRyYXMuaCIK
ICNpbXBvcnQgIldlYk5TVVJMUmVxdWVzdEV4dHJhcy5oIgogI2ltcG9ydCAiV2ViVmlldy5oIgpA
QCAtODI5LDI3ICs4MjcsNiBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIH0KIAogCi0tIChD
U3RyaW5nKXJlc29sdmVkVVJMU3RyaW5nRm9yVVJMOihjb25zdCBjaGFyKil1cmwgdGFyZ2V0Oihj
b25zdCBjaGFyKil0YXJnZXQKLXsKLSAgICBTdHJpbmcgcmVsYXRpdmVVUkxTdHJpbmcgPSBTdHJp
bmc6OmZyb21VVEY4KHVybCk7Ci0gICAgaWYgKHJlbGF0aXZlVVJMU3RyaW5nLmlzTnVsbCgpKQot
ICAgICAgICByZXR1cm4gQ1N0cmluZygpOwotICAgIAotICAgIEZyYW1lKiBmcmFtZSA9IGNvcmUo
W3NlbGYgd2ViRnJhbWVdKTsKLSAgICBpZiAoIWZyYW1lKQotICAgICAgICByZXR1cm4gQ1N0cmlu
ZygpOwotCi0gICAgRnJhbWUqIHRhcmdldEZyYW1lID0gZnJhbWUtPnRyZWUoKS5maW5kKFN0cmlu
Zzo6ZnJvbVVURjgodGFyZ2V0KSk7Ci0gICAgaWYgKCF0YXJnZXRGcmFtZSkKLSAgICAgICAgcmV0
dXJuIENTdHJpbmcoKTsKLSAgICAKLSAgICBpZiAoIWZyYW1lLT5kb2N1bWVudCgpLT5zZWN1cml0
eU9yaWdpbigpLT5jYW5BY2Nlc3ModGFyZ2V0RnJhbWUtPmRvY3VtZW50KCktPnNlY3VyaXR5T3Jp
Z2luKCkpKQotICAgICAgICByZXR1cm4gQ1N0cmluZygpOwotICAKLSAgICBVUkwgYWJzb2x1dGVV
UkwgPSB0YXJnZXRGcmFtZS0+ZG9jdW1lbnQoKS0+Y29tcGxldGVVUkwocmVsYXRpdmVVUkxTdHJp
bmcpOwotICAgIHJldHVybiBhYnNvbHV0ZVVSTC5zdHJpbmcoKS51dGY4KCk7Ci19Ci0KIC0gKHZv
aWQpaW52YWxpZGF0ZVBsdWdpbkNvbnRlbnRSZWN0OihOU1JlY3QpcmVjdAogewogICAgIGF1dG8q
IHJlbmRlcmVyID0gX2VsZW1lbnQtPnJlbmRlcmVyKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlQ29udGFpbmVyQ2hlY2tDb250ZXh0SW5mby5oIGIv
U291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJOZXRzY2FwZUNvbnRhaW5lckNoZWNrQ29udGV4
dEluZm8uaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjNkNzc1YzE1YmQwMjVmMmQ0
NGYwMWE3MTA2NjY0ZDkwYjFlNTJlNy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlQ29udGFp
bmVyQ2hlY2tDb250ZXh0SW5mby5oCisrKyAvZGV2L251bGwKQEAgLTEsNDYgKzAsMCBAQAotLyoK
LSAqIENvcHlyaWdodCAoQykgMjAwOSBBcHBsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgot
ICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICoKLSAqIDEuICBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4gCi0gKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0g
KiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4gCi0gKiAzLiAgTmVpdGhlciB0aGUgbmFtZSBvZiBBcHBsZSBJbmMu
ICgiQXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCi0gKiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAotICogICAgIGZy
b20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4gCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENP
TlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKLSAqIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUKLSAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKLSAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCi0gKiAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7Ci0gKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKLSAqIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKLSAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2ltcG9ydCAi
V2ViQmFzZU5ldHNjYXBlUGx1Z2luVmlldy5oIgotCi0jaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJ
Tl9BUEkpCi0KLUBpbnRlcmZhY2UgV2ViTmV0c2NhcGVDb250YWluZXJDaGVja0NvbnRleHRJbmZv
IDogTlNPYmplY3QgewotICAgIHVpbnQzMl90IF9jaGVja1JlcXVlc3RJRDsKLSAgICB2b2lkICgq
X2NhbGxiYWNrKShOUFAgbnBwLCB1aW50MzJfdCwgTlBCb29sLCB2b2lkICopOwotICAgIHZvaWQg
Kl9jb250ZXh0OwotfQotCi0tIChpZClpbml0V2l0aENoZWNrUmVxdWVzdElEOih1aW50MzJfdClj
aGVja1JlcXVlc3RJRCBjYWxsYmFja0Z1bmM6KHZvaWQgKCopKE5QUCBucHAsIHVpbnQzMl90IGNo
ZWNrSUQsIE5QQm9vbCBhbGxvd2VkLCB2b2lkKiBjb250ZXh0KSljYWxsYmFja0Z1bmMgY29udGV4
dDoodm9pZCopY29udGV4dDsKLS0gKHVpbnQzMl90KWNoZWNrUmVxdWVzdElEOwotLSAodm9pZCAo
KikoTlBQIG5wcCwgdWludDMyX3QsIE5QQm9vbCwgdm9pZCopKWNhbGxiYWNrOwotLSAodm9pZCop
Y29udGV4dDsKLQotQGVuZAotCi0jZW5kaWYgLy8gRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlQ29udGFp
bmVyQ2hlY2tDb250ZXh0SW5mby5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViTmV0
c2NhcGVDb250YWluZXJDaGVja0NvbnRleHRJbmZvLm1tCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCA4OTkxYzk1NWYzZDUxNWM4YWE2NTQ0MjJiNzcwZGUxZGQ1YjNkMmU5Li4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQvbWFj
L1BsdWdpbnMvV2ViTmV0c2NhcGVDb250YWluZXJDaGVja0NvbnRleHRJbmZvLm1tCisrKyAvZGV2
L251bGwKQEAgLTEsNjEgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAwOSBBcHBsZSBJ
bmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
LSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQot
ICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLiAKLSAqLwotCi0jaW1wb3J0ICJXZWJOZXRzY2FwZUNvbnRhaW5lckNoZWNrQ29udGV4dElu
Zm8uaCIKLQotI2lmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQotCi1AaW1wbGVtZW50YXRp
b24gV2ViTmV0c2NhcGVDb250YWluZXJDaGVja0NvbnRleHRJbmZvCi0KLS0gKGlkKWluaXRXaXRo
Q2hlY2tSZXF1ZXN0SUQ6KHVpbnQzMl90KWNoZWNrUmVxdWVzdElEIGNhbGxiYWNrRnVuYzoodm9p
ZCAoKikoTlBQIG5wcCwgdWludDMyX3QgY2hlY2tJRCwgTlBCb29sIGFsbG93ZWQsIHZvaWQqIGNv
bnRleHQpKWNhbGxiYWNrRnVuYyBjb250ZXh0Oih2b2lkKiljb250ZXh0Ci17Ci0gICAgc2VsZiA9
IFtzdXBlciBpbml0XTsKLSAgICBpZiAoIXNlbGYpCi0gICAgICAgIHJldHVybiBuaWw7Ci0gICAg
Ci0gICAgX2NoZWNrUmVxdWVzdElEID0gY2hlY2tSZXF1ZXN0SUQ7Ci0gICAgX2NhbGxiYWNrID0g
Y2FsbGJhY2tGdW5jOwotICAgIF9jb250ZXh0ID0gY29udGV4dDsKLSAgICByZXR1cm4gc2VsZjsK
LX0KLQotLSAodWludDMyX3QpY2hlY2tSZXF1ZXN0SUQKLXsKLSAgICByZXR1cm4gX2NoZWNrUmVx
dWVzdElEOyAgIAotfQotCi0tICh2b2lkICgqKShOUFAgbnBwLCB1aW50MzJfdCwgTlBCb29sLCB2
b2lkKikpY2FsbGJhY2sKLXsKLSAgICByZXR1cm4gX2NhbGxiYWNrOwotfQotCi0tICh2b2lkKilj
b250ZXh0Ci17Ci0gICAgcmV0dXJuIF9jb250ZXh0OwotfQotCi1AZW5kCi0KLSNlbmRpZiAvLyBF
TkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFj
L1BsdWdpbnMvV2ViTmV0c2NhcGVDb250YWluZXJDaGVja1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJL
aXQvbWFjL1BsdWdpbnMvV2ViTmV0c2NhcGVDb250YWluZXJDaGVja1ByaXZhdGUuaApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTQzMTBjOGI4NjZiODQwMGFhZWIzNDAzNmYwYWJlYTY0
Yjk4YjY0NS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9T
b3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlQ29udGFpbmVyQ2hlY2tQcml2YXRl
LmgKKysrIC9kZXYvbnVsbApAQCAtMSw2NCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAy
MDA5IEFwcGxlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0g
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKgotICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAK
LSAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAK
LSAqIDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIEluYy4gKCJBcHBsZSIpIG5vciB0aGUg
bmFtZXMgb2YKLSAqICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCi0gKiAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLiAKLSAqCi0gKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIg
QU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAotICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQotICogRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWQotICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKLSAqIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsK
LSAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORAotICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRgotICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIFdlYk5ldHNjYXBlQ29udGFpbmVy
Q2hlY2tQcml2YXRlX2gKLSNkZWZpbmUgV2ViTmV0c2NhcGVDb250YWluZXJDaGVja1ByaXZhdGVf
aAotCi0jaW5jbHVkZSA8V2ViS2l0TGVnYWN5L25wYXBpLmg+Ci0KLSNpZmRlZiBfX2NwbHVzcGx1
cwotZXh0ZXJuICJDIiB7Ci0jZW5kaWYKLSAgICAKLSNkZWZpbmUgV0tOVkJyb3dzZXJDb250YWlu
ZXJDaGVja0Z1bmNzIDE3MDEKLSNkZWZpbmUgV0tOVkJyb3dzZXJDb250YWluZXJDaGVja0Z1bmNz
VmVyc2lvbiAyCi0KLSNkZWZpbmUgV0tOVkJyb3dzZXJDb250YWluZXJDaGVja0Z1bmNzVmVyc2lv
bkhhc0dldExvY2F0aW9uIDIKLQotdHlwZWRlZiB1aW50MzJfdCAoKldLTl9DaGVja0lmQWxsb3dl
ZFRvTG9hZFVSTFByb2NQdHIpKE5QUCBucHAsIGNvbnN0IGNoYXIqIHVybCwgY29uc3QgY2hhciog
ZnJhbWUsIHZvaWQgKCpjYWxsYmFja0Z1bmMpKE5QUCBucHAsIHVpbnQzMl90LCBOUEJvb2wgYWxs
b3dlZCwgdm9pZCogY29udGV4dCksIHZvaWQqIGNvbnRleHQpOwotdHlwZWRlZiB2b2lkICAoKldL
Tl9DYW5jZWxDaGVja0lmQWxsb3dlZFRvTG9hZFVSTFByb2NQdHIpKE5QUCBucHAsIHVpbnQzMl90
KTsKLXR5cGVkZWYgY2hhciogKCpXS05fUmVzb2x2ZVVSTFByb2NQdHIpKE5QUCBucHAsIGNvbnN0
IGNoYXIqIHVybCwgY29uc3QgY2hhciogdGFyZ2V0KTsKLQotdWludDMyX3QgV0tOX0NoZWNrSWZB
bGxvd2VkVG9Mb2FkVVJMKE5QUCBucHAsIGNvbnN0IGNoYXIqIHVybCwgY29uc3QgY2hhciogZnJh
bWUsIHZvaWQgKCpjYWxsYmFja0Z1bmMpKE5QUCBucHAsIHVpbnQzMl90LCBOUEJvb2wgYWxsb3dl
ZCwgdm9pZCogY29udGV4dCksIHZvaWQqIGNvbnRleHQpOwotdm9pZCBXS05fQ2FuY2VsQ2hlY2tJ
ZkFsbG93ZWRUb0xvYWRVUkwoTlBQIG5wcCwgdWludDMyX3QpOwotY2hhciogV0tOX1Jlc29sdmVV
UkwoTlBQIG5wcCwgY29uc3QgY2hhciogdXJsLCBjb25zdCBjaGFyKiB0YXJnZXQpOwotCi10eXBl
ZGVmIHN0cnVjdCBfV0tOQnJvd3NlckNvbnRhaW5lckNoZWNrRnVuY3MgewotICAgIHVpbnQxNl90
IHNpemU7Ci0gICAgdWludDE2X3QgdmVyc2lvbjsKLSAgICAKLSAgICBXS05fQ2hlY2tJZkFsbG93
ZWRUb0xvYWRVUkxQcm9jUHRyIGNoZWNrSWZBbGxvd2VkVG9Mb2FkVVJMOwotICAgIFdLTl9DYW5j
ZWxDaGVja0lmQWxsb3dlZFRvTG9hZFVSTFByb2NQdHIgY2FuY2VsQ2hlY2tJZkFsbG93ZWRUb0xv
YWRVUkw7Ci0gICAgV0tOX1Jlc29sdmVVUkxQcm9jUHRyIHJlc29sdmVVUkw7Ci19IFdLTkJyb3dz
ZXJDb250YWluZXJDaGVja0Z1bmNzOwotCi0jaWZkZWYgX19jcGx1c3BsdXMKLX0KLSNlbmRpZgot
Ci0jZW5kaWYgLy8gV2ViTmV0c2NhcGVDb250YWluZXJDaGVja1ByaXZhdGVfaApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJOZXRzY2FwZUNvbnRhaW5lckNoZWNrUHJp
dmF0ZS5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViTmV0c2NhcGVDb250YWluZXJD
aGVja1ByaXZhdGUubW0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk1NGU0N2YwZDFj
ZDFlYzIxMDNmMjE0N2U4Nzk2ZDdkOGIyYjdiZGEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJOZXRzY2Fw
ZUNvbnRhaW5lckNoZWNrUHJpdmF0ZS5tbQorKysgL2Rldi9udWxsCkBAIC0xLDQ4ICswLDAgQEAK
LS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDkgQXBwbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqCi0gKiAx
LiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuIAotICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQotICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uIAotICogMy4gIE5laXRoZXIgdGhlIG5hbWUgb2YgQXBwbGUg
SW5jLiAoIkFwcGxlIikgbm9yIHRoZSBuYW1lcyBvZgotICogICAgIGl0cyBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQKLSAqICAg
ICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uIAotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElU
UyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECi0gKiBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFCi0gKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJ
VFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCi0gKiBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUwot
ICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOwotICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECi0gKiBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCi0gKiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbXBv
cnQgIldlYk5ldHNjYXBlQ29udGFpbmVyQ2hlY2tQcml2YXRlLmgiCi0KLSNpbXBvcnQgIldlYk5l
dHNjYXBlUGx1Z2luVmlldy5oIgotCi0jaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCi0K
LVdLTkJyb3dzZXJDb250YWluZXJDaGVja0Z1bmNzICpicm93c2VyQ29udGFpbmVyQ2hlY2tGdW5j
cygpCi17Ci0gICAgc3RhdGljIFdLTkJyb3dzZXJDb250YWluZXJDaGVja0Z1bmNzIGZ1bmNzID0g
ewotICAgICAgICBzaXplb2YoV0tOQnJvd3NlckNvbnRhaW5lckNoZWNrRnVuY3MpLAotICAgICAg
ICBXS05WQnJvd3NlckNvbnRhaW5lckNoZWNrRnVuY3NWZXJzaW9uLAotICAgICAgICBXS05fQ2hl
Y2tJZkFsbG93ZWRUb0xvYWRVUkwsCi0gICAgICAgIFdLTl9DYW5jZWxDaGVja0lmQWxsb3dlZFRv
TG9hZFVSTCwKLSAgICAgICAgV0tOX1Jlc29sdmVVUkwKLSAgICB9OwotICAgIAotICAgIHJldHVy
biAmZnVuY3M7Ci19Ci0KLSNlbmRpZiAvLyBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5WaWV3
LmggYi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luVmlldy5oCmlu
ZGV4IDc4M2YzM2YxNzY5MjYwYmEwMGZiZTY0OGU0ZjMxN2I3YmRkOTZjODAuLjVmOGIzY2JjYjNl
YmQxMjczZDUyNzVkZGZjODkzNWRmNTRkMjBhOTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
bWFjL1BsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5WaWV3LmgKKysrIGIvU291cmNlL1dlYktpdC9t
YWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblZpZXcuaApAQCAtMjksNyArMjksNiBAQAogI2lm
IEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQogCiAjaW1wb3J0ICJXZWJCYXNlTmV0c2NhcGVQ
bHVnaW5WaWV3LmgiCi0jaW1wb3J0ICJXZWJOZXRzY2FwZUNvbnRhaW5lckNoZWNrUHJpdmF0ZS5o
IgogI2ltcG9ydCA8V2ViS2l0TGVnYWN5L25wZnVuY3Rpb25zLmg+CiAjaW1wb3J0IDxXZWJLaXRM
ZWdhY3kvbnBhcGkuaD4KICNpbXBvcnQgPHd0Zi9IYXNoTWFwLmg+CkBAIC01Myw3ICs1Miw3IEBA
IHR5cGVkZWYgdW5pb24gUGx1Z2luUG9ydCB7CiAvLyBmb3IgdGhlIHBsdWctaW4gdG8gZnVuY3Rp
b24gY29ycmVjdGx5LiAocmRhcjovL3Byb2JsZW0vNDY5OTQ1NSkKICNkZWZpbmUgV2ViTmV0c2Nh
cGVQbHVnaW5WaWV3IFdlYk5ldHNjYXBlUGx1Z2luRG9jdW1lbnRWaWV3CiAKLUBpbnRlcmZhY2Ug
V2ViTmV0c2NhcGVQbHVnaW5WaWV3IDogV2ViQmFzZU5ldHNjYXBlUGx1Z2luVmlldzxXZWJQbHVn
aW5NYW51YWxMb2FkZXIsIFdlYlBsdWdpbkNvbnRhaW5lckNoZWNrQ29udHJvbGxlcj4KK0BpbnRl
cmZhY2UgV2ViTmV0c2NhcGVQbHVnaW5WaWV3IDogV2ViQmFzZU5ldHNjYXBlUGx1Z2luVmlldzxX
ZWJQbHVnaW5NYW51YWxMb2FkZXI+CiB7CiBAcGFja2FnZQogICAgIFJlZlB0cjxXZWJOZXRzY2Fw
ZVBsdWdpblN0cmVhbT4gX21hbnVhbFN0cmVhbTsKQEAgLTk2LDkgKzk1LDYgQEAgdHlwZWRlZiB1
bmlvbiBQbHVnaW5Qb3J0IHsKICAgICAKICAgICBCT09MIF9pc0ZsYXNoOwogICAgIEJPT0wgX2lz
U2lsdmVybGlnaHQ7Ci0gICAgCi0gICAgTlNNdXRhYmxlRGljdGlvbmFyeSAqX2NvbnRhaW5lckNo
ZWNrc0luUHJvZ3Jlc3M7Ci0gICAgdWludDMyX3QgX2N1cnJlbnRDb250YWluZXJDaGVja1JlcXVl
c3RJRDsKIH0KIAogKyAoV2ViTmV0c2NhcGVQbHVnaW5WaWV3ICopY3VycmVudFBsdWdpblZpZXc7
CkBAIC0xNDMsOSArMTM5LDYgQEAgdHlwZWRlZiB1bmlvbiBQbHVnaW5Qb3J0IHsKIC0gKHZvaWQp
aGFuZGxlTW91c2VFbnRlcmVkOihOU0V2ZW50ICopZXZlbnQ7CiAtICh2b2lkKWhhbmRsZU1vdXNl
RXhpdGVkOihOU0V2ZW50ICopZXZlbnQ7CiAKLS0gKHVpbnQzMl90KWNoZWNrSWZBbGxvd2VkVG9M
b2FkVVJMOihjb25zdCBjaGFyKil1cmxDU3RyaW5nIGZyYW1lOihjb25zdCBjaGFyKilmcmFtZU5h
bWVDU3RyaW5nIGNhbGxiYWNrRnVuYzoodm9pZCAoKikoTlBQIG5wcCwgdWludDMyX3QgY2hlY2tJ
RCwgTlBCb29sIGFsbG93ZWQsIHZvaWQqIGNvbnRleHQpKWNhbGxiYWNrRnVuYyBjb250ZXh0Oih2
b2lkKiljb250ZXh0OwotLSAodm9pZCljYW5jZWxDaGVja0lmQWxsb3dlZFRvTG9hZFVSTDoodWlu
dDMyX3QpY2hlY2tJRDsKLQogQGVuZAogCiBAaW50ZXJmYWNlIFdlYk5ldHNjYXBlUGx1Z2luVmll
dyAoV2ViSW50ZXJuYWwpCkBAIC0xNzUsMTAgKzE2OCw3IEBAIHR5cGVkZWYgdW5pb24gUGx1Z2lu
UG9ydCB7CiAtIChOUEVycm9yKWdldEF1dGhlbnRpY2F0aW9uSW5mb1dpdGhQcm90b2NvbDooY29u
c3QgY2hhciopIHByb3RvY29sIGhvc3Q6KGNvbnN0IGNoYXIqKWhvc3QgcG9ydDooaW50MzJfdClw
b3J0IHNjaGVtZTooY29uc3QgY2hhciopc2NoZW1lIHJlYWxtOihjb25zdCBjaGFyKilyZWFsbQog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcm5hbWU6KGNoYXIqKil1c2Vy
bmFtZSB1c2VybmFtZUxlbmd0aDoodWludDMyX3QqKXVzZXJuYW1lTGVuZ3RoIAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFzc3dvcmQ6KGNoYXIqKilwYXNzd29yZCBwYXNz
d29yZExlbmd0aDoodWludDMyX3QqKXBhc3N3b3JkTGVuZ3RoOwotLSAoY2hhciopcmVzb2x2ZVVS
TDooY29uc3QgY2hhciopdXJsIGZvclRhcmdldDooY29uc3QgY2hhciopdGFyZ2V0OwogQGVuZAog
Ci1XS05Ccm93c2VyQ29udGFpbmVyQ2hlY2tGdW5jcyAqYnJvd3NlckNvbnRhaW5lckNoZWNrRnVu
Y3MoKTsKLQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMv
V2ViTmV0c2NhcGVQbHVnaW5WaWV3Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJO
ZXRzY2FwZVBsdWdpblZpZXcubW0KaW5kZXggYjMzZmNmMGZmNWExMzYzZGRmNTJlOTM1YjFmOWU1
MjYwMDk2NmE0OS4uZjI4NDMyNjc0YTk4NWM1YTRkYzQ3N2E2N2QwMDViZWVlNzEyMWM0YSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblZpZXcu
bW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblZpZXcu
bW0KQEAgLTQ1LDEyICs0NSw5IEBACiAjaW1wb3J0ICJXZWJOU1VSTEV4dHJhcy5oIgogI2ltcG9y
dCAiV2ViTlNVUkxSZXF1ZXN0RXh0cmFzLmgiCiAjaW1wb3J0ICJXZWJOU1ZpZXdFeHRyYXMuaCIK
LSNpbXBvcnQgIldlYk5ldHNjYXBlQ29udGFpbmVyQ2hlY2tDb250ZXh0SW5mby5oIgotI2ltcG9y
dCAiV2ViTmV0c2NhcGVDb250YWluZXJDaGVja1ByaXZhdGUuaCIKICNpbXBvcnQgIldlYk5ldHNj
YXBlUGx1Z2luRXZlbnRIYW5kbGVyLmgiCiAjaW1wb3J0ICJXZWJOZXRzY2FwZVBsdWdpblBhY2th
Z2UuaCIKICNpbXBvcnQgIldlYk5ldHNjYXBlUGx1Z2luU3RyZWFtLmgiCi0jaW1wb3J0ICJXZWJQ
bHVnaW5Db250YWluZXJDaGVjay5oIgogI2ltcG9ydCAiV2ViUGx1Z2luUmVxdWVzdC5oIgogI2lt
cG9ydCAiV2ViUHJlZmVyZW5jZXMuaCIKICNpbXBvcnQgIldlYlVJRGVsZWdhdGVQcml2YXRlLmgi
CkBAIC0xMjQ3LDcwICsxMjQ0LDYgQEAgc3RhdGljIGlubGluZSB2b2lkIGdldE5QUmVjdChjb25z
dCBOU1JlY3QmIG5yLCBOUFJlY3QmIG5wcikKICAgICB9CiB9CiAKLS0gKHVpbnQzMl90KWNoZWNr
SWZBbGxvd2VkVG9Mb2FkVVJMOihjb25zdCBjaGFyKil1cmxDU3RyaW5nIGZyYW1lOihjb25zdCBj
aGFyKilmcmFtZU5hbWVDU3RyaW5nIAotICAgICAgICAgICAgICAgICAgICAgICBjYWxsYmFja0Z1
bmM6KHZvaWQgKCopKE5QUCBucHAsIHVpbnQzMl90IGNoZWNrSUQsIE5QQm9vbCBhbGxvd2VkLCB2
b2lkKiBjb250ZXh0KSljYWxsYmFja0Z1bmMgCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29udGV4dDoodm9pZCopY29udGV4dAotewotICAgIGlmICghX2NvbnRhaW5lckNoZWNrc0luUHJv
Z3Jlc3MpIAotICAgICAgICBfY29udGFpbmVyQ2hlY2tzSW5Qcm9ncmVzcyA9IFtbTlNNdXRhYmxl
RGljdGlvbmFyeSBhbGxvY10gaW5pdF07Ci0gICAgCi0gICAgTlNTdHJpbmcgKmZyYW1lTmFtZSA9
IGZyYW1lTmFtZUNTdHJpbmcgPyBbTlNTdHJpbmcgc3RyaW5nV2l0aENTdHJpbmc6ZnJhbWVOYW1l
Q1N0cmluZyBlbmNvZGluZzpOU0lTT0xhdGluMVN0cmluZ0VuY29kaW5nXSA6IG5pbDsKLSAgICAK
LSAgICArK19jdXJyZW50Q29udGFpbmVyQ2hlY2tSZXF1ZXN0SUQ7Ci0gICAgV2ViTmV0c2NhcGVD
b250YWluZXJDaGVja0NvbnRleHRJbmZvICpjb250ZXh0SW5mbyA9IFtbV2ViTmV0c2NhcGVDb250
YWluZXJDaGVja0NvbnRleHRJbmZvIGFsbG9jXSBpbml0V2l0aENoZWNrUmVxdWVzdElEOl9jdXJy
ZW50Q29udGFpbmVyQ2hlY2tSZXF1ZXN0SUQgCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2tGdW5jOmNhbGxiYWNrRnVuYwotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnRleHQ6Y29udGV4dF07Ci0gICAgCi0gICAgV2ViUGx1Z2luQ29udGFpbmVyQ2hlY2sgKmNo
ZWNrID0gW1dlYlBsdWdpbkNvbnRhaW5lckNoZWNrIGNoZWNrV2l0aFJlcXVlc3Q6W3NlbGYgcmVx
dWVzdFdpdGhVUkxDU3RyaW5nOnVybENTdHJpbmddCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQ6ZnJh
bWVOYW1lCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICByZXN1bHRPYmplY3Q6c2VsZgotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdG9y
OkBzZWxlY3RvcihfY29udGFpbmVyQ2hlY2tSZXN1bHQ6Y29udGV4dEluZm86KQotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb250cm9sbGVyOnNlbGYgCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dEluZm86Y29udGV4dEluZm9dOwot
ICAgIAotICAgIFtjb250ZXh0SW5mbyByZWxlYXNlXTsKLSAgICBbX2NvbnRhaW5lckNoZWNrc0lu
UHJvZ3Jlc3Mgc2V0T2JqZWN0OmNoZWNrIGZvcktleTpbTlNOdW1iZXIgbnVtYmVyV2l0aEludDpf
Y3VycmVudENvbnRhaW5lckNoZWNrUmVxdWVzdElEXV07Ci0gICAgW2NoZWNrIHN0YXJ0XTsKLSAg
ICAKLSAgICByZXR1cm4gX2N1cnJlbnRDb250YWluZXJDaGVja1JlcXVlc3RJRDsKLX0KLQotLSAo
dm9pZClfY29udGFpbmVyQ2hlY2tSZXN1bHQ6KFBvbGljeUFjdGlvbilwb2xpY3kgY29udGV4dElu
Zm86KGlkKWNvbnRleHRJbmZvCi17Ci0gICAgQVNTRVJUKFtjb250ZXh0SW5mbyBpc0tpbmRPZkNs
YXNzOltXZWJOZXRzY2FwZUNvbnRhaW5lckNoZWNrQ29udGV4dEluZm8gY2xhc3NdXSk7Ci0gICAg
dm9pZCAoKnBsdWdpbkNhbGxiYWNrKShOUFAgbnBwLCB1aW50MzJfdCwgTlBCb29sLCB2b2lkKikg
PSBbY29udGV4dEluZm8gY2FsbGJhY2tdOwotICAgIAotICAgIGlmICghcGx1Z2luQ2FsbGJhY2sp
IHsKLSAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9
Ci0gICAgCi0gICAgcGx1Z2luQ2FsbGJhY2soW3NlbGYgcGx1Z2luXSwgW2NvbnRleHRJbmZvIGNo
ZWNrUmVxdWVzdElEXSwgKHBvbGljeSA9PSBQb2xpY3lVc2UpLCBbY29udGV4dEluZm8gY29udGV4
dF0pOwotfQotCi0tICh2b2lkKWNhbmNlbENoZWNrSWZBbGxvd2VkVG9Mb2FkVVJMOih1aW50MzJf
dCljaGVja0lECi17Ci0gICAgV2ViUGx1Z2luQ29udGFpbmVyQ2hlY2sgKmNoZWNrID0gKFdlYlBs
dWdpbkNvbnRhaW5lckNoZWNrICopW19jb250YWluZXJDaGVja3NJblByb2dyZXNzIG9iamVjdEZv
cktleTpbTlNOdW1iZXIgbnVtYmVyV2l0aEludDpjaGVja0lEXV07Ci0gICAgCi0gICAgaWYgKCFj
aGVjaykKLSAgICAgICAgcmV0dXJuOwotICAgIAotICAgIFtjaGVjayBjYW5jZWxdOwotICAgIFtf
Y29udGFpbmVyQ2hlY2tzSW5Qcm9ncmVzcyByZW1vdmVPYmplY3RGb3JLZXk6W05TTnVtYmVyIG51
bWJlcldpdGhJbnQ6Y2hlY2tJRF1dOwotfQotCi0vLyBXZWJQbHVnaW5Db250YWluZXJDaGVjayBh
dXRvbWF0aWNhbGx5IGNhbGxzIHRoaXMgbWV0aG9kIGFmdGVyIGludm9raW5nIG91ciBfY29udGFp
bmVyQ2hlY2tSZXN1bHQ6IHNlbGVjdG9yLgotLy8gSXQgd29ya3MgdGhpcyB3YXkgYmVjYXVzZSBj
YWxsaW5nIC1bV2ViUGx1Z2luQ29udGFpbmVyQ2hlY2sgY2FuY2VsXSBhbGxvd3MgaXQgdG8gZG8g
aXQncyB0ZWFyZG93biBwcm9jZXNzLgotLSAodm9pZClfd2ViUGx1Z2luQ29udGFpbmVyQ2FuY2Vs
Q2hlY2tJZkFsbG93ZWRUb0xvYWRSZXF1ZXN0OihpZCl3ZWJQbHVnaW5Db250YWluZXJDaGVjawot
ewotICAgIEFTU0VSVChbd2ViUGx1Z2luQ29udGFpbmVyQ2hlY2sgaXNLaW5kT2ZDbGFzczpbV2Vi
UGx1Z2luQ29udGFpbmVyQ2hlY2sgY2xhc3NdXSk7Ci0gICAgV2ViUGx1Z2luQ29udGFpbmVyQ2hl
Y2sgKmNoZWNrID0gKFdlYlBsdWdpbkNvbnRhaW5lckNoZWNrICopd2ViUGx1Z2luQ29udGFpbmVy
Q2hlY2s7Ci0gICAgQVNTRVJUKFtbY2hlY2sgY29udGV4dEluZm9dIGlzS2luZE9mQ2xhc3M6W1dl
Yk5ldHNjYXBlQ29udGFpbmVyQ2hlY2tDb250ZXh0SW5mbyBjbGFzc11dKTsKLSAgICAKLSAgICBb
c2VsZiBjYW5jZWxDaGVja0lmQWxsb3dlZFRvTG9hZFVSTDpbW2NoZWNrIGNvbnRleHRJbmZvXSBj
aGVja1JlcXVlc3RJRF1dOwotfQotCi0KIC8vIE1BUks6IE5TVklFVwogCiAtIChpZClpbml0V2l0
aEZyYW1lOihOU1JlY3QpZnJhbWUKQEAgLTEzNTksOCArMTI5Miw2IEBAIHN0YXRpYyBpbmxpbmUg
dm9pZCBnZXROUFJlY3QoY29uc3QgTlNSZWN0JiBuciwgTlBSZWN0JiBucHIpCiAgICAgZnJlZShj
VmFsdWVzKTsKICAgICAKICAgICBBU1NFUlQoIV9ldmVudEhhbmRsZXIpOwotICAgIAotICAgIFtf
Y29udGFpbmVyQ2hlY2tzSW5Qcm9ncmVzcyByZWxlYXNlXTsKIH0KIAogLSAodm9pZClkaXNjb25u
ZWN0U3RyZWFtOihXZWJOZXRzY2FwZVBsdWdpblN0cmVhbSopc3RyZWFtCkBAIC0yMDU4LDEyICsx
OTg5LDYgQEAgc3RhdGljIGlubGluZSB2b2lkIGdldE5QUmVjdChjb25zdCBOU1JlY3QmIG5yLCBO
UFJlY3QmIG5wcikKICAgICAgICAgICAgIHJldHVybiBOUEVSUl9OT19FUlJPUjsKICAgICAgICAg
fQogCi0gICAgICAgIGNhc2UgV0tOVkJyb3dzZXJDb250YWluZXJDaGVja0Z1bmNzOgotICAgICAg
ICB7Ci0gICAgICAgICAgICAqKFdLTkJyb3dzZXJDb250YWluZXJDaGVja0Z1bmNzICoqKXZhbHVl
ID0gYnJvd3NlckNvbnRhaW5lckNoZWNrRnVuY3MoKTsKLSAgICAgICAgICAgIHJldHVybiBOUEVS
Ul9OT19FUlJPUjsKLSAgICAgICAgfQotCiAgICAgICAgIGNhc2UgV0tOVlN1cHBvcnRzQ29tcG9z
aXRpbmdDb3JlQW5pbWF0aW9uUGx1Z2luc0Jvb2w6CiAgICAgICAgIHsKICAgICAgICAgICAgICoo
TlBCb29sICopdmFsdWUgPSBbW1tzZWxmIHdlYlZpZXddIHByZWZlcmVuY2VzXSBhY2NlbGVyYXRl
ZENvbXBvc2l0aW5nRW5hYmxlZF07CkBAIC0yMjc3LDE3ICsyMjAyLDYgQEAgc3RhdGljIGlubGlu
ZSB2b2lkIGdldE5QUmVjdChjb25zdCBOU1JlY3QmIG5yLCBOUFJlY3QmIG5wcikKICAgICByZXR1
cm4gTlBFUlJfTk9fRVJST1I7CiB9CiAKLS0gKGNoYXIqKXJlc29sdmVVUkw6KGNvbnN0IGNoYXIq
KXVybCBmb3JUYXJnZXQ6KGNvbnN0IGNoYXIqKXRhcmdldAotewotICAgIENTdHJpbmcgbG9jYXRp
b24gPSBbc2VsZiByZXNvbHZlZFVSTFN0cmluZ0ZvclVSTDp1cmwgdGFyZ2V0OnRhcmdldF07Ci0K
LSAgICBpZiAobG9jYXRpb24uaXNOdWxsKCkpCi0gICAgICAgIHJldHVybiAwOwotICAgIAotICAg
IC8vIFdlIHVzZSBzdHJkdXAgaGVyZSBiZWNhdXNlIHRoZSBjYWxsZXIgbmVlZHMgdG8gZnJlZSBp
dCB3aXRoIE5QTl9NZW1GcmVlICh3aGljaCBjYWxscyBmcmVlKS4KLSAgICByZXR1cm4gc3RyZHVw
KGxvY2F0aW9uLmRhdGEoKSk7Ci19Ci0KIEBlbmQKIAogQGltcGxlbWVudGF0aW9uIFdlYk5ldHNj
YXBlUGx1Z2luVmlldyAoSW50ZXJuYWwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9Q
bHVnaW5zL25wYXBpLm1tIGIvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9ucGFwaS5tbQppbmRl
eCA1NmE3YzI5NDdmNDRkYmExODEyNDA4ZDhmYjBkY2M2MjA1MWZhNzU3Li4yM2U0ZTQ2N2YwZWU1
YzAyMTBhY2M1OGY1Y2IzZDRhYmE0YTg4ZGQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21h
Yy9QbHVnaW5zL25wYXBpLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvbnBhcGku
bW0KQEAgLTIyNSwxOSArMjI1LDQgQEAgTlBCb29sIE5QTl9Db252ZXJ0UG9pbnQoTlBQIGluc3Rh
bmNlLCBkb3VibGUgc291cmNlWCwgZG91YmxlIHNvdXJjZVksIE5QQ29vcmRpbmEKICAgICByZXR1
cm4gW3BsdWdpblZpZXdGb3JJbnN0YW5jZShpbnN0YW5jZSkgY29udmVydEZyb21YOnNvdXJjZVgg
YW5kWTpzb3VyY2VZIHNwYWNlOnNvdXJjZVNwYWNlIHRvWDpkZXN0WCBhbmRZOmRlc3RZIHNwYWNl
OmRlc3RTcGFjZV07CiB9CiAKLXVpbnQzMl90IFdLTl9DaGVja0lmQWxsb3dlZFRvTG9hZFVSTChO
UFAgaW5zdGFuY2UsIGNvbnN0IGNoYXIqIHVybCwgY29uc3QgY2hhciogZnJhbWUsIHZvaWQgKCpj
YWxsYmFja0Z1bmMpKE5QUCBucHAsIHVpbnQzMl90LCBOUEJvb2wsIHZvaWQqKSwgdm9pZCogY29u
dGV4dCkKLXsKLSAgICByZXR1cm4gW3BsdWdpblZpZXdGb3JJbnN0YW5jZShpbnN0YW5jZSkgY2hl
Y2tJZkFsbG93ZWRUb0xvYWRVUkw6dXJsIGZyYW1lOmZyYW1lIGNhbGxiYWNrRnVuYzpjYWxsYmFj
a0Z1bmMgY29udGV4dDpjb250ZXh0XTsKLX0KLQotdm9pZCBXS05fQ2FuY2VsQ2hlY2tJZkFsbG93
ZWRUb0xvYWRVUkwoTlBQIGluc3RhbmNlLCB1aW50MzJfdCBjaGVja0lEKQotewotICAgIFtwbHVn
aW5WaWV3Rm9ySW5zdGFuY2UoaW5zdGFuY2UpIGNhbmNlbENoZWNrSWZBbGxvd2VkVG9Mb2FkVVJM
OmNoZWNrSURdOwotfQotCi1jaGFyKiBXS05fUmVzb2x2ZVVSTChOUFAgaW5zdGFuY2UsIGNvbnN0
IGNoYXIqIHVybCwgY29uc3QgY2hhciogdGFyZ2V0KQotewotICAgIHJldHVybiBbcGx1Z2luVmll
d0Zvckluc3RhbmNlKGluc3RhbmNlKSByZXNvbHZlVVJMOnVybCBmb3JUYXJnZXQ6dGFyZ2V0XTsK
LX0KLQogI2VuZGlmCg==
</data>
<flag name="review"
          id="304473"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>