<?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>228897</bug_id>
          
          <creation_ts>2021-08-07 09:27:46 -0700</creation_ts>
          <short_desc>REGRESSION(r280756): Broke gtk build</short_desc>
          <delta_ts>2021-08-07 11:01:49 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>228809</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>aakash_jain</cc>
    
    <cc>aboxhall</cc>
    
    <cc>andresg_22</cc>
    
    <cc>annulen</cc>
    
    <cc>apinheiro</cc>
    
    <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cfleizach</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fujii</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>hi</cc>
    
    <cc>jcraig</cc>
    
    <cc>jdiggs</cc>
    
    <cc>joepeck</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>samuel_white</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1782698</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2021-08-07 09:27:46 -0700</bug_when>
    <thetext>https://commits.webkit.org/r280756 introduced a regression:
Broke gtk build

This is an automatic bug report generated by webkitbot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests fail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1782700</commentid>
    <comment_count>1</comment_count>
      <attachid>435132</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2021-08-07 09:28:01 -0700</bug_when>
    <thetext>Created attachment 435132
REVERT of r280756

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

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

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1782701</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-08-07 09:34:47 -0700</bug_when>
    <thetext>Committed r280757 (240342@main): &lt;https://commits.webkit.org/240342@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 435132.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1782702</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-08-07 09:35:23 -0700</bug_when>
    <thetext>&lt;rdar://problem/81654605&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1782706</commentid>
    <comment_count>4</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-08-07 10:52:35 -0700</bug_when>
    <thetext>EWS was green 🙁</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1782707</commentid>
    <comment_count>5</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2021-08-07 11:01:49 -0700</bug_when>
    <thetext>(In reply to Myles C. Maxfield from comment #4)
&gt; EWS was green 🙁
The patch was landed manually (not through commit-queue). I didn&apos;t check if commit was exactly same as the patch which passed EWS. EWS did indicate this issue on previous version of the patch in https://ews-build.webkit.org/#/builders/36/builds/41836</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>435132</attachid>
            <date>2021-08-07 09:28:01 -0700</date>
            <delta_ts>2021-08-07 09:34:49 -0700</delta_ts>
            <desc>REVERT of r280756</desc>
            <filename>bug-228897-20210807092801.patch</filename>
            <type>text/plain</type>
            <size>60648</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwNzU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDQwOTllY2QzYmNlZjkzYjE3N2RmYTM4
ZGFmMTYzODA5NzUyMmUzYjMuLmZiZjBjNjc2ZDE0MWIyMjQ2ZmYyOWIxOTRhZTIzZDU5YmY3ZGZk
OGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjEtMDgtMDcgIENvbW1pdCBRdWV1ZSAgPGNvbW1p
dC1xdWV1ZUB3ZWJraXQub3JnPgorCisgICAgICAgIFVucmV2aWV3ZWQsIHJldmVydGluZyByMjgw
NzU2LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI4
ODk3CisKKyAgICAgICAgQnJva2UgZ3RrIGJ1aWxkCisKKyAgICAgICAgUmV2ZXJ0ZWQgY2hhbmdl
c2V0OgorCisgICAgICAgICJEZWR1cGxpY2F0ZSBsb2dnaW5nIGNoYW5uZWwgYWxnb3JpdGhtcyIK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyODgwOQor
ICAgICAgICBodHRwczovL2NvbW1pdHMud2Via2l0Lm9yZy9yMjgwNzU2CisKIDIwMjEtMDgtMDcg
IE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KIAogICAgICAgICBEZWR1
cGxpY2F0ZSBsb2dnaW5nIGNoYW5uZWwgYWxnb3JpdGhtcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDQ2ZWY2NTkz
MjM4MjRiYWY1MGE3ODQ5ZGI4NTgwY2I4M2NkN2RlMjcuLjJmZDNkZDM0OTM2NmFiNDdiMWExMWYy
MGM3YWZjZmEwY2QxYzdkY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAyMS0wOC0w
NyAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtpdC5vcmc+CisKKyAgICAgICAgVW5y
ZXZpZXdlZCwgcmV2ZXJ0aW5nIHIyODA3NTYuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMjg4OTcKKworICAgICAgICBCcm9rZSBndGsgYnVpbGQKKwor
ICAgICAgICBSZXZlcnRlZCBjaGFuZ2VzZXQ6CisKKyAgICAgICAgIkRlZHVwbGljYXRlIGxvZ2dp
bmcgY2hhbm5lbCBhbGdvcml0aG1zIgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjI4ODA5CisgICAgICAgIGh0dHBzOi8vY29tbWl0cy53ZWJraXQub3Jn
L3IyODA3NTYKKwogMjAyMS0wOC0wNyAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBw
bGUuY29tPgogCiAgICAgICAgIERlZHVwbGljYXRlIGxvZ2dpbmcgY2hhbm5lbCBhbGdvcml0aG1z
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nCmluZGV4IDhmYTU3MTAxM2ZmYzZjMTMxNWVmNTIzOTlhZDI0NTJkYTA1ODQ4ZTYuLjVj
NzFjODU5NDA3MDgxMTUxY2U0YjNmNzdjYWY0MjNjNDk4NTlkMzAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTYgQEAKKzIwMjEtMDgtMDcgIENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJraXQu
b3JnPgorCisgICAgICAgIFVucmV2aWV3ZWQsIHJldmVydGluZyByMjgwNzU2LgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI4ODk3CisKKyAgICAgICAg
QnJva2UgZ3RrIGJ1aWxkCisKKyAgICAgICAgUmV2ZXJ0ZWQgY2hhbmdlc2V0OgorCisgICAgICAg
ICJEZWR1cGxpY2F0ZSBsb2dnaW5nIGNoYW5uZWwgYWxnb3JpdGhtcyIKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyODgwOQorICAgICAgICBodHRwczov
L2NvbW1pdHMud2Via2l0Lm9yZy9yMjgwNzU2CisKIDIwMjEtMDgtMDcgIE15bGVzIEMuIE1heGZp
ZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KIAogICAgICAgICBEZWR1cGxpY2F0ZSBsb2dnaW5n
IGNoYW5uZWwgYWxnb3JpdGhtcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L0NoYW5nZUxvZwppbmRleCBiZTQwZmYxNjU5N2E3
MDA4MzI2NTFmOTM2NjNiYjc5ZjNhN2MxYzdhLi43ZGViYmZiMzcwYzlhYzA2ZTRhYmYyZTM3Y2Ex
NGYwMTFiMDI2OTZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIx
LTA4LTA3ICBDb21taXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KKworICAgICAg
ICBVbnJldmlld2VkLCByZXZlcnRpbmcgcjI4MDc1Ni4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyODg5NworCisgICAgICAgIEJyb2tlIGd0ayBidWls
ZAorCisgICAgICAgIFJldmVydGVkIGNoYW5nZXNldDoKKworICAgICAgICAiRGVkdXBsaWNhdGUg
bG9nZ2luZyBjaGFubmVsIGFsZ29yaXRobXMiCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMjg4MDkKKyAgICAgICAgaHR0cHM6Ly9jb21taXRzLndlYmtp
dC5vcmcvcjI4MDc1NgorCiAyMDIxLTA4LTA3ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVs
ZEBhcHBsZS5jb20+CiAKICAgICAgICAgRGVkdXBsaWNhdGUgbG9nZ2luZyBjaGFubmVsIGFsZ29y
aXRobXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwppbmRleCAzMzYwYWZiYjM5M2IxZWMxOGI3
ZmMxNjJkYjVjNDQ1OGQ3ZGQ4NjhiLi40NDNmMzFmNWU4YmRhYjllZWZkYzgxY2Y0ZWIxMmYyODAy
MWVhNDRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIw
MjEtMDgtMDcgIENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3JnPgorCisgICAg
ICAgIFVucmV2aWV3ZWQsIHJldmVydGluZyByMjgwNzU2LgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI4ODk3CisKKyAgICAgICAgQnJva2UgZ3RrIGJ1
aWxkCisKKyAgICAgICAgUmV2ZXJ0ZWQgY2hhbmdlc2V0OgorCisgICAgICAgICJEZWR1cGxpY2F0
ZSBsb2dnaW5nIGNoYW5uZWwgYWxnb3JpdGhtcyIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIyODgwOQorICAgICAgICBodHRwczovL2NvbW1pdHMud2Vi
a2l0Lm9yZy9yMjgwNzU2CisKIDIwMjEtMDgtMDcgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZp
ZWxkQGFwcGxlLmNvbT4KIAogICAgICAgICBEZWR1cGxpY2F0ZSBsb2dnaW5nIGNoYW5uZWwgYWxn
b3JpdGhtcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvaiBiL1NvdXJjZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZGYz
MmNmZGZiMmI2MmVjOTczZjAyZjA0OWEwZDZkODc2ZWExYTExNS4uOGI4MWQ4YmE3MDdjMTFmZmEz
ZjdjZTI3ZDdjMGQxZmM4ZjI4NDg4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9XVEYueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV1RGL1dURi54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCkBAIC02MSw3ICs2MSw2IEBACiAJCTFDMTgxQzk2MUQzMDgwMEEwMEY1RkExNiAv
KiBUZXh0QnJlYWtJdGVyYXRvckludGVybmFsSUNVQ29jb2EuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUMxODFDOTUxRDMwODAwQTAwRjVGQTE2IC8q
IFRleHRCcmVha0l0ZXJhdG9ySW50ZXJuYWxJQ1VDb2NvYS5jcHAgKi87IH07CiAJCTFDNTAzQkU2
MjNBQUUwQUUwMDcyRTY2QiAvKiBMYW5ndWFnZUNvY29hLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUM1MDNCRTUyM0FBRTBBRTAwNzJFNjZCIC8qIExh
bmd1YWdlQ29jb2EubW0gKi87IH07CiAJCTFDQTg1Q0E5MjQxQjBCMjYwMDcxQzJGNSAvKiBSdW50
aW1lQXBwbGljYXRpb25DaGVja3NDb2NvYS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAxQ0E4NUNBODI0MUIwQjI2MDA3MUMyRjUgLyogUnVudGltZUFw
cGxpY2F0aW9uQ2hlY2tzQ29jb2EuY3BwICovOyB9OwotCQkxQ0YxOEYzQjI2QkI1NzlFMDA0QjE3
MjIgLyogTG9nQ2hhbm5lbHMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMUNGMThGMzkyNkJCNTc5RTAwNEIxNzIyIC8qIExvZ0NoYW5uZWxzLmNwcCAq
LzsgfTsKIAkJMUZBNDdDOEExNTI1MDJEQTAwNTY4RDFCIC8qIFdlYkNvcmVUaHJlYWQuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUZBNDdDODgxNTI1
MDJEQTAwNTY4RDFCIC8qIFdlYkNvcmVUaHJlYWQuY3BwICovOyB9OwogCQkyQ0NEODkyQTE1QzAz
OTAyMDAyODUwODMgLyogR3JlZ29yaWFuRGF0ZVRpbWUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkNDRDg5MjkxNUMwMzkwMjAwMjg1MDgzIC8qIEdy
ZWdvcmlhbkRhdGVUaW1lLmNwcCAqLzsgfTsKIAkJMkNERUQwRUYxODExNUMzODAwNERCQTcwIC8q
IFJ1bkxvb3BDRi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAyQ0RFRDBFRTE4MTE1QzM4MDA0REJBNzAgLyogUnVuTG9vcENGLmNwcCAqLzsgfTsKQEAg
LTM1Miw4ICszNTEsNiBAQAogCQkxQ0NEQjE0OTFFNTY2NjI2MDA2QzczQzAgLyogVGV4dEJyZWFr
SXRlcmF0b3JDRi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBUZXh0QnJlYWtJ
dGVyYXRvckNGLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDQ0RCMTREMUU1NjY4
OTgwMDZDNzNDMCAvKiBUZXh0QnJlYWtJdGVyYXRvcklDVS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBUZXh0QnJlYWtJdGVyYXRvcklDVS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkxQ0NEQjE1MTFFNTY2QkM1MDA2QzczQzAgLyogQ0ZTdHJpbmdTUEkuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ0ZTdHJpbmdTUEkuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKLQkJMUNGMThGMzkyNkJCNTc5RTAwNEIxNzIyIC8qIExvZ0NoYW5uZWxz
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IExvZ0NoYW5uZWxzLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKLQkJMUNGMThGM0EyNkJCNTc5RTAwNEIxNzIyIC8qIExvZ0NoYW5uZWxzLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IExvZ0NoYW5uZWxzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTFGQTQ3Qzg4MTUyNTAyREEwMDU2OEQxQiAvKiBXZWJDb3JlVGhyZWFkLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYkNvcmVUaHJlYWQuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQkxRkE0N0M4OTE1MjUwMkRBMDA1NjhEMUIgLyogV2ViQ29y
ZVRocmVhZC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJDb3JlVGhyZWFk
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI0RjFCMjQ4NjE5RjQxMjI5NkQxQzE5
QyAvKiBSYW5kb21EZXZpY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmFu
ZG9tRGV2aWNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC01MTUsOCArNTEyLDgg
QEAKIAkJOUJCOTFGNTEyNjQ4RUE0RDAwQTU2MjE3IC8qIENoZWNrZWRQdHIuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gQ2hlY2tlZFB0ci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5QkM3MEYw
NDE3NkMzNzlEMDAxMDFERUMgLyogQXRvbVN0cmluZ1RhYmxlLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEF0b21TdHJpbmdUYWJsZS5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTlCRDhGNDBBMTc2QzJBRDgwMDAyRDg2NSAvKiBBdG9tU3RyaW5nVGFi
bGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gQXRvbVN0cmluZ1RhYmxlLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07Ci0JCTlCRTE1MzM1MjY3MUYwMEYwMEM3RDA5NiAvKiBXZWFrSGFzaE1hcC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBXZWFrSGFzaE1hcC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk5QkYwMDEzNDI2N0M0Q0NGMDBEQ0ZCM0YgLyogQ2hlY2tlZFJlZi5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBDaGVja2VkUmVmLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTlCRTE1MzM1MjY3
MUYwMEYwMEM3RDA5NiAvKiBXZWFrSGFzaE1hcC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWFrSGFzaE1h
cC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5QzY3QzU0MjU4OTM0OEUyODVCNDk2
OTkgLyogSW5kZXhlZENvbnRhaW5lckl0ZXJhdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEluZGV4ZWRDb250YWluZXJJdGVyYXRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlBMUI4OUI4NzIyMUUwMDBGMDBFQjRDRUEgLyogU0RLVmFyaWFudC54Y2NvbmZp
ZyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHRleHQueGNjb25maWc7IHBhdGggPSBTREtWYXJpYW50LnhjY29uZmlnOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBMzBENDEyQzFGMERFMEJBMDBCNzE5NTQgLyog
U29mdExpbmtpbmcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU29mdExpbmtp
bmcuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTExMjUsOCArMTEyMiw2IEBACiAJ
CQkJMEY2MEYzMkUxREZDQkQxQjAwNDE2RDZDIC8qIExvY2tlZFByaW50U3RyZWFtLmggKi8sCiAJ
CQkJQThBNDcyQzMxNTFBODI1QTAwNDEyM0ZGIC8qIExvY2tlci5oICovLAogCQkJCTUzMTFCRDU1
MUVBN0UxNUEwMDUyNTI4MSAvKiBMb2NrbGVzc0JhZy5oICovLAotCQkJCTFDRjE4RjM5MjZCQjU3
OUUwMDRCMTcyMiAvKiBMb2dDaGFubmVscy5jcHAgKi8sCi0JCQkJMUNGMThGM0EyNkJCNTc5RTAw
NEIxNzIyIC8qIExvZ0NoYW5uZWxzLmggKi8sCiAJCQkJOTNCNUI0NTAyMjE3MUVFOTAwNEI3QUE3
IC8qIExvZ2dlci5jcHAgKi8sCiAJCQkJMDc3Q0Q4NkExRkQ5Q0ZEMjAwODI4NTg3IC8qIExvZ2dl
ci5oICovLAogCQkJCTA3N0NEODZCMUZEOUNGRDMwMDgyODU4NyAvKiBMb2dnZXJIZWxwZXIuaCAq
LywKQEAgLTE3NDMsNyArMTczOCw2IEBACiAJCQkJQzJCQ0ZDNTUxRjYyMUYzRjAwQzkyMjJDIC8q
IExpbmVFbmRpbmcuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEZFMTY0NkExQjZGRkM5NjAwNDAw
RTdDIC8qIExvY2suY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEY2MEYzMkYxREZDQkQxQjAwNDE2
RDZDIC8qIExvY2tlZFByaW50U3RyZWFtLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTFDRjE4RjNC
MjZCQjU3OUUwMDRCMTcyMiAvKiBMb2dDaGFubmVscy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5
M0I1QjQ1MTIyMTcxRUVBMDA0QjdBQTcgLyogTG9nZ2VyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTUzNTM0RjJBMUVDMEUxMEUwMDE0MUIyRiAvKiBNYWNoRXhjZXB0aW9ucy5kZWZzIGluIFNvdXJj
ZXMgKi8sCiAJCQkJN0E2RUJBMzQyMDc0NkMzNDAwNEY5QzQ0IC8qIE1hY2hTZW5kUmlnaHQuY3Bw
IGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9DTWFrZUxpc3RzLnR4
dCBiL1NvdXJjZS9XVEYvd3RmL0NNYWtlTGlzdHMudHh0CmluZGV4IDUxYWYwYWEwMTVjNjEyZWJm
YjY5YjM5Y2ViNjY0MjMxNDZhNWVlMWUuLjA1MTdkZGJlM2JlN2ViMTQyMTU5Y2QxMTg1MThmZjU5
ZTE4NTdmNTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0NNYWtlTGlzdHMudHh0CisrKyBi
L1NvdXJjZS9XVEYvd3RmL0NNYWtlTGlzdHMudHh0CkBAIC0xMjMsNyArMTIzLDYgQEAgc2V0KFdU
Rl9QVUJMSUNfSEVBREVSUwogICAgIExvY2tlZFByaW50U3RyZWFtLmgKICAgICBMb2NrZXIuaAog
ICAgIExvY2tsZXNzQmFnLmgKLSAgICBMb2dDaGFubmVscy5oCiAgICAgTG9nZ2VyLmgKICAgICBM
b2dnZXJIZWxwZXIuaAogICAgIExvZ2dpbmdBY2N1bXVsYXRvci5oCkBAIC00MjMsNyArNDIyLDYg
QEAgc2V0KFdURl9TT1VSQ0VTCiAgICAgTGlrZWx5RGVuc2VVbnNpZ25lZEludGVnZXJTZXQuY3Bw
CiAgICAgTG9jay5jcHAKICAgICBMb2NrZWRQcmludFN0cmVhbS5jcHAKLSAgICBMb2dDaGFubmVs
cy5jcHAKICAgICBMb2dnZXIuY3BwCiAgICAgTWFpblRocmVhZC5jcHAKICAgICBNZWRpYVRpbWUu
Y3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9Mb2dDaGFubmVscy5jcHAgYi9Tb3VyY2Uv
V1RGL3d0Zi9Mb2dDaGFubmVscy5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDlh
M2ZkMjRlOTdmNDA4ZDg0YmQzY2YwYTc2MDBmNjk5NzBiZjRjNTkuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dURi93dGYvTG9nQ2hhbm5lbHMu
Y3BwCisrKyAvZGV2L251bGwKQEAgLTEsODIgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykg
MjAyMSBBcHBsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAot
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQot
ICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAi
TG9nQ2hhbm5lbHMuaCIKLQotI2luY2x1ZGUgPHd0Zi9Mb2dnaW5nQWNjdW11bGF0b3IuaD4KLQot
bmFtZXNwYWNlIFdURiB7Ci0KLSNpZiAhTE9HX0RJU0FCTEVEIHx8ICFSRUxFQVNFX0xPR19ESVNB
QkxFRAotCi1ib29sIExvZ0NoYW5uZWxzOjppc0xvZ0NoYW5uZWxFbmFibGVkKGNvbnN0IFN0cmlu
ZyYgbmFtZSkKLXsKLSAgICBXVEZMb2dDaGFubmVsKiBjaGFubmVsID0gV1RGTG9nQ2hhbm5lbEJ5
TmFtZShtX2xvZ0NoYW5uZWxzLmRhdGEoKSwgbV9sb2dDaGFubmVscy5zaXplKCksIG5hbWUudXRm
OCgpLmRhdGEoKSk7Ci0gICAgaWYgKCFjaGFubmVsKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0g
ICAgcmV0dXJuIGNoYW5uZWwtPnN0YXRlICE9IFdURkxvZ0NoYW5uZWxTdGF0ZTo6T2ZmOwotfQot
Ci12b2lkIExvZ0NoYW5uZWxzOjpzZXRMb2dDaGFubmVsVG9BY2N1bXVsYXRlKGNvbnN0IFN0cmlu
ZyYgbmFtZSkKLXsKLSAgICBXVEZMb2dDaGFubmVsKiBjaGFubmVsID0gV1RGTG9nQ2hhbm5lbEJ5
TmFtZShtX2xvZ0NoYW5uZWxzLmRhdGEoKSwgbV9sb2dDaGFubmVscy5zaXplKCksIG5hbWUudXRm
OCgpLmRhdGEoKSk7Ci0gICAgaWYgKCFjaGFubmVsKQotICAgICAgICByZXR1cm47Ci0KLSAgICBj
aGFubmVsLT5zdGF0ZSA9IFdURkxvZ0NoYW5uZWxTdGF0ZTo6T25XaXRoQWNjdW11bGF0aW9uOwot
ICAgIG1fbG9nQ2hhbm5lbHNOZWVkSW5pdGlhbGl6YXRpb24gPSB0cnVlOwotfQotCi12b2lkIExv
Z0NoYW5uZWxzOjpjbGVhckFsbExvZ0NoYW5uZWxzVG9BY2N1bXVsYXRlKCkKLXsKLSAgICByZXNl
dEFjY3VtdWxhdGVkTG9ncygpOwotICAgIGZvciAoYXV0byogY2hhbm5lbCA6IG1fbG9nQ2hhbm5l
bHMpIHsKLSAgICAgICAgaWYgKGNoYW5uZWwtPnN0YXRlID09IFdURkxvZ0NoYW5uZWxTdGF0ZTo6
T25XaXRoQWNjdW11bGF0aW9uKQotICAgICAgICAgICAgY2hhbm5lbC0+c3RhdGUgPSBXVEZMb2dD
aGFubmVsU3RhdGU6Ok9mZjsKLSAgICB9Ci0KLSAgICBtX2xvZ0NoYW5uZWxzTmVlZEluaXRpYWxp
emF0aW9uID0gdHJ1ZTsKLX0KLQotdm9pZCBMb2dDaGFubmVsczo6aW5pdGlhbGl6ZUxvZ0NoYW5u
ZWxzSWZOZWNlc3Nhcnkoc3RkOjpvcHRpb25hbDxTdHJpbmc+IGxvZ0NoYW5uZWxTdHJpbmcpCi17
Ci0gICAgaWYgKCFtX2xvZ0NoYW5uZWxzTmVlZEluaXRpYWxpemF0aW9uICYmICFsb2dDaGFubmVs
U3RyaW5nKQotICAgICAgICByZXR1cm47Ci0KLSAgICBtX2xvZ0NoYW5uZWxzTmVlZEluaXRpYWxp
emF0aW9uID0gZmFsc2U7Ci0KLSAgICBTdHJpbmcgZW5hYmxlZENoYW5uZWxzU3RyaW5nID0gbG9n
Q2hhbm5lbFN0cmluZyA/IGxvZ0NoYW5uZWxTdHJpbmcudmFsdWUoKSA6IGxvZ0xldmVsU3RyaW5n
KCk7Ci0gICAgV1RGSW5pdGlhbGl6ZUxvZ0NoYW5uZWxTdGF0ZXNGcm9tU3RyaW5nKG1fbG9nQ2hh
bm5lbHMuZGF0YSgpLCBtX2xvZ0NoYW5uZWxzLnNpemUoKSwgZW5hYmxlZENoYW5uZWxzU3RyaW5n
LnV0ZjgoKS5kYXRhKCkpOwotfQotCi1XVEZMb2dDaGFubmVsKiBMb2dDaGFubmVsczo6Z2V0TG9n
Q2hhbm5lbChjb25zdCBTdHJpbmcmIG5hbWUpCi17Ci0gICAgcmV0dXJuIFdURkxvZ0NoYW5uZWxC
eU5hbWUobV9sb2dDaGFubmVscy5kYXRhKCksIG1fbG9nQ2hhbm5lbHMuc2l6ZSgpLCBuYW1lLnV0
ZjgoKS5kYXRhKCkpOwotfQotCi0jZW5kaWYgLy8gIUxPR19ESVNBQkxFRCB8fCAhUkVMRUFTRV9M
T0dfRElTQUJMRUQKLQotfSAvLyBuYW1lc3BhY2UgV1RGCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RG
L3d0Zi9Mb2dDaGFubmVscy5oIGIvU291cmNlL1dURi93dGYvTG9nQ2hhbm5lbHMuaApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjM2NGVhZTg1Yjk1NDU3ZmYyNmY5NTMxNDcxOWIxNTAx
ZmRhZWMyOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9T
b3VyY2UvV1RGL3d0Zi9Mb2dDaGFubmVscy5oCisrKyAvZGV2L251bGwKQEAgLTEsNTUgKzAsMCBA
QAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAq
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
Ci0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jcHJhZ21h
IG9uY2UKLQotI2luY2x1ZGUgPG9wdGlvbmFsPgotI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+
Ci0jaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcu
aD4KLQotbmFtZXNwYWNlIFdURiB7Ci0KLSNpZiAhTE9HX0RJU0FCTEVEIHx8ICFSRUxFQVNFX0xP
R19ESVNBQkxFRAotCi1jbGFzcyBMb2dDaGFubmVscyB7Ci1wdWJsaWM6Ci0gICAgdmlydHVhbCB+
TG9nQ2hhbm5lbHMoKSA9IGRlZmF1bHQ7Ci0gICAgdmlydHVhbCBTdHJpbmcgbG9nTGV2ZWxTdHJp
bmcoKSA9IDA7Ci0KLSAgICBib29sIGlzTG9nQ2hhbm5lbEVuYWJsZWQoY29uc3QgU3RyaW5nJiBu
YW1lKTsKLSAgICBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBzZXRMb2dDaGFubmVsVG9BY2N1bXVs
YXRlKGNvbnN0IFN0cmluZyYgbmFtZSk7Ci0gICAgV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgY2xl
YXJBbGxMb2dDaGFubmVsc1RvQWNjdW11bGF0ZSgpOwotICAgIFdURl9FWFBPUlRfUFJJVkFURSB2
b2lkIGluaXRpYWxpemVMb2dDaGFubmVsc0lmTmVjZXNzYXJ5KHN0ZDo6b3B0aW9uYWw8U3RyaW5n
PiA9IHN0ZDo6bnVsbG9wdCk7Ci0gICAgV1RGX0VYUE9SVF9QUklWQVRFIFdURkxvZ0NoYW5uZWwq
IGdldExvZ0NoYW5uZWwoY29uc3QgU3RyaW5nJiBuYW1lKTsKLQotcHJvdGVjdGVkOgotICAgIFZl
Y3RvcjxXVEZMb2dDaGFubmVsKj4gbV9sb2dDaGFubmVsczsKLSAgICBib29sIG1fbG9nQ2hhbm5l
bHNOZWVkSW5pdGlhbGl6YXRpb24geyB0cnVlIH07Ci19OwotCi0jZW5kaWYgLy8gIUxPR19ESVNB
QkxFRCB8fCAhUkVMRUFTRV9MT0dfRElTQUJMRUQKLQotfSAvLyBuYW1lc3BhY2UgV1RGCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJj
ZXMudHh0CmluZGV4IDA3NzI1YTQyODM5M2IyZGZhZjI3ZGU1MjI4MzNkYmEzOGY3ODA1MDkuLjI2
NjE0YTdkOTc1MzIwZGI2Yjg1ZDQzZDM5YzlhZDMyNTNiNTIzY2YgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CkBA
IC0xNzU1LDcgKzE3NTUsNiBAQCBwbGF0Zm9ybS9MZW5ndGhCb3guY3BwCiBwbGF0Zm9ybS9MZW5n
dGhQb2ludC5jcHAKIHBsYXRmb3JtL0xlbmd0aFNpemUuY3BwCiBwbGF0Zm9ybS9Mb2NhbGl6ZWRT
dHJpbmdzLmNwcAotcGxhdGZvcm0vTG9nSW5pdGlhbGl6YXRpb24uY3BwCiBwbGF0Zm9ybS9Mb2dn
aW5nLmNwcAogcGxhdGZvcm0vTG93UG93ZXJNb2RlTm90aWZpZXIuY3BwCiBwbGF0Zm9ybS9NSU1F
VHlwZVJlZ2lzdHJ5LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCmluZGV4IGI2MzlhNWI4ZjEyNWQ4OGQ5NDY3ZmQyMjc4ZWM4MTg5MGQ1
Njk0ZDcuLjdiZTQ4NzYzYTY0NzkzYjA4ZTRmNzZmZTlkMDY0NmMzNTA4OTgwNTAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTY5
NzcsNyArNjk3Nyw2IEBACiAJCTFDRThEMTJCMjYxODYxNjQwMEZDM0FFRiAvKiBEaXNwbGF5TGlz
dEl0ZXJhdG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERpc3BsYXlMaXN0SXRlcmF0b3IuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQ0U4RDEyQzI2MTg2MTY0MDBGQzNBRUYg
LyogRGlzcGxheUxpc3RJdGVyYXRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEaXNwbGF5TGlzdEl0ZXJh
dG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDRjBCRkQ0MjI5ODcwNjgwMEVE
MjA3NCAvKiBUZXh0U2l6ZUFkanVzdG1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVGV4dFNp
emVBZGp1c3RtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMUNGMThGM0My
NkJCNUFGMjAwNEIxNzIyIC8qIExvZ0luaXRpYWxpemF0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IExvZ0luaXRpYWxpemF0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
MUNGQUUzMjIwQTZENkEzRjAwMzI1OTNEIC8qIGxpYm9iamMuZHlsaWIgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSAiY29tcGlsZWQubWFjaC1vLmR5bGli
IjsgbmFtZSA9IGxpYm9iamMuZHlsaWI7IHBhdGggPSAvdXNyL2xpYi9saWJvYmpjLmR5bGliOyBz
b3VyY2VUcmVlID0gIjxhYnNvbHV0ZT4iOyB9OwogCQkxRDAwMjZBMjIzNzRENjIzMDBDQTZDREYg
LyogSlNQaWN0dXJlSW5QaWN0dXJlV2luZG93LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEpTUGljdHVyZUluUGljdHVyZVdpbmRvdy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQkxRDAwMjZBMzIzNzRENjI0MDBDQTZDREYgLyogSlNQaWN0dXJlSW5QaWN0dXJlV2lu
ZG93LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTUGljdHVyZUlu
UGljdHVyZVdpbmRvdy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yNzU4OCw3
ICsyNzU4Nyw2IEBACiAJCQkJOTM1MjA3QkQwOUJENDEwQTAwRjIwMzhEIC8qIExvY2FsaXplZFN0
cmluZ3MuaCAqLywKIAkJCQlBODIzOURGRTA5QjNDRjhBMDBCNjA2NDEgLyogTG9nZ2luZy5jcHAg
Ki8sCiAJCQkJQTgyMzlERkYwOUIzQ0Y4QTAwQjYwNjQxIC8qIExvZ2dpbmcuaCAqLywKLQkJCQkx
Q0YxOEYzQzI2QkI1QUYyMDA0QjE3MjIgLyogTG9nSW5pdGlhbGl6YXRpb24uY3BwICovLAogCQkJ
CTBGRENEN0YyMUQ0N0U2NTUwMDlGMDhCQyAvKiBMb2dJbml0aWFsaXphdGlvbi5oICovLAogCQkJ
CTQ2RUZBRjBGMUU1RkI5RTEwMEU3RjM0QiAvKiBMb3dQb3dlck1vZGVOb3RpZmllci5jcHAgKi8s
CiAJCQkJNDZFRkFGMTAxRTVGQjlFMTAwRTdGMzRCIC8qIExvd1Bvd2VyTW9kZU5vdGlmaWVyLmgg
Ki8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYTG9nZ2VyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhMb2dnZXIuY3BwCmluZGV4IDMwMzY2
NjYzN2IyMGY5MDBjZTk3ZTU5MTFhZmEyNTcyZmFjMjgyYWQuLjdiZjc5MWI3NjA3YjhiMDdjODVl
OTJhODQxNTVhNzkyOTIxMDJkOTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvQVhMb2dnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhM
b2dnZXIuY3BwCkBAIC0zNiw3ICszNiw2IEBACiAjZW5kaWYKICNpbmNsdWRlICJBWE9iamVjdENh
Y2hlLmgiCiAjaW5jbHVkZSAiRnJhbWVWaWV3LmgiCi0jaW5jbHVkZSAiTG9nSW5pdGlhbGl6YXRp
b24uaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSA8d3RmL3RleHQvVGV4dFN0cmVh
bS5oPgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL3BhZ2Uv
UGFnZUNvbnNvbGVBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL3Bh
Z2UvUGFnZUNvbnNvbGVBZ2VudC5jcHAKaW5kZXggOTE0NjYzZGMzZTk4NGY5NDkwNTA4ZTE5NDY2
ZGQxZmFmM2M5MjVjNC4uNmUyZmQ2ZmEyMWQ4MzE1MjU2M2QwNDNiMzBjZTE1NWRlZWFhMmJhMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9wYWdlL1BhZ2VDb25z
b2xlQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvcGFnZS9Q
YWdlQ29uc29sZUFnZW50LmNwcApAQCAtMzUsNyArMzUsNiBAQAogI2luY2x1ZGUgIkNvbW1hbmRM
aW5lQVBJSG9zdC5oIgogI2luY2x1ZGUgIkluc3BlY3RvckRPTUFnZW50LmgiCiAjaW5jbHVkZSAi
SW5zdHJ1bWVudGluZ0FnZW50cy5oIgotI2luY2x1ZGUgIkxvZ0luaXRpYWxpemF0aW9uLmgiCiAj
aW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgIk5vZGUuaCIKICNpbmNsdWRlICJQYWdlLmgi
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9QYWdlLmNwcAppbmRleCBhM2I5ZmJkMzg5YjhmYzgyZGNiYmFlYWNiMzE4ZDk1YzZl
NGIzNjVmLi5mNzc4MDc3YTI5MDUzOWMxYTE2YjE3MjFiYjA4MmJhNzk5NTBlZTFmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGFnZS5jcHAKQEAgLTgzLDcgKzgzLDYgQEAKICNpbmNsdWRlICJMZWdhY3lTY2hlbWVSZWdp
c3RyeS5oIgogI2luY2x1ZGUgIkxpYldlYlJUQ1Byb3ZpZGVyLmgiCiAjaW5jbHVkZSAiTG9hZGVy
U3RyYXRlZ3kuaCIKLSNpbmNsdWRlICJMb2dJbml0aWFsaXphdGlvbi5oIgogI2luY2x1ZGUgIkxv
Z2dpbmcuaCIKICNpbmNsdWRlICJMb3dQb3dlck1vZGVOb3RpZmllci5oIgogI2luY2x1ZGUgIk1l
ZGlhQ2FuU3RhcnRMaXN0ZW5lci5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vTG9nSW5pdGlhbGl6YXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTG9nSW5p
dGlhbGl6YXRpb24uY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxMzljZWM2Y2M1
NDYwZDQ0NTkyN2ZiMGM2ZTE5NGM3NGFmNzlmYTc4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xvZ0luaXRpYWxp
emF0aW9uLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDgxICswLDAgQEAKLS8qCi0gKiBDb3B5cmln
aHQgKEMpIDIwMDMtMjAyMSBBcHBsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElT
JycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgi
Ci0jaW5jbHVkZSAiTG9nSW5pdGlhbGl6YXRpb24uaCIKLQotI2luY2x1ZGUgIkxvZ2dpbmcuaCIK
LSNpbmNsdWRlIDx3dGYvTG9nZ2luZ0FjY3VtdWxhdG9yLmg+Ci0jaW5jbHVkZSA8d3RmL1N0ZExp
YkV4dHJhcy5oPgotI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KLSNpbmNsdWRlIDx3dGYv
dGV4dC9XVEZTdHJpbmcuaD4KLQotCi0jaWYgUExBVEZPUk0oQ09DT0EpCi0jaW5jbHVkZSA8bm90
aWZ5Lmg+Ci0jaW5jbHVkZSA8d3RmL0Jsb2NrUHRyLmg+Ci0jZW5kaWYKLQotbmFtZXNwYWNlIFdl
YkNvcmUgewotCi0jaWYgIUxPR19ESVNBQkxFRCB8fCAhUkVMRUFTRV9MT0dfRElTQUJMRUQKLQot
Y2xhc3MgTG9nQ2hhbm5lbHMgZmluYWwgOiBwdWJsaWMgV1RGOjpMb2dDaGFubmVscyB7Ci1wdWJs
aWM6Ci0gICAgTG9nQ2hhbm5lbHMoKQotICAgIHsKLSAgICAgICAgbV9sb2dDaGFubmVscyA9IHsK
LSAgICAgICAgICAgIFdFQkNPUkVfTE9HX0NIQU5ORUxTKExPR19DSEFOTkVMX0FERFJFU1MpCi0g
ICAgICAgIH07Ci0gICAgfQotCi1wcml2YXRlOgotICAgIFN0cmluZyBsb2dMZXZlbFN0cmluZygp
IGZpbmFsCi0gICAgewotICAgICAgICByZXR1cm4gV2ViQ29yZTo6bG9nTGV2ZWxTdHJpbmcoKTsK
LSAgICB9Ci19OwotCi1XVEY6OkxvZ0NoYW5uZWxzJiBsb2dDaGFubmVscygpCi17Ci0gICAgc3Rh
dGljIE5ldmVyRGVzdHJveWVkPExvZ0NoYW5uZWxzPiBsb2dDaGFubmVsczsKLSAgICByZXR1cm4g
bG9nQ2hhbm5lbHMuZ2V0KCk7Ci19Ci0KLVdURkxvZ0NoYW5uZWwqIGdldExvZ0NoYW5uZWwoY29u
c3QgU3RyaW5nJiBuYW1lKQotewotICAgIHJldHVybiBsb2dDaGFubmVscygpLmdldExvZ0NoYW5u
ZWwobmFtZSk7Ci19Ci0KLSNlbHNlCi0KLVdURkxvZ0NoYW5uZWwqIGdldExvZ0NoYW5uZWwoY29u
c3QgU3RyaW5nJiBuYW1lKQotewotICAgIHJldHVybiBudWxscHRyOwotfQotCi0jZW5kaWYgLy8g
IUxPR19ESVNBQkxFRCB8fCAhUkVMRUFTRV9MT0dfRElTQUJMRUQKLQotfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTG9nSW5pdGlhbGl6
YXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xvZ0luaXRpYWxpemF0aW9uLmgKaW5k
ZXggNTI1M2M5OGUzNmUzMTNhNjRiODZlNzlkNTAyZWYyM2JmZTBmM2I5NS4uMjM4YzI1YTIxMWZj
YzFlMWRhZjA3YjU4MTU5MTkzOTgzMjEyMTk2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vTG9nSW5pdGlhbGl6YXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9Mb2dJbml0aWFsaXphdGlvbi5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAo
QykgMjAxMC0yMDIxIEFwcGxlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmln
aHQgKEMpIDIwMDMsIDIwMDYsIDIwMTMsIDIwMTUsIDIwMTYgQXBwbGUgSW5jLiAgQWxsIHJpZ2h0
cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjUsMTggKzI1
LDIwIEBACiAKICNwcmFnbWEgb25jZQogCi0jaW5jbHVkZSA8d3RmL0xvZ0NoYW5uZWxzLmg+Cisj
aW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KKyNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2lu
Y2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICNp
ZiAhTE9HX0RJU0FCTEVEIHx8ICFSRUxFQVNFX0xPR19ESVNBQkxFRAogCi1XRUJDT1JFX0VYUE9S
VCBXVEY6OkxvZ0NoYW5uZWxzJiBsb2dDaGFubmVscygpOwotU3RyaW5nIGxvZ0xldmVsU3RyaW5n
KCk7CitXRUJDT1JFX0VYUE9SVCBTdHJpbmcgbG9nTGV2ZWxTdHJpbmcoKTsKK2Jvb2wgaXNMb2dD
aGFubmVsRW5hYmxlZChjb25zdCBTdHJpbmcmIG5hbWUpOworV0VCQ09SRV9FWFBPUlQgdm9pZCBz
ZXRMb2dDaGFubmVsVG9BY2N1bXVsYXRlKGNvbnN0IFN0cmluZyYgbmFtZSk7CitXRUJDT1JFX0VY
UE9SVCB2b2lkIGNsZWFyQWxsTG9nQ2hhbm5lbHNUb0FjY3VtdWxhdGUoKTsKK1dFQkNPUkVfRVhQ
T1JUIHZvaWQgaW5pdGlhbGl6ZUxvZ0NoYW5uZWxzSWZOZWNlc3Nhcnkoc3RkOjpvcHRpb25hbDxT
dHJpbmc+ID0gc3RkOjpudWxsb3B0KTsKIAogI2VuZGlmIC8vICFMT0dfRElTQUJMRUQgfHwgIVJF
TEVBU0VfTE9HX0RJU0FCTEVECiAKLVdFQkNPUkVfRVhQT1JUIFdURkxvZ0NoYW5uZWwqIGdldExv
Z0NoYW5uZWwoY29uc3QgU3RyaW5nJiBuYW1lKTsKLQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTG9nZ2luZy5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9Mb2dnaW5nLmNwcAppbmRleCAyYzNhMzk1NmU4ZWQzY2JkMDUzMzM2
ZTIzMTVmMGQwOTJhMDA0NjM5Li42MWZlOGQzNzUyMTU4M2QyZDQ2NTE5MzgwNTAyODVmM2M0MzU3
NzcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Mb2dnaW5nLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Mb2dnaW5nLmNwcApAQCAtMjUsNiArMjUsMTcgQEAK
IAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKKyNpbmNsdWRlICJM
b2dJbml0aWFsaXphdGlvbi5oIgorCisjaW5jbHVkZSA8d3RmL0xvZ2dpbmdBY2N1bXVsYXRvci5o
PgorI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9DU3Ry
aW5nLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CisKKyNpZiBQTEFURk9STShD
T0NPQSkKKyNpbmNsdWRlIDxub3RpZnkuaD4KKyNpbmNsdWRlIDx3dGYvQmxvY2tQdHIuaD4KKyNl
bmRpZgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTMzLDYgKzQ0LDY3IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICNkZWZpbmUgREVGSU5FX1dFQkNPUkVfTE9HX0NIQU5ORUwobmFtZSkgREVG
SU5FX0xPR19DSEFOTkVMKG5hbWUsIExPR19DSEFOTkVMX1dFQktJVF9TVUJTWVNURU0pCiBXRUJD
T1JFX0xPR19DSEFOTkVMUyhERUZJTkVfV0VCQ09SRV9MT0dfQ0hBTk5FTCkKIAorc3RhdGljIFdU
RkxvZ0NoYW5uZWwqIGxvZ0NoYW5uZWxzW10gPSB7CisgICAgV0VCQ09SRV9MT0dfQ0hBTk5FTFMo
TE9HX0NIQU5ORUxfQUREUkVTUykKK307CisKK3N0YXRpYyBjb25zdCBzaXplX3QgbG9nQ2hhbm5l
bENvdW50ID0gV1RGX0FSUkFZX0xFTkdUSChsb2dDaGFubmVscyk7CisKK2Jvb2wgaXNMb2dDaGFu
bmVsRW5hYmxlZChjb25zdCBTdHJpbmcmIG5hbWUpCit7CisgICAgV1RGTG9nQ2hhbm5lbCogY2hh
bm5lbCA9IFdURkxvZ0NoYW5uZWxCeU5hbWUobG9nQ2hhbm5lbHMsIGxvZ0NoYW5uZWxDb3VudCwg
bmFtZS51dGY4KCkuZGF0YSgpKTsKKyAgICBpZiAoIWNoYW5uZWwpCisgICAgICAgIHJldHVybiBm
YWxzZTsKKyAgICByZXR1cm4gY2hhbm5lbC0+c3RhdGUgIT0gV1RGTG9nQ2hhbm5lbFN0YXRlOjpP
ZmY7Cit9CisKK3N0YXRpYyBib29sIGxvZ0NoYW5uZWxzTmVlZEluaXRpYWxpemF0aW9uID0gdHJ1
ZTsKKwordm9pZCBzZXRMb2dDaGFubmVsVG9BY2N1bXVsYXRlKGNvbnN0IFN0cmluZyYgbmFtZSkK
K3sKKyAgICBXVEZMb2dDaGFubmVsKiBjaGFubmVsID0gV1RGTG9nQ2hhbm5lbEJ5TmFtZShsb2dD
aGFubmVscywgbG9nQ2hhbm5lbENvdW50LCBuYW1lLnV0ZjgoKS5kYXRhKCkpOworICAgIGlmICgh
Y2hhbm5lbCkKKyAgICAgICAgcmV0dXJuOworCisgICAgY2hhbm5lbC0+c3RhdGUgPSBXVEZMb2dD
aGFubmVsU3RhdGU6Ok9uV2l0aEFjY3VtdWxhdGlvbjsKKyAgICBsb2dDaGFubmVsc05lZWRJbml0
aWFsaXphdGlvbiA9IHRydWU7Cit9CisKK3ZvaWQgY2xlYXJBbGxMb2dDaGFubmVsc1RvQWNjdW11
bGF0ZSgpCit7CisgICAgcmVzZXRBY2N1bXVsYXRlZExvZ3MoKTsKKyAgICBmb3IgKGF1dG8qIGNo
YW5uZWwgOiBsb2dDaGFubmVscykgeworICAgICAgICBpZiAoY2hhbm5lbC0+c3RhdGUgPT0gV1RG
TG9nQ2hhbm5lbFN0YXRlOjpPbldpdGhBY2N1bXVsYXRpb24pCisgICAgICAgICAgICBjaGFubmVs
LT5zdGF0ZSA9IFdURkxvZ0NoYW5uZWxTdGF0ZTo6T2ZmOworICAgIH0KKworICAgIGxvZ0NoYW5u
ZWxzTmVlZEluaXRpYWxpemF0aW9uID0gdHJ1ZTsKK30KKwordm9pZCBpbml0aWFsaXplTG9nQ2hh
bm5lbHNJZk5lY2Vzc2FyeShzdGQ6Om9wdGlvbmFsPFN0cmluZz4gbG9nQ2hhbm5lbFN0cmluZykK
K3sKKyAgICBpZiAoIWxvZ0NoYW5uZWxzTmVlZEluaXRpYWxpemF0aW9uICYmICFsb2dDaGFubmVs
U3RyaW5nKQorICAgICAgICByZXR1cm47CisKKyAgICBsb2dDaGFubmVsc05lZWRJbml0aWFsaXph
dGlvbiA9IGZhbHNlOworCisgICAgU3RyaW5nIGVuYWJsZWRDaGFubmVsc1N0cmluZyA9IGxvZ0No
YW5uZWxTdHJpbmcgPyBsb2dDaGFubmVsU3RyaW5nLnZhbHVlKCkgOiBsb2dMZXZlbFN0cmluZygp
OworICAgIFdURkluaXRpYWxpemVMb2dDaGFubmVsU3RhdGVzRnJvbVN0cmluZyhsb2dDaGFubmVs
cywgbG9nQ2hhbm5lbENvdW50LCBlbmFibGVkQ2hhbm5lbHNTdHJpbmcudXRmOCgpLmRhdGEoKSk7
CisvLyAgICBMb2dFdmVudExvb3Auc3RhdGUgPSBXVEZMb2dDaGFubmVsU3RhdGU6Ok9uOworfQor
CitXVEZMb2dDaGFubmVsKiBnZXRMb2dDaGFubmVsKGNvbnN0IFN0cmluZyYgbmFtZSkKK3sKKyAg
ICByZXR1cm4gV1RGTG9nQ2hhbm5lbEJ5TmFtZShsb2dDaGFubmVscywgbG9nQ2hhbm5lbENvdW50
LCBuYW1lLnV0ZjgoKS5kYXRhKCkpOworfQorCisjZWxzZQorCitXVEZMb2dDaGFubmVsKiBnZXRM
b2dDaGFubmVsKGNvbnN0IFN0cmluZyYpCit7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKICNl
bmRpZiAvLyAhTE9HX0RJU0FCTEVEIHx8ICFSRUxFQVNFX0xPR19ESVNBQkxFRAogCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Mb2dn
aW5nLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Mb2dnaW5nLmgKaW5kZXggNzY0ZWVmN2Ji
MmUxZjQ3N2ZjNDhhZTNhYTdkYTg4M2M2ZTljYzE0My4uODIzNTg0M2ZhNTEyOTU1YzdjZWI1ZWZk
ZmNkZjkzZGU0YTU5ZTIzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTG9n
Z2luZy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xvZ2dpbmcuaApAQCAtMTMzLDQg
KzEzMyw2IEBAIFdFQkNPUkVfTE9HX0NIQU5ORUxTKERFQ0xBUkVfTE9HX0NIQU5ORUwpCiAKICNl
bmRpZiAvLyAhTE9HX0RJU0FCTEVEIHx8ICFSRUxFQVNFX0xPR19ESVNBQkxFRAogCitXRUJDT1JF
X0VYUE9SVCBXVEZMb2dDaGFubmVsKiBnZXRMb2dDaGFubmVsKGNvbnN0IFN0cmluZyYgbmFtZSk7
CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvanMvV2ViQ29yZVRlc3RTdXBwb3J0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
anMvV2ViQ29yZVRlc3RTdXBwb3J0LmNwcAppbmRleCA0MzQ2NWM5NDkzMzEwZTgzNTliNDczNGFl
YWI1ODZiZjQxMTUxYTcyLi44ZGRjNDBlNTc4ZjViMTZiNmUwZGZiZDU5NDQyZWY3Y2IwNDAwZjQ0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL2pzL1dlYkNvcmVUZXN0U3VwcG9y
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9qcy9XZWJDb3JlVGVzdFN1cHBvcnQu
Y3BwCkBAIC0zNiw3ICszNiw2IEBACiAjaW5jbHVkZSAiSlNTZXJ2aWNlV29ya2VySW50ZXJuYWxz
LmgiCiAjaW5jbHVkZSAiSlNXb3JrZXJHbG9iYWxTY29wZS5oIgogI2luY2x1ZGUgIkxvZ0luaXRp
YWxpemF0aW9uLmgiCi0jaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgIk1vY2tHYW1lcGFk
UHJvdmlkZXIuaCIKICNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiU1dDb250ZXh0TWFuYWdl
ci5oIgpAQCAtMTIzLDcgKzEyMiw3IEBAIHZvaWQgY2xlYXJXaGVlbEV2ZW50VGVzdE1vbml0b3Io
V2ViQ29yZTo6RnJhbWUmIGZyYW1lKQogdm9pZCBzZXRMb2dDaGFubmVsVG9BY2N1bXVsYXRlKGNv
bnN0IFN0cmluZyYgbmFtZSkKIHsKICNpZiAhTE9HX0RJU0FCTEVECi0gICAgbG9nQ2hhbm5lbHMo
KS5zZXRMb2dDaGFubmVsVG9BY2N1bXVsYXRlKG5hbWUpOworICAgIFdlYkNvcmU6OnNldExvZ0No
YW5uZWxUb0FjY3VtdWxhdGUobmFtZSk7CiAjZWxzZQogICAgIFVOVVNFRF9QQVJBTShuYW1lKTsK
ICNlbmRpZgpAQCAtMTMyLDE0ICsxMzEsMTQgQEAgdm9pZCBzZXRMb2dDaGFubmVsVG9BY2N1bXVs
YXRlKGNvbnN0IFN0cmluZyYgbmFtZSkKIHZvaWQgY2xlYXJBbGxMb2dDaGFubmVsc1RvQWNjdW11
bGF0ZSgpCiB7CiAjaWYgIUxPR19ESVNBQkxFRAotICAgIGxvZ0NoYW5uZWxzKCkuY2xlYXJBbGxM
b2dDaGFubmVsc1RvQWNjdW11bGF0ZSgpOworICAgIFdlYkNvcmU6OmNsZWFyQWxsTG9nQ2hhbm5l
bHNUb0FjY3VtdWxhdGUoKTsKICNlbmRpZgogfQogCiB2b2lkIGluaXRpYWxpemVMb2dDaGFubmVs
c0lmTmVjZXNzYXJ5KCkKIHsKICNpZiAhTE9HX0RJU0FCTEVEIHx8ICFSRUxFQVNFX0xPR19ESVNB
QkxFRAotICAgIGxvZ0NoYW5uZWxzKCkuaW5pdGlhbGl6ZUxvZ0NoYW5uZWxzSWZOZWNlc3Nhcnko
KTsKKyAgICBXZWJDb3JlOjppbml0aWFsaXplTG9nQ2hhbm5lbHNJZk5lY2Vzc2FyeSgpOwogI2Vu
ZGlmCiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0
aW9uVG9XZWJQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0
aW9uVG9XZWJQcm9jZXNzLmNwcAppbmRleCBhYzczMjViNGNlMmM0MjNmNjY4Yzg0ZTQxNTVjNzZj
NzUwOWU5YTdhLi43ZWRkMTQ4Nzk5YTllYjliZjIyNWNhNjg3ZGI1ZTFjNTFjODQwMTMwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vz
cy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlBy
b2Nlc3MuY3BwCkBAIC02NCw3ICs2NCw2IEBACiAjaW5jbHVkZSAiV2ViQ29yZUFyZ3VtZW50Q29k
ZXJzLmgiCiAjaW5jbHVkZSAiV2ViRXJyb3JzLmgiCiAjaW5jbHVkZSAiV2ViUHJvY2Vzc01lc3Nh
Z2VzLmgiCi0jaW5jbHVkZSA8V2ViQ29yZS9Mb2dJbml0aWFsaXphdGlvbi5oPgogI2luY2x1ZGUg
PFdlYkNvcmUvTG9nZ2luZy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvTW9ja1JlYWx0aW1lTWVkaWFT
b3VyY2VDZW50ZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL05vd1BsYXlpbmdNYW5hZ2VyLmg+CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5jcHAKaW5kZXggZWQ3ZjI5ZTZlMDgwNjI3
ODUyODllNDEwMDNlNjgxM2ZmOThhNWE5Yy4uYjJiYjNjMDA3MGU4ZjU2YTk3ODUxNjk4NWQ2ODQ0
ZDQxYjFiMWYzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nl
c3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmNwcApAQCAt
MjQzLDggKzI0Myw4IEBAIHZvaWQgR1BVUHJvY2Vzczo6aW5pdGlhbGl6ZUdQVVByb2Nlc3MoR1BV
UHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYmIHBhcmFtZXRlcnMpCiAjZW5kaWYKIAogI2lmICFM
T0dfRElTQUJMRUQgfHwgIVJFTEVBU0VfTE9HX0RJU0FCTEVECi0gICAgV2ViQ29yZTo6bG9nQ2hh
bm5lbHMoKS5pbml0aWFsaXplTG9nQ2hhbm5lbHNJZk5lY2Vzc2FyeShwYXJhbWV0ZXJzLndlYkNv
cmVMb2dnaW5nQ2hhbm5lbHMpOwotICAgIFdlYktpdDo6bG9nQ2hhbm5lbHMoKS5pbml0aWFsaXpl
TG9nQ2hhbm5lbHNJZk5lY2Vzc2FyeShwYXJhbWV0ZXJzLndlYktpdExvZ2dpbmdDaGFubmVscyk7
CisgICAgV2ViQ29yZTo6aW5pdGlhbGl6ZUxvZ0NoYW5uZWxzSWZOZWNlc3NhcnkocGFyYW1ldGVy
cy53ZWJDb3JlTG9nZ2luZ0NoYW5uZWxzKTsKKyAgICBXZWJLaXQ6OmluaXRpYWxpemVMb2dDaGFu
bmVsc0lmTmVjZXNzYXJ5KHBhcmFtZXRlcnMud2ViS2l0TG9nZ2luZ0NoYW5uZWxzKTsKICNlbmRp
ZgogCiAgICAgLy8gTWF0Y2ggdGhlIFFvUyBvZiB0aGUgVUlQcm9jZXNzIHNpbmNlIHRoZSBHUFUg
cHJvY2VzcyBpcyBkb2luZyByZW5kZXJpbmcgb24gaXRzIGJlaGFsZi4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvUGxhdGZvcm0vTG9nSW5pdGlhbGl6YXRpb24uY3BwIGIvU291cmNlL1dlYktp
dC9QbGF0Zm9ybS9Mb2dJbml0aWFsaXphdGlvbi5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDFjNjNhNTRiMGMxZGE1NTg4NDE4MDhhYWY3M2MwNzE2YzAyNjUwZWQuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0
Zm9ybS9Mb2dJbml0aWFsaXphdGlvbi5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw3MiArMCwwIEBA
Ci0vKgotICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIkxvZ0luaXRpYWxp
emF0aW9uLmgiCi0KLSNpbmNsdWRlICJMb2dnaW5nLmgiCi0jaW5jbHVkZSA8d3RmL3RleHQvQ1N0
cmluZy5oPgotCi1uYW1lc3BhY2UgV2ViS2l0IHsKLQotI2lmICFMT0dfRElTQUJMRUQgfHwgIVJF
TEVBU0VfTE9HX0RJU0FCTEVECi0KLWNsYXNzIExvZ0NoYW5uZWxzIGZpbmFsIDogcHVibGljIFdU
Rjo6TG9nQ2hhbm5lbHMgewotcHVibGljOgotICAgIExvZ0NoYW5uZWxzKCkKLSAgICB7Ci0gICAg
ICAgIG1fbG9nQ2hhbm5lbHMgPSB7Ci0gICAgICAgICAgICBXRUJLSVQyX0xPR19DSEFOTkVMUyhM
T0dfQ0hBTk5FTF9BRERSRVNTKQotICAgICAgICB9OwotICAgIH0KLQotcHJpdmF0ZToKLSAgICBT
dHJpbmcgbG9nTGV2ZWxTdHJpbmcoKSBmaW5hbAotICAgIHsKLSAgICAgICAgcmV0dXJuIFdlYktp
dDo6bG9nTGV2ZWxTdHJpbmcoKTsKLSAgICB9Ci19OwotCi1XVEY6OkxvZ0NoYW5uZWxzJiBsb2dD
aGFubmVscygpCi17Ci0gICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPExvZ0NoYW5uZWxzPiBsb2dD
aGFubmVsczsKLSAgICByZXR1cm4gbG9nQ2hhbm5lbHMuZ2V0KCk7Ci19Ci0KLVdURkxvZ0NoYW5u
ZWwqIGdldExvZ0NoYW5uZWwoY29uc3QgU3RyaW5nJiBuYW1lKQotewotICAgIHJldHVybiBsb2dD
aGFubmVscygpLmdldExvZ0NoYW5uZWwobmFtZSk7Ci19Ci0KLSNlbHNlCi0KLVdURkxvZ0NoYW5u
ZWwqIGdldExvZ0NoYW5uZWwoY29uc3QgU3RyaW5nJiBuYW1lKQotewotICAgIHJldHVybiBudWxs
cHRyOwotfQotCi0jZW5kaWYgLy8gIUxPR19ESVNBQkxFRCB8fCAhUkVMRUFTRV9MT0dfRElTQUJM
RUQKLQotfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1Bs
YXRmb3JtL0xvZ0luaXRpYWxpemF0aW9uLmggYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0xvZ0lu
aXRpYWxpemF0aW9uLmgKaW5kZXggZjg3NmJlN2RiM2RhZjc2ZjIyMDRiM2Q0Yzc4NDIyOGFiMmJh
NDc5OS4uMjU2YTQ1OTczMThkMTFhZGVkZTA3NWIxZTEyMTVmZDYzY2ZlYWY4MSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9Mb2dJbml0aWFsaXphdGlvbi5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvUGxhdGZvcm0vTG9nSW5pdGlhbGl6YXRpb24uaApAQCAtMSw1ICsxLDUgQEAKIC8q
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqIENvcHlyaWdodCAoQykgMjAxMCwgMjAxMywgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI1LDE4ICsyNSwx
NSBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2luY2x1ZGUgPHd0Zi9Mb2dDaGFubmVscy5oPgogI2lu
Y2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCi1uYW1lc3BhY2UgV2ViS2l0IHsKLQogI2lm
ICFMT0dfRElTQUJMRUQgfHwgIVJFTEVBU0VfTE9HX0RJU0FCTEVECiAKLVdURjo6TG9nQ2hhbm5l
bHMmIGxvZ0NoYW5uZWxzKCk7Ci1TdHJpbmcgbG9nTGV2ZWxTdHJpbmcoKTsKLQotI2VuZGlmIC8v
ICFMT0dfRElTQUJMRUQgfHwgIVJFTEVBU0VfTE9HX0RJU0FCTEVECituYW1lc3BhY2UgV2ViS2l0
IHsKIAotV1RGTG9nQ2hhbm5lbCogZ2V0TG9nQ2hhbm5lbChjb25zdCBTdHJpbmcmIG5hbWUpOwor
dm9pZCBpbml0aWFsaXplTG9nQ2hhbm5lbHNJZk5lY2Vzc2FyeShzdGQ6Om9wdGlvbmFsPFN0cmlu
Zz4gPSBzdGQ6Om51bGxvcHQpOworU3RyaW5nIGxvZ0xldmVsU3RyaW5nKCk7CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gIUxPR19ESVNBQkxFRCB8fCAhUkVMRUFTRV9MT0df
RElTQUJMRUQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vTG9nZ2luZy5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0xvZ2dpbmcuY3BwCmluZGV4IDVhODIzZGUzZmE1OWUz
Y2M2NWNmYzliODJjMjUwY2M0MTcxNDBhZGYuLjg1MWYyNTYzM2VjY2EwODI1YjAyYjRmOGM0NzRl
N2JiMWJjNmVkNTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vTG9nZ2luZy5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9Mb2dnaW5nLmNwcApAQCAtMSw1ICsxLDUg
QEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEwLCAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAxMSBTYW1zdW5nIEVsZWN0cm9uaWNzCiAgKgog
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CkBAIC0yNiwxMCArMjYsNDAgQEAKIAogI2luY2x1ZGUgImNvbmZpZy5oIgog
I2luY2x1ZGUgIkxvZ2dpbmcuaCIKKyNpbmNsdWRlICJMb2dJbml0aWFsaXphdGlvbi5oIgorCisj
aW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogCiAjaWYgIUxPR19ESVNBQkxFRCB8fCAhUkVM
RUFTRV9MT0dfRElTQUJMRUQKIAogI2RlZmluZSBERUZJTkVfV0VCS0lUMl9MT0dfQ0hBTk5FTChu
YW1lKSBERUZJTkVfTE9HX0NIQU5ORUwobmFtZSwgTE9HX0NIQU5ORUxfV0VCS0lUX1NVQlNZU1RF
TSkKIFdFQktJVDJfTE9HX0NIQU5ORUxTKERFRklORV9XRUJLSVQyX0xPR19DSEFOTkVMKQogCitz
dGF0aWMgV1RGTG9nQ2hhbm5lbCogbG9nQ2hhbm5lbHNbXSA9IHsKKyAgICBXRUJLSVQyX0xPR19D
SEFOTkVMUyhMT0dfQ0hBTk5FTF9BRERSRVNTKQorfTsKKworbmFtZXNwYWNlIFdlYktpdCB7CisK
K3N0YXRpYyBjb25zdCBzaXplX3QgbG9nQ2hhbm5lbENvdW50ID0gV1RGX0FSUkFZX0xFTkdUSChs
b2dDaGFubmVscyk7CitzdGF0aWMgYm9vbCBsb2dDaGFubmVsc05lZWRJbml0aWFsaXphdGlvbiA9
IHRydWU7CisKK3ZvaWQgaW5pdGlhbGl6ZUxvZ0NoYW5uZWxzSWZOZWNlc3Nhcnkoc3RkOjpvcHRp
b25hbDxTdHJpbmc+IGxvZ0NoYW5uZWxTdHJpbmcpCit7CisgICAgaWYgKCFsb2dDaGFubmVsc05l
ZWRJbml0aWFsaXphdGlvbiAmJiAhbG9nQ2hhbm5lbFN0cmluZykKKyAgICAgICAgcmV0dXJuOwor
CisgICAgbG9nQ2hhbm5lbHNOZWVkSW5pdGlhbGl6YXRpb24gPSBmYWxzZTsKKworICAgIFN0cmlu
ZyBlbmFibGVkQ2hhbm5lbHNTdHJpbmcgPSBsb2dDaGFubmVsU3RyaW5nID8gbG9nQ2hhbm5lbFN0
cmluZy52YWx1ZSgpIDogbG9nTGV2ZWxTdHJpbmcoKTsKKyAgICBXVEZJbml0aWFsaXplTG9nQ2hh
bm5lbFN0YXRlc0Zyb21TdHJpbmcobG9nQ2hhbm5lbHMsIGxvZ0NoYW5uZWxDb3VudCwgZW5hYmxl
ZENoYW5uZWxzU3RyaW5nLnV0ZjgoKS5kYXRhKCkpOworfQorCitXVEZMb2dDaGFubmVsKiBnZXRM
b2dDaGFubmVsKGNvbnN0IFN0cmluZyYgbmFtZSkKK3sKKyAgICByZXR1cm4gV1RGTG9nQ2hhbm5l
bEJ5TmFtZShsb2dDaGFubmVscywgbG9nQ2hhbm5lbENvdW50LCBuYW1lLnV0ZjgoKS5kYXRhKCkp
OworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKwogI2VuZGlmIC8vICFMT0dfRElTQUJMRUQg
fHwgIVJFTEVBU0VfTE9HX0RJU0FCTEVECmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRm
b3JtL0xvZ2dpbmcuaCBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vTG9nZ2luZy5oCmluZGV4IGQ0
ZDMyNjVjYzA3YzMxNzdiZGE1MDJhOWQyNDg5NDVhMzY4NGM2MmEuLjk4MGEyNTkxMWQwYjg4ZDU0
YmM2ZmFkN2QwYjI4NzZiY2M3OTJkOGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZv
cm0vTG9nZ2luZy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vTG9nZ2luZy5oCkBAIC0x
MTIsOCArMTEyLDEzIEBAIFdFQktJVDJfTE9HX0NIQU5ORUxTKERFQ0xBUkVfTE9HX0NIQU5ORUwp
CiAKICN1bmRlZiBERUNMQVJFX0xPR19DSEFOTkVMCiAKK25hbWVzcGFjZSBXZWJLaXQgeworV1RG
TG9nQ2hhbm5lbCogZ2V0TG9nQ2hhbm5lbChjb25zdCBTdHJpbmcmKTsKK30gLy8gbmFtZXNwYWNl
IFdlYktpdAorCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0KICNlbmRpZgogCiAjZW5kaWYgLy8gIUxP
R19ESVNBQkxFRCB8fCAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9TaGFyZWQvQXV4aWxpYXJ5UHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9BdXhpbGlhcnlQcm9jZXNzLmNwcAppbmRleCAwOTVjZjQ1OTE0NjIxYzE4ODMyYmFhOTU2Njc1
ZjNiMGQ4MWQ3MmNkLi45NGY5NGU5MjZjM2U5MTM2MTBjZWRlYjJiN2VkNGNhMWEzOTVlNGEwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BdXhpbGlhcnlQcm9jZXNzLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BdXhpbGlhcnlQcm9jZXNzLmNwcApAQCAtODIsOCArODIs
OCBAQCB2b2lkIEF1eGlsaWFyeVByb2Nlc3M6OmluaXRpYWxpemUoY29uc3QgQXV4aWxpYXJ5UHJv
Y2Vzc0luaXRpYWxpemF0aW9uUGFyYW1ldGVycwogICAgIGluaXRpYWxpemVTYW5kYm94KHBhcmFt
ZXRlcnMsIHNhbmRib3hQYXJhbWV0ZXJzKTsKIAogI2lmICFMT0dfRElTQUJMRUQgfHwgIVJFTEVB
U0VfTE9HX0RJU0FCTEVECi0gICAgV2ViQ29yZTo6bG9nQ2hhbm5lbHMoKS5pbml0aWFsaXplTG9n
Q2hhbm5lbHNJZk5lY2Vzc2FyeSgpOwotICAgIFdlYktpdDo6bG9nQ2hhbm5lbHMoKS5pbml0aWFs
aXplTG9nQ2hhbm5lbHNJZk5lY2Vzc2FyeSgpOworICAgIFdlYkNvcmU6OmluaXRpYWxpemVMb2dD
aGFubmVsc0lmTmVjZXNzYXJ5KCk7CisgICAgV2ViS2l0Ojppbml0aWFsaXplTG9nQ2hhbm5lbHNJ
Zk5lY2Vzc2FyeSgpOwogI2VuZGlmIC8vICFMT0dfRElTQUJMRUQgfHwgIVJFTEVBU0VfTE9HX0RJ
U0FCTEVECiAKICAgICBpbml0aWFsaXplUHJvY2Vzc05hbWUocGFyYW1ldGVycyk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJLaXQySW5pdGlhbGl6ZS5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9XZWJLaXQySW5pdGlhbGl6ZS5jcHAKaW5kZXggMjMzYjMwZjIyYWQ2NDE2
YTBhM2UwNDdiZGQ5ZWUzOWYzNTFiNzNmMC4uNTI2NjhmOTUzYTRiMzg2YzliN2NjMzY4Mzk5YmY5
NDMxZGQwMjM2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViS2l0MkluaXRp
YWxpemUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYktpdDJJbml0aWFsaXplLmNw
cApAQCAtNDcsOCArNDcsOCBAQCB2b2lkIEluaXRpYWxpemVXZWJLaXQyKCkKICAgICBXVEY6OlJl
ZkNvdW50ZWRCYXNlOjplbmFibGVUaHJlYWRpbmdDaGVja3NHbG9iYWxseSgpOwogCiAjaWYgIUxP
R19ESVNBQkxFRCB8fCAhUkVMRUFTRV9MT0dfRElTQUJMRUQKLSAgICBXZWJDb3JlOjpsb2dDaGFu
bmVscygpLmluaXRpYWxpemVMb2dDaGFubmVsc0lmTmVjZXNzYXJ5KCk7Ci0gICAgV2ViS2l0Ojps
b2dDaGFubmVscygpLmluaXRpYWxpemVMb2dDaGFubmVsc0lmTmVjZXNzYXJ5KCk7CisgICAgV2Vi
Q29yZTo6aW5pdGlhbGl6ZUxvZ0NoYW5uZWxzSWZOZWNlc3NhcnkoKTsKKyAgICBXZWJLaXQ6Omlu
aXRpYWxpemVMb2dDaGFubmVsc0lmTmVjZXNzYXJ5KCk7CiAjZW5kaWYgLy8gIUxPR19ESVNBQkxF
RCB8fCAhUkVMRUFTRV9MT0dfRElTQUJMRUQKIAogICAgIFdlYkNvcmU6OnBvcHVsYXRlSklUT3Bl
cmF0aW9ucygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dCBiL1NvdXJj
ZS9XZWJLaXQvU291cmNlcy50eHQKaW5kZXggYjY5MjgyMWNiN2U5MDJjMTA0YmEwMzhhNTJkNDM4
MmQ5YzNjYTVmOS4uZjMwMzFlNzkyYmViNDUzZjE2N2Q4ODEzZTg4YWJlY2JjMmI1Y2I3YiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0L1Nv
dXJjZXMudHh0CkBAIC0xMzUsNyArMTM1LDYgQEAgTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdv
cmtNRE5TUmVnaXN0ZXIuY3BwCiBOZXR3b3JrUHJvY2Vzcy93ZWJydGMvUlRDRGF0YUNoYW5uZWxS
ZW1vdGVNYW5hZ2VyUHJveHkuY3BwCiAKIC8vIFRPRE86IFdlIHNob3VsZCB1bmlmeSB0aGVzZSBm
aWxlcyBvbmNlIEdUSydzIFBsdWdpblByb2Nlc3MyIGlzIHJlbW92ZWQuCi1QbGF0Zm9ybS9Mb2dJ
bml0aWFsaXphdGlvbi5jcHAgQG5vLXVuaWZ5CiBQbGF0Zm9ybS9Mb2dnaW5nLmNwcCBAbm8tdW5p
ZnkKIFBsYXRmb3JtL01vZHVsZS5jcHAgQG5vLXVuaWZ5CiBQbGF0Zm9ybS9TaGFyZWRNZW1vcnku
Y3BwIEBuby11bmlmeQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5k
ZXggYmFmNTYyYzUxOTgzYTRlNDdmZGRkMjkyODRjOTg5MGY3NTdkNjNjYy4uZTdlMDQwYmJhYzc5
OTMyZGM1MDRjZmM4MDAwZjJjYzU4ZGUwZWQ5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuY3BwCkBAIC02OCw3ICs2OCw2IEBACiAjaW5jbHVkZSAiRnJhbWVJbmZvRGF0
YS5oIgogI2luY2x1ZGUgIkxlZ2FjeUdsb2JhbFNldHRpbmdzLmgiCiAjaW5jbHVkZSAiTG9hZFBh
cmFtZXRlcnMuaCIKLSNpbmNsdWRlICJMb2dJbml0aWFsaXphdGlvbi5oIgogI2luY2x1ZGUgIkxv
Z2dpbmcuaCIKICNpbmNsdWRlICJOYXRpdmVXZWJHZXN0dXJlRXZlbnQuaCIKICNpbmNsdWRlICJO
YXRpdmVXZWJLZXlib2FyZEV2ZW50LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9j
ZXNzUG9vbC5jcHAKaW5kZXggODM2YjA0MDNkYTU3YjM3NDFkMTFiMjZlYTgzYzM3NWRlNWY5OGZk
Mi4uMmVhYjZiY2I4OWI4Yjc5YTdkY2YzY2RjZDQ5YzA2ZDVhY2QyMTJiMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcApAQCAtMjUxLDggKzI1MSw4IEBAIFdl
YlByb2Nlc3NQb29sOjpXZWJQcm9jZXNzUG9vbChBUEk6OlByb2Nlc3NQb29sQ29uZmlndXJhdGlv
biYgY29uZmlndXJhdGlvbikKICAgICByZXNvbHZlUGF0aHNGb3JTYW5kYm94RXh0ZW5zaW9ucygp
OwogCiAjaWYgIUxPR19ESVNBQkxFRCB8fCAhUkVMRUFTRV9MT0dfRElTQUJMRUQKLSAgICBXZWJD
b3JlOjpsb2dDaGFubmVscygpLmluaXRpYWxpemVMb2dDaGFubmVsc0lmTmVjZXNzYXJ5KCk7Ci0g
ICAgV2ViS2l0Ojpsb2dDaGFubmVscygpLmluaXRpYWxpemVMb2dDaGFubmVsc0lmTmVjZXNzYXJ5
KCk7CisgICAgV2ViQ29yZTo6aW5pdGlhbGl6ZUxvZ0NoYW5uZWxzSWZOZWNlc3NhcnkoKTsKKyAg
ICBXZWJLaXQ6OmluaXRpYWxpemVMb2dDaGFubmVsc0lmTmVjZXNzYXJ5KCk7CiAjZW5kaWYgLy8g
IUxPR19ESVNBQkxFRCB8fCAhUkVMRUFTRV9MT0dfRElTQUJMRUQKIAogI2lmbmRlZiBOREVCVUcK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2ogYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4
IDZjMWRjNzVkYTFmZGU3ODkwYTkxNWUzZDkwZGZkMzk5YzczMzM4MTYuLjNjNTg2Y2IwNjM2MDcx
N2I0YTI1ZGEwNDUyYTA1OWI4Nzc4OTJjNDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2Vi
S2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMyw3ICszLDcgQEAKIAlhcmNoaXZlVmVyc2lv
biA9IDE7CiAJY2xhc3NlcyA9IHsKIAl9OwotCW9iamVjdFZlcnNpb24gPSA1NDsKKwlvYmplY3RW
ZXJzaW9uID0gNTI7CiAJb2JqZWN0cyA9IHsKIAogLyogQmVnaW4gUEJYQWdncmVnYXRlVGFyZ2V0
IHNlY3Rpb24gKi8KQEAgLTQ0MSw3ICs0NDEsNiBAQAogCQkxQ0E4Qjk0NjEyN0M4ODJBMDA1NzZD
MkIgLyogV2ViSW5zcGVjdG9yVUlQcm94eU1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQ0E4Qjk0NDEyN0M4ODJBMDA1NzZDMkIgLyogV2Vi
SW5zcGVjdG9yVUlQcm94eU1lc3NhZ2VzLmggKi87IH07CiAJCTFDQkJFNEEwMTlCNjZDNTMwMDZC
N0Q4MSAvKiBXZWJJbnNwZWN0b3JVSU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQ0JCRTQ5RTE5QjY2QzUzMDA2QjdEODEg
LyogV2ViSW5zcGVjdG9yVUlNZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9OwogCQkxQ0JCRTRBMTE5
QjY2QzUzMDA2QjdEODEgLyogV2ViSW5zcGVjdG9yVUlNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUNCQkU0OUYxOUI2NkM1MzAwNkI3RDgx
IC8qIFdlYkluc3BlY3RvclVJTWVzc2FnZXMuaCAqLzsgfTsKLQkJMUNGMThGM0YyNkJCNUQ5NTAw
NEIxNzIyIC8qIExvZ0luaXRpYWxpemF0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDRjE4RjNFMjZCQjVEOTAwMDRCMTcyMiAvKiBMb2dJbml0
aWFsaXphdGlvbi5jcHAgKi87IH07CiAJCTFENEQ3MzcwMjNBOUU1NDcwMDcxN0EyNSAvKiBSZW1v
dGVNZWRpYVJlc291cmNlTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxRDRENzM2QjIzQTlERjU1MDA3MTdBMjUg
LyogUmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9Owog
CQkxRDRENzM3MTIzQTlFNTYyMDA3MTdBMjUgLyogUmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFnZXJN
ZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MUQ0RDczNkMyM0E5REY2MDAwNzE3QTI1IC8qIFJlbW90ZU1lZGlhUmVzb3VyY2VNYW5hZ2VyTWVz
c2FnZXMuaCAqLzsgfTsKIAkJMUQ0RDczNzYyM0E5RUQxODAwNzE3QTI1IC8qIFJlbW90ZU1lZGlh
UmVzb3VyY2VNYW5hZ2VyTWVzc2FnZXNSZXBsaWVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxRDRENzM3NTIzQTlFQjY4MDA3MTdBMjUgLyogUmVtb3Rl
TWVkaWFSZXNvdXJjZU1hbmFnZXJNZXNzYWdlc1JlcGxpZXMuaCAqLzsgfTsKQEAgLTMwNTAsNyAr
MzA0OSw2IEBACiAJCTFDQThCOTQ0MTI3Qzg4MkEwMDU3NkMyQiAvKiBXZWJJbnNwZWN0b3JVSVBy
b3h5TWVzc2FnZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gV2ViSW5zcGVj
dG9yVUlQcm94eU1lc3NhZ2VzLmg7IHBhdGggPSBEZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYklu
c3BlY3RvclVJUHJveHlNZXNzYWdlcy5oOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElS
OyB9OwogCQkxQ0JCRTQ5RTE5QjY2QzUzMDA2QjdEODEgLyogV2ViSW5zcGVjdG9yVUlNZXNzYWdl
UmVjZWl2ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gV2ViSW5z
cGVjdG9yVUlNZXNzYWdlUmVjZWl2ZXIuY3BwOyBwYXRoID0gRGVyaXZlZFNvdXJjZXMvV2ViS2l0
Mi9XZWJJbnNwZWN0b3JVSU1lc3NhZ2VSZWNlaXZlci5jcHA7IHNvdXJjZVRyZWUgPSBCVUlMVF9Q
Uk9EVUNUU19ESVI7IH07CiAJCTFDQkJFNDlGMTlCNjZDNTMwMDZCN0Q4MSAvKiBXZWJJbnNwZWN0
b3JVSU1lc3NhZ2VzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFdlYkluc3Bl
Y3RvclVJTWVzc2FnZXMuaDsgcGF0aCA9IERlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViSW5zcGVj
dG9yVUlNZXNzYWdlcy5oOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OwotCQkx
Q0YxOEYzRTI2QkI1RDkwMDA0QjE3MjIgLyogTG9nSW5pdGlhbGl6YXRpb24uY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gTG9nSW5pdGlhbGl6YXRpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQkxRDA1MzBDOTI1OEVBQjQ0MDBFNDM2RjcgLyogY29tYmluZS1mZWF0dXJlLWZsYWdz
LXBsaXN0LnB5ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gdGV4dC5zY3JpcHQucHl0aG9uOyBwYXRoID0gImNvbWJpbmUtZmVhdHVyZS1mbGFncy1wbGlz
dC5weSI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFEMDUzMEQxMjU5MTYyQzgwMEU0
MzZGNyAvKiBXZWJLaXQtaW9zLnBsaXN0ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gdGV4dC5wbGlzdC54bWw7IHBhdGggPSAiV2ViS2l0LWlvcy5wbGlz
dCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFEMDUzMEQyMjU5MTYyQzkwMEU0MzZG
NyAvKiBXZWJLaXQtYXBwbGV0dm9zLnBsaXN0ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5wbGlzdC54bWw7IHBhdGggPSAiV2ViS2l0LWFwcGxl
dHZvcy5wbGlzdCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC02MDAyLDYgKzYwMDAs
NyBAQAogCQlGNDBCQkI0MDI1N0ZGNDZFMDA2NzQ2M0EgLyogR1BVUHJvY2Vzc1dha2V1cE1lc3Nh
Z2VBcmd1bWVudHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gR1BVUHJvY2Vzc1dha2V1cE1lc3NhZ2VBcmd1
bWVudHMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjQwRDFCNjgyMjBCREMwRjAw
QjQ5QTAxIC8qIFdlYkF1dG9jb3JyZWN0aW9uQ29udGV4dC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBXZWJB
dXRvY29ycmVjdGlvbkNvbnRleHQuaDsgcGF0aCA9IGlvcy9XZWJBdXRvY29ycmVjdGlvbkNvbnRl
eHQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjQxMDU2NjEyMTMwNjk5QTAwOTIy
ODFEIC8qIEFQSUF0dGFjaG1lbnRDb2NvYS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEFQSUF0
dGFjaG1lbnRDb2NvYS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRjQxNENFMkEy
NjlEREVEMTAwQkQyMTZBIC8qIEdQVVByb2Nlc3NDb2NvYS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLm9iamNwcDsgbmFtZSA9IEdQVVByb2Nlc3NDb2NvYS5tbTsgcGF0aCA9IGNvY29hL0dQ
VVByb2Nlc3NDb2NvYS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjQxNENFMkMy
NjlERTZFQTAwQkQyMTZBIC8qIFJlbW90ZVJlbmRlcmluZ0JhY2tlbmRTdGF0ZS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBSZW1vdGVSZW5kZXJpbmdCYWNrZW5kU3RhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJRjQyRDYzM0YyMkEwRUZEMzAwRDJGQjNBIC8qIFdlYkF1dG9jb3JyZWN0aW9u
RGF0YS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBXZWJBdXRvY29ycmVjdGlv
bkRhdGEuaDsgcGF0aCA9IGlvcy9XZWJBdXRvY29ycmVjdGlvbkRhdGEuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJRjQyRDYzNDAyMkEwRUZEMzAwRDJGQjNBIC8qIFdlYkF1dG9jb3Jy
ZWN0aW9uRGF0YS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgbmFtZSA9IFdl
YkF1dG9jb3JyZWN0aW9uRGF0YS5tbTsgcGF0aCA9IGlvcy9XZWJBdXRvY29ycmVjdGlvbkRhdGEu
bW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMDY5OCw3ICsxMDY5Nyw2IEBACiAJ
CQkJRUNCRkMxREIxRTZBNEQ2NjAwMDMwMEM3IC8qIEV4dHJhUHVibGljU3ltYm9sc0ZvclRBUEku
aCAqLywKIAkJCQk1MUE3RjJGNDEyNUJGOEQ0MDA4QUVCMUQgLyogTG9nZ2luZy5jcHAgKi8sCiAJ
CQkJNTFBN0YyRjIxMjVCRjgyMDAwOEFFQjFEIC8qIExvZ2dpbmcuaCAqLywKLQkJCQkxQ0YxOEYz
RTI2QkI1RDkwMDA0QjE3MjIgLyogTG9nSW5pdGlhbGl6YXRpb24uY3BwICovLAogCQkJCTBGRENE
N0Y2MUQ0N0U5MkEwMDlGMDhCQyAvKiBMb2dJbml0aWFsaXphdGlvbi5oICovLAogCQkJCUMwRTNB
QTQ1MTIwOUUyQkEwMEE0OUQwMSAvKiBNb2R1bGUuY3BwICovLAogCQkJCUMwRTNBQTQ0MTIwOUUy
QkEwMEE0OUQwMSAvKiBNb2R1bGUuaCAqLywKQEAgLTExNzE4LDYgKzExNzE2LDE0IEBACiAJCQlw
YXRoID0gY2FjaGU7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwogCQl9OworCQlGNDE0Q0Uy
NzI2OURERTgwMDBCRDIxNkEgLyogY29jb2EgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJ
CWNoaWxkcmVuID0gKAorCQkJCUY0MTRDRTJBMjY5RERFRDEwMEJEMjE2QSAvKiBHUFVQcm9jZXNz
Q29jb2EubW0gKi8sCisJCQkpOworCQkJbmFtZSA9IGNvY29hOworCQkJc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsKKwkJfTsKIAkJRjYzODk1NUExMzNCRjU3RDAwODk0MUQ1IC8qIG1hYyAqLyA9IHsK
IAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCkBAIC0xNDIyOSw3ICsxNDIzNSw2
IEBACiAJCQkJNTFGMDYwRTExNjU0MzE4NTAwRjMyODFDIC8qIExpYldlYlJUQ05ldHdvcmtNZXNz
YWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDQ5RDkwREEyMUZEQzMwQjAwRjY3
N0MwIC8qIExvY2FsQXV0aGVudGljYXRpb25Tb2Z0TGluay5tbSBpbiBTb3VyY2VzICovLAogCQkJ
CTJEOTJBNzc5MjEyQjZBNjEwMEY0OTNGRCAvKiBMb2dnaW5nLmNwcCBpbiBTb3VyY2VzICovLAot
CQkJCTFDRjE4RjNGMjZCQjVEOTUwMDRCMTcyMiAvKiBMb2dJbml0aWFsaXphdGlvbi5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQkwN0UxOUVGQjIzRDQwMUYxMDA5NEZGQjQgLyogTWVkaWFQbGF5ZXJQ
cml2YXRlUmVtb3RlTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFERjI5
RTY0MjU3RjM3QTMwMDNDMjhBRiAvKiBNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGVNZXNzYWdlUmVj
ZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOUI0NzkwOTEyNTMxNTYzMjAwRUMxMUFCIC8q
IE1lc3NhZ2VBcmd1bWVudERlc2NyaXB0aW9ucy5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0gYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCmluZGV4IGU0
ZWMwNjNiNzBlZTdjNjBmNzE5NjQzZjE3ZWQ0YTc1OTNhYTdlMzEuLmRkMWVmZjViYWJiNmE1NGVm
YTk3YzYwNTcyMGU4NWViMDFjODk2NzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQpAQCAtMjgxLDggKzI4MSw4IEBAIHZvaWQgV2Vi
UHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHJvY2VzcyhXZWJQcm9jZXNzQ3JlYXRpb25Q
YXJhbWV0ZXJzJiBwYXJhCiAgICAgfQogCiAjaWYgIUxPR19ESVNBQkxFRCB8fCAhUkVMRUFTRV9M
T0dfRElTQUJMRUQKLSAgICBXZWJDb3JlOjpsb2dDaGFubmVscygpLmluaXRpYWxpemVMb2dDaGFu
bmVsc0lmTmVjZXNzYXJ5KHBhcmFtZXRlcnMud2ViQ29yZUxvZ2dpbmdDaGFubmVscyk7Ci0gICAg
V2ViS2l0Ojpsb2dDaGFubmVscygpLmluaXRpYWxpemVMb2dDaGFubmVsc0lmTmVjZXNzYXJ5KHBh
cmFtZXRlcnMud2ViS2l0TG9nZ2luZ0NoYW5uZWxzKTsKKyAgICBXZWJDb3JlOjppbml0aWFsaXpl
TG9nQ2hhbm5lbHNJZk5lY2Vzc2FyeShwYXJhbWV0ZXJzLndlYkNvcmVMb2dnaW5nQ2hhbm5lbHMp
OworICAgIFdlYktpdDo6aW5pdGlhbGl6ZUxvZ0NoYW5uZWxzSWZOZWNlc3NhcnkocGFyYW1ldGVy
cy53ZWJLaXRMb2dnaW5nQ2hhbm5lbHMpOwogI2VuZGlmCiAKICAgICBtX3VpUHJvY2Vzc0J1bmRs
ZUlkZW50aWZpZXIgPSBwYXJhbWV0ZXJzLnVpUHJvY2Vzc0J1bmRsZUlkZW50aWZpZXI7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L1dlYktpdExlZ2FjeS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qIGIvU291cmNlL1dlYktpdExlZ2FjeS9XZWJLaXRMZWdhY3kueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagppbmRleCBhNzhhNWNjNmY3MjY0YzFhMDRiNDdhMGM1MTY3ZGNmMDI5ZDYw
OWRjLi4xZGIwNGJiZmJiMzUzODVmNTg5MDZhMmZkYjcyNTE5YTYxOWMzMjhmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0TGVnYWN5L1dlYktpdExlZ2FjeS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvV2ViS2l0TGVnYWN5Lnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKQEAgLTExMSw3ICsxMTEsNiBAQAogCQkxQzY4RjY3MjA5NUI1RkMxMDBDMjk4
NEUgLyogV2ViTm9kZUhpZ2hsaWdodFZpZXcubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAxQzY4RjY2NjA5NUI1RkMxMDBDMjk4NEUgLyogV2ViTm9kZUhp
Z2hsaWdodFZpZXcubW0gKi87IH07CiAJCTFDN0IwQzY2MEVCMjQ2NEQwMEEyODUwMiAvKiBXZWJJ
bnNwZWN0b3JDbGllbnRDRi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAxQzdCMEM2NTBFQjI0NjREMDBBMjg1MDIgLyogV2ViSW5zcGVjdG9yQ2xpZW50
Q0YuY3BwICovOyB9OwogCQkxQzhDQjA3QTBBRTk4MzBDMDBCMUY2RTkgLyogV2ViRWRpdGluZ0Rl
bGVnYXRlUHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMUM4Q0IwNzkwQUU5ODMwQzAwQjFGNkU5IC8qIFdlYkVkaXRpbmdEZWxlZ2F0ZVByaXZh
dGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQkx
Q0YxOEY0MTI2QkI3MUI3MDA0QjE3MjIgLyogV2ViS2l0TG9nSW5pdGlhbGl6YXRpb24ubW0gaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQ0YxOEY0MDI2QkI3
MUI3MDA0QjE3MjIgLyogV2ViS2l0TG9nSW5pdGlhbGl6YXRpb24ubW0gKi87IH07CiAJCTIyRjIx
OUNDMDhEMjM2NzMwMDMwRTA3OCAvKiBXZWJCYWNrRm9yd2FyZExpc3RQcml2YXRlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyMkYyMTlDQjA4RDIzNjcz
MDAzMEUwNzggLyogV2ViQmFja0ZvcndhcmRMaXN0UHJpdmF0ZS5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTI5QUVGOTYwMTM0Qzc2RkIwMEZFNTA5
NiAvKiBPdXRsb29rUXVpcmtzVXNlclNjcmlwdC5qcyBpbiBSZXNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjlBRUY5NUQxMzRDNzU1NDAwRkU1MDk2IC8qIE91dGxv
b2tRdWlya3NVc2VyU2NyaXB0LmpzICovOyB9OwogCQkyRDI1Mzk2NjE4Q0U4NUMyMDAyNzAyMjIg
LyogV2ViU2hhcmluZ1NlcnZpY2VQaWNrZXJDb250cm9sbGVyLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDI1Mzk2NDE4Q0U4NUMyMDAyNzAyMjIgLyog
V2ViU2hhcmluZ1NlcnZpY2VQaWNrZXJDb250cm9sbGVyLmggKi87IH07CkBAIC04MzIsOCArODMx
LDYgQEAKIAkJMUM5MDRGRDMwQkE5REQwRjAwODFFOUQwIC8qIFZlcnNpb24ueGNjb25maWcgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSB0ZXh0LnhjY29uZmlnOyBwYXRoID0gVmVyc2lvbi54Y2NvbmZpZzsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUM5MDRGRDQwQkE5REQwRjAwODFFOUQwIC8qIERlYnVnUmVs
ZWFzZS54Y2NvbmZpZyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQueGNjb25maWc7IHBhdGggPSBEZWJ1Z1JlbGVh
c2UueGNjb25maWc7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDOTA0RkQ1MEJBOURE
MEYwMDgxRTlEMCAvKiBCYXNlLnhjY29uZmlnICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC54Y2NvbmZpZzsgcGF0
aCA9IEJhc2UueGNjb25maWc7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTFDRjE4RjQw
MjZCQjcxQjcwMDRCMTcyMiAvKiBXZWJLaXRMb2dJbml0aWFsaXphdGlvbi5tbSAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9i
amNwcDsgcGF0aCA9IFdlYktpdExvZ0luaXRpYWxpemF0aW9uLm1tOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwotCQkxQ0YxOEY0MjI2QkI3MUQzMDA0QjE3MjIgLyogV2ViS2l0TG9nSW5pdGlh
bGl6YXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViS2l0TG9nSW5pdGlhbGl6YXRpb24uaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMjJGMjE5Q0IwOEQyMzY3MzAwMzBFMDc4IC8qIFdl
YkJhY2tGb3J3YXJkTGlzdFByaXZhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBXZWJCYWNrRm9yd2FyZExpc3RQcml2YXRlLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgdXNlc1RhYnMgPSAwOyB9OwogCQkyNTY4Qzcy
QzAxNzQ5MTJEMEVDQTE0OUUgLyogV2ViS2l0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgaW5kZW50V2lkdGggPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViS2l0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IHRhYldpZHRoID0gODsgdXNlc1RhYnMgPSAwOyB9OwogCQkyOUFFRjk1RDEzNEM3NTU0MDBGRTUw
OTYgLyogT3V0bG9va1F1aXJrc1VzZXJTY3JpcHQuanMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmph
dmFzY3JpcHQ7IHBhdGggPSBPdXRsb29rUXVpcmtzVXNlclNjcmlwdC5qczsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKQEAgLTE3OTAsOCArMTc4Nyw2IEBACiAJCQkJNTM2NUFFRDkyNTY2MzQ1
ODAwNzA0Njc5IC8qIFdlYktpdExlZ2FjeV9Qcml2YXRlLmggKi8sCiAJCQkJOTNBRUIxN0QwMzJD
MTczNTAwODYzNUNFIC8qIFdlYktpdExvZ2dpbmcuaCAqLywKIAkJCQk5M0FFQjE3RTAzMkMxNzM1
MDA4NjM1Q0UgLyogV2ViS2l0TG9nZ2luZy5tICovLAotCQkJCTFDRjE4RjQyMjZCQjcxRDMwMDRC
MTcyMiAvKiBXZWJLaXRMb2dJbml0aWFsaXphdGlvbi5oICovLAotCQkJCTFDRjE4RjQwMjZCQjcx
QjcwMDRCMTcyMiAvKiBXZWJLaXRMb2dJbml0aWFsaXphdGlvbi5tbSAqLywKIAkJCQk3MDgyRjU2
RjAzOEVBREFBMDBBODAxODAgLyogV2ViS2l0TlNTdHJpbmdFeHRyYXMuaCAqLywKIAkJCQk3MDgy
RjU3MDAzOEVBREFBMDBBODAxODAgLyogV2ViS2l0TlNTdHJpbmdFeHRyYXMubW0gKi8sCiAJCQkJ
RjUzNDQ0Q0UwMkU4N0NCQTAxODYzNUNBIC8qIFdlYktpdFN0YXRpc3RpY3MuaCAqLywKQEAgLTM2
NTYsNyArMzY1MSw2IEBACiAJCQkJOTM5ODExMDMwODI0QkYwMTAwOERGMDM4IC8qIFdlYktpdEVy
cm9ycy5tIGluIFNvdXJjZXMgKi8sCiAJCQkJQ0Q4QkZDRTcxNTUzMTIyNDAwNUFGQjI1IC8qIFdl
YktpdEZ1bGxTY3JlZW5MaXN0ZW5lci5tbSBpbiBTb3VyY2VzICovLAogCQkJCTkzOTgxMEMzMDgy
NEJGMDEwMDhERjAzOCAvKiBXZWJLaXRMb2dnaW5nLm0gaW4gU291cmNlcyAqLywKLQkJCQkxQ0Yx
OEY0MTI2QkI3MUI3MDA0QjE3MjIgLyogV2ViS2l0TG9nSW5pdGlhbGl6YXRpb24ubW0gaW4gU291
cmNlcyAqLywKIAkJCQk5Mzk4MTBDNDA4MjRCRjAxMDA4REYwMzggLyogV2ViS2l0TlNTdHJpbmdF
eHRyYXMubW0gaW4gU291cmNlcyAqLywKIAkJCQkxQUFGNUQwRjBFRERFN0E3MDA4RDg4M0QgLyog
V2ViS2l0UGx1Z2luQWdlbnQuZGVmcyBpbiBTb3VyY2VzICovLAogCQkJCTFBQUY1RDAwMEVEREU2
MDQwMDhEODgzRCAvKiBXZWJLaXRQbHVnaW5DbGllbnQuZGVmcyBpbiBTb3VyY2VzICovLApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvTWlzYy9XZWJLaXRMb2dJbml0aWFsaXph
dGlvbi5oIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvTWlzYy9XZWJLaXRMb2dJbml0aWFsaXph
dGlvbi5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiYzhkYTk3ZTk5M2NiODZhNjA5
NTRhOTg2ZGMyYWU2M2E5N2E2N2VjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL01pc2MvV2ViS2l0TG9nSW5pdGlh
bGl6YXRpb24uaAorKysgL2Rldi9udWxsCkBAIC0xLDQzICswLDAgQEAKLS8qCi0gKiBDb3B5cmln
aHQgKEMpIDIwMjEgQXBwbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
Ci0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAq
Ci0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQot
I3ByYWdtYSBvbmNlCi0KLSNpbmNsdWRlIDx3dGYvTG9nQ2hhbm5lbHMuaD4KLSNpbmNsdWRlIDx3
dGYvdGV4dC9XVEZTdHJpbmcuaD4KLQotbmFtZXNwYWNlIFdlYktpdCB7Ci0KLSNpZiAhTE9HX0RJ
U0FCTEVEIHx8ICFSRUxFQVNFX0xPR19ESVNBQkxFRAotCi1XVEY6OkxvZ0NoYW5uZWxzJiBsb2dD
aGFubmVscygpOwotCi0jZW5kaWYgLy8gIUxPR19ESVNBQkxFRCB8fCAhUkVMRUFTRV9MT0dfRElT
QUJMRUQKLQotV1RGTG9nQ2hhbm5lbCogZ2V0TG9nQ2hhbm5lbChjb25zdCBTdHJpbmcmIG5hbWUp
OwotCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQKLQotdm9pZCBSZXBvcnREaXNjYXJkZWREZWxlZ2F0
ZUV4Y2VwdGlvbihTRUwgZGVsZWdhdGVTZWxlY3RvciwgaWQgZXhjZXB0aW9uKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL01pc2MvV2ViS2l0TG9nSW5pdGlhbGl6YXRpb24u
bW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9NaXNjL1dlYktpdExvZ0luaXRpYWxpemF0aW9u
Lm1tCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlYjRkYjljOGRmNjlhMjQwZTllN2M4
NWNhZTcxMjRlYTYwNjBlMjFlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL01pc2MvV2ViS2l0TG9nSW5pdGlhbGl6
YXRpb24ubW0KKysrIC9kZXYvbnVsbApAQCAtMSw3NCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0
IChDKSAyMDA1LTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICoKLSAqIDEuICBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICog
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KLSAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgotICogMy4gIE5laXRoZXIgdGhlIG5hbWUgb2YgQXBwbGUgSW5jLiAoIkFwcGxlIikg
bm9yIHRoZSBuYW1lcyBvZgotICogICAgIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8g
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQKLSAqICAgICBmcm9tIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0gKgotICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAi
QVMgSVMiIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKLSAqIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKLSAq
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkKLSAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCi0gKiAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7Ci0gKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKLSAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YKLSAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgIldlYktpdExvZ0lu
aXRpYWxpemF0aW9uLmgiCi0KLSNpbmNsdWRlICJXZWJLaXRMb2dnaW5nLmgiCi0jaW5jbHVkZSA8
d3RmL3RleHQvQ1N0cmluZy5oPgotCi1uYW1lc3BhY2UgV2ViS2l0IHsKLQotI2lmICFMT0dfRElT
QUJMRUQgfHwgIVJFTEVBU0VfTE9HX0RJU0FCTEVECi0KLWNsYXNzIExvZ0NoYW5uZWxzIGZpbmFs
IDogcHVibGljIFdURjo6TG9nQ2hhbm5lbHMgewotcHVibGljOgotICAgIExvZ0NoYW5uZWxzKCkK
LSAgICB7Ci0gICAgICAgIG1fbG9nQ2hhbm5lbHMgPSB7Ci0gICAgICAgICAgICBXRUJLSVRfTE9H
X0NIQU5ORUxTKExPR19DSEFOTkVMX0FERFJFU1MpCi0gICAgICAgIH07Ci0gICAgfQotCi1wcml2
YXRlOgotICAgIFN0cmluZyBsb2dMZXZlbFN0cmluZygpIGZpbmFsCi0gICAgewotICAgICAgICBz
dGF0aWMgTlNTdHJpbmcgKiBjb25zdCBkZWZhdWx0c0RvbWFpbiA9IEAiV2ViS2l0TG9nZ2luZyI7
Ci0gICAgICAgIHJldHVybiBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSBz
dHJpbmdGb3JLZXk6ZGVmYXVsdHNEb21haW5dOwotICAgIH0KLX07Ci0KLVdURjo6TG9nQ2hhbm5l
bHMmIGxvZ0NoYW5uZWxzKCkKLXsKLSAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8TG9nQ2hhbm5l
bHM+IGxvZ0NoYW5uZWxzOwotICAgIHJldHVybiBsb2dDaGFubmVscy5nZXQoKTsKLX0KLQotI2Vu
ZGlmIC8vICFMT0dfRElTQUJMRUQgfHwgIVJFTEVBU0VfTE9HX0RJU0FCTEVECi0KLX0gLy8gbmFt
ZXNwYWNlIFdlYktpdAotCi12b2lkIFJlcG9ydERpc2NhcmRlZERlbGVnYXRlRXhjZXB0aW9uKFNF
TCBkZWxlZ2F0ZVNlbGVjdG9yLCBpZCBleGNlcHRpb24pCi17Ci0gICAgaWYgKFtleGNlcHRpb24g
aXNLaW5kT2ZDbGFzczpbTlNFeGNlcHRpb24gY2xhc3NdXSkgewotICAgICAgICBOU0xvZyhAIioq
KiBXZWJLaXQgZGlzY2FyZGVkIGFuIHVuY2F1Z2h0IGV4Y2VwdGlvbiBpbiB0aGUgJXMgZGVsZWdh
dGU6IDwlQD4gJUAiLAotICAgICAgICAgICAgc2VsX2dldE5hbWUoZGVsZWdhdGVTZWxlY3Rvciks
IFtleGNlcHRpb24gbmFtZV0sIFtleGNlcHRpb24gcmVhc29uXSk7Ci0gICAgfSBlbHNlIHsKLSAg
ICAgICAgTlNMb2coQCIqKiogV2ViS2l0IGRpc2NhcmRlZCBhbiB1bmNhdWdodCBleGNlcHRpb24g
aW4gdGhlICVzIGRlbGVnYXRlOiAlQCIsCi0gICAgICAgICAgICBzZWxfZ2V0TmFtZShkZWxlZ2F0
ZVNlbGVjdG9yKSwgZXhjZXB0aW9uKTsKLSAgICB9Ci19CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9NaXNjL1dlYktpdExvZ2dpbmcuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL01pc2MvV2ViS2l0TG9nZ2luZy5oCmluZGV4IDkxMmNmNzg4ZmE0Mzk5OTkwY2E4MTlkN2M3
OGRkMzk1MjQwYjMzMTguLmYwZGNjZmY4NmU0NDY4OWM2ZDgyZTUyMWZhZTUyMzgwMGIyNzU5OWQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL01pc2MvV2ViS2l0TG9nZ2luZy5o
CisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL01pc2MvV2ViS2l0TG9nZ2luZy5oCkBAIC0x
LDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNS0yMDIxIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwNSwgMjAwNywgMjAwOCwgMjAx
MyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKQEAgLTY4LDggKzY4LDExIEBAIFdFQktJVF9MT0dfQ0hBTk5FTFMoREVDTEFSRV9M
T0dfQ0hBTk5FTCkKIAogI3VuZGVmIERFQ0xBUkVfTE9HX0NIQU5ORUwKIAordm9pZCBXZWJLaXRJ
bml0aWFsaXplTG9nQ2hhbm5lbHNJZk5lY2Vzc2FyeSh2b2lkKTsKICNlbmRpZiAvLyAhTE9HX0RJ
U0FCTEVEIHx8ICFSRUxFQVNFX0xPR19ESVNBQkxFRAogCit2b2lkIFJlcG9ydERpc2NhcmRlZERl
bGVnYXRlRXhjZXB0aW9uKFNFTCBkZWxlZ2F0ZVNlbGVjdG9yLCBpZCBleGNlcHRpb24pOworCiAj
aWZkZWYgX19jcGx1c3BsdXMKIH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvTWlzYy9XZWJLaXRMb2dnaW5nLm0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9N
aXNjL1dlYktpdExvZ2dpbmcubQppbmRleCAxMDIyY2E5OWM5NWVhMjk4MjMxNzFkODNiNzc3NWM1
MjBmZmFkM2JkLi45ZjJiZGI4YTc4MTBkM2E3MDE3M2QwYWE0NWQ2ZDUxMTExM2U5ZTA4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9NaXNjL1dlYktpdExvZ2dpbmcubQorKysg
Yi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9NaXNjL1dlYktpdExvZ2dpbmcubQpAQCAtMzMsNCAr
MzMsMzcgQEAKICNkZWZpbmUgREVGSU5FX1dFQktJVF9MT0dfQ0hBTk5FTChuYW1lKSBERUZJTkVf
TE9HX0NIQU5ORUwobmFtZSwgTE9HX0NIQU5ORUxfV0VCS0lUX1NVQlNZU1RFTSkKIFdFQktJVF9M
T0dfQ0hBTk5FTFMoREVGSU5FX1dFQktJVF9MT0dfQ0hBTk5FTCkKIAorc3RhdGljIFdURkxvZ0No
YW5uZWwqIGxvZ0NoYW5uZWxzW10gPSB7CisgICAgV0VCS0lUX0xPR19DSEFOTkVMUyhMT0dfQ0hB
Tk5FTF9BRERSRVNTKQorfTsKKworc3RhdGljIGNvbnN0IHNpemVfdCBsb2dDaGFubmVsQ291bnQg
PSBzaXplb2YobG9nQ2hhbm5lbHMpIC8gc2l6ZW9mKGxvZ0NoYW5uZWxzWzBdKTsKKworCitzdGF0
aWMgTlNTdHJpbmcgKiBjb25zdCBkZWZhdWx0c0RvbWFpbiA9IEAiV2ViS2l0TG9nZ2luZyI7CisK
K3ZvaWQgV2ViS2l0SW5pdGlhbGl6ZUxvZ0NoYW5uZWxzSWZOZWNlc3NhcnkoKQoreworICAgIHN0
YXRpYyBib29sIGhhdmVJbml0aWFsaXplZExvZ2dpbmdDaGFubmVscyA9IGZhbHNlOworICAgIGlm
IChoYXZlSW5pdGlhbGl6ZWRMb2dnaW5nQ2hhbm5lbHMpCisgICAgICAgIHJldHVybjsKKyAgICBo
YXZlSW5pdGlhbGl6ZWRMb2dnaW5nQ2hhbm5lbHMgPSB0cnVlOworCisgICAgTlNTdHJpbmcgKmxv
Z0xldmVsID0gW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gc3RyaW5nRm9y
S2V5OmRlZmF1bHRzRG9tYWluXTsKKyAgICBpZiAoIWxvZ0xldmVsKQorICAgICAgICByZXR1cm47
CisgICAgCisgICAgV1RGSW5pdGlhbGl6ZUxvZ0NoYW5uZWxTdGF0ZXNGcm9tU3RyaW5nKGxvZ0No
YW5uZWxzLCBsb2dDaGFubmVsQ291bnQsIFtsb2dMZXZlbCBVVEY4U3RyaW5nXSk7Cit9CisKICNl
bmRpZiAvLyAhTE9HX0RJU0FCTEVEIHx8ICFSRUxFQVNFX0xPR19ESVNBQkxFRAorCit2b2lkIFJl
cG9ydERpc2NhcmRlZERlbGVnYXRlRXhjZXB0aW9uKFNFTCBkZWxlZ2F0ZVNlbGVjdG9yLCBpZCBl
eGNlcHRpb24pCit7CisgICAgaWYgKFtleGNlcHRpb24gaXNLaW5kT2ZDbGFzczpbTlNFeGNlcHRp
b24gY2xhc3NdXSkKKyAgICAgICAgTlNMb2coQCIqKiogV2ViS2l0IGRpc2NhcmRlZCBhbiB1bmNh
dWdodCBleGNlcHRpb24gaW4gdGhlICVzIGRlbGVnYXRlOiA8JUA+ICVAIiwKKyAgICAgICAgICAg
IHNlbF9nZXROYW1lKGRlbGVnYXRlU2VsZWN0b3IpLCBbZXhjZXB0aW9uIG5hbWVdLCBbZXhjZXB0
aW9uIHJlYXNvbl0pOworICAgIGVsc2UKKyAgICAgICAgTlNMb2coQCIqKiogV2ViS2l0IGRpc2Nh
cmRlZCBhbiB1bmNhdWdodCBleGNlcHRpb24gaW4gdGhlICVzIGRlbGVnYXRlOiAlQCIsCisgICAg
ICAgICAgICBzZWxfZ2V0TmFtZShkZWxlZ2F0ZVNlbGVjdG9yKSwgZXhjZXB0aW9uKTsKK30KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkRyYWdD
bGllbnQubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJEcmFn
Q2xpZW50Lm1tCmluZGV4IGQwYTk1ZWI3NGM1OGJmYTA5MWMxMWQ0MDk5MTNmOGY3ZjM0MjVlYjMu
LjU1Njc0OTkwNGZkNTM2YjI1MTQ4MzA2NzlkYjhmNjZjODgyYmQ2MGEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkRyYWdDbGllbnQubW0KKysr
IGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRHJhZ0NsaWVudC5t
bQpAQCAtMzQsNyArMzQsNiBAQAogI2ltcG9ydCAiV2ViRnJhbWVJbnRlcm5hbC5oIgogI2ltcG9y
dCAiV2ViRnJhbWVWaWV3LmgiCiAjaW1wb3J0ICJXZWJIVE1MVmlld0ludGVybmFsLmgiCi0jaW1w
b3J0ICJXZWJLaXRMb2dJbml0aWFsaXphdGlvbi5oIgogI2ltcG9ydCAiV2ViS2l0TG9nZ2luZy5o
IgogI2ltcG9ydCAiV2ViS2l0TlNTdHJpbmdFeHRyYXMuaCIKICNpbXBvcnQgIldlYk5TVVJMRXh0
cmFzLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYkRl
bGVnYXRlSW1wbGVtZW50YXRpb25DYWNoaW5nLm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
V2ViVmlldy9XZWJEZWxlZ2F0ZUltcGxlbWVudGF0aW9uQ2FjaGluZy5tbQppbmRleCA0MTJlZDVi
YzU3OTNjNzJhMTVmMDE4ZTk1MTU1OTA2MjE2Y2ExYzYwLi40M2ZiMzM0NTMxZmZlN2IxNzFhM2Mw
MmMwMDZkZmQ1NzA2NzRjYThiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9X
ZWJWaWV3L1dlYkRlbGVnYXRlSW1wbGVtZW50YXRpb25DYWNoaW5nLm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViRGVsZWdhdGVJbXBsZW1lbnRhdGlvbkNhY2hpbmcu
bW0KQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA1LTIwMjEgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA1LCAyMDA2LCAy
MDA3LCAyMDA4LCAyMDA5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHly
aWdodCAoQykgMjAwNiBEYXZpZCBTbWl0aCAoY2F0ZmlzaC5tYW5AZ21haWwuY29tKQogICoKICAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dApAQCAtMjksNyArMjksNiBAQAogCiAjaW1wb3J0ICJXZWJEZWxlZ2F0ZUltcGxl
bWVudGF0aW9uQ2FjaGluZy5oIgogCi0jaW1wb3J0ICJXZWJLaXRMb2dJbml0aWFsaXphdGlvbi5o
IgogI2ltcG9ydCAiV2ViS2l0TG9nZ2luZy5oIgogI2ltcG9ydCAiV2ViVmlldy5oIgogI2ltcG9y
dCAiV2ViVmlld0RhdGEuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dl
YlZpZXcvV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmll
dy5tbQppbmRleCBhM2UxNmI4ODg0YjJlYTczNTU1ZWU3NmVjNGNjODgwZDRiZGUxZmEyLi4wNjA4
ZGE1MTk3ZGRmN2VjNjkyNWQ3MmIwOTFhYWJkODZjZWUzOGRmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCkBAIC04MSw3ICs4MSw2IEBACiAjaW1wb3J0ICJX
ZWJJbnNwZWN0b3JDbGllbnQuaCIKICNpbXBvcnQgIldlYktpdEVycm9ycy5oIgogI2ltcG9ydCAi
V2ViS2l0RnVsbFNjcmVlbkxpc3RlbmVyLmgiCi0jaW1wb3J0ICJXZWJLaXRMb2dJbml0aWFsaXph
dGlvbi5oIgogI2ltcG9ydCAiV2ViS2l0TG9nZ2luZy5oIgogI2ltcG9ydCAiV2ViS2l0TlNTdHJp
bmdFeHRyYXMuaCIKICNpbXBvcnQgIldlYktpdFN0YXRpc3RpY3NQcml2YXRlLmgiCkBAIC0xNDgx
LDggKzE0ODAsOCBAQCAtICh2b2lkKV9jb21tb25Jbml0aWFsaXphdGlvbldpdGhGcmFtZU5hbWU6
KE5TU3RyaW5nICopZnJhbWVOYW1lIGdyb3VwTmFtZTooTlNTdAogI2VuZGlmCiAgICAgaWYgKCFk
aWRPbmVUaW1lSW5pdGlhbGl6YXRpb24pIHsKICNpZiAhTE9HX0RJU0FCTEVEIHx8ICFSRUxFQVNF
X0xPR19ESVNBQkxFRAotICAgICAgICBXZWJDb3JlOjpsb2dDaGFubmVscygpLmluaXRpYWxpemVM
b2dDaGFubmVsc0lmTmVjZXNzYXJ5KCk7Ci0gICAgICAgIFdlYktpdDo6bG9nQ2hhbm5lbHMoKS5p
bml0aWFsaXplTG9nQ2hhbm5lbHNJZk5lY2Vzc2FyeSgpOworICAgICAgICBXZWJLaXRJbml0aWFs
aXplTG9nQ2hhbm5lbHNJZk5lY2Vzc2FyeSgpOworICAgICAgICBXZWJDb3JlOjppbml0aWFsaXpl
TG9nQ2hhbm5lbHNJZk5lY2Vzc2FyeSgpOwogI2VuZGlmCiAKICAgICAgICAgLy8gSW5pdGlhbGl6
ZSBvdXIgcGxhdGZvcm0gc3RyYXRlZ2llcyBmaXJzdCBiZWZvcmUgaW52b2tpbmcgdGhlIHJlc3QK
</data>

          </attachment>
      

    </bug>

</bugzilla>