<?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>217787</bug_id>
          
          <creation_ts>2020-10-15 14:53:57 -0700</creation_ts>
          <short_desc>Drop legacy code using AssertionServices</short_desc>
          <delta_ts>2020-10-20 09:25:48 -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>WebKit2</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>darin</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>jer.noble</cc>
    
    <cc>sam</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1698292</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-10-15 14:53:57 -0700</bug_when>
    <thetext>Drop legacy code using AssertionServices as this framework is deprecated in favor of RunningBoard. All our code has been ported to RunningBoard already.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1698293</commentid>
    <comment_count>1</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-10-15 14:54:14 -0700</bug_when>
    <thetext>&lt;rdar://problem/70160942&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1698298</commentid>
    <comment_count>2</comment_count>
      <attachid>411495</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-10-15 14:57:49 -0700</bug_when>
    <thetext>Created attachment 411495
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1698320</commentid>
    <comment_count>3</comment_count>
      <attachid>411495</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-10-15 15:28:57 -0700</bug_when>
    <thetext>Comment on attachment 411495
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=411495&amp;action=review

&gt; Source/WebKit/UIProcess/ios/ProcessAssertionIOS.mm:352
&gt; +    return m_rbsAssertion ? m_rbsAssertion.get().valid : false;

Maybe use &amp;&amp;?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1698356</commentid>
    <comment_count>4</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-10-15 16:31:00 -0700</bug_when>
    <thetext>Hmm. Looks like our iOS EWS is still running iOS 13 and is thus having a bad time... I guess I need to wait until our bots are all upgraded to iOS 14.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1699426</commentid>
    <comment_count>5</comment_count>
      <attachid>411795</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-10-19 14:11:43 -0700</bug_when>
    <thetext>Created attachment 411795
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1699437</commentid>
    <comment_count>6</comment_count>
      <attachid>411795</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-10-19 14:27:03 -0700</bug_when>
    <thetext>Comment on attachment 411795
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=411795&amp;action=review

&gt; Source/WebKit/UIProcess/ios/ProcessAssertionIOS.mm:352
&gt; +    return m_rbsAssertion ? m_rbsAssertion.get().valid : false;

Maybe &amp;&amp;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1699438</commentid>
    <comment_count>7</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-10-19 14:27:36 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #6)
&gt; Comment on attachment 411795 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=411795&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/UIProcess/ios/ProcessAssertionIOS.mm:352
&gt; &gt; +    return m_rbsAssertion ? m_rbsAssertion.get().valid : false;
&gt; 
&gt; Maybe &amp;&amp;

Oh, I missed that. Will fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1699439</commentid>
    <comment_count>8</comment_count>
      <attachid>411800</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-10-19 14:28:20 -0700</bug_when>
    <thetext>Created attachment 411800
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1699765</commentid>
    <comment_count>9</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-10-20 09:25:48 -0700</bug_when>
    <thetext>Committed r268736: &lt;https://trac.webkit.org/changeset/268736&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 411800.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>411495</attachid>
            <date>2020-10-15 14:57:49 -0700</date>
            <delta_ts>2020-10-19 14:11:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-217787-20201015145748.patch</filename>
            <type>text/plain</type>
            <size>42338</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY4NTU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGVlMjAwN2VmMDNiYjAxYWNk
NWJiMjk5OTBjZGQ5OGUwZmU1NTkzZTMuLjhjNzMyZmYyZTk0YjAyY2U2ZjNiZTNkN2ZlMjMzODBi
NDM1NTgzYjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzAgQEAKKzIwMjAtMTAtMTUgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBEcm9wIGxlZ2FjeSBjb2RlIHVzaW5n
IEFzc2VydGlvblNlcnZpY2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMTc3ODcKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzcwMTYwOTQyPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERyb3AgbGVnYWN5
IGNvZGUgdXNpbmcgQXNzZXJ0aW9uU2VydmljZXMgYXMgdGhpcyBmcmFtZXdvcmsgaXMgZGVwcmVj
YXRlZCBpbiBmYXZvciBvZgorICAgICAgICBSdW5uaW5nQm9hcmQuIEFsbCBvdXIgY29kZSBoYXMg
YmVlbiBwb3J0ZWQgdG8gUnVubmluZ0JvYXJkIGFscmVhZHkuCisKKyAgICAgICAgKiBDb25maWd1
cmF0aW9ucy9XZWJLaXQueGNjb25maWc6CisgICAgICAgICogUGxhdGZvcm0vc3BpL2lvcy9Bc3Nl
cnRpb25TZXJ2aWNlc1NQSS5oOiBSZW1vdmVkLgorICAgICAgICAqIFNoYXJlZC9Db2NvYS9Qcm9j
ZXNzVGFza1N0YXRlT2JzZXJ2ZXIuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBTaGFyZWQvQ29jb2Ev
UHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyLm1tOiBSZW1vdmVkLgorICAgICAgICAqIFVJUHJvY2Vz
cy9BcHBsaWNhdGlvblN0YXRlVHJhY2tlci5tbToKKyAgICAgICAgKiBVSVByb2Nlc3MvUHJvY2Vz
c0Fzc2VydGlvbi5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1Mu
bW06CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9Qcm9jZXNzQXNzZXJ0aW9uSU9TLm1tOgorICAg
ICAgICAoLVtXS1Byb2Nlc3NBc3NlcnRpb25CYWNrZ3JvdW5kVGFza01hbmFnZXIgaW5pdF0pOgor
ICAgICAgICAoLVtXS1Byb2Nlc3NBc3NlcnRpb25CYWNrZ3JvdW5kVGFza01hbmFnZXIgX2hhc0Jh
Y2tncm91bmRUYXNrXSk6CisgICAgICAgICgtW1dLUHJvY2Vzc0Fzc2VydGlvbkJhY2tncm91bmRU
YXNrTWFuYWdlciBfdXBkYXRlQmFja2dyb3VuZFRhc2tdKToKKyAgICAgICAgKC1bV0tQcm9jZXNz
QXNzZXJ0aW9uQmFja2dyb3VuZFRhc2tNYW5hZ2VyIGFzc2VydGlvbjpkaWRJbnZhbGlkYXRlV2l0
aEVycm9yOl0pOgorICAgICAgICAoLVtXS1Byb2Nlc3NBc3NlcnRpb25CYWNrZ3JvdW5kVGFza01h
bmFnZXIgX3JlbGVhc2VCYWNrZ3JvdW5kVGFza10pOgorICAgICAgICAqIFdlYktpdC54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFdlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vz
c0NvY29hLm1tOgorCiAyMDIwLTEwLTE1ICBBZGl0eWEgS2VlcnRoaSAgPGFrZWVydGhpQGFwcGxl
LmNvbT4KIAogICAgICAgICBDcmFzaCBpbiAtW1dLRGF0ZVRpbWVQaWNrZXIgc2V0RGF0ZVRpbWVQ
aWNrZXJUb0luaXRpYWxWYWx1ZV0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3Jt
SGF2ZS5oIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1IYXZlLmgKaW5kZXggZjYyODQ2MTdiMzBm
YmE2NDg0NzY0ZmE0Y2YxNTY2OGZmZTNiZTA4NC4uZTU0YWUwNzBjNzQ5NDU1OTM3YjZjYzlmZTA4
YTg0YWYwYTk2MzkzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1IYXZlLmgK
KysrIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1IYXZlLmgKQEAgLTQxNCwxMiArNDE0LDYgQEAK
ICNkZWZpbmUgSEFWRV9DRk5FVFdPUktfQUxURVJOQVRJVkVfU0VSVklDRSAxCiAjZW5kaWYKIAot
I2lmIChQTEFURk9STShJT1NfRkFNSUxZKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFV
SVJFRCA+PSAxNDAwMDApIFwKLSAgICB8fCAoUExBVEZPUk0oV0FUQ0hPUykgJiYgX19XQVRDSF9P
U19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSA3MDAwMCkgXAotICAgIHx8IChQTEFURk9STShBUFBM
RVRWKSAmJiBfX1RWX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDE0MDAwMCkKLSNkZWZpbmUg
SEFWRV9SVU5OSU5HQk9BUkRfVklTSUJJTElUWV9BU1NFUlRJT05TIDEKLSNlbmRpZgotCiAjaWYg
UExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUw
MAogI2RlZmluZSBIQVZFX0NTQ0hFQ0tGSVhESVNBQkxFIDEKICNlbmRpZgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9XZWJLaXQueGNjb25maWcgYi9Tb3VyY2UvV2Vi
S2l0L0NvbmZpZ3VyYXRpb25zL1dlYktpdC54Y2NvbmZpZwppbmRleCBmM2I3ZWJlMWJiNWE0MDY3
YTFlNmQ2YzcyMDA1OGQwZmZkNjNjZTA0Li44ZDlmMjczZDExNDlmZWE1ZWUzZjk2ZWI0MzhjNjIy
YjU3NDUyMGE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL1dlYktp
dC54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL1dlYktpdC54Y2Nv
bmZpZwpAQCAtNDksMTcgKzQ5LDYgQEAgV0tfQVBQS0lUX0xERkxBR1MgPSAkKFdLX0FQUEtJVF9M
REZMQUdTXyQoV0tfUExBVEZPUk1fTkFNRSkpOwogV0tfQVBQS0lUX0xERkxBR1NfbWFjb3N4ID0g
LWZyYW1ld29yayBBcHBLaXQ7CiBXS19BUFBLSVRfTERGTEFHU19tYWNjYXRhbHlzdCA9IC1mcmFt
ZXdvcmsgQXBwS2l0OwogCi1XS19BU1NFUlRJT05fU0VSVklDRVNfTERGTEFHUyA9ICQoV0tfQVNT
RVJUSU9OX1NFUlZJQ0VTX0xERkxBR1NfJChXS19QTEFURk9STV9OQU1FKSk7Ci1XS19BU1NFUlRJ
T05fU0VSVklDRVNfTERGTEFHU19pcGhvbmVvcyA9ICQoV0tfQVNTRVJUSU9OX1NFUlZJQ0VTX0xE
RkxBR1MkKFdLX0lPU18xNCkpOwotV0tfQVNTRVJUSU9OX1NFUlZJQ0VTX0xERkxBR1NfaXBob25l
c2ltdWxhdG9yID0gJChXS19BU1NFUlRJT05fU0VSVklDRVNfTERGTEFHUyQoV0tfSU9TXzE0KSk7
Ci1XS19BU1NFUlRJT05fU0VSVklDRVNfTERGTEFHU19JT1NfQkVGT1JFXzE0ID0gLWZyYW1ld29y
ayBBc3NlcnRpb25TZXJ2aWNlczsKLS8vIEZJWE1FOiBJdCBpcyB1bm5lY2Vzc2FyeSB0byBsaW5r
IGFnYWluc3QgQXNzZXJ0aW9uU2VydmljZXMgd2l0aCB0aGUgbGF0ZXN0IFNESyBmb3IgdGhlIGZv
bGxvd2luZyBwbGF0Zm9ybXMgdG9vLgotV0tfQVNTRVJUSU9OX1NFUlZJQ0VTX0xERkxBR1Nfd2F0
Y2hvcyA9IC1mcmFtZXdvcmsgQXNzZXJ0aW9uU2VydmljZXM7Ci1XS19BU1NFUlRJT05fU0VSVklD
RVNfTERGTEFHU193YXRjaHNpbXVsYXRvciA9IC1mcmFtZXdvcmsgQXNzZXJ0aW9uU2VydmljZXM7
Ci1XS19BU1NFUlRJT05fU0VSVklDRVNfTERGTEFHU19hcHBsZXR2b3MgPSAtZnJhbWV3b3JrIEFz
c2VydGlvblNlcnZpY2VzOwotV0tfQVNTRVJUSU9OX1NFUlZJQ0VTX0xERkxBR1NfYXBwbGV0dnNp
bXVsYXRvciA9IC1mcmFtZXdvcmsgQXNzZXJ0aW9uU2VydmljZXM7Ci1XS19BU1NFUlRJT05fU0VS
VklDRVNfTERGTEFHU19tYWNjYXRhbHlzdCA9IC1mcmFtZXdvcmsgQXNzZXJ0aW9uU2VydmljZXM7
Ci0KIFdLX0JBQ0tCT0FSRF9TRVJWSUNFU19MREZMQUdTID0gJChXS19CQUNLQk9BUkRfU0VSVklD
RVNfTERGTEFHU18kKFdLX1BMQVRGT1JNX05BTUUpKTsKIFdLX0JBQ0tCT0FSRF9TRVJWSUNFU19M
REZMQUdTX2lwaG9uZW9zID0gLWZyYW1ld29yayBCYWNrQm9hcmRTZXJ2aWNlczsKIFdLX0JBQ0tC
T0FSRF9TRVJWSUNFU19MREZMQUdTX2lwaG9uZXNpbXVsYXRvciA9IC1mcmFtZXdvcmsgQmFja0Jv
YXJkU2VydmljZXM7CkBAIC0xMjksNyArMTE4LDcgQEAgV0tfQVVUSEtJVF9MREZMQUdTX0lPU19T
SU5DRV8xMyA9IC1mcmFtZXdvcmsgQXV0aEtpdDsKIFdLX0FVVEhLSVRfTERGTEFHU19tYWNvc3gg
PSAkKFdLX0FVVEhLSVRfTERGTEFHUyQoV0tfTUFDT1NfMTAxNSkpOwogV0tfQVVUSEtJVF9MREZM
QUdTX01BQ09TX1NJTkNFXzEwMTUgPSAtZnJhbWV3b3JrIEF1dGhLaXQ7CiAKLUZSQU1FV09SS19B
TkRfTElCUkFSWV9MREZMQUdTID0gLWxvYmpjIC1mcmFtZXdvcmsgQ0ZOZXR3b3JrIC1mcmFtZXdv
cmsgQ29yZUF1ZGlvIC1mcmFtZXdvcmsgQ29yZUZvdW5kYXRpb24gLWZyYW1ld29yayBDb3JlR3Jh
cGhpY3MgLWZyYW1ld29yayBDb3JlVGV4dCAtZnJhbWV3b3JrIEZvdW5kYXRpb24gLWZyYW1ld29y
ayBJbWFnZUlPIC1mcmFtZXdvcmsgSU9LaXQgLWZyYW1ld29yayBJT1N1cmZhY2UgLWZyYW1ld29y
ayBXZWJLaXRMZWdhY3kgLWxuZXR3b3JrICQoV0tfQUNDRVNTSUJJTElUWV9MREZMQUdTKSAkKFdL
X0FQUEtJVF9MREZMQUdTKSAkKFdLX0FTU0VSVElPTl9TRVJWSUNFU19MREZMQUdTKSAkKFdLX0JB
Q0tCT0FSRF9TRVJWSUNFU19MREZMQUdTKSAkKFdLX1JVTk5JTkdCT0FSRF9TRVJWSUNFU19MREZM
QUdTKSAkKFdLX0FVVEhLSVRfTERGTEFHUykgJChXS19DQVJCT05fTERGTEFHUykgJChXS19DT1JF
X1BSRURJQ1RJT05fTERGTEFHUykgJChXS19DT1JFX1NFUlZJQ0VTX0xERkxBR1MpICQoV0tfR1JB
UEhJQ1NfU0VSVklDRVNfTERGTEFHUykgJChXS19MSUJTQU5EQk9YX0xERkxBR1MpICQoV0tfTElC
V0VCUlRDX0xERkxBR1MpICQoV0tfTU9CSUxFX0NPUkVfU0VSVklDRVNfTERGTEFHUykgJChXS19N
T0JJTEVfR0VTVEFMVF9MREZMQUdTKSAkKFdLX1BERktJVF9MREZMQUdTKSAkKFdLX1NBRkVfQlJP
V1NJTkdfTERGTEFHUykgJChXS19TRUNVUklUWV9JTlRFUkZBQ0VfTERGTEFHUykgJChXS19VSUtJ
VF9MREZMQUdTKSAkKFdLX1VSTF9GT1JNQVRUSU5HX0xERkxBR1MpICQoV0tfV0VCSU5TUEVDVE9S
VUlfTERGTEFHUyk7CitGUkFNRVdPUktfQU5EX0xJQlJBUllfTERGTEFHUyA9IC1sb2JqYyAtZnJh
bWV3b3JrIENGTmV0d29yayAtZnJhbWV3b3JrIENvcmVBdWRpbyAtZnJhbWV3b3JrIENvcmVGb3Vu
ZGF0aW9uIC1mcmFtZXdvcmsgQ29yZUdyYXBoaWNzIC1mcmFtZXdvcmsgQ29yZVRleHQgLWZyYW1l
d29yayBGb3VuZGF0aW9uIC1mcmFtZXdvcmsgSW1hZ2VJTyAtZnJhbWV3b3JrIElPS2l0IC1mcmFt
ZXdvcmsgSU9TdXJmYWNlIC1mcmFtZXdvcmsgV2ViS2l0TGVnYWN5IC1sbmV0d29yayAkKFdLX0FD
Q0VTU0lCSUxJVFlfTERGTEFHUykgJChXS19BUFBLSVRfTERGTEFHUykgJChXS19CQUNLQk9BUkRf
U0VSVklDRVNfTERGTEFHUykgJChXS19SVU5OSU5HQk9BUkRfU0VSVklDRVNfTERGTEFHUykgJChX
S19BVVRIS0lUX0xERkxBR1MpICQoV0tfQ0FSQk9OX0xERkxBR1MpICQoV0tfQ09SRV9QUkVESUNU
SU9OX0xERkxBR1MpICQoV0tfQ09SRV9TRVJWSUNFU19MREZMQUdTKSAkKFdLX0dSQVBISUNTX1NF
UlZJQ0VTX0xERkxBR1MpICQoV0tfTElCU0FOREJPWF9MREZMQUdTKSAkKFdLX0xJQldFQlJUQ19M
REZMQUdTKSAkKFdLX01PQklMRV9DT1JFX1NFUlZJQ0VTX0xERkxBR1MpICQoV0tfTU9CSUxFX0dF
U1RBTFRfTERGTEFHUykgJChXS19QREZLSVRfTERGTEFHUykgJChXS19TQUZFX0JST1dTSU5HX0xE
RkxBR1MpICQoV0tfU0VDVVJJVFlfSU5URVJGQUNFX0xERkxBR1MpICQoV0tfVUlLSVRfTERGTEFH
UykgJChXS19VUkxfRk9STUFUVElOR19MREZMQUdTKSAkKFdLX1dFQklOU1BFQ1RPUlVJX0xERkxB
R1MpOwogCiAvLyBQcmV2ZW50IEMrKyBzdGFuZGFyZCBsaWJyYXJ5IGJhc2ljX3N0cmluZ3N0cmVh
bSwgb3BlcmF0b3IgbmV3LCBkZWxldGUgYW5kIHRoZWlyIHJlbGF0ZWQgZXhjZXB0aW9uIHR5cGVz
IGZyb20gYmVpbmcgZXhwb3J0ZWQgYXMgd2VhayBzeW1ib2xzLgogVU5FWFBPUlRFRF9TWU1CT0xf
TERGTEFHUyA9IC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWlRJU3Q5YmFkX2FsbG9jIC1X
bCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWlRJU3Q5ZXhjZXB0aW9uIC1XbCwtdW5leHBvcnRl
ZF9zeW1ib2wgLVdsLF9fWlRTU3Q5YmFkX2FsbG9jIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVds
LF9fWlRTU3Q5ZXhjZXB0aW9uIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWmRsUHZTXyAt
V2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pud21QdiAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9s
IC1XbCxfX1pud20gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aTlN0M19fMThmdW5jdGlv
bklGdk43V2ViQ29yZTEyUG9saWN5QWN0aW9uRUVFQzJFT1M0XyAtV2wsLXVuZXhwb3J0ZWRfc3lt
Ym9sIC1XbCxfX1pOU3QzX18xOGZ1bmN0aW9uSUZ2TjdXZWJDb3JlMTJQb2xpY3lBY3Rpb25FRUVD
MUVPUzRfIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWk5TdDNfXzE4ZnVuY3Rpb25JRnZO
N1dlYkNvcmUxMlBvbGljeUFjdGlvbkVFRWFTRURuIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVds
LF9fWk5LU3QzX18xOGZ1bmN0aW9uSUZ2TjdXZWJDb3JlMTJQb2xpY3lBY3Rpb25FRUVjbEVTMl8g
LVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aTlN0M19fMThmdW5jdGlvbklGdk43V2ViQ29y
ZTEyUG9saWN5QWN0aW9uRUVFNHN3YXBFUlM0XyAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxf
X1pOU3QzX18xOGZ1bmN0aW9uSUZ2TjdXZWJDb3JlMTJQb2xpY3lBY3Rpb25FRUVDMUVSS1M0XyAt
V2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pOU3QzX18xOGZ1bmN0aW9uSUZ2TjdXZWJDb3Jl
MTJQb2xpY3lBY3Rpb25FRUVDMkVSS1M0XyAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pO
U3QzX18xOGZ1bmN0aW9uSUZ2TjdXZWJDb3JlMTJQb2xpY3lBY3Rpb25FRUVEMUV2IC1XbCwtdW5l
eHBvcnRlZF9zeW1ib2wgLVdsLF9fWk5TdDNfXzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBvbGlj
eUFjdGlvbkVFRUQyRXYgLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aTlN0M19fMThmdW5j
dGlvbklGdk43V2ViQ29yZTEyUG9saWN5QWN0aW9uRUVFYVNFUktTNF8gLVdsLC11bmV4cG9ydGVk
X3N5bWJvbCAtV2wsX19aVFZOU3QzX18xMTdiYWRfZnVuY3Rpb25fY2FsbEUgLVdsLC11bmV4cG9y
dGVkX3N5bWJvbCAtV2wsX19aVENOU3QzX18xMThiYXNpY19zdHJpbmdzdHJlYW1JY05TXzExY2hh
cl90cmFpdHNJY0VFTlNfOWFsbG9jYXRvckljRUVFRTBfTlNfMTNiYXNpY19pc3RyZWFtSWNTMl9F
RSAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pUQ05TdDNfXzExOGJhc2ljX3N0cmluZ3N0
cmVhbUljTlNfMTFjaGFyX3RyYWl0c0ljRUVOU185YWxsb2NhdG9ySWNFRUVFMF9OU18xNGJhc2lj
X2lvc3RyZWFtSWNTMl9FRSAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pUQ05TdDNfXzEx
OGJhc2ljX3N0cmluZ3N0cmVhbUljTlNfMTFjaGFyX3RyYWl0c0ljRUVOU185YWxsb2NhdG9ySWNF
RUVFMTZfTlNfMTNiYXNpY19vc3RyZWFtSWNTMl9FRSAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1X
bCxfX1pUVE5TdDNfXzExOGJhc2ljX3N0cmluZ3N0cmVhbUljTlNfMTFjaGFyX3RyYWl0c0ljRUVO
U185YWxsb2NhdG9ySWNFRUVFIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWlRWTlN0M19f
MTE1YmFzaWNfc3RyaW5nYnVmSWNOU18xMWNoYXJfdHJhaXRzSWNFRU5TXzlhbGxvY2F0b3JJY0VF
RUUgLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aVFZOU3QzX18xMThiYXNpY19zdHJpbmdz
dHJlYW1JY05TXzExY2hhcl90cmFpdHNJY0VFTlNfOWFsbG9jYXRvckljRUVFRSAtV2wsLXVuZXhw
b3J0ZWRfc3ltYm9sIC1XbCxfX1pUQ05TdDNfXzExOGJhc2ljX3N0cmluZ3N0cmVhbUljTlNfMTFj
aGFyX3RyYWl0c0ljRUVOU185YWxsb2NhdG9ySWNFRUVFOF9OU18xM2Jhc2ljX29zdHJlYW1JY1My
X0VFOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9zcGkvaW9zL0Fzc2VydGlv
blNlcnZpY2VzU1BJLmggYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL3NwaS9pb3MvQXNzZXJ0aW9u
U2VydmljZXNTUEkuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTc1ZTg4MDJmYTg2
NTIzM2NmNzE2NDA5Zjc0MjI2Y2UwNzdmMjIyOS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL3NwaS9pb3MvQXNzZXJ0
aW9uU2VydmljZXNTUEkuaAorKysgL2Rldi9udWxsCkBAIC0xLDExNyArMCwwIEBACi0vKgotICog
Q29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0g
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJ
UycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0g
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2ltcG9ydCA8Rm91bmRhdGlv
bi9Gb3VuZGF0aW9uLmg+Ci0KLSNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQotCi0jaW1wb3J0
IDxBc3NlcnRpb25TZXJ2aWNlcy9CS1NBcHBsaWNhdGlvblN0YXRlTW9uaXRvci5oPgotI2ltcG9y
dCA8QXNzZXJ0aW9uU2VydmljZXMvQktTUHJvY2Vzcy5oPgotI2ltcG9ydCA8QXNzZXJ0aW9uU2Vy
dmljZXMvQktTUHJvY2Vzc0Fzc2VydGlvbi5oPgotCi0jZWxzZQotCi1lbnVtIHsKLSAgICBCS1NB
cHBsaWNhdGlvblN0YXRlVW5rbm93biAgICAgICAgICAgICAgICAgICAgICA9IDAsCi0gICAgQktT
QXBwbGljYXRpb25TdGF0ZVRlcm1pbmF0ZWQgICAgICAgICAgICAgICAgICAgPSAoMSA8PCAwKSwK
LSAgICBCS1NBcHBsaWNhdGlvblN0YXRlQmFja2dyb3VuZFRhc2tTdXNwZW5kZWQgICAgICA9ICgx
IDw8IDEpLAotICAgIEJLU0FwcGxpY2F0aW9uU3RhdGVCYWNrZ3JvdW5kUnVubmluZyAgICAgICAg
ICAgID0gKDEgPDwgMiksCi0gICAgQktTQXBwbGljYXRpb25TdGF0ZUZvcmVncm91bmRSdW5uaW5n
ICAgICAgICAgICAgPSAoMSA8PCAzKSwKLSAgICBCS1NBcHBsaWNhdGlvblN0YXRlUHJvY2Vzc1Nl
cnZlciAgICAgICAgICAgICAgICA9ICgxIDw8IDQpLAotICAgIEJLU0FwcGxpY2F0aW9uU3RhdGVG
b3JlZ3JvdW5kUnVubmluZ09ic2N1cmVkICAgID0gKDEgPDwgNSksCi19OwotdHlwZWRlZiB1aW50
MzJfdCBCS1NBcHBsaWNhdGlvblN0YXRlOwotCi1leHRlcm4gTlNTdHJpbmcgKiBjb25zdCBCS1NB
cHBsaWNhdGlvblN0YXRlTW9zdEVsZXZhdGVkU3RhdGVGb3JQcm9jZXNzSURLZXk7Ci1leHRlcm4g
TlNTdHJpbmcgKiBjb25zdCBCS1NBcHBsaWNhdGlvblN0YXRlUHJvY2Vzc0lES2V5OwotCi10eXBl
ZGVmIHZvaWQoXkJLU0FwcGxpY2F0aW9uU3RhdGVDaGFuZ2VkSGFuZGxlcikoTlNEaWN0aW9uYXJ5
ICp1c2VySW5mbyk7Ci0KLUBpbnRlcmZhY2UgQktTQXBwbGljYXRpb25TdGF0ZU1vbml0b3IgOiBO
U09iamVjdAotCi1AcHJvcGVydHkgKG5vbmF0b21pYywgY29weSkgQktTQXBwbGljYXRpb25TdGF0
ZUNoYW5nZWRIYW5kbGVyIGhhbmRsZXI7Ci0KLS0gKEJLU0FwcGxpY2F0aW9uU3RhdGUpbW9zdEVs
ZXZhdGVkQXBwbGljYXRpb25TdGF0ZUZvclBJRDoocGlkX3QpcGlkOwotLSAodm9pZClpbnZhbGlk
YXRlOwotCi1AZW5kCi0KLWVudW0gewotICAgIEJLU1Byb2Nlc3NBc3NlcnRpb25Ob25lID0gMCwK
LSAgICBCS1NQcm9jZXNzQXNzZXJ0aW9uUHJldmVudFRhc2tTdXNwZW5kICA9IDEgPDwgMCwKLSAg
ICBCS1NQcm9jZXNzQXNzZXJ0aW9uUHJldmVudFRhc2tUaHJvdHRsZURvd24gPSAxIDw8IDEsCi0g
ICAgQktTUHJvY2Vzc0Fzc2VydGlvbkFsbG93SWRsZVNsZWVwID0gMSA8PCAyLAotICAgIEJLU1By
b2Nlc3NBc3NlcnRpb25XYW50c0ZvcmVncm91bmRSZXNvdXJjZVByaW9yaXR5ID0gMSA8PCAzLAot
ICAgIEJLU1Byb2Nlc3NBc3NlcnRpb25BbGxvd1N1c3BlbmRPblNsZWVwID0gMSA8PCA0LAotfTsK
LXR5cGVkZWYgdWludDMyX3QgQktTUHJvY2Vzc0Fzc2VydGlvbkZsYWdzOwotCi1lbnVtIHsKLSAg
ICBCS1NQcm9jZXNzQXNzZXJ0aW9uUmVhc29uTWVkaWFQbGF5YmFjayA9IDEsCi0gICAgQktTUHJv
Y2Vzc0Fzc2VydGlvblJlYXNvbkZpbmlzaFRhc2sgPSA0LAotICAgIEJLU1Byb2Nlc3NBc3NlcnRp
b25SZWFzb25FeHRlbnNpb24gPSAxMywKLSAgICBCS1NQcm9jZXNzQXNzZXJ0aW9uUmVhc29uRmlu
aXNoVGFza1VuYm91bmRlZCA9IDEwMDA0LAotfTsKLXR5cGVkZWYgdWludDMyX3QgQktTUHJvY2Vz
c0Fzc2VydGlvblJlYXNvbjsKLQotdHlwZWRlZiB2b2lkICheQktTUHJvY2Vzc0Fzc2VydGlvbklu
dmFsaWRhdGlvbkhhbmRsZXIpKHZvaWQpOwotdHlwZWRlZiB2b2lkICheQktTUHJvY2Vzc0Fzc2Vy
dGlvbkFjcXVpc2l0aW9uSGFuZGxlcikoQk9PTCBhY3F1aXJlZCk7Ci0KLUBpbnRlcmZhY2UgQktT
UHJvY2Vzc0Fzc2VydGlvbiA6IE5TT2JqZWN0Ci1AZW5kCi0KLUBpbnRlcmZhY2UgQktTUHJvY2Vz
c0Fzc2VydGlvbiAoKQotQHByb3BlcnR5IChub25hdG9taWMsIGFzc2lnbikgQktTUHJvY2Vzc0Fz
c2VydGlvbkZsYWdzIGZsYWdzOwotLSAoaWQpaW5pdFdpdGhQSUQ6KHBpZF90KXBpZCBmbGFnczoo
QktTUHJvY2Vzc0Fzc2VydGlvbkZsYWdzKWZsYWdzIHJlYXNvbjooQktTUHJvY2Vzc0Fzc2VydGlv
blJlYXNvbilyZWFzb24gbmFtZTooTlNTdHJpbmcgKiluYW1lIHdpdGhIYW5kbGVyOihCS1NQcm9j
ZXNzQXNzZXJ0aW9uQWNxdWlzaXRpb25IYW5kbGVyKWhhbmRsZXI7Ci0KLUBwcm9wZXJ0eSAobm9u
YXRvbWljLCByZWFkb25seSkgQk9PTCB2YWxpZDsKLUBwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5
KSBCS1NQcm9jZXNzQXNzZXJ0aW9uSW52YWxpZGF0aW9uSGFuZGxlciBpbnZhbGlkYXRpb25IYW5k
bGVyOwotLSAodm9pZClpbnZhbGlkYXRlOwotQGVuZAotCi1lbnVtIHsKLSAgICBCS1NQcm9jZXNz
VGFza1N0YXRlTm9uZSwKLSAgICBCS1NQcm9jZXNzVGFza1N0YXRlUnVubmluZywKLSAgICBCS1NQ
cm9jZXNzVGFza1N0YXRlU3VzcGVuZGVkLAotfTsKLXR5cGVkZWYgdWludDMyX3QgQktTUHJvY2Vz
c1Rhc2tTdGF0ZTsKLQotQGNsYXNzIEJLU1Byb2Nlc3M7Ci0KLUBwcm90b2NvbCBCS1NQcm9jZXNz
RGVsZWdhdGUgPE5TT2JqZWN0PgotQG9wdGlvbmFsCi0tICh2b2lkKXByb2Nlc3M6KEJLU1Byb2Nl
c3MgKilwcm9jZXNzIHRhc2tTdGF0ZURpZENoYW5nZTooQktTUHJvY2Vzc1Rhc2tTdGF0ZSluZXdT
dGF0ZTsKLUBlbmQKLQotQGludGVyZmFjZSBCS1NQcm9jZXNzIDogTlNPYmplY3QKLUBlbmQKLQot
QGludGVyZmFjZSBCS1NQcm9jZXNzICgpCi0rIChCS1NQcm9jZXNzICopY3VycmVudFByb2Nlc3M7
Ci1AcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZHdyaXRlLCB3ZWFrKSBpZCA8QktTUHJvY2Vzc0Rl
bGVnYXRlPiBkZWxlZ2F0ZTsKLUBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSwgYXNzaWdu
KSBCS1NQcm9jZXNzVGFza1N0YXRlIHRhc2tTdGF0ZTsKLUBlbmQKLQotI2VuZGlmCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9Qcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXIu
aCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL1Byb2Nlc3NUYXNrU3RhdGVPYnNlcnZlci5o
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4ZmNkZjk3OTBmYWI1MDVhYTczNTVlOGQw
YTVkMDhhNjVlNzE0OTE5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL1Byb2Nlc3NUYXNrU3RhdGVPYnNlcnZl
ci5oCisrKyAvZGV2L251bGwKQEAgLTEsNzQgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykg
MjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0g
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNwcmFnbWEg
b25jZQotCi0jaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKLQotI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+
Ci0jaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgotI2luY2x1ZGUgPHd0Zi9UaHJlYWRTYWZlUmVm
Q291bnRlZC5oPgotCi1PQkpDX0NMQVNTIFdLUHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyRGVsZWdh
dGU7Ci1PQkpDX0NMQVNTIEJLU1Byb2Nlc3M7Ci0KLW5hbWVzcGFjZSBXZWJLaXQgewotCi1jbGFz
cyBQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXIgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8
UHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyPiB7Ci1wdWJsaWM6Ci0gICAgY2xhc3MgQ2xpZW50Owot
Ci0gICAgc3RhdGljIFJlZjxQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXI+IGNyZWF0ZShDbGllbnQm
KTsKLSAgICB+UHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyKCk7Ci0gICAgCi0gICAgZW51bSBUYXNr
U3RhdGUgewotICAgICAgICBOb25lLAotICAgICAgICBSdW5uaW5nLAotICAgICAgICBTdXNwZW5k
ZWQsCi0gICAgfTsKLQotICAgIGNsYXNzIENsaWVudCB7Ci0gICAgcHVibGljOgotICAgICAgICB2
aXJ0dWFsIH5DbGllbnQoKSA9IGRlZmF1bHQ7Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBwcm9jZXNz
VGFza1N0YXRlRGlkQ2hhbmdlKFRhc2tTdGF0ZSkgPSAwOwotICAgIH07Ci0KLSAgICB2b2lkIGlu
dmFsaWRhdGUoKTsKLSAgICBUYXNrU3RhdGUgdGFza1N0YXRlKCkgY29uc3QgeyByZXR1cm4gbV90
YXNrU3RhdGU7IH0KLQotcHJpdmF0ZToKLSAgICBleHBsaWNpdCBQcm9jZXNzVGFza1N0YXRlT2Jz
ZXJ2ZXIoQ2xpZW50Jik7Ci0gICAgdm9pZCBzZXRUYXNrU3RhdGUoVGFza1N0YXRlKTsKLQotICAg
IENsaWVudCogbV9jbGllbnQ7Ci0gICAgTG9jayBtX2NsaWVudExvY2s7Ci0gICAgVGFza1N0YXRl
IG1fdGFza1N0YXRlIHsgTm9uZSB9OwotICAgIFJldGFpblB0cjxCS1NQcm9jZXNzPiBtX3Byb2Nl
c3M7Ci0gICAgUmV0YWluUHRyPFdLUHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyRGVsZWdhdGU+IG1f
ZGVsZWdhdGU7Ci19OwotCi19Ci0KLSNlbmRpZiAvLyBQTEFURk9STShJT1NfRkFNSUxZKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvUHJvY2Vzc1Rhc2tTdGF0ZU9ic2Vy
dmVyLm1tIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvUHJvY2Vzc1Rhc2tTdGF0ZU9ic2Vy
dmVyLm1tCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlNjBiNGI4YmFjYTZmYzRlNWI2
ZDE5MWExOTk3YTQxZGYwOTBiODM0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL1Byb2Nlc3NUYXNrU3RhdGVP
YnNlcnZlci5tbQorKysgL2Rldi9udWxsCkBAIC0xLDExNSArMCwwIEBACi0vKgotICogQ29weXJp
Z2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
Ci0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAq
Ci0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQot
I2ltcG9ydCAiY29uZmlnLmgiCi0jaW1wb3J0ICJQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXIuaCIK
LQotI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCi0KLSNpbXBvcnQgIkFzc2VydGlvblNlcnZpY2Vz
U1BJLmgiCi0jaW1wb3J0ICJMb2dnaW5nLmgiCi0jaW1wb3J0IDx3dGYvRnVuY3Rpb24uaD4KLSNp
bXBvcnQgPHd0Zi9Tb2Z0TGlua2luZy5oPgotCi1TT0ZUX0xJTktfUFJJVkFURV9GUkFNRVdPUkso
QXNzZXJ0aW9uU2VydmljZXMpOwotU09GVF9MSU5LX0NMQVNTKEFzc2VydGlvblNlcnZpY2VzLCBC
S1NQcm9jZXNzKTsKLQotdHlwZWRlZiB2b2lkKF5UYXNrU3RhdGVDaGFuZ2VkQ2FsbGJhY2tUeXBl
KShCS1NQcm9jZXNzVGFza1N0YXRlKTsKLQotQGludGVyZmFjZSBXS1Byb2Nlc3NUYXNrU3RhdGVP
YnNlcnZlckRlbGVnYXRlIDogTlNPYmplY3Q8QktTUHJvY2Vzc0RlbGVnYXRlPgotQHByb3BlcnR5
IChjb3B5KSBUYXNrU3RhdGVDaGFuZ2VkQ2FsbGJhY2tUeXBlIHRhc2tTdGF0ZUNoYW5nZWRDYWxs
YmFjazsKLUBlbmQKLQotQGltcGxlbWVudGF0aW9uIFdLUHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVy
RGVsZWdhdGUKLS0gKHZvaWQpZGVhbGxvYwotewotICAgIFtfdGFza1N0YXRlQ2hhbmdlZENhbGxi
YWNrIHJlbGVhc2VdOwotICAgIFtzdXBlciBkZWFsbG9jXTsKLX0KLQotLSAodm9pZClwcm9jZXNz
OihCS1NQcm9jZXNzICopcHJvY2VzcyB0YXNrU3RhdGVEaWRDaGFuZ2U6KEJLU1Byb2Nlc3NUYXNr
U3RhdGUpbmV3U3RhdGUKLXsKLSAgICBSRUxFQVNFX0xPRyhQcm9jZXNzU3VzcGVuc2lvbiwgIiVw
IC1bV0tQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXJEZWxlZ2F0ZSBwcm9jZXNzOnRhc2tTdGF0ZURp
ZENoYW5nZTpdLCBwcm9jZXNzKCVwKSwgbmV3U3RhdGUoJWQpIiwgc2VsZiwgcHJvY2VzcywgKGlu
dCluZXdTdGF0ZSk7Ci0KLSAgICBpZiAoYXV0byBjYWxsYmFjayA9IF90YXNrU3RhdGVDaGFuZ2Vk
Q2FsbGJhY2spCi0gICAgICAgIGNhbGxiYWNrKG5ld1N0YXRlKTsKLX0KLUBlbmQKLQotbmFtZXNw
YWNlIFdlYktpdCB7Ci0KLXN0YXRpYyBQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXI6OlRhc2tTdGF0
ZSB0b1Byb2Nlc3NUYXNrU3RhdGVPYnNlcnZlclRhc2tTdGF0ZShCS1NQcm9jZXNzVGFza1N0YXRl
IHN0YXRlKQotewotICAgIHN0YXRpY19hc3NlcnQoc3RhdGljX2Nhc3Q8dWludDMyX3Q+KEJLU1By
b2Nlc3NUYXNrU3RhdGVOb25lKSA9PSBzdGF0aWNfY2FzdDx1aW50MzJfdD4oUHJvY2Vzc1Rhc2tT
dGF0ZU9ic2VydmVyOjpOb25lKSwgIkJLU1Byb2Nlc3NUYXNrU3RhdGUgIT0gUHJvY2Vzc1Rhc2tT
dGF0ZU9ic2VydmVyOjpUYXNrU3RhdGUiKTsKLSAgICBzdGF0aWNfYXNzZXJ0KHN0YXRpY19jYXN0
PHVpbnQzMl90PihCS1NQcm9jZXNzVGFza1N0YXRlUnVubmluZykgPT0gc3RhdGljX2Nhc3Q8dWlu
dDMyX3Q+KFByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlcjo6UnVubmluZyksICJCS1NQcm9jZXNzVGFz
a1N0YXRlICE9IFByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlcjo6VGFza1N0YXRlIik7Ci0gICAgc3Rh
dGljX2Fzc2VydChzdGF0aWNfY2FzdDx1aW50MzJfdD4oQktTUHJvY2Vzc1Rhc2tTdGF0ZVN1c3Bl
bmRlZCkgPT0gc3RhdGljX2Nhc3Q8dWludDMyX3Q+KFByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlcjo6
U3VzcGVuZGVkKSwgIkJLU1Byb2Nlc3NUYXNrU3RhdGUgIT0gUHJvY2Vzc1Rhc2tTdGF0ZU9ic2Vy
dmVyOjpUYXNrU3RhdGUiKTsKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8UHJvY2Vzc1Rhc2tTdGF0
ZU9ic2VydmVyOjpUYXNrU3RhdGU+KHN0YXRlKTsKLX0KLQotUmVmPFByb2Nlc3NUYXNrU3RhdGVP
YnNlcnZlcj4gUHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyOjpjcmVhdGUoQ2xpZW50JiBjbGllbnQp
Ci17Ci0gICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyKGNs
aWVudCkpOwotfQotCi1Qcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXI6OlByb2Nlc3NUYXNrU3RhdGVP
YnNlcnZlcihDbGllbnQmIGNsaWVudCkKLSAgICA6IG1fY2xpZW50KCZjbGllbnQpCi0gICAgLCBt
X3Byb2Nlc3MoW2dldEJLU1Byb2Nlc3NDbGFzcygpIGN1cnJlbnRQcm9jZXNzXSkKLSAgICAsIG1f
ZGVsZWdhdGUoYWRvcHROUyhbW1dLUHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyRGVsZWdhdGUgYWxs
b2NdIGluaXRdKSkKLXsKLSAgICBSRUxFQVNFX0xPRyhQcm9jZXNzU3VzcGVuc2lvbiwgIiVwIC0g
UHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyOjpQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXIoKSwgbV9w
cm9jZXNzKCVwKSIsIHRoaXMsIG1fcHJvY2Vzcy5nZXQoKSk7Ci0gICAgbV9kZWxlZ2F0ZS5nZXQo
KS50YXNrU3RhdGVDaGFuZ2VkQ2FsbGJhY2sgPSBbcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWZQdHIo
dGhpcyldIChCS1NQcm9jZXNzVGFza1N0YXRlIHN0YXRlKSB7Ci0gICAgICAgIHByb3RlY3RlZFRo
aXMtPnNldFRhc2tTdGF0ZSh0b1Byb2Nlc3NUYXNrU3RhdGVPYnNlcnZlclRhc2tTdGF0ZShzdGF0
ZSkpOwotICAgIH07Ci0gICAgbV9wcm9jZXNzLmdldCgpLmRlbGVnYXRlID0gbV9kZWxlZ2F0ZS5n
ZXQoKTsKLX0KLQotUHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyOjp+UHJvY2Vzc1Rhc2tTdGF0ZU9i
c2VydmVyKCkKLXsKLSAgICBtX2RlbGVnYXRlLmdldCgpLnRhc2tTdGF0ZUNoYW5nZWRDYWxsYmFj
ayA9IG5pbDsKLX0KLQotdm9pZCBQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXI6OmludmFsaWRhdGUo
KQotewotICAgIExvY2tIb2xkZXIgaG9sZGVyKG1fY2xpZW50TG9jayk7Ci0gICAgbV9jbGllbnQg
PSBudWxscHRyOwotICAgIG1fZGVsZWdhdGUuZ2V0KCkudGFza1N0YXRlQ2hhbmdlZENhbGxiYWNr
ID0gbmlsOwotfQotCi12b2lkIFByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlcjo6c2V0VGFza1N0YXRl
KFRhc2tTdGF0ZSBzdGF0ZSkKLXsKLSAgICBpZiAobV90YXNrU3RhdGUgPT0gc3RhdGUpCi0gICAg
ICAgIHJldHVybjsKLQotICAgIG1fdGFza1N0YXRlID0gc3RhdGU7Ci0KLSAgICBMb2NrSG9sZGVy
IGhvbGRlcihtX2NsaWVudExvY2spOwotICAgIGlmIChtX2NsaWVudCkKLSAgICAgICAgbV9jbGll
bnQtPnByb2Nlc3NUYXNrU3RhdGVEaWRDaGFuZ2Uoc3RhdGUpOwotfQotCi19Ci0KLSNlbmRpZiAv
LyBQTEFURk9STShJT1NfRkFNSUxZKQotCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BcHBsaWNhdGlvblN0YXRlVHJhY2tlci5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FwcGxpY2F0aW9uU3RhdGVUcmFja2VyLm1tCmluZGV4IDYxYWIxYjZlNDlhYTA1OTZlZGE4MTI0
OGI2NzgxNmEwNmNjMGFhOTguLjM3YjJiZDdiMjNkY2E4ZDRkYzU1NWYxZjVmNDRiODgxMDM0MDli
MDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FwcGxpY2F0aW9uU3RhdGVU
cmFja2VyLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FwcGxpY2F0aW9uU3RhdGVU
cmFja2VyLm1tCkBAIC0yOCw3ICsyOCw2IEBACiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQog
Ci0jaW1wb3J0ICJBc3NlcnRpb25TZXJ2aWNlc1NQSS5oIgogI2ltcG9ydCAiRW5kb3dtZW50U3Rh
dGVUcmFja2VyLmgiCiAjaW1wb3J0ICJMb2dnaW5nLmgiCiAjaW1wb3J0ICJTYW5kYm94VXRpbGl0
aWVzLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Qcm9jZXNzQXNzZXJ0
aW9uLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Qcm9jZXNzQXNzZXJ0aW9uLmgKaW5kZXgg
YmVlOTlmYjM0ZTYxNjAyN2MyZmRjMmQwNDVhOTJmZDViZWNlODMyZi4uZWI3NWMyYTJlOTU1NGZk
MjU5ZWZlZDI3NTU3MDI2ZWU5Y2EwNDYwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvUHJvY2Vzc0Fzc2VydGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1By
b2Nlc3NBc3NlcnRpb24uaApAQCAtMzksMTAgKzM5LDYgQEAKIAogT0JKQ19DTEFTUyBSQlNBc3Nl
cnRpb247CiBPQkpDX0NMQVNTIFdLUkJTQXNzZXJ0aW9uRGVsZWdhdGU7Ci0KLSNpZiAhSEFWRShS
VU5OSU5HQk9BUkRfVklTSUJJTElUWV9BU1NFUlRJT05TKQotT0JKQ19DTEFTUyBCS1NQcm9jZXNz
QXNzZXJ0aW9uOwotI2VuZGlmCiAjZW5kaWYgLy8gUExBVEZPUk0oSU9TX0ZBTUlMWSkKIAogbmFt
ZXNwYWNlIFdlYktpdCB7CkBAIC03OSw5ICs3NSw2IEBAIHByaXZhdGU6CiAjaWYgUExBVEZPUk0o
SU9TX0ZBTUlMWSkKICAgICBSZXRhaW5QdHI8UkJTQXNzZXJ0aW9uPiBtX3Jic0Fzc2VydGlvbjsK
ICAgICBSZXRhaW5QdHI8V0tSQlNBc3NlcnRpb25EZWxlZ2F0ZT4gbV9kZWxlZ2F0ZTsKLSNpZiAh
SEFWRShSVU5OSU5HQk9BUkRfVklTSUJJTElUWV9BU1NFUlRJT05TKQotICAgIFJldGFpblB0cjxC
S1NQcm9jZXNzQXNzZXJ0aW9uPiBtX2Jrc0Fzc2VydGlvbjsgLy8gTGVnYWN5LgotI2VuZGlmCiAj
ZW5kaWYKICAgICBGdW5jdGlvbjx2b2lkKCk+IG1faW52YWxpZGF0aW9uSGFuZGxlcjsKIH07CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1Mu
bW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0KaW5k
ZXggYjNkMWIzODkxZDgxOWQ0ZDFkNGYyYWM5MWIyYzQ5NTE5MDQ0MzViOS4uY2Q4NmU1ZjNhM2Y3
NmVkNGU5YmQ1NDFiY2IyZTAzZTVhMGYwN2EyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbQpAQCAtMzAsNyArMzAsNiBAQAogCiAjaW1w
b3J0ICJBUElEYXRhLmgiCiAjaW1wb3J0ICJBcHBsaWNhdGlvblN0YXRlVHJhY2tlci5oIgotI2lt
cG9ydCAiQXNzZXJ0aW9uU2VydmljZXNTUEkuaCIKICNpbXBvcnQgIkRhdGFSZWZlcmVuY2UuaCIK
ICNpbXBvcnQgIkRvd25sb2FkUHJveHkuaCIKICNpbXBvcnQgIkRyYXdpbmdBcmVhUHJveHkuaCIK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9Qcm9jZXNzQXNzZXJ0aW9u
SU9TLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1Byb2Nlc3NBc3NlcnRpb25JT1Mu
bW0KaW5kZXggZDAyYjcyNzRmMTYxMjcyZTRiNmZkYjk5MDNmZDIwMzBkZTQzOTkzZS4uYjk4Yzg1
NzYzZmVlMGI4ZDkzMzllNmE1MWIyOTMyMmM4MzA1NGRkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvaW9zL1Byb2Nlc3NBc3NlcnRpb25JT1MubW0KKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvaW9zL1Byb2Nlc3NBc3NlcnRpb25JT1MubW0KQEAgLTM3LDEwICszNyw2
IEBACiAjaW1wb3J0IDx3dGYvVmVjdG9yLmg+CiAjaW1wb3J0IDx3dGYvV2Vha0hhc2hTZXQuaD4K
IAotI2lmICFIQVZFKFJVTk5JTkdCT0FSRF9WSVNJQklMSVRZX0FTU0VSVElPTlMpCi0jaW1wb3J0
ICJBc3NlcnRpb25TZXJ2aWNlc1NQSS5oIgotI2VuZGlmCi0KIHVzaW5nIFdlYktpdDo6UHJvY2Vz
c0FuZFVJQXNzZXJ0aW9uOwogCiAvLyBUaGlzIGdpdmVzIHNvbWUgdGltZSB0byBvdXIgY2hpbGQg
cHJvY2Vzc2VzIHRvIHByb2Nlc3MgdGhlIFByb2Nlc3NXaWxsU3VzcGVuZEltbWluZW50bHkgSVBD
IGJ1dCBtYWtlcyBzdXJlIHdlIHJlbGVhc2UKQEAgLTU0LDExICs1MCw3IEBAIHN0YXRpYyBib29s
IHByb2Nlc3NIYXNBY3RpdmVSdW5UaW1lTGltaXRhdGlvbigpCiB9CiAKIEBpbnRlcmZhY2UgV0tQ
cm9jZXNzQXNzZXJ0aW9uQmFja2dyb3VuZFRhc2tNYW5hZ2VyCi0jaWYgSEFWRShSVU5OSU5HQk9B
UkRfVklTSUJJTElUWV9BU1NFUlRJT05TKQogICAgIDogTlNPYmplY3QgPFJCU0Fzc2VydGlvbk9i
c2VydmluZz4KLSNlbHNlCi0gICAgOiBOU09iamVjdAotI2VuZGlmCiAKICsgKFdLUHJvY2Vzc0Fz
c2VydGlvbkJhY2tncm91bmRUYXNrTWFuYWdlciAqKXNoYXJlZDsKIApAQCAtNjksMTIgKzYxLDcg
QEAgQGVuZAogCiBAaW1wbGVtZW50YXRpb24gV0tQcm9jZXNzQXNzZXJ0aW9uQmFja2dyb3VuZFRh
c2tNYW5hZ2VyCiB7Ci0jaWYgSEFWRShSVU5OSU5HQk9BUkRfVklTSUJJTElUWV9BU1NFUlRJT05T
KQogICAgIFJldGFpblB0cjxSQlNBc3NlcnRpb24+IF9iYWNrZ3JvdW5kVGFzazsKLSNlbHNlCi0g
ICAgVUlCYWNrZ3JvdW5kVGFza0lkZW50aWZpZXIgX2JhY2tncm91bmRUYXNrOwotI2VuZGlmCi0K
ICAgICBXZWFrSGFzaFNldDxQcm9jZXNzQW5kVUlBc3NlcnRpb24+IF9hc3NlcnRpb25zTmVlZGlu
Z0JhY2tncm91bmRUYXNrOwogICAgIGRpc3BhdGNoX2Jsb2NrX3QgX3BlbmRpbmdUYXNrUmVsZWFz
ZVRhc2s7CiB9CkBAIC05MSwxMCArNzgsNiBAQCAtIChpbnN0YW5jZXR5cGUpaW5pdAogICAgIGlm
ICghc2VsZikKICAgICAgICAgcmV0dXJuIG5pbDsKIAotI2lmICFIQVZFKFJVTk5JTkdCT0FSRF9W
SVNJQklMSVRZX0FTU0VSVElPTlMpCi0gICAgX2JhY2tncm91bmRUYXNrID0gVUlCYWNrZ3JvdW5k
VGFza0ludmFsaWQ7Ci0jZW5kaWYKLQogICAgIC8vIEZJWE1FOiBTdG9wIHJlbHlpbmcgb24gVUlB
cHBsaWNhdGlvbiBub3RpZmljYXRpb25zIGFzIHRoaXMgZG9lcyBub3Qgd29yayBhcyBleHBlY3Rl
ZCBmb3IgZGFlbW9ucyBvciBWaWV3U2VydmljZXMuCiAgICAgLy8gV2Ugc2hvdWxkIGxpa2VseSB1
c2UgUHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyIHRvIG1vbml0b3Igc3VzcGVuc2lvbiBzdGF0ZS4K
ICAgICBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIGFkZE9ic2VydmVyRm9y
TmFtZTpVSUFwcGxpY2F0aW9uV2lsbEVudGVyRm9yZWdyb3VuZE5vdGlmaWNhdGlvbiBvYmplY3Q6
W1VJQXBwbGljYXRpb24gc2hhcmVkQXBwbGljYXRpb25dIHF1ZXVlOm5pbCB1c2luZ0Jsb2NrOl4o
TlNOb3RpZmljYXRpb24gKikgewpAQCAtMTc1LDExICsxNTgsNyBAQCAtICh2b2lkKV9jYW5jZWxQ
ZW5kaW5nUmVsZWFzZVRhc2sKIAogLSAoQk9PTClfaGFzQmFja2dyb3VuZFRhc2sKIHsKLSNpZiBI
QVZFKFJVTk5JTkdCT0FSRF9WSVNJQklMSVRZX0FTU0VSVElPTlMpCiAgICAgcmV0dXJuICEhX2Jh
Y2tncm91bmRUYXNrOwotI2Vsc2UKLSAgICByZXR1cm4gX2JhY2tncm91bmRUYXNrICE9IFVJQmFj
a2dyb3VuZFRhc2tJbnZhbGlkOwotI2VuZGlmCiB9CiAKIC0gKHZvaWQpX3VwZGF0ZUJhY2tncm91
bmRUYXNrCkBAIC0xOTAsNyArMTY5LDYgQEAgLSAodm9pZClfdXBkYXRlQmFja2dyb3VuZFRhc2sK
ICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogICAgICAgICBSRUxFQVNFX0xPRyhQcm9j
ZXNzU3VzcGVuc2lvbiwgIiVwIC0gV0tQcm9jZXNzQXNzZXJ0aW9uQmFja2dyb3VuZFRhc2tNYW5h
Z2VyOiBiZWdpbkJhY2tncm91bmRUYXNrV2l0aE5hbWUiLCBzZWxmKTsKLSNpZiBIQVZFKFJVTk5J
TkdCT0FSRF9WSVNJQklMSVRZX0FTU0VSVElPTlMpCiAgICAgICAgIFJCU1RhcmdldCAqdGFyZ2V0
ID0gW1JCU1RhcmdldCBjdXJyZW50UHJvY2Vzc107CiAgICAgICAgIFJCU0RvbWFpbkF0dHJpYnV0
ZSAqZG9tYWluQXR0cmlidXRlID0gW1JCU0RvbWFpbkF0dHJpYnV0ZSBhdHRyaWJ1dGVXaXRoRG9t
YWluOkAiY29tLmFwcGxlLmNvbW1vbiIgbmFtZTpAIkZpbmlzaFRhc2tJbnRlcnJ1cHRhYmxlIl07
CiAgICAgICAgIF9iYWNrZ3JvdW5kVGFzayA9IGFkb3B0TlMoW1tSQlNBc3NlcnRpb24gYWxsb2Nd
IGluaXRXaXRoRXhwbGFuYXRpb246QCJXZWJLaXQgVUlQcm9jZXNzIGJhY2tncm91bmQgdGFzayIg
dGFyZ2V0OnRhcmdldCBhdHRyaWJ1dGVzOkBbZG9tYWluQXR0cmlidXRlXV0pOwpAQCAtMjAxLDE2
ICsxNzksMTAgQEAgLSAodm9pZClfdXBkYXRlQmFja2dyb3VuZFRhc2sKICAgICAgICAgICAgIFJF
TEVBU0VfTE9HX0VSUk9SKFByb2Nlc3NTdXNwZW5zaW9uLCAiV0tQcm9jZXNzQXNzZXJ0aW9uQmFj
a2dyb3VuZFRhc2tNYW5hZ2VyOiBGYWlsZWQgdG8gYWNxdWlyZSBGaW5pc2hUYXNrSW50ZXJydXB0
YWJsZSBhc3NlcnRpb24gZm9yIG93biBwcm9jZXNzLCBlcnJvcjogJXtwdWJsaWN9QCIsIGFjcXVp
c2l0aW9uRXJyb3IpOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICBSRUxFQVNFX0xPRyhQcm9j
ZXNzU3VzcGVuc2lvbiwgIldLUHJvY2Vzc0Fzc2VydGlvbkJhY2tncm91bmRUYXNrTWFuYWdlcjog
U3VjY2Vzc2Z1bGx5IHRvb2sgYSBGaW5pc2hUYXNrSW50ZXJydXB0YWJsZSBhc3NlcnRpb24gZm9y
IG93biBwcm9jZXNzIik7Ci0jZWxzZQotICAgICAgICBfYmFja2dyb3VuZFRhc2sgPSBbW1VJQXBw
bGljYXRpb24gc2hhcmVkQXBwbGljYXRpb25dIGJlZ2luQmFja2dyb3VuZFRhc2tXaXRoTmFtZTpA
ImNvbS5hcHBsZS5XZWJLaXQuUHJvY2Vzc0Fzc2VydGlvbiIgZXhwaXJhdGlvbkhhbmRsZXI6XnsK
LSAgICAgICAgICAgIFtzZWxmIF9oYW5kbGVCYWNrZ3JvdW5kVGFza0V4cGlyYXRpb25dOwotICAg
ICAgICB9XTsKLSNlbmRpZgogICAgIH0gZWxzZSBpZiAoX2Fzc2VydGlvbnNOZWVkaW5nQmFja2dy
b3VuZFRhc2suY29tcHV0ZXNFbXB0eSgpKQogICAgICAgICBbc2VsZiBfcmVsZWFzZUJhY2tncm91
bmRUYXNrXTsKIH0KIAotI2lmIEhBVkUoUlVOTklOR0JPQVJEX1ZJU0lCSUxJVFlfQVNTRVJUSU9O
UykKIC0gKHZvaWQpYXNzZXJ0aW9uV2lsbEludmFsaWRhdGU6KFJCU0Fzc2VydGlvbiAqKWFzc2Vy
dGlvbgogewogICAgIEFTU0VSVChhc3NlcnRpb24gPT0gX2JhY2tncm91bmRUYXNrLmdldCgpKTsK
QEAgLTIyMiw3ICsxOTQsNiBAQCAtICh2b2lkKWFzc2VydGlvbjooUkJTQXNzZXJ0aW9uICopYXNz
ZXJ0aW9uIGRpZEludmFsaWRhdGVXaXRoRXJyb3I6KE5TRXJyb3IgKillcgogICAgIEFTU0VSVChh
c3NlcnRpb24gPT0gX2JhY2tncm91bmRUYXNrLmdldCgpKTsKICAgICBSRUxFQVNFX0xPR19FUlJP
UihQcm9jZXNzU3VzcGVuc2lvbiwgIldLUHJvY2Vzc0Fzc2VydGlvbkJhY2tncm91bmRUYXNrTWFu
YWdlcjogRmluaXNoVGFza0ludGVycnVwdGFibGUgYXNzZXJ0aW9uIHdhcyBpbnZhbGlkYXRlZCwg
ZXJyb3I6ICV7cHVibGljfUAiLCBlcnJvcik7CiB9Ci0jZW5kaWYKIAogLSAodm9pZClfaGFuZGxl
QmFja2dyb3VuZFRhc2tFeHBpcmF0aW9uCiB7CkBAIC0yNjUsMTQgKzIzNiw5IEBAIC0gKHZvaWQp
X3JlbGVhc2VCYWNrZ3JvdW5kVGFzawogICAgIGlmIChwcm9jZXNzSGFzQWN0aXZlUnVuVGltZUxp
bWl0YXRpb24oKSkKICAgICAgICAgV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6bm90aWZ5UHJvY2Vz
c1Bvb2xzQXBwbGljYXRpb25Jc0Fib3V0VG9TdXNwZW5kKCk7CiAKLSNpZiBIQVZFKFJVTk5JTkdC
T0FSRF9WSVNJQklMSVRZX0FTU0VSVElPTlMpCiAgICAgW19iYWNrZ3JvdW5kVGFzayByZW1vdmVP
YnNlcnZlcjpzZWxmXTsKICAgICBbX2JhY2tncm91bmRUYXNrIGludmFsaWRhdGVdOwogICAgIF9i
YWNrZ3JvdW5kVGFzayA9IG51bGxwdHI7Ci0jZWxzZQotICAgIFtbVUlBcHBsaWNhdGlvbiBzaGFy
ZWRBcHBsaWNhdGlvbl0gZW5kQmFja2dyb3VuZFRhc2s6X2JhY2tncm91bmRUYXNrXTsKLSAgICBf
YmFja2dyb3VuZFRhc2sgPSBVSUJhY2tncm91bmRUYXNrSW52YWxpZDsKLSNlbmRpZgogfQogCiBA
ZW5kCkBAIC0zMTIsNyArMjc4LDYgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAKIHN0YXRpYyBOU1N0
cmluZyAqcnVubmluZ0JvYXJkTmFtZUZvckFzc2VydGlvblR5cGUoUHJvY2Vzc0Fzc2VydGlvblR5
cGUgYXNzZXJ0aW9uVHlwZSkKIHsKLSNpZiBIQVZFKFJVTk5JTkdCT0FSRF9WSVNJQklMSVRZX0FT
U0VSVElPTlMpCiAgICAgc3dpdGNoIChhc3NlcnRpb25UeXBlKSB7CiAgICAgY2FzZSBQcm9jZXNz
QXNzZXJ0aW9uVHlwZTo6U3VzcGVuZGVkOgogICAgICAgICByZXR1cm4gQCJTdXNwZW5kZWQiOwpA
QCAtMzI1LDgxICsyOTAsMTQgQEAgc3RhdGljIE5TU3RyaW5nICpydW5uaW5nQm9hcmROYW1lRm9y
QXNzZXJ0aW9uVHlwZShQcm9jZXNzQXNzZXJ0aW9uVHlwZSBhc3NlcnRpb24KICAgICBjYXNlIFBy
b2Nlc3NBc3NlcnRpb25UeXBlOjpNZWRpYVBsYXliYWNrOgogICAgICAgICByZXR1cm4gQCJNZWRp
YVBsYXliYWNrIjsKICAgICB9Ci0jZWxzZQotICAgIHJldHVybiBuaWw7Ci0jZW5kaWYKIH0KIAot
I2lmICFIQVZFKFJVTk5JTkdCT0FSRF9WSVNJQklMSVRZX0FTU0VSVElPTlMpCi0KLWNvbnN0IEJL
U1Byb2Nlc3NBc3NlcnRpb25GbGFncyBzdXNwZW5kZWRUYWJGbGFncyA9IChCS1NQcm9jZXNzQXNz
ZXJ0aW9uQWxsb3dJZGxlU2xlZXApOwotY29uc3QgQktTUHJvY2Vzc0Fzc2VydGlvbkZsYWdzIGJh
Y2tncm91bmRUYWJGbGFncyA9IChCS1NQcm9jZXNzQXNzZXJ0aW9uUHJldmVudFRhc2tTdXNwZW5k
KTsKLWNvbnN0IEJLU1Byb2Nlc3NBc3NlcnRpb25GbGFncyBmb3JlZ3JvdW5kVGFiRmxhZ3MgPSAo
QktTUHJvY2Vzc0Fzc2VydGlvblByZXZlbnRUYXNrU3VzcGVuZCB8IEJLU1Byb2Nlc3NBc3NlcnRp
b25XYW50c0ZvcmVncm91bmRSZXNvdXJjZVByaW9yaXR5IHwgQktTUHJvY2Vzc0Fzc2VydGlvblBy
ZXZlbnRUYXNrVGhyb3R0bGVEb3duKTsKLQotc3RhdGljIEJLU1Byb2Nlc3NBc3NlcnRpb25GbGFn
cyBmbGFnc0ZvckFzc2VydGlvblR5cGUoUHJvY2Vzc0Fzc2VydGlvblR5cGUgYXNzZXJ0aW9uVHlw
ZSkKLXsKLSAgICBzd2l0Y2ggKGFzc2VydGlvblR5cGUpIHsKLSAgICBjYXNlIFByb2Nlc3NBc3Nl
cnRpb25UeXBlOjpTdXNwZW5kZWQ6Ci0gICAgICAgIHJldHVybiBzdXNwZW5kZWRUYWJGbGFnczsK
LSAgICBjYXNlIFByb2Nlc3NBc3NlcnRpb25UeXBlOjpCYWNrZ3JvdW5kOgotICAgIGNhc2UgUHJv
Y2Vzc0Fzc2VydGlvblR5cGU6OlVuYm91bmRlZE5ldHdvcmtpbmc6Ci0gICAgICAgIHJldHVybiBi
YWNrZ3JvdW5kVGFiRmxhZ3M7Ci0gICAgY2FzZSBQcm9jZXNzQXNzZXJ0aW9uVHlwZTo6Rm9yZWdy
b3VuZDoKLSAgICBjYXNlIFByb2Nlc3NBc3NlcnRpb25UeXBlOjpNZWRpYVBsYXliYWNrOgotICAg
ICAgICByZXR1cm4gZm9yZWdyb3VuZFRhYkZsYWdzOwotICAgIH0KLX0KLQotc3RhdGljIEJLU1By
b2Nlc3NBc3NlcnRpb25SZWFzb24gdG9CS1NQcm9jZXNzQXNzZXJ0aW9uUmVhc29uKFByb2Nlc3NB
c3NlcnRpb25UeXBlIGFzc2VydGlvblR5cGUpCi17Ci0gICAgc3dpdGNoIChhc3NlcnRpb25UeXBl
KSB7Ci0gICAgY2FzZSBQcm9jZXNzQXNzZXJ0aW9uVHlwZTo6U3VzcGVuZGVkOgotICAgIGNhc2Ug
UHJvY2Vzc0Fzc2VydGlvblR5cGU6OkJhY2tncm91bmQ6Ci0gICAgY2FzZSBQcm9jZXNzQXNzZXJ0
aW9uVHlwZTo6Rm9yZWdyb3VuZDoKLSAgICAgICAgcmV0dXJuIEJLU1Byb2Nlc3NBc3NlcnRpb25S
ZWFzb25FeHRlbnNpb247Ci0gICAgY2FzZSBQcm9jZXNzQXNzZXJ0aW9uVHlwZTo6VW5ib3VuZGVk
TmV0d29ya2luZzoKLSAgICAgICAgcmV0dXJuIEJLU1Byb2Nlc3NBc3NlcnRpb25SZWFzb25GaW5p
c2hUYXNrVW5ib3VuZGVkOwotICAgIGNhc2UgUHJvY2Vzc0Fzc2VydGlvblR5cGU6Ok1lZGlhUGxh
eWJhY2s6Ci0gICAgICAgIHJldHVybiBCS1NQcm9jZXNzQXNzZXJ0aW9uUmVhc29uTWVkaWFQbGF5
YmFjazsKLSAgICB9Ci19Ci0KLSNlbmRpZiAvLyAhSEFWRShSVU5OSU5HQk9BUkRfVklTSUJJTElU
WV9BU1NFUlRJT05TKQotCiBQcm9jZXNzQXNzZXJ0aW9uOjpQcm9jZXNzQXNzZXJ0aW9uKHBpZF90
IHBpZCwgY29uc3QgU3RyaW5nJiByZWFzb24sIFByb2Nlc3NBc3NlcnRpb25UeXBlIGFzc2VydGlv
blR5cGUpCiAgICAgOiBtX2Fzc2VydGlvblR5cGUoYXNzZXJ0aW9uVHlwZSkKICAgICAsIG1fcGlk
KHBpZCkKIHsKICAgICBhdXRvIHdlYWtUaGlzID0gbWFrZVdlYWtQdHIoKnRoaXMpOwogICAgIE5T
U3RyaW5nICpydW5uaW5nQm9hcmRBc3NlcnRpb25OYW1lID0gcnVubmluZ0JvYXJkTmFtZUZvckFz
c2VydGlvblR5cGUoYXNzZXJ0aW9uVHlwZSk7Ci0KLSNpZiAhSEFWRShSVU5OSU5HQk9BUkRfVklT
SUJJTElUWV9BU1NFUlRJT05TKQotICAgIGlmICghcnVubmluZ0JvYXJkQXNzZXJ0aW9uTmFtZSkg
ewotICAgICAgICAvLyBMZWdhY3kgY29kZSBwYXRoLgotICAgICAgICBCS1NQcm9jZXNzQXNzZXJ0
aW9uQWNxdWlzaXRpb25IYW5kbGVyIGhhbmRsZXIgPSBeKEJPT0wgYWNxdWlyZWQpIHsKLSAgICAg
ICAgICAgIGlmICghYWNxdWlyZWQpIHsKLSAgICAgICAgICAgICAgICBSRUxFQVNFX0xPR19FUlJP
UihQcm9jZXNzU3VzcGVuc2lvbiwgIiAlcCAtIFByb2Nlc3NBc3NlcnRpb24oKSBQSUQgJWQgVW5h
YmxlIHRvIGFjcXVpcmUgQktTIGFzc2VydGlvbiBmb3IgcHJvY2VzcyB3aXRoIFBJRCAlZCIsIHRo
aXMsIGdldHBpZCgpLCBwaWQpOwotICAgICAgICAgICAgICAgIGRpc3BhdGNoX2FzeW5jKGRpc3Bh
dGNoX2dldF9tYWluX3F1ZXVlKCksIF57Ci0gICAgICAgICAgICAgICAgICAgIGlmICh3ZWFrVGhp
cykKLSAgICAgICAgICAgICAgICAgICAgICAgIHByb2Nlc3NBc3NlcnRpb25XYXNJbnZhbGlkYXRl
ZCgpOwotICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgfQotICAgICAgICB9OwotICAg
ICAgICBSRUxFQVNFX0xPRyhQcm9jZXNzU3VzcGVuc2lvbiwgIiVwIC0gUHJvY2Vzc0Fzc2VydGlv
bigpIFBJRCAlZCBhY3F1aXJpbmcgQktTIGFzc2VydGlvbiBmb3IgcHJvY2VzcyB3aXRoIFBJRCAl
ZCwgbmFtZSAnJXMnIiwgdGhpcywgZ2V0cGlkKCksIHBpZCwgcmVhc29uLnV0ZjgoKS5kYXRhKCkp
OwotCi0gICAgICAgIG1fYmtzQXNzZXJ0aW9uID0gYWRvcHROUyhbW0JLU1Byb2Nlc3NBc3NlcnRp
b24gYWxsb2NdIGluaXRXaXRoUElEOnBpZCBmbGFnczpmbGFnc0ZvckFzc2VydGlvblR5cGUoYXNz
ZXJ0aW9uVHlwZSkgcmVhc29uOnRvQktTUHJvY2Vzc0Fzc2VydGlvblJlYXNvbihhc3NlcnRpb25U
eXBlKSBuYW1lOnJlYXNvbiB3aXRoSGFuZGxlcjpoYW5kbGVyXSk7Ci0KLSAgICAgICAgbV9ia3NB
c3NlcnRpb24uZ2V0KCkuaW52YWxpZGF0aW9uSGFuZGxlciA9IF4oKSB7Ci0gICAgICAgICAgICBk
aXNwYXRjaF9hc3luYyhkaXNwYXRjaF9nZXRfbWFpbl9xdWV1ZSgpLCBeewotICAgICAgICAgICAg
ICAgIFJFTEVBU0VfTE9HKFByb2Nlc3NTdXNwZW5zaW9uLCAiJXAgLSBQcm9jZXNzQXNzZXJ0aW9u
KCkgQktTIFByb2Nlc3MgYXNzZXJ0aW9uIGZvciBwcm9jZXNzIHdpdGggUElEICVkIHdhcyBpbnZh
bGlkYXRlZCIsIHRoaXMsIHBpZCk7Ci0gICAgICAgICAgICAgICAgaWYgKHdlYWtUaGlzKQotICAg
ICAgICAgICAgICAgICAgICBwcm9jZXNzQXNzZXJ0aW9uV2FzSW52YWxpZGF0ZWQoKTsKLSAgICAg
ICAgICAgIH0pOwotICAgICAgICB9OwotICAgICAgICByZXR1cm47Ci0gICAgfQotI2VuZGlmIC8v
ICFIQVZFKFJVTk5JTkdCT0FSRF9WSVNJQklMSVRZX0FTU0VSVElPTlMpCi0KICAgICBBU1NFUlQo
cnVubmluZ0JvYXJkQXNzZXJ0aW9uTmFtZSk7CiAgICAgaWYgKCFwaWQpIHsKICAgICAgICAgUkVM
RUFTRV9MT0dfRVJST1IoUHJvY2Vzc1N1c3BlbnNpb24sICIlcCAtIFByb2Nlc3NBc3NlcnRpb246
IEZhaWxlZCB0byBhY3F1aXJlIFJCUyAle3B1YmxpY31AIGFzc2VydGlvbiAnJXtwdWJsaWN9cycg
Zm9yIHByb2Nlc3MgYmVjYXVzZSBQSUQgaXMgaW52YWxpZCIsIHRoaXMsIHJ1bm5pbmdCb2FyZEFz
c2VydGlvbk5hbWUsIHJlYXNvbi51dGY4KCkuZGF0YSgpKTsKQEAgLTQzOCwxMyArMzM2LDYgQEAg
UHJvY2Vzc0Fzc2VydGlvbjo6flByb2Nlc3NBc3NlcnRpb24oKQogICAgICAgICBtX2RlbGVnYXRl
ID0gbmlsOwogICAgICAgICBbbV9yYnNBc3NlcnRpb24gaW52YWxpZGF0ZV07CiAgICAgfQotCi0j
aWYgIUhBVkUoUlVOTklOR0JPQVJEX1ZJU0lCSUxJVFlfQVNTRVJUSU9OUykKLSAgICBpZiAobV9i
a3NBc3NlcnRpb24pIHsKLSAgICAgICAgbV9ia3NBc3NlcnRpb24uZ2V0KCkuaW52YWxpZGF0aW9u
SGFuZGxlciA9IG5pbDsKLSAgICAgICAgW21fYmtzQXNzZXJ0aW9uIGludmFsaWRhdGVdOwotICAg
IH0KLSNlbmRpZgogfQogCiB2b2lkIFByb2Nlc3NBc3NlcnRpb246OnByb2Nlc3NBc3NlcnRpb25X
YXNJbnZhbGlkYXRlZCgpCkBAIC00NTgsMTUgKzM0OSw3IEBAIHZvaWQgUHJvY2Vzc0Fzc2VydGlv
bjo6cHJvY2Vzc0Fzc2VydGlvbldhc0ludmFsaWRhdGVkKCkKIAogYm9vbCBQcm9jZXNzQXNzZXJ0
aW9uOjppc1ZhbGlkKCkgY29uc3QKIHsKLSAgICBpZiAobV9yYnNBc3NlcnRpb24pCi0gICAgICAg
IHJldHVybiBtX3Jic0Fzc2VydGlvbi5nZXQoKS52YWxpZDsKLQotI2lmICFIQVZFKFJVTk5JTkdC
T0FSRF9WSVNJQklMSVRZX0FTU0VSVElPTlMpCi0gICAgaWYgKG1fYmtzQXNzZXJ0aW9uKQotICAg
ICAgICByZXR1cm4gbV9ia3NBc3NlcnRpb24uZ2V0KCkudmFsaWQ7Ci0jZW5kaWYKLQotICAgIHJl
dHVybiBmYWxzZTsKKyAgICByZXR1cm4gbV9yYnNBc3NlcnRpb24gPyBtX3Jic0Fzc2VydGlvbi5n
ZXQoKS52YWxpZCA6IGZhbHNlOwogfQogCiB2b2lkIFByb2Nlc3NBbmRVSUFzc2VydGlvbjo6dXBk
YXRlUnVuSW5CYWNrZ3JvdW5kQ291bnQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJL
aXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMGVkYTE1YTM1ZmRiYTVjNzIyNDJjMTM4NThmNzM4
YzRhYzZmOGEwZS4uNmI5Y2ViN2Q0N2Q3ZjM5ZWE4MGQ0YTYxZWQzMTNhN2E1ZDg1MDg5ZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagor
KysgYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0x
NzIyLDggKzE3MjIsNiBAQAogCQlDRDBDNjgzMTIwMUZEMTAxMDBBNTk0MDkgLyogV0tGdWxsU2Ny
ZWVuVmlld0NvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IENEMEM2ODJGMjAxRkQxMDEwMEE1OTQwOSAvKiBXS0Z1bGxTY3JlZW5WaWV3Q29u
dHJvbGxlci5oICovOyB9OwogCQlDRDE5QTI2RTFBMTNFODM0MDA4RDY1MEUgLyogV2ViRGlhZ25v
c3RpY0xvZ2dpbmdDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IENEMTlBMjZBMUExM0U4MjEwMDhENjUwRSAvKiBXZWJEaWFnbm9zdGljTG9nZ2lu
Z0NsaWVudC5oICovOyB9OwogCQlDRDE5RDJFQTIwNDY0MDZGMDAxNzA3NEEgLyogRnVsbHNjcmVl
blRvdWNoU2VjaGV1cmlzdGljLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBDRDE5RDJFODIwNDY0MDZGMDAxNzA3NEEgLyogRnVsbHNjcmVlblRvdWNoU2Vj
aGV1cmlzdGljLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKLQkJQ0QyODY1RUUyMjU1NTYyMDAwNjA2QUM3IC8qIFByb2Nlc3NUYXNrU3RhdGVPYnNlcnZl
ci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0QyODY1
RUMyMjU1NTYyMDAwNjA2QUM3IC8qIFByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlci5oICovOyB9Owot
CQlDRDI4NjVFRjIyNTU1NjIwMDA2MDZBQzcgLyogUHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyLm1t
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0QyODY1RUQy
MjU1NTYyMDAwNjA2QUM3IC8qIFByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlci5tbSAqLzsgfTsKIAkJ
Q0Q0NTcwRDMyNDQxMTNCNTAwQTNEQ0VCIC8qIEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9y
UHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQ0Q0NTcwRDAyNDQxMDE0QTAwQTNEQ0VCIC8qIEF1ZGlvU2Vzc2lvblJv
dXRpbmdBcmJpdHJhdG9yUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9OwogCQlDRDQ1NzBE
NDI0NDExRDBGMDBBM0RDRUIgLyogQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3IuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q0NTcwQ0IyNDQw
RkIyQTAwQTNEQ0VCIC8qIEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yLmNwcCAqLzsgfTsK
IAkJQ0Q0NjYxODMyNDAxMEE2NzAwNDdDQTM1IC8qIFJlbW90ZUNETUluc3RhbmNlU2Vzc2lvbk1l
c3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBDRDQ2NjE4MTI0MDEwNTY0MDA0N0NBMzUgLyogUmVtb3RlQ0RNSW5zdGFuY2VTZXNz
aW9uTWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsKQEAgLTE3NzMsNyArMTc3MSw2IEBACiAJCUNE
RTU1NTM0MjQwNkVCOEMwMDhBM0REQiAvKiBSZW1vdGVMZWdhY3lDRE1TZXNzaW9uTWVzc2FnZVJl
Y2VpdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IENERTU1NTJFMjQwNkI4OTcwMDhBM0REQiAvKiBSZW1vdGVMZWdhY3lDRE1TZXNzaW9uTWVzc2Fn
ZVJlY2VpdmVyLmNwcCAqLzsgfTsKIAkJQ0RFNTU1MzUyNDA2RUI4QzAwOEEzRERCIC8qIFJlbW90
ZUxlZ2FjeUNETVNlc3Npb25Qcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDREU1NTUzMTI0MDZCODk3MDA4QTNEREIg
LyogUmVtb3RlTGVnYWN5Q0RNU2Vzc2lvblByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsK
IAkJQ0UxMUFENTIxQ0JDNDgyRjAwNjgxRUU1IC8qIENvZGVTaWduaW5nLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRTExQUQ1MTFDQkM0ODJGMDA2ODFF
RTUgLyogQ29kZVNpZ25pbmcuaCAqLzsgfTsKLQkJQ0UxQTBCRDIxQTQ4RTZDNjAwNTRFRjc0IC8q
IEFzc2VydGlvblNlcnZpY2VzU1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBDRTFBMEJDQzFBNDhFNkM2MDA1NEVGNzQgLyogQXNzZXJ0aW9uU2Vydmlj
ZXNTUEkuaCAqLzsgfTsKIAkJQ0UxQTBCRDYxQTQ4RTZDNjAwNTRFRjc0IC8qIFRDQ1NQSS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0UxQTBCRDAxQTQ4
RTZDNjAwNTRFRjc0IC8qIFRDQ1NQSS5oICovOyB9OwogCQlDRTFBMEJENzFBNDhFNkM2MDA1NEVG
NzQgLyogVGV4dElucHV0U1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBDRTFBMEJEMTFBNDhFNkM2MDA1NEVGNzQgLyogVGV4dElucHV0U1BJLmggKi87
IH07CiAJCUNFMjEyMTVGMjQwRUU1NzEwMDZFRDQ0MyAvKiBXS1RleHRQbGFjZWhvbGRlci5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0UyMTIxNUQyNDBF
RTU3MTAwNkVENDQzIC8qIFdLVGV4dFBsYWNlaG9sZGVyLmggKi87IH07CkBAIC00NTMyLDcgKzQ1
MjksNyBAQAogCQk5QjEyMjlEMDIzRkYyQTVFMDA4Q0E3NTEgLyogUmVtb3RlQXVkaW9EZXN0aW5h
dGlvbklkZW50aWZpZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVtb3RlQXVkaW9EZXN0aW5hdGlvbklk
ZW50aWZpZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOUI0NzkwOEMyNTMxNEQ4
MzAwRUMxMUFCIC8qIE1lc3NhZ2VBcmd1bWVudERlc2NyaXB0aW9ucy5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBNZXNzYWdlQXJndW1lbnREZXNjcmlwdGlvbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJOUI0NzkwOEUyNTMxNTFDQzAwRUMxMUFCIC8qIEpTSVBDQmluZGluZy5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBKU0lQQ0JpbmRpbmcuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJOUI0
NzkwOTAyNTMxNTYzMjAwRUMxMUFCIC8qIE1lc3NhZ2VBcmd1bWVudERlc2NyaXB0aW9ucy5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBNZXNzYWdlQXJndW1lbnREZXNj
cmlwdGlvbnMuY3BwOyBwYXRoID0gTWVzc2FnZUFyZ3VtZW50RGVzY3JpcHRpb25zLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOUI0NzkwOTAyNTMxNTYzMjAwRUMxMUFCIC8qIE1l
c3NhZ2VBcmd1bWVudERlc2NyaXB0aW9ucy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBNZXNzYWdlQXJndW1lbnREZXNjcmlwdGlvbnMuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk5QjU0OTlBQzIzNjJBNkY2MDBERjhCQTUgLyogX1dLVGV4dE1hbmlw
dWxhdGlvbkNvbmZpZ3VyYXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gX1dLVGV4dE1hbmlwdWxhdGlv
bkNvbmZpZ3VyYXRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOUI1NDk5QUUy
MzYyQTdBNzAwREY4QkE1IC8qIF9XS1RleHRNYW5pcHVsYXRpb25Db25maWd1cmF0aW9uLm1tICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAub2JqY3BwOyBwYXRoID0gX1dLVGV4dE1hbmlwdWxhdGlvbkNvbmZpZ3VyYXRpb24ubW07
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTlCNTQ5OUIwMjM2MkE3RUMwMERGOEJBNSAv
KiBfV0tUZXh0TWFuaXB1bGF0aW9uRXhjbHVzaW9uUnVsZS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBfV0tU
ZXh0TWFuaXB1bGF0aW9uRXhjbHVzaW9uUnVsZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwpAQCAtNTEwOCw4ICs1MTA1LDYgQEAKIAkJQ0QxOUEyNkExQTEzRTgyMTAwOEQ2NTBFIC8qIFdl
YkRpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFdlYkRpYWdub3N0aWNMb2dnaW5nQ2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUNEMTlEMkU4MjA0NjQwNkYwMDE3MDc0QSAvKiBGdWxsc2NyZWVuVG91Y2hTZWNoZXVy
aXN0aWMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRnVsbHNjcmVlblRvdWNoU2VjaGV1cmlzdGljLmg7IHBh
dGggPSBpb3MvZnVsbHNjcmVlbi9GdWxsc2NyZWVuVG91Y2hTZWNoZXVyaXN0aWMuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0QxOUQyRTkyMDQ2NDA2RjAwMTcwNzRBIC8qIEZ1bGxz
Y3JlZW5Ub3VjaFNlY2hldXJpc3RpYy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBGdWxsc2NyZWVu
VG91Y2hTZWNoZXVyaXN0aWMuY3BwOyBwYXRoID0gaW9zL2Z1bGxzY3JlZW4vRnVsbHNjcmVlblRv
dWNoU2VjaGV1cmlzdGljLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQ0QyODY1
RUMyMjU1NTYyMDAwNjA2QUM3IC8qIFByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlci5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKLQkJQ0QyODY1RUQyMjU1NTYyMDAwNjA2QUM3IC8qIFByb2Nlc3NUYXNrU3RhdGVPYnNl
cnZlci5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlci5t
bTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0Q0NTcwQ0EyNDQwRkIyQTAwQTNEQ0VC
IC8qIEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEF1ZGlv
U2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUNENDU3MENCMjQ0MEZCMkEwMEEzRENFQiAvKiBBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRv
ci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvci5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNENDU3MEQwMjQ0MTAxNEEwMEEzRENF
QiAvKiBBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvclByb3h5TWVzc2FnZVJlY2VpdmVyLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yUHJveHlN
ZXNzYWdlUmVjZWl2ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNTI2NCw3
ICs1MjU5LDYgQEAKIAkJQ0RFNTU1MzEyNDA2Qjg5NzAwOEEzRERCIC8qIFJlbW90ZUxlZ2FjeUNE
TVNlc3Npb25Qcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZW1v
dGVMZWdhY3lDRE1TZXNzaW9uUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlDRTExQUQ0RjFDQkM0N0Y4MDA2ODFFRTUgLyogQ29kZVNpZ25pbmcu
bW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBDb2RlU2lnbmluZy5t
bTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0UxMUFENTExQ0JDNDgyRjAwNjgxRUU1
IC8qIENvZGVTaWduaW5nLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvZGVT
aWduaW5nLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUNFMUEwQkNDMUE0OEU2QzYw
MDU0RUY3NCAvKiBBc3NlcnRpb25TZXJ2aWNlc1NQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBBc3NlcnRpb25TZXJ2aWNlc1NQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlDRTFBMEJEMDFBNDhFNkM2MDA1NEVGNzQgLyogVENDU1BJLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFRDQ1NQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlDRTFBMEJEMTFBNDhFNkM2MDA1NEVGNzQgLyogVGV4dElucHV0U1BJLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFRleHRJbnB1dFNQSS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlDRTIxMjE1RDI0MEVFNTcxMDA2RUQ0NDMgLyogV0tUZXh0UGxhY2Vob2xk
ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBuYW1lID0gV0tUZXh0UGxhY2Vob2xkZXIuaDsgcGF0aCA9IGlvcy9XS1Rl
eHRQbGFjZWhvbGRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNzUzOCw4ICs3
NTMyLDYgQEAKIAkJCQlDRTU1MEUxMjIyODM3M0M4MDBEMjg3OTEgLyogSW5zZXJ0VGV4dE9wdGlv
bnMuaCAqLywKIAkJCQlDMTY2M0U1QTI0QUVBNzQyMDBDNkEzQjIgLyogTGF1bmNoU2VydmljZXNE
YXRhYmFzZVhQQ0NvbnN0YW50cy5oICovLAogCQkJCTJEMTA4NzYyMUQyQzY0MUIwMEI4NUY4MiAv
KiBMb2FkUGFyYW1ldGVyc0NvY29hLm1tICovLAotCQkJCUNEMjg2NUVDMjI1NTU2MjAwMDYwNkFD
NyAvKiBQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXIuaCAqLywKLQkJCQlDRDI4NjVFRDIyNTU1NjIw
MDA2MDZBQzcgLyogUHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyLm1tICovLAogCQkJCTdBQjRFQTNG
MjI3NzdDNDYwMDg1QkJBQSAvKiBTYW5kYm94RXh0ZW5zaW9uQ29jb2EubW0gKi8sCiAJCQkJN0FC
NEVBNDEyMjc3N0ZDNzAwODVCQkFBIC8qIFNhbmRib3hJbml0aWFsaWF0aW9uUGFyYW1ldGVyc0Nv
Y29hLm1tICovLAogCQkJCUUxOUJEQTg4MTkzNjg2QTQwMEI5N0Y1NyAvKiBTYW5kYm94VXRpbGl0
aWVzLmggKi8sCkBAIC0xMDQ3MCw3ICsxMDQ2Miw2IEBACiAJCUNFMUEwQkNCMUE0OEU2QzYwMDU0
RUY3NCAvKiBpb3MgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAot
CQkJCUNFMUEwQkNDMUE0OEU2QzYwMDU0RUY3NCAvKiBBc3NlcnRpb25TZXJ2aWNlc1NQSS5oICov
LAogCQkJCUNEQTA0MUYzMUFDRTIxMDUwMDRBMTNFQyAvKiBCYWNrQm9hcmRTZXJ2aWNlc1NQSS5o
ICovLAogCQkJCTk1Qzk0MzkwMjUyM0MwRDAwMDU0RjNENSAvKiBCYXNlQm9hcmRTUEkuaCAqLywK
IAkJCQkyRDRBRjA4ODIwNDRDM0M0MDA2Qzg4MTcgLyogRnJvbnRCb2FyZFNlcnZpY2VzU1BJLmgg
Ki8sCkBAIC0xMDgxNiw3ICsxMDgwNyw2IEBACiAJCQkJMUFFRkQyRjcxMUQxODA3QjAwODIxOUQz
IC8qIEFyZ3VtZW50Q29kZXJzLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUFGMEM0QTEyQjE2MzM0
MDA4RTQ5RTIgLyogQXJndW1lbnRDb2RlcnNDRi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTE3NUM0
NEEyMUFBMzE3MTAwMDAzN0QwIC8qIEFyZ3VtZW50Q29kZXJzQ29jb2EuaCBpbiBIZWFkZXJzICov
LAotCQkJCUNFMUEwQkQyMUE0OEU2QzYwMDU0RUY3NCAvKiBBc3NlcnRpb25TZXJ2aWNlc1NQSS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJNTE1RTc3MjgxODNERDZGNjAwMDcyMDNGIC8qIEFzeW5jUmVx
dWVzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQUFGQTYzNEYyMzRGN0M2NDAwRkZBODY0IC8qIEFz
eW5jUmV2YWxpZGF0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0VFOTY2RDExMkZBRjU3MDA2
QkNDMjQgLyogQXR0YWNobWVudC5oIGluIEhlYWRlcnMgKi8sCkBAIC0xMTEyNiw3ICsxMTExNiw2
IEBACiAJCQkJRTFDQzFCOTAxMkQ3RUFERjAwNjI1ODM4IC8qIFByaW50SW5mby5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJODZGOTUzNjUxOEZGNThGNTAwMURCMkVGIC8qIFByb2Nlc3NBc3NlcnRpb24u
aCBpbiBIZWFkZXJzICovLAogCQkJCUJDMUE3QzU4MTEzNkUxOUMwMEZCNzE2NyAvKiBQcm9jZXNz
TGF1bmNoZXIuaCBpbiBIZWFkZXJzICovLAotCQkJCUNEMjg2NUVFMjI1NTU2MjAwMDYwNkFDNyAv
KiBQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ2M0ZENDgy
MUVCOTRFQzAwMEEyOTgyQyAvKiBQcm9jZXNzVGVybWluYXRpb25SZWFzb24uaCBpbiBIZWFkZXJz
ICovLAogCQkJCTg2RTY3QTI1MTkxMEI5RDEwMDAwNEFCNyAvKiBQcm9jZXNzVGhyb3R0bGVyLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk4MzA0OEFFNjFBQ0E0NURDMDA4MkM4MzIgLyogUHJvY2Vzc1Ro
cm90dGxlckNsaWVudC5oIGluIEhlYWRlcnMgKi8sCkBAIC0xMjkwOCw3ICsxMjg5Nyw2IEBACiAJ
CQkJMkQ5MTM0NEQyMTJDRjlGMDAwMTI4QUZEIC8qIFBsdWdpblZpZXcuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJQzE1Q0JCMzcyM0YzN0VDQjAwMzAwQ0M3IC8qIFByZWZlcmVuY2VPYnNlcnZlci5t
bSBpbiBTb3VyY2VzICovLAogCQkJCTJENTRDMzFCMjEyRjREQTYwMDQ5QzE3NCAvKiBQcm9jZXNz
TGF1bmNoZXIuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJQ0QyODY1RUYyMjU1NTYyMDAwNjA2QUM3
IC8qIFByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlci5tbSBpbiBTb3VyY2VzICovLAogCQkJCTFBMEMy
MjdGMjQ1MTEzMEEwMEVENjE0RCAvKiBRdWlja0xvb2tUaHVtYm5haWxpbmdTb2Z0TGluay5tbSBp
biBTb3VyY2VzICovLAogCQkJCTFBMEMyMjVFMjQzNTc1Q0QwMEVENjE0RCAvKiBRdWlja0xvb2tU
aHVtYm5haWxMb2FkZXIubW0gaW4gU291cmNlcyAqLywKIAkJCQk5QjEyMjlDRTIzRkYyNUYyMDA4
Q0E3NTEgLyogUmVtb3RlQXVkaW9EZXN0aW5hdGlvbk1hbmFnZXIuY3BwIGluIFNvdXJjZXMgKi8s
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0Nv
Y29hLm1tIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5t
bQppbmRleCA2Mjk1NTI4Y2I0YmYxZjVhOTE4M2EzMjg2NTkyMzZmMTFiMmVkYmFjLi4yZTQ5ZTUy
NGQ3NmUwYmZkN2QwMjEzNDU0ZGI1MGY2OWZiM2QyOTIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0KQEAgLTEwMiw3ICsxMDIsNiBA
QAogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICNpbXBvcnQgIkFjY2Vzc2liaWxpdHlTdXBw
b3J0U1BJLmgiCi0jaW1wb3J0ICJBc3NlcnRpb25TZXJ2aWNlc1NQSS5oIgogI2ltcG9ydCAiUnVu
bmluZ0JvYXJkU2VydmljZXNTUEkuaCIKICNpbXBvcnQgIlVzZXJJbnRlcmZhY2VJZGlvbS5oIgog
I2ltcG9ydCAiV0tBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVjdElPUy5oIgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>411795</attachid>
            <date>2020-10-19 14:11:43 -0700</date>
            <delta_ts>2020-10-19 14:28:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-217787-20201019141142.patch</filename>
            <type>text/plain</type>
            <size>40677</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY4Njg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDMxZDE4ZDhlOTU5NmJjZTUx
ZDYzM2QzNDMzMDE3M2I5NjE1NzA2ODEuLjhlZmM5OTQzOTA2OWVkNGY1OGE2M2NkZjdiNWE1OTM2
ZWQ1OTVhZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzAgQEAKKzIwMjAtMTAtMTkgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBEcm9wIGxlZ2FjeSBjb2RlIHVzaW5n
IEFzc2VydGlvblNlcnZpY2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMTc3ODcKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzcwMTYwOTQyPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgIERyb3AgbGVnYWN5IGNv
ZGUgdXNpbmcgQXNzZXJ0aW9uU2VydmljZXMgYXMgdGhpcyBmcmFtZXdvcmsgaXMgZGVwcmVjYXRl
ZCBpbiBmYXZvciBvZgorICAgICAgICBSdW5uaW5nQm9hcmQuIEFsbCBvdXIgY29kZSBoYXMgYmVl
biBwb3J0ZWQgdG8gUnVubmluZ0JvYXJkIGFscmVhZHkuCisKKyAgICAgICAgKiBDb25maWd1cmF0
aW9ucy9XZWJLaXQueGNjb25maWc6CisgICAgICAgICogUGxhdGZvcm0vc3BpL2lvcy9Bc3NlcnRp
b25TZXJ2aWNlc1NQSS5oOiBSZW1vdmVkLgorICAgICAgICAqIFNoYXJlZC9Db2NvYS9Qcm9jZXNz
VGFza1N0YXRlT2JzZXJ2ZXIuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBTaGFyZWQvQ29jb2EvUHJv
Y2Vzc1Rhc2tTdGF0ZU9ic2VydmVyLm1tOiBSZW1vdmVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9B
cHBsaWNhdGlvblN0YXRlVHJhY2tlci5tbToKKyAgICAgICAgKiBVSVByb2Nlc3MvUHJvY2Vzc0Fz
c2VydGlvbi5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW06
CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9Qcm9jZXNzQXNzZXJ0aW9uSU9TLm1tOgorICAgICAg
ICAoLVtXS1Byb2Nlc3NBc3NlcnRpb25CYWNrZ3JvdW5kVGFza01hbmFnZXIgaW5pdF0pOgorICAg
ICAgICAoLVtXS1Byb2Nlc3NBc3NlcnRpb25CYWNrZ3JvdW5kVGFza01hbmFnZXIgX2hhc0JhY2tn
cm91bmRUYXNrXSk6CisgICAgICAgICgtW1dLUHJvY2Vzc0Fzc2VydGlvbkJhY2tncm91bmRUYXNr
TWFuYWdlciBfdXBkYXRlQmFja2dyb3VuZFRhc2tdKToKKyAgICAgICAgKC1bV0tQcm9jZXNzQXNz
ZXJ0aW9uQmFja2dyb3VuZFRhc2tNYW5hZ2VyIGFzc2VydGlvbjpkaWRJbnZhbGlkYXRlV2l0aEVy
cm9yOl0pOgorICAgICAgICAoLVtXS1Byb2Nlc3NBc3NlcnRpb25CYWNrZ3JvdW5kVGFza01hbmFn
ZXIgX3JlbGVhc2VCYWNrZ3JvdW5kVGFza10pOgorICAgICAgICAqIFdlYktpdC54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFdlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0Nv
Y29hLm1tOgorCiAyMDIwLTEwLTE5ICBTYWlkIEFib3UtSGFsbGF3YSAgPHNhYm91aGFsbGF3YUBh
cHBsZS5jb20+CiAKICAgICAgICAgW0dQVSBQcm9jZXNzXSBDbGVhbiB0aGUgRGlzcGxheUxpc3Qg
cmVjb3JkaW5nIG9mIHRoZSBOYXRpdmVJbWFnZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYv
UGxhdGZvcm1IYXZlLmggYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaAppbmRleCAxNmZk
NjYzZjJlMWQyMDhlNzdmMjM4MzRjZDEyY2IwMzRlMDYzMTk2Li40Y2Q0NzQwZjQyMmFmNjYyZjIx
MjQxMjE1ZmIzNDg1NWUwMjU1YjVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9y
bUhhdmUuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaApAQCAtNDE0LDEyICs0
MTQsNiBAQAogI2RlZmluZSBIQVZFX0NGTkVUV09SS19BTFRFUk5BVElWRV9TRVJWSUNFIDEKICNl
bmRpZgogCi0jaWYgKFBMQVRGT1JNKElPU19GQU1JTFkpICYmIF9fSVBIT05FX09TX1ZFUlNJT05f
TUlOX1JFUVVJUkVEID49IDE0MDAwMCkgXAotICAgIHx8IChQTEFURk9STShXQVRDSE9TKSAmJiBf
X1dBVENIX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDcwMDAwKSBcCi0gICAgfHwgKFBMQVRG
T1JNKEFQUExFVFYpICYmIF9fVFZfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTQwMDAwKQot
I2RlZmluZSBIQVZFX1JVTk5JTkdCT0FSRF9WSVNJQklMSVRZX0FTU0VSVElPTlMgMQotI2VuZGlm
Ci0KICNpZiBQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQg
Pj0gMTAxNTAwCiAjZGVmaW5lIEhBVkVfQ1NDSEVDS0ZJWERJU0FCTEUgMQogI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL1dlYktpdC54Y2NvbmZpZyBiL1Nv
dXJjZS9XZWJLaXQvQ29uZmlndXJhdGlvbnMvV2ViS2l0LnhjY29uZmlnCmluZGV4IGEzNDk2Y2Qz
ZjdmMzlkYjk5Y2RjMjMwOTFkOTM0NTk0YTM0OGM2MWIuLmYzOTA4NjE3YjAyZjRjNjAxMTE5Mjgy
YzY4OWEwNTQyZTRkMjMxYjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ29uZmlndXJhdGlv
bnMvV2ViS2l0LnhjY29uZmlnCisrKyBiL1NvdXJjZS9XZWJLaXQvQ29uZmlndXJhdGlvbnMvV2Vi
S2l0LnhjY29uZmlnCkBAIC00OSwxNyArNDksNiBAQCBXS19BUFBLSVRfTERGTEFHUyA9ICQoV0tf
QVBQS0lUX0xERkxBR1NfJChXS19QTEFURk9STV9OQU1FKSk7CiBXS19BUFBLSVRfTERGTEFHU19t
YWNvc3ggPSAtZnJhbWV3b3JrIEFwcEtpdDsKIFdLX0FQUEtJVF9MREZMQUdTX21hY2NhdGFseXN0
ID0gLWZyYW1ld29yayBBcHBLaXQ7CiAKLVdLX0FTU0VSVElPTl9TRVJWSUNFU19MREZMQUdTID0g
JChXS19BU1NFUlRJT05fU0VSVklDRVNfTERGTEFHU18kKFdLX1BMQVRGT1JNX05BTUUpKTsKLVdL
X0FTU0VSVElPTl9TRVJWSUNFU19MREZMQUdTX2lwaG9uZW9zID0gJChXS19BU1NFUlRJT05fU0VS
VklDRVNfTERGTEFHUyQoV0tfSU9TXzE0KSk7Ci1XS19BU1NFUlRJT05fU0VSVklDRVNfTERGTEFH
U19pcGhvbmVzaW11bGF0b3IgPSAkKFdLX0FTU0VSVElPTl9TRVJWSUNFU19MREZMQUdTJChXS19J
T1NfMTQpKTsKLVdLX0FTU0VSVElPTl9TRVJWSUNFU19MREZMQUdTX0lPU19CRUZPUkVfMTQgPSAt
ZnJhbWV3b3JrIEFzc2VydGlvblNlcnZpY2VzOwotLy8gRklYTUU6IEl0IGlzIHVubmVjZXNzYXJ5
IHRvIGxpbmsgYWdhaW5zdCBBc3NlcnRpb25TZXJ2aWNlcyB3aXRoIHRoZSBsYXRlc3QgU0RLIGZv
ciB0aGUgZm9sbG93aW5nIHBsYXRmb3JtcyB0b28uCi1XS19BU1NFUlRJT05fU0VSVklDRVNfTERG
TEFHU193YXRjaG9zID0gLWZyYW1ld29yayBBc3NlcnRpb25TZXJ2aWNlczsKLVdLX0FTU0VSVElP
Tl9TRVJWSUNFU19MREZMQUdTX3dhdGNoc2ltdWxhdG9yID0gLWZyYW1ld29yayBBc3NlcnRpb25T
ZXJ2aWNlczsKLVdLX0FTU0VSVElPTl9TRVJWSUNFU19MREZMQUdTX2FwcGxldHZvcyA9IC1mcmFt
ZXdvcmsgQXNzZXJ0aW9uU2VydmljZXM7Ci1XS19BU1NFUlRJT05fU0VSVklDRVNfTERGTEFHU19h
cHBsZXR2c2ltdWxhdG9yID0gLWZyYW1ld29yayBBc3NlcnRpb25TZXJ2aWNlczsKLVdLX0FTU0VS
VElPTl9TRVJWSUNFU19MREZMQUdTX21hY2NhdGFseXN0ID0gLWZyYW1ld29yayBBc3NlcnRpb25T
ZXJ2aWNlczsKLQogV0tfQkFDS0JPQVJEX1NFUlZJQ0VTX0xERkxBR1MgPSAkKFdLX0JBQ0tCT0FS
RF9TRVJWSUNFU19MREZMQUdTXyQoV0tfUExBVEZPUk1fTkFNRSkpOwogV0tfQkFDS0JPQVJEX1NF
UlZJQ0VTX0xERkxBR1NfaXBob25lb3MgPSAtZnJhbWV3b3JrIEJhY2tCb2FyZFNlcnZpY2VzOwog
V0tfQkFDS0JPQVJEX1NFUlZJQ0VTX0xERkxBR1NfaXBob25lc2ltdWxhdG9yID0gLWZyYW1ld29y
ayBCYWNrQm9hcmRTZXJ2aWNlczsKQEAgLTEyOSw3ICsxMTgsNyBAQCBXS19BVVRIS0lUX0xERkxB
R1NfSU9TX1NJTkNFXzEzID0gLWZyYW1ld29yayBBdXRoS2l0OwogV0tfQVVUSEtJVF9MREZMQUdT
X21hY29zeCA9ICQoV0tfQVVUSEtJVF9MREZMQUdTJChXS19NQUNPU18xMDE1KSk7CiBXS19BVVRI
S0lUX0xERkxBR1NfTUFDT1NfU0lOQ0VfMTAxNSA9IC1mcmFtZXdvcmsgQXV0aEtpdDsKIAotRlJB
TUVXT1JLX0FORF9MSUJSQVJZX0xERkxBR1MgPSAtbG9iamMgLWZyYW1ld29yayBDRk5ldHdvcmsg
LWZyYW1ld29yayBDb3JlQXVkaW8gLWZyYW1ld29yayBDb3JlRm91bmRhdGlvbiAtZnJhbWV3b3Jr
IENvcmVHcmFwaGljcyAtZnJhbWV3b3JrIENvcmVUZXh0IC1mcmFtZXdvcmsgRm91bmRhdGlvbiAt
ZnJhbWV3b3JrIEltYWdlSU8gLWZyYW1ld29yayBJT0tpdCAtZnJhbWV3b3JrIElPU3VyZmFjZSAt
ZnJhbWV3b3JrIFdlYktpdExlZ2FjeSAtbG5ldHdvcmsgJChXS19BQ0NFU1NJQklMSVRZX0xERkxB
R1MpICQoV0tfQVBQS0lUX0xERkxBR1MpICQoV0tfQVNTRVJUSU9OX1NFUlZJQ0VTX0xERkxBR1Mp
ICQoV0tfQkFDS0JPQVJEX1NFUlZJQ0VTX0xERkxBR1MpICQoV0tfUlVOTklOR0JPQVJEX1NFUlZJ
Q0VTX0xERkxBR1MpICQoV0tfQVVUSEtJVF9MREZMQUdTKSAkKFdLX0NBUkJPTl9MREZMQUdTKSAk
KFdLX0NPUkVfUFJFRElDVElPTl9MREZMQUdTKSAkKFdLX0NPUkVfU0VSVklDRVNfTERGTEFHUykg
JChXS19HUkFQSElDU19TRVJWSUNFU19MREZMQUdTKSAkKFdLX0xJQlNBTkRCT1hfTERGTEFHUykg
JChXS19MSUJXRUJSVENfTERGTEFHUykgJChXS19NT0JJTEVfQ09SRV9TRVJWSUNFU19MREZMQUdT
KSAkKFdLX01PQklMRV9HRVNUQUxUX0xERkxBR1MpICQoV0tfUERGS0lUX0xERkxBR1MpICQoV0tf
U0FGRV9CUk9XU0lOR19MREZMQUdTKSAkKFdLX1NFQ1VSSVRZX0lOVEVSRkFDRV9MREZMQUdTKSAk
KFdLX1VJS0lUX0xERkxBR1MpICQoV0tfVVJMX0ZPUk1BVFRJTkdfTERGTEFHUykgJChXS19XRUJJ
TlNQRUNUT1JVSV9MREZMQUdTKTsKK0ZSQU1FV09SS19BTkRfTElCUkFSWV9MREZMQUdTID0gLWxv
YmpjIC1mcmFtZXdvcmsgQ0ZOZXR3b3JrIC1mcmFtZXdvcmsgQ29yZUF1ZGlvIC1mcmFtZXdvcmsg
Q29yZUZvdW5kYXRpb24gLWZyYW1ld29yayBDb3JlR3JhcGhpY3MgLWZyYW1ld29yayBDb3JlVGV4
dCAtZnJhbWV3b3JrIEZvdW5kYXRpb24gLWZyYW1ld29yayBJbWFnZUlPIC1mcmFtZXdvcmsgSU9L
aXQgLWZyYW1ld29yayBJT1N1cmZhY2UgLWZyYW1ld29yayBXZWJLaXRMZWdhY3kgLWxuZXR3b3Jr
ICQoV0tfQUNDRVNTSUJJTElUWV9MREZMQUdTKSAkKFdLX0FQUEtJVF9MREZMQUdTKSAkKFdLX0JB
Q0tCT0FSRF9TRVJWSUNFU19MREZMQUdTKSAkKFdLX1JVTk5JTkdCT0FSRF9TRVJWSUNFU19MREZM
QUdTKSAkKFdLX0FVVEhLSVRfTERGTEFHUykgJChXS19DQVJCT05fTERGTEFHUykgJChXS19DT1JF
X1BSRURJQ1RJT05fTERGTEFHUykgJChXS19DT1JFX1NFUlZJQ0VTX0xERkxBR1MpICQoV0tfR1JB
UEhJQ1NfU0VSVklDRVNfTERGTEFHUykgJChXS19MSUJTQU5EQk9YX0xERkxBR1MpICQoV0tfTElC
V0VCUlRDX0xERkxBR1MpICQoV0tfTU9CSUxFX0NPUkVfU0VSVklDRVNfTERGTEFHUykgJChXS19N
T0JJTEVfR0VTVEFMVF9MREZMQUdTKSAkKFdLX1BERktJVF9MREZMQUdTKSAkKFdLX1NBRkVfQlJP
V1NJTkdfTERGTEFHUykgJChXS19TRUNVUklUWV9JTlRFUkZBQ0VfTERGTEFHUykgJChXS19VSUtJ
VF9MREZMQUdTKSAkKFdLX1VSTF9GT1JNQVRUSU5HX0xERkxBR1MpICQoV0tfV0VCSU5TUEVDVE9S
VUlfTERGTEFHUyk7CiAKIC8vIFByZXZlbnQgQysrIHN0YW5kYXJkIGxpYnJhcnkgYmFzaWNfc3Ry
aW5nc3RyZWFtLCBvcGVyYXRvciBuZXcsIGRlbGV0ZSBhbmQgdGhlaXIgcmVsYXRlZCBleGNlcHRp
b24gdHlwZXMgZnJvbSBiZWluZyBleHBvcnRlZCBhcyB3ZWFrIHN5bWJvbHMuCiBVTkVYUE9SVEVE
X1NZTUJPTF9MREZMQUdTID0gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aVElTdDliYWRf
YWxsb2MgLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aVElTdDlleGNlcHRpb24gLVdsLC11
bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aVFNTdDliYWRfYWxsb2MgLVdsLC11bmV4cG9ydGVkX3N5
bWJvbCAtV2wsX19aVFNTdDlleGNlcHRpb24gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19a
ZGxQdlNfIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWm53bVB2IC1XbCwtdW5leHBvcnRl
ZF9zeW1ib2wgLVdsLF9fWm53bSAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pOU3QzX18x
OGZ1bmN0aW9uSUZ2TjdXZWJDb3JlMTJQb2xpY3lBY3Rpb25FRUVDMkVPUzRfIC1XbCwtdW5leHBv
cnRlZF9zeW1ib2wgLVdsLF9fWk5TdDNfXzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBvbGljeUFj
dGlvbkVFRUMxRU9TNF8gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aTlN0M19fMThmdW5j
dGlvbklGdk43V2ViQ29yZTEyUG9saWN5QWN0aW9uRUVFYVNFRG4gLVdsLC11bmV4cG9ydGVkX3N5
bWJvbCAtV2wsX19aTktTdDNfXzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBvbGljeUFjdGlvbkVF
RWNsRVMyXyAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pOU3QzX18xOGZ1bmN0aW9uSUZ2
TjdXZWJDb3JlMTJQb2xpY3lBY3Rpb25FRUU0c3dhcEVSUzRfIC1XbCwtdW5leHBvcnRlZF9zeW1i
b2wgLVdsLF9fWk5TdDNfXzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBvbGljeUFjdGlvbkVFRUMx
RVJLUzRfIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWk5TdDNfXzE4ZnVuY3Rpb25JRnZO
N1dlYkNvcmUxMlBvbGljeUFjdGlvbkVFRUMyRVJLUzRfIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wg
LVdsLF9fWk5TdDNfXzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBvbGljeUFjdGlvbkVFRUQxRXYg
LVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aTlN0M19fMThmdW5jdGlvbklGdk43V2ViQ29y
ZTEyUG9saWN5QWN0aW9uRUVFRDJFdiAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pOU3Qz
X18xOGZ1bmN0aW9uSUZ2TjdXZWJDb3JlMTJQb2xpY3lBY3Rpb25FRUVhU0VSS1M0XyAtV2wsLXVu
ZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pUVk5TdDNfXzExN2JhZF9mdW5jdGlvbl9jYWxsRSAtV2ws
LXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pUQ05TdDNfXzExOGJhc2ljX3N0cmluZ3N0cmVhbUlj
TlNfMTFjaGFyX3RyYWl0c0ljRUVOU185YWxsb2NhdG9ySWNFRUVFMF9OU18xM2Jhc2ljX2lzdHJl
YW1JY1MyX0VFIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWlRDTlN0M19fMTE4YmFzaWNf
c3RyaW5nc3RyZWFtSWNOU18xMWNoYXJfdHJhaXRzSWNFRU5TXzlhbGxvY2F0b3JJY0VFRUUwX05T
XzE0YmFzaWNfaW9zdHJlYW1JY1MyX0VFIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWlRD
TlN0M19fMTE4YmFzaWNfc3RyaW5nc3RyZWFtSWNOU18xMWNoYXJfdHJhaXRzSWNFRU5TXzlhbGxv
Y2F0b3JJY0VFRUUxNl9OU18xM2Jhc2ljX29zdHJlYW1JY1MyX0VFIC1XbCwtdW5leHBvcnRlZF9z
eW1ib2wgLVdsLF9fWlRUTlN0M19fMTE4YmFzaWNfc3RyaW5nc3RyZWFtSWNOU18xMWNoYXJfdHJh
aXRzSWNFRU5TXzlhbGxvY2F0b3JJY0VFRUUgLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19a
VFZOU3QzX18xMTViYXNpY19zdHJpbmdidWZJY05TXzExY2hhcl90cmFpdHNJY0VFTlNfOWFsbG9j
YXRvckljRUVFRSAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pUVk5TdDNfXzExOGJhc2lj
X3N0cmluZ3N0cmVhbUljTlNfMTFjaGFyX3RyYWl0c0ljRUVOU185YWxsb2NhdG9ySWNFRUVFIC1X
bCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWlRDTlN0M19fMTE4YmFzaWNfc3RyaW5nc3RyZWFt
SWNOU18xMWNoYXJfdHJhaXRzSWNFRU5TXzlhbGxvY2F0b3JJY0VFRUU4X05TXzEzYmFzaWNfb3N0
cmVhbUljUzJfRUU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL3NwaS9pb3Mv
QXNzZXJ0aW9uU2VydmljZXNTUEkuaCBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL2lvcy9B
c3NlcnRpb25TZXJ2aWNlc1NQSS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1NzVl
ODgwMmZhODY1MjMzY2Y3MTY0MDlmNzQyMjZjZTA3N2YyMjI5Li4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL2lv
cy9Bc3NlcnRpb25TZXJ2aWNlc1NQSS5oCisrKyAvZGV2L251bGwKQEAgLTEsMTE3ICswLDAgQEAK
LS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0g
KiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW1wb3J0IDxG
b3VuZGF0aW9uL0ZvdW5kYXRpb24uaD4KLQotI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCi0K
LSNpbXBvcnQgPEFzc2VydGlvblNlcnZpY2VzL0JLU0FwcGxpY2F0aW9uU3RhdGVNb25pdG9yLmg+
Ci0jaW1wb3J0IDxBc3NlcnRpb25TZXJ2aWNlcy9CS1NQcm9jZXNzLmg+Ci0jaW1wb3J0IDxBc3Nl
cnRpb25TZXJ2aWNlcy9CS1NQcm9jZXNzQXNzZXJ0aW9uLmg+Ci0KLSNlbHNlCi0KLWVudW0gewot
ICAgIEJLU0FwcGxpY2F0aW9uU3RhdGVVbmtub3duICAgICAgICAgICAgICAgICAgICAgID0gMCwK
LSAgICBCS1NBcHBsaWNhdGlvblN0YXRlVGVybWluYXRlZCAgICAgICAgICAgICAgICAgICA9ICgx
IDw8IDApLAotICAgIEJLU0FwcGxpY2F0aW9uU3RhdGVCYWNrZ3JvdW5kVGFza1N1c3BlbmRlZCAg
ICAgID0gKDEgPDwgMSksCi0gICAgQktTQXBwbGljYXRpb25TdGF0ZUJhY2tncm91bmRSdW5uaW5n
ICAgICAgICAgICAgPSAoMSA8PCAyKSwKLSAgICBCS1NBcHBsaWNhdGlvblN0YXRlRm9yZWdyb3Vu
ZFJ1bm5pbmcgICAgICAgICAgICA9ICgxIDw8IDMpLAotICAgIEJLU0FwcGxpY2F0aW9uU3RhdGVQ
cm9jZXNzU2VydmVyICAgICAgICAgICAgICAgID0gKDEgPDwgNCksCi0gICAgQktTQXBwbGljYXRp
b25TdGF0ZUZvcmVncm91bmRSdW5uaW5nT2JzY3VyZWQgICAgPSAoMSA8PCA1KSwKLX07Ci10eXBl
ZGVmIHVpbnQzMl90IEJLU0FwcGxpY2F0aW9uU3RhdGU7Ci0KLWV4dGVybiBOU1N0cmluZyAqIGNv
bnN0IEJLU0FwcGxpY2F0aW9uU3RhdGVNb3N0RWxldmF0ZWRTdGF0ZUZvclByb2Nlc3NJREtleTsK
LWV4dGVybiBOU1N0cmluZyAqIGNvbnN0IEJLU0FwcGxpY2F0aW9uU3RhdGVQcm9jZXNzSURLZXk7
Ci0KLXR5cGVkZWYgdm9pZCheQktTQXBwbGljYXRpb25TdGF0ZUNoYW5nZWRIYW5kbGVyKShOU0Rp
Y3Rpb25hcnkgKnVzZXJJbmZvKTsKLQotQGludGVyZmFjZSBCS1NBcHBsaWNhdGlvblN0YXRlTW9u
aXRvciA6IE5TT2JqZWN0Ci0KLUBwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5KSBCS1NBcHBsaWNh
dGlvblN0YXRlQ2hhbmdlZEhhbmRsZXIgaGFuZGxlcjsKLQotLSAoQktTQXBwbGljYXRpb25TdGF0
ZSltb3N0RWxldmF0ZWRBcHBsaWNhdGlvblN0YXRlRm9yUElEOihwaWRfdClwaWQ7Ci0tICh2b2lk
KWludmFsaWRhdGU7Ci0KLUBlbmQKLQotZW51bSB7Ci0gICAgQktTUHJvY2Vzc0Fzc2VydGlvbk5v
bmUgPSAwLAotICAgIEJLU1Byb2Nlc3NBc3NlcnRpb25QcmV2ZW50VGFza1N1c3BlbmQgID0gMSA8
PCAwLAotICAgIEJLU1Byb2Nlc3NBc3NlcnRpb25QcmV2ZW50VGFza1Rocm90dGxlRG93biA9IDEg
PDwgMSwKLSAgICBCS1NQcm9jZXNzQXNzZXJ0aW9uQWxsb3dJZGxlU2xlZXAgPSAxIDw8IDIsCi0g
ICAgQktTUHJvY2Vzc0Fzc2VydGlvbldhbnRzRm9yZWdyb3VuZFJlc291cmNlUHJpb3JpdHkgPSAx
IDw8IDMsCi0gICAgQktTUHJvY2Vzc0Fzc2VydGlvbkFsbG93U3VzcGVuZE9uU2xlZXAgPSAxIDw8
IDQsCi19OwotdHlwZWRlZiB1aW50MzJfdCBCS1NQcm9jZXNzQXNzZXJ0aW9uRmxhZ3M7Ci0KLWVu
dW0gewotICAgIEJLU1Byb2Nlc3NBc3NlcnRpb25SZWFzb25NZWRpYVBsYXliYWNrID0gMSwKLSAg
ICBCS1NQcm9jZXNzQXNzZXJ0aW9uUmVhc29uRmluaXNoVGFzayA9IDQsCi0gICAgQktTUHJvY2Vz
c0Fzc2VydGlvblJlYXNvbkV4dGVuc2lvbiA9IDEzLAotICAgIEJLU1Byb2Nlc3NBc3NlcnRpb25S
ZWFzb25GaW5pc2hUYXNrVW5ib3VuZGVkID0gMTAwMDQsCi19OwotdHlwZWRlZiB1aW50MzJfdCBC
S1NQcm9jZXNzQXNzZXJ0aW9uUmVhc29uOwotCi10eXBlZGVmIHZvaWQgKF5CS1NQcm9jZXNzQXNz
ZXJ0aW9uSW52YWxpZGF0aW9uSGFuZGxlcikodm9pZCk7Ci10eXBlZGVmIHZvaWQgKF5CS1NQcm9j
ZXNzQXNzZXJ0aW9uQWNxdWlzaXRpb25IYW5kbGVyKShCT09MIGFjcXVpcmVkKTsKLQotQGludGVy
ZmFjZSBCS1NQcm9jZXNzQXNzZXJ0aW9uIDogTlNPYmplY3QKLUBlbmQKLQotQGludGVyZmFjZSBC
S1NQcm9jZXNzQXNzZXJ0aW9uICgpCi1AcHJvcGVydHkgKG5vbmF0b21pYywgYXNzaWduKSBCS1NQ
cm9jZXNzQXNzZXJ0aW9uRmxhZ3MgZmxhZ3M7Ci0tIChpZClpbml0V2l0aFBJRDoocGlkX3QpcGlk
IGZsYWdzOihCS1NQcm9jZXNzQXNzZXJ0aW9uRmxhZ3MpZmxhZ3MgcmVhc29uOihCS1NQcm9jZXNz
QXNzZXJ0aW9uUmVhc29uKXJlYXNvbiBuYW1lOihOU1N0cmluZyAqKW5hbWUgd2l0aEhhbmRsZXI6
KEJLU1Byb2Nlc3NBc3NlcnRpb25BY3F1aXNpdGlvbkhhbmRsZXIpaGFuZGxlcjsKLQotQHByb3Bl
cnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBCT09MIHZhbGlkOwotQHByb3BlcnR5IChub25hdG9t
aWMsIGNvcHkpIEJLU1Byb2Nlc3NBc3NlcnRpb25JbnZhbGlkYXRpb25IYW5kbGVyIGludmFsaWRh
dGlvbkhhbmRsZXI7Ci0tICh2b2lkKWludmFsaWRhdGU7Ci1AZW5kCi0KLWVudW0gewotICAgIEJL
U1Byb2Nlc3NUYXNrU3RhdGVOb25lLAotICAgIEJLU1Byb2Nlc3NUYXNrU3RhdGVSdW5uaW5nLAot
ICAgIEJLU1Byb2Nlc3NUYXNrU3RhdGVTdXNwZW5kZWQsCi19OwotdHlwZWRlZiB1aW50MzJfdCBC
S1NQcm9jZXNzVGFza1N0YXRlOwotCi1AY2xhc3MgQktTUHJvY2VzczsKLQotQHByb3RvY29sIEJL
U1Byb2Nlc3NEZWxlZ2F0ZSA8TlNPYmplY3Q+Ci1Ab3B0aW9uYWwKLS0gKHZvaWQpcHJvY2Vzczoo
QktTUHJvY2VzcyAqKXByb2Nlc3MgdGFza1N0YXRlRGlkQ2hhbmdlOihCS1NQcm9jZXNzVGFza1N0
YXRlKW5ld1N0YXRlOwotQGVuZAotCi1AaW50ZXJmYWNlIEJLU1Byb2Nlc3MgOiBOU09iamVjdAot
QGVuZAotCi1AaW50ZXJmYWNlIEJLU1Byb2Nlc3MgKCkKLSsgKEJLU1Byb2Nlc3MgKiljdXJyZW50
UHJvY2VzczsKLUBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkd3JpdGUsIHdlYWspIGlkIDxCS1NQ
cm9jZXNzRGVsZWdhdGU+IGRlbGVnYXRlOwotQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5
LCBhc3NpZ24pIEJLU1Byb2Nlc3NUYXNrU3RhdGUgdGFza1N0YXRlOwotQGVuZAotCi0jZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL1Byb2Nlc3NUYXNrU3RhdGVP
YnNlcnZlci5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvUHJvY2Vzc1Rhc2tTdGF0ZU9i
c2VydmVyLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhmY2RmOTc5MGZhYjUwNWFh
NzM1NWU4ZDBhNWQwOGE2NWU3MTQ5MTkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvUHJvY2Vzc1Rhc2tTdGF0
ZU9ic2VydmVyLmgKKysrIC9kZXYvbnVsbApAQCAtMSw3NCArMCwwIEBACi0vKgotICogQ29weXJp
Z2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
Ci0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAq
Ci0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQot
I3ByYWdtYSBvbmNlCi0KLSNpZiBQTEFURk9STShJT1NfRkFNSUxZKQotCi0jaW5jbHVkZSA8d3Rm
L0xvY2suaD4KLSNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+Ci0jaW5jbHVkZSA8d3RmL1RocmVh
ZFNhZmVSZWZDb3VudGVkLmg+Ci0KLU9CSkNfQ0xBU1MgV0tQcm9jZXNzVGFza1N0YXRlT2JzZXJ2
ZXJEZWxlZ2F0ZTsKLU9CSkNfQ0xBU1MgQktTUHJvY2VzczsKLQotbmFtZXNwYWNlIFdlYktpdCB7
Ci0KLWNsYXNzIFByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlciA6IHB1YmxpYyBUaHJlYWRTYWZlUmVm
Q291bnRlZDxQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXI+IHsKLXB1YmxpYzoKLSAgICBjbGFzcyBD
bGllbnQ7Ci0KLSAgICBzdGF0aWMgUmVmPFByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlcj4gY3JlYXRl
KENsaWVudCYpOwotICAgIH5Qcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXIoKTsKLSAgICAKLSAgICBl
bnVtIFRhc2tTdGF0ZSB7Ci0gICAgICAgIE5vbmUsCi0gICAgICAgIFJ1bm5pbmcsCi0gICAgICAg
IFN1c3BlbmRlZCwKLSAgICB9OwotCi0gICAgY2xhc3MgQ2xpZW50IHsKLSAgICBwdWJsaWM6Ci0g
ICAgICAgIHZpcnR1YWwgfkNsaWVudCgpID0gZGVmYXVsdDsKLSAgICAgICAgdmlydHVhbCB2b2lk
IHByb2Nlc3NUYXNrU3RhdGVEaWRDaGFuZ2UoVGFza1N0YXRlKSA9IDA7Ci0gICAgfTsKLQotICAg
IHZvaWQgaW52YWxpZGF0ZSgpOwotICAgIFRhc2tTdGF0ZSB0YXNrU3RhdGUoKSBjb25zdCB7IHJl
dHVybiBtX3Rhc2tTdGF0ZTsgfQotCi1wcml2YXRlOgotICAgIGV4cGxpY2l0IFByb2Nlc3NUYXNr
U3RhdGVPYnNlcnZlcihDbGllbnQmKTsKLSAgICB2b2lkIHNldFRhc2tTdGF0ZShUYXNrU3RhdGUp
OwotCi0gICAgQ2xpZW50KiBtX2NsaWVudDsKLSAgICBMb2NrIG1fY2xpZW50TG9jazsKLSAgICBU
YXNrU3RhdGUgbV90YXNrU3RhdGUgeyBOb25lIH07Ci0gICAgUmV0YWluUHRyPEJLU1Byb2Nlc3M+
IG1fcHJvY2VzczsKLSAgICBSZXRhaW5QdHI8V0tQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXJEZWxl
Z2F0ZT4gbV9kZWxlZ2F0ZTsKLX07Ci0KLX0KLQotI2VuZGlmIC8vIFBMQVRGT1JNKElPU19GQU1J
TFkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9Qcm9jZXNzVGFza1N0
YXRlT2JzZXJ2ZXIubW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9Qcm9jZXNzVGFza1N0
YXRlT2JzZXJ2ZXIubW0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU2MGI0YjhiYWNh
NmZjNGU1YjZkMTkxYTE5OTdhNDFkZjA5MGI4MzQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvUHJvY2Vzc1Rh
c2tTdGF0ZU9ic2VydmVyLm1tCisrKyAvZGV2L251bGwKQEAgLTEsMTE1ICswLDAgQEAKLS8qCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoK
LSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
LSAqLwotCi0jaW1wb3J0ICJjb25maWcuaCIKLSNpbXBvcnQgIlByb2Nlc3NUYXNrU3RhdGVPYnNl
cnZlci5oIgotCi0jaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKLQotI2ltcG9ydCAiQXNzZXJ0aW9u
U2VydmljZXNTUEkuaCIKLSNpbXBvcnQgIkxvZ2dpbmcuaCIKLSNpbXBvcnQgPHd0Zi9GdW5jdGlv
bi5oPgotI2ltcG9ydCA8d3RmL1NvZnRMaW5raW5nLmg+Ci0KLVNPRlRfTElOS19QUklWQVRFX0ZS
QU1FV09SSyhBc3NlcnRpb25TZXJ2aWNlcyk7Ci1TT0ZUX0xJTktfQ0xBU1MoQXNzZXJ0aW9uU2Vy
dmljZXMsIEJLU1Byb2Nlc3MpOwotCi10eXBlZGVmIHZvaWQoXlRhc2tTdGF0ZUNoYW5nZWRDYWxs
YmFja1R5cGUpKEJLU1Byb2Nlc3NUYXNrU3RhdGUpOwotCi1AaW50ZXJmYWNlIFdLUHJvY2Vzc1Rh
c2tTdGF0ZU9ic2VydmVyRGVsZWdhdGUgOiBOU09iamVjdDxCS1NQcm9jZXNzRGVsZWdhdGU+Ci1A
cHJvcGVydHkgKGNvcHkpIFRhc2tTdGF0ZUNoYW5nZWRDYWxsYmFja1R5cGUgdGFza1N0YXRlQ2hh
bmdlZENhbGxiYWNrOwotQGVuZAotCi1AaW1wbGVtZW50YXRpb24gV0tQcm9jZXNzVGFza1N0YXRl
T2JzZXJ2ZXJEZWxlZ2F0ZQotLSAodm9pZClkZWFsbG9jCi17Ci0gICAgW190YXNrU3RhdGVDaGFu
Z2VkQ2FsbGJhY2sgcmVsZWFzZV07Ci0gICAgW3N1cGVyIGRlYWxsb2NdOwotfQotCi0tICh2b2lk
KXByb2Nlc3M6KEJLU1Byb2Nlc3MgKilwcm9jZXNzIHRhc2tTdGF0ZURpZENoYW5nZTooQktTUHJv
Y2Vzc1Rhc2tTdGF0ZSluZXdTdGF0ZQotewotICAgIFJFTEVBU0VfTE9HKFByb2Nlc3NTdXNwZW5z
aW9uLCAiJXAgLVtXS1Byb2Nlc3NUYXNrU3RhdGVPYnNlcnZlckRlbGVnYXRlIHByb2Nlc3M6dGFz
a1N0YXRlRGlkQ2hhbmdlOl0sIHByb2Nlc3MoJXApLCBuZXdTdGF0ZSglZCkiLCBzZWxmLCBwcm9j
ZXNzLCAoaW50KW5ld1N0YXRlKTsKLQotICAgIGlmIChhdXRvIGNhbGxiYWNrID0gX3Rhc2tTdGF0
ZUNoYW5nZWRDYWxsYmFjaykKLSAgICAgICAgY2FsbGJhY2sobmV3U3RhdGUpOwotfQotQGVuZAot
Ci1uYW1lc3BhY2UgV2ViS2l0IHsKLQotc3RhdGljIFByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlcjo6
VGFza1N0YXRlIHRvUHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyVGFza1N0YXRlKEJLU1Byb2Nlc3NU
YXNrU3RhdGUgc3RhdGUpCi17Ci0gICAgc3RhdGljX2Fzc2VydChzdGF0aWNfY2FzdDx1aW50MzJf
dD4oQktTUHJvY2Vzc1Rhc2tTdGF0ZU5vbmUpID09IHN0YXRpY19jYXN0PHVpbnQzMl90PihQcm9j
ZXNzVGFza1N0YXRlT2JzZXJ2ZXI6Ok5vbmUpLCAiQktTUHJvY2Vzc1Rhc2tTdGF0ZSAhPSBQcm9j
ZXNzVGFza1N0YXRlT2JzZXJ2ZXI6OlRhc2tTdGF0ZSIpOwotICAgIHN0YXRpY19hc3NlcnQoc3Rh
dGljX2Nhc3Q8dWludDMyX3Q+KEJLU1Byb2Nlc3NUYXNrU3RhdGVSdW5uaW5nKSA9PSBzdGF0aWNf
Y2FzdDx1aW50MzJfdD4oUHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyOjpSdW5uaW5nKSwgIkJLU1By
b2Nlc3NUYXNrU3RhdGUgIT0gUHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyOjpUYXNrU3RhdGUiKTsK
LSAgICBzdGF0aWNfYXNzZXJ0KHN0YXRpY19jYXN0PHVpbnQzMl90PihCS1NQcm9jZXNzVGFza1N0
YXRlU3VzcGVuZGVkKSA9PSBzdGF0aWNfY2FzdDx1aW50MzJfdD4oUHJvY2Vzc1Rhc2tTdGF0ZU9i
c2VydmVyOjpTdXNwZW5kZWQpLCAiQktTUHJvY2Vzc1Rhc2tTdGF0ZSAhPSBQcm9jZXNzVGFza1N0
YXRlT2JzZXJ2ZXI6OlRhc2tTdGF0ZSIpOwotICAgIHJldHVybiBzdGF0aWNfY2FzdDxQcm9jZXNz
VGFza1N0YXRlT2JzZXJ2ZXI6OlRhc2tTdGF0ZT4oc3RhdGUpOwotfQotCi1SZWY8UHJvY2Vzc1Rh
c2tTdGF0ZU9ic2VydmVyPiBQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXI6OmNyZWF0ZShDbGllbnQm
IGNsaWVudCkKLXsKLSAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBQcm9jZXNzVGFza1N0YXRlT2Jz
ZXJ2ZXIoY2xpZW50KSk7Ci19Ci0KLVByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlcjo6UHJvY2Vzc1Rh
c2tTdGF0ZU9ic2VydmVyKENsaWVudCYgY2xpZW50KQotICAgIDogbV9jbGllbnQoJmNsaWVudCkK
LSAgICAsIG1fcHJvY2VzcyhbZ2V0QktTUHJvY2Vzc0NsYXNzKCkgY3VycmVudFByb2Nlc3NdKQot
ICAgICwgbV9kZWxlZ2F0ZShhZG9wdE5TKFtbV0tQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXJEZWxl
Z2F0ZSBhbGxvY10gaW5pdF0pKQotewotICAgIFJFTEVBU0VfTE9HKFByb2Nlc3NTdXNwZW5zaW9u
LCAiJXAgLSBQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXI6OlByb2Nlc3NUYXNrU3RhdGVPYnNlcnZl
cigpLCBtX3Byb2Nlc3MoJXApIiwgdGhpcywgbV9wcm9jZXNzLmdldCgpKTsKLSAgICBtX2RlbGVn
YXRlLmdldCgpLnRhc2tTdGF0ZUNoYW5nZWRDYWxsYmFjayA9IFtwcm90ZWN0ZWRUaGlzID0gbWFr
ZVJlZlB0cih0aGlzKV0gKEJLU1Byb2Nlc3NUYXNrU3RhdGUgc3RhdGUpIHsKLSAgICAgICAgcHJv
dGVjdGVkVGhpcy0+c2V0VGFza1N0YXRlKHRvUHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyVGFza1N0
YXRlKHN0YXRlKSk7Ci0gICAgfTsKLSAgICBtX3Byb2Nlc3MuZ2V0KCkuZGVsZWdhdGUgPSBtX2Rl
bGVnYXRlLmdldCgpOwotfQotCi1Qcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXI6On5Qcm9jZXNzVGFz
a1N0YXRlT2JzZXJ2ZXIoKQotewotICAgIG1fZGVsZWdhdGUuZ2V0KCkudGFza1N0YXRlQ2hhbmdl
ZENhbGxiYWNrID0gbmlsOwotfQotCi12b2lkIFByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlcjo6aW52
YWxpZGF0ZSgpCi17Ci0gICAgTG9ja0hvbGRlciBob2xkZXIobV9jbGllbnRMb2NrKTsKLSAgICBt
X2NsaWVudCA9IG51bGxwdHI7Ci0gICAgbV9kZWxlZ2F0ZS5nZXQoKS50YXNrU3RhdGVDaGFuZ2Vk
Q2FsbGJhY2sgPSBuaWw7Ci19Ci0KLXZvaWQgUHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyOjpzZXRU
YXNrU3RhdGUoVGFza1N0YXRlIHN0YXRlKQotewotICAgIGlmIChtX3Rhc2tTdGF0ZSA9PSBzdGF0
ZSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgbV90YXNrU3RhdGUgPSBzdGF0ZTsKLQotICAgIExv
Y2tIb2xkZXIgaG9sZGVyKG1fY2xpZW50TG9jayk7Ci0gICAgaWYgKG1fY2xpZW50KQotICAgICAg
ICBtX2NsaWVudC0+cHJvY2Vzc1Rhc2tTdGF0ZURpZENoYW5nZShzdGF0ZSk7Ci19Ci0KLX0KLQot
I2VuZGlmIC8vIFBMQVRGT1JNKElPU19GQU1JTFkpCi0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FwcGxpY2F0aW9uU3RhdGVUcmFja2VyLm1tIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQXBwbGljYXRpb25TdGF0ZVRyYWNrZXIubW0KaW5kZXggNjFhYjFiNmU0OWFhMDU5
NmVkYTgxMjQ4YjY3ODE2YTA2Y2MwYWE5OC4uMzdiMmJkN2IyM2RjYThkNGRjNTU1ZjFmNWY0NGI4
ODEwMzQwOWIwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXBwbGljYXRp
b25TdGF0ZVRyYWNrZXIubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXBwbGljYXRp
b25TdGF0ZVRyYWNrZXIubW0KQEAgLTI4LDcgKzI4LDYgQEAKIAogI2lmIFBMQVRGT1JNKElPU19G
QU1JTFkpCiAKLSNpbXBvcnQgIkFzc2VydGlvblNlcnZpY2VzU1BJLmgiCiAjaW1wb3J0ICJFbmRv
d21lbnRTdGF0ZVRyYWNrZXIuaCIKICNpbXBvcnQgIkxvZ2dpbmcuaCIKICNpbXBvcnQgIlNhbmRi
b3hVdGlsaXRpZXMuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1Byb2Nl
c3NBc3NlcnRpb24uaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1Byb2Nlc3NBc3NlcnRpb24u
aAppbmRleCBiZWU5OWZiMzRlNjE2MDI3YzJmZGMyZDA0NWE5MmZkNWJlY2U4MzJmLi5lYjc1YzJh
MmU5NTU0ZmQyNTllZmVkMjc1NTcwMjZlZTljYTA0NjAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9Qcm9jZXNzQXNzZXJ0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvUHJvY2Vzc0Fzc2VydGlvbi5oCkBAIC0zOSwxMCArMzksNiBAQAogCiBPQkpDX0NMQVNT
IFJCU0Fzc2VydGlvbjsKIE9CSkNfQ0xBU1MgV0tSQlNBc3NlcnRpb25EZWxlZ2F0ZTsKLQotI2lm
ICFIQVZFKFJVTk5JTkdCT0FSRF9WSVNJQklMSVRZX0FTU0VSVElPTlMpCi1PQkpDX0NMQVNTIEJL
U1Byb2Nlc3NBc3NlcnRpb247Ci0jZW5kaWYKICNlbmRpZiAvLyBQTEFURk9STShJT1NfRkFNSUxZ
KQogCiBuYW1lc3BhY2UgV2ViS2l0IHsKQEAgLTc5LDkgKzc1LDYgQEAgcHJpdmF0ZToKICNpZiBQ
TEFURk9STShJT1NfRkFNSUxZKQogICAgIFJldGFpblB0cjxSQlNBc3NlcnRpb24+IG1fcmJzQXNz
ZXJ0aW9uOwogICAgIFJldGFpblB0cjxXS1JCU0Fzc2VydGlvbkRlbGVnYXRlPiBtX2RlbGVnYXRl
OwotI2lmICFIQVZFKFJVTk5JTkdCT0FSRF9WSVNJQklMSVRZX0FTU0VSVElPTlMpCi0gICAgUmV0
YWluUHRyPEJLU1Byb2Nlc3NBc3NlcnRpb24+IG1fYmtzQXNzZXJ0aW9uOyAvLyBMZWdhY3kuCi0j
ZW5kaWYKICNlbmRpZgogICAgIEZ1bmN0aW9uPHZvaWQoKT4gbV9pbnZhbGlkYXRpb25IYW5kbGVy
OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50
SW1wbElPUy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElP
Uy5tbQppbmRleCA0N2ZhMjg0MjI3NjcwNDM3YjI5NmE0MzA1ZmVlMGQ2NzkxOTlkZjI5Li5hZmNj
NDVlOTM3NmQ3M2E2NGQxMmE2Y2E3OTA1ZmE3MjU1NmM1YWVkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0KKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tCkBAIC0zMCw3ICszMCw2IEBA
CiAKICNpbXBvcnQgIkFQSURhdGEuaCIKICNpbXBvcnQgIkFwcGxpY2F0aW9uU3RhdGVUcmFja2Vy
LmgiCi0jaW1wb3J0ICJBc3NlcnRpb25TZXJ2aWNlc1NQSS5oIgogI2ltcG9ydCAiRGF0YVJlZmVy
ZW5jZS5oIgogI2ltcG9ydCAiRG93bmxvYWRQcm94eS5oIgogI2ltcG9ydCAiRHJhd2luZ0FyZWFQ
cm94eS5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1Byb2Nlc3NB
c3NlcnRpb25JT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUHJvY2Vzc0Fzc2Vy
dGlvbklPUy5tbQppbmRleCBkMDJiNzI3NGYxNjEyNzJlNGI2ZmRiOTkwM2ZkMjAzMGRlNDM5OTNl
Li5iOThjODU3NjNmZWUwYjhkOTMzOWU2YTUxYjI5MzIyYzgzMDU0ZGRjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUHJvY2Vzc0Fzc2VydGlvbklPUy5tbQorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUHJvY2Vzc0Fzc2VydGlvbklPUy5tbQpAQCAtMzcs
MTAgKzM3LDYgQEAKICNpbXBvcnQgPHd0Zi9WZWN0b3IuaD4KICNpbXBvcnQgPHd0Zi9XZWFrSGFz
aFNldC5oPgogCi0jaWYgIUhBVkUoUlVOTklOR0JPQVJEX1ZJU0lCSUxJVFlfQVNTRVJUSU9OUykK
LSNpbXBvcnQgIkFzc2VydGlvblNlcnZpY2VzU1BJLmgiCi0jZW5kaWYKLQogdXNpbmcgV2ViS2l0
OjpQcm9jZXNzQW5kVUlBc3NlcnRpb247CiAKIC8vIFRoaXMgZ2l2ZXMgc29tZSB0aW1lIHRvIG91
ciBjaGlsZCBwcm9jZXNzZXMgdG8gcHJvY2VzcyB0aGUgUHJvY2Vzc1dpbGxTdXNwZW5kSW1taW5l
bnRseSBJUEMgYnV0IG1ha2VzIHN1cmUgd2UgcmVsZWFzZQpAQCAtNTQsMTEgKzUwLDcgQEAgc3Rh
dGljIGJvb2wgcHJvY2Vzc0hhc0FjdGl2ZVJ1blRpbWVMaW1pdGF0aW9uKCkKIH0KIAogQGludGVy
ZmFjZSBXS1Byb2Nlc3NBc3NlcnRpb25CYWNrZ3JvdW5kVGFza01hbmFnZXIKLSNpZiBIQVZFKFJV
Tk5JTkdCT0FSRF9WSVNJQklMSVRZX0FTU0VSVElPTlMpCiAgICAgOiBOU09iamVjdCA8UkJTQXNz
ZXJ0aW9uT2JzZXJ2aW5nPgotI2Vsc2UKLSAgICA6IE5TT2JqZWN0Ci0jZW5kaWYKIAogKyAoV0tQ
cm9jZXNzQXNzZXJ0aW9uQmFja2dyb3VuZFRhc2tNYW5hZ2VyICopc2hhcmVkOwogCkBAIC02OSwx
MiArNjEsNyBAQCBAZW5kCiAKIEBpbXBsZW1lbnRhdGlvbiBXS1Byb2Nlc3NBc3NlcnRpb25CYWNr
Z3JvdW5kVGFza01hbmFnZXIKIHsKLSNpZiBIQVZFKFJVTk5JTkdCT0FSRF9WSVNJQklMSVRZX0FT
U0VSVElPTlMpCiAgICAgUmV0YWluUHRyPFJCU0Fzc2VydGlvbj4gX2JhY2tncm91bmRUYXNrOwot
I2Vsc2UKLSAgICBVSUJhY2tncm91bmRUYXNrSWRlbnRpZmllciBfYmFja2dyb3VuZFRhc2s7Ci0j
ZW5kaWYKLQogICAgIFdlYWtIYXNoU2V0PFByb2Nlc3NBbmRVSUFzc2VydGlvbj4gX2Fzc2VydGlv
bnNOZWVkaW5nQmFja2dyb3VuZFRhc2s7CiAgICAgZGlzcGF0Y2hfYmxvY2tfdCBfcGVuZGluZ1Rh
c2tSZWxlYXNlVGFzazsKIH0KQEAgLTkxLDEwICs3OCw2IEBAIC0gKGluc3RhbmNldHlwZSlpbml0
CiAgICAgaWYgKCFzZWxmKQogICAgICAgICByZXR1cm4gbmlsOwogCi0jaWYgIUhBVkUoUlVOTklO
R0JPQVJEX1ZJU0lCSUxJVFlfQVNTRVJUSU9OUykKLSAgICBfYmFja2dyb3VuZFRhc2sgPSBVSUJh
Y2tncm91bmRUYXNrSW52YWxpZDsKLSNlbmRpZgotCiAgICAgLy8gRklYTUU6IFN0b3AgcmVseWlu
ZyBvbiBVSUFwcGxpY2F0aW9uIG5vdGlmaWNhdGlvbnMgYXMgdGhpcyBkb2VzIG5vdCB3b3JrIGFz
IGV4cGVjdGVkIGZvciBkYWVtb25zIG9yIFZpZXdTZXJ2aWNlcy4KICAgICAvLyBXZSBzaG91bGQg
bGlrZWx5IHVzZSBQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXIgdG8gbW9uaXRvciBzdXNwZW5zaW9u
IHN0YXRlLgogICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gYWRkT2Jz
ZXJ2ZXJGb3JOYW1lOlVJQXBwbGljYXRpb25XaWxsRW50ZXJGb3JlZ3JvdW5kTm90aWZpY2F0aW9u
IG9iamVjdDpbVUlBcHBsaWNhdGlvbiBzaGFyZWRBcHBsaWNhdGlvbl0gcXVldWU6bmlsIHVzaW5n
QmxvY2s6XihOU05vdGlmaWNhdGlvbiAqKSB7CkBAIC0xNzUsMTEgKzE1OCw3IEBAIC0gKHZvaWQp
X2NhbmNlbFBlbmRpbmdSZWxlYXNlVGFzawogCiAtIChCT09MKV9oYXNCYWNrZ3JvdW5kVGFzawog
ewotI2lmIEhBVkUoUlVOTklOR0JPQVJEX1ZJU0lCSUxJVFlfQVNTRVJUSU9OUykKICAgICByZXR1
cm4gISFfYmFja2dyb3VuZFRhc2s7Ci0jZWxzZQotICAgIHJldHVybiBfYmFja2dyb3VuZFRhc2sg
IT0gVUlCYWNrZ3JvdW5kVGFza0ludmFsaWQ7Ci0jZW5kaWYKIH0KIAogLSAodm9pZClfdXBkYXRl
QmFja2dyb3VuZFRhc2sKQEAgLTE5MCw3ICsxNjksNiBAQCAtICh2b2lkKV91cGRhdGVCYWNrZ3Jv
dW5kVGFzawogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAgICAgICAgIFJFTEVBU0Vf
TE9HKFByb2Nlc3NTdXNwZW5zaW9uLCAiJXAgLSBXS1Byb2Nlc3NBc3NlcnRpb25CYWNrZ3JvdW5k
VGFza01hbmFnZXI6IGJlZ2luQmFja2dyb3VuZFRhc2tXaXRoTmFtZSIsIHNlbGYpOwotI2lmIEhB
VkUoUlVOTklOR0JPQVJEX1ZJU0lCSUxJVFlfQVNTRVJUSU9OUykKICAgICAgICAgUkJTVGFyZ2V0
ICp0YXJnZXQgPSBbUkJTVGFyZ2V0IGN1cnJlbnRQcm9jZXNzXTsKICAgICAgICAgUkJTRG9tYWlu
QXR0cmlidXRlICpkb21haW5BdHRyaWJ1dGUgPSBbUkJTRG9tYWluQXR0cmlidXRlIGF0dHJpYnV0
ZVdpdGhEb21haW46QCJjb20uYXBwbGUuY29tbW9uIiBuYW1lOkAiRmluaXNoVGFza0ludGVycnVw
dGFibGUiXTsKICAgICAgICAgX2JhY2tncm91bmRUYXNrID0gYWRvcHROUyhbW1JCU0Fzc2VydGlv
biBhbGxvY10gaW5pdFdpdGhFeHBsYW5hdGlvbjpAIldlYktpdCBVSVByb2Nlc3MgYmFja2dyb3Vu
ZCB0YXNrIiB0YXJnZXQ6dGFyZ2V0IGF0dHJpYnV0ZXM6QFtkb21haW5BdHRyaWJ1dGVdXSk7CkBA
IC0yMDEsMTYgKzE3OSwxMCBAQCAtICh2b2lkKV91cGRhdGVCYWNrZ3JvdW5kVGFzawogICAgICAg
ICAgICAgUkVMRUFTRV9MT0dfRVJST1IoUHJvY2Vzc1N1c3BlbnNpb24sICJXS1Byb2Nlc3NBc3Nl
cnRpb25CYWNrZ3JvdW5kVGFza01hbmFnZXI6IEZhaWxlZCB0byBhY3F1aXJlIEZpbmlzaFRhc2tJ
bnRlcnJ1cHRhYmxlIGFzc2VydGlvbiBmb3Igb3duIHByb2Nlc3MsIGVycm9yOiAle3B1YmxpY31A
IiwgYWNxdWlzaXRpb25FcnJvcik7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIFJFTEVBU0Vf
TE9HKFByb2Nlc3NTdXNwZW5zaW9uLCAiV0tQcm9jZXNzQXNzZXJ0aW9uQmFja2dyb3VuZFRhc2tN
YW5hZ2VyOiBTdWNjZXNzZnVsbHkgdG9vayBhIEZpbmlzaFRhc2tJbnRlcnJ1cHRhYmxlIGFzc2Vy
dGlvbiBmb3Igb3duIHByb2Nlc3MiKTsKLSNlbHNlCi0gICAgICAgIF9iYWNrZ3JvdW5kVGFzayA9
IFtbVUlBcHBsaWNhdGlvbiBzaGFyZWRBcHBsaWNhdGlvbl0gYmVnaW5CYWNrZ3JvdW5kVGFza1dp
dGhOYW1lOkAiY29tLmFwcGxlLldlYktpdC5Qcm9jZXNzQXNzZXJ0aW9uIiBleHBpcmF0aW9uSGFu
ZGxlcjpeewotICAgICAgICAgICAgW3NlbGYgX2hhbmRsZUJhY2tncm91bmRUYXNrRXhwaXJhdGlv
bl07Ci0gICAgICAgIH1dOwotI2VuZGlmCiAgICAgfSBlbHNlIGlmIChfYXNzZXJ0aW9uc05lZWRp
bmdCYWNrZ3JvdW5kVGFzay5jb21wdXRlc0VtcHR5KCkpCiAgICAgICAgIFtzZWxmIF9yZWxlYXNl
QmFja2dyb3VuZFRhc2tdOwogfQogCi0jaWYgSEFWRShSVU5OSU5HQk9BUkRfVklTSUJJTElUWV9B
U1NFUlRJT05TKQogLSAodm9pZClhc3NlcnRpb25XaWxsSW52YWxpZGF0ZTooUkJTQXNzZXJ0aW9u
ICopYXNzZXJ0aW9uCiB7CiAgICAgQVNTRVJUKGFzc2VydGlvbiA9PSBfYmFja2dyb3VuZFRhc2su
Z2V0KCkpOwpAQCAtMjIyLDcgKzE5NCw2IEBAIC0gKHZvaWQpYXNzZXJ0aW9uOihSQlNBc3NlcnRp
b24gKilhc3NlcnRpb24gZGlkSW52YWxpZGF0ZVdpdGhFcnJvcjooTlNFcnJvciAqKWVyCiAgICAg
QVNTRVJUKGFzc2VydGlvbiA9PSBfYmFja2dyb3VuZFRhc2suZ2V0KCkpOwogICAgIFJFTEVBU0Vf
TE9HX0VSUk9SKFByb2Nlc3NTdXNwZW5zaW9uLCAiV0tQcm9jZXNzQXNzZXJ0aW9uQmFja2dyb3Vu
ZFRhc2tNYW5hZ2VyOiBGaW5pc2hUYXNrSW50ZXJydXB0YWJsZSBhc3NlcnRpb24gd2FzIGludmFs
aWRhdGVkLCBlcnJvcjogJXtwdWJsaWN9QCIsIGVycm9yKTsKIH0KLSNlbmRpZgogCiAtICh2b2lk
KV9oYW5kbGVCYWNrZ3JvdW5kVGFza0V4cGlyYXRpb24KIHsKQEAgLTI2NSwxNCArMjM2LDkgQEAg
LSAodm9pZClfcmVsZWFzZUJhY2tncm91bmRUYXNrCiAgICAgaWYgKHByb2Nlc3NIYXNBY3RpdmVS
dW5UaW1lTGltaXRhdGlvbigpKQogICAgICAgICBXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpub3Rp
ZnlQcm9jZXNzUG9vbHNBcHBsaWNhdGlvbklzQWJvdXRUb1N1c3BlbmQoKTsKIAotI2lmIEhBVkUo
UlVOTklOR0JPQVJEX1ZJU0lCSUxJVFlfQVNTRVJUSU9OUykKICAgICBbX2JhY2tncm91bmRUYXNr
IHJlbW92ZU9ic2VydmVyOnNlbGZdOwogICAgIFtfYmFja2dyb3VuZFRhc2sgaW52YWxpZGF0ZV07
CiAgICAgX2JhY2tncm91bmRUYXNrID0gbnVsbHB0cjsKLSNlbHNlCi0gICAgW1tVSUFwcGxpY2F0
aW9uIHNoYXJlZEFwcGxpY2F0aW9uXSBlbmRCYWNrZ3JvdW5kVGFzazpfYmFja2dyb3VuZFRhc2td
OwotICAgIF9iYWNrZ3JvdW5kVGFzayA9IFVJQmFja2dyb3VuZFRhc2tJbnZhbGlkOwotI2VuZGlm
CiB9CiAKIEBlbmQKQEAgLTMxMiw3ICsyNzgsNiBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIAogc3Rh
dGljIE5TU3RyaW5nICpydW5uaW5nQm9hcmROYW1lRm9yQXNzZXJ0aW9uVHlwZShQcm9jZXNzQXNz
ZXJ0aW9uVHlwZSBhc3NlcnRpb25UeXBlKQogewotI2lmIEhBVkUoUlVOTklOR0JPQVJEX1ZJU0lC
SUxJVFlfQVNTRVJUSU9OUykKICAgICBzd2l0Y2ggKGFzc2VydGlvblR5cGUpIHsKICAgICBjYXNl
IFByb2Nlc3NBc3NlcnRpb25UeXBlOjpTdXNwZW5kZWQ6CiAgICAgICAgIHJldHVybiBAIlN1c3Bl
bmRlZCI7CkBAIC0zMjUsODEgKzI5MCwxNCBAQCBzdGF0aWMgTlNTdHJpbmcgKnJ1bm5pbmdCb2Fy
ZE5hbWVGb3JBc3NlcnRpb25UeXBlKFByb2Nlc3NBc3NlcnRpb25UeXBlIGFzc2VydGlvbgogICAg
IGNhc2UgUHJvY2Vzc0Fzc2VydGlvblR5cGU6Ok1lZGlhUGxheWJhY2s6CiAgICAgICAgIHJldHVy
biBAIk1lZGlhUGxheWJhY2siOwogICAgIH0KLSNlbHNlCi0gICAgcmV0dXJuIG5pbDsKLSNlbmRp
ZgogfQogCi0jaWYgIUhBVkUoUlVOTklOR0JPQVJEX1ZJU0lCSUxJVFlfQVNTRVJUSU9OUykKLQot
Y29uc3QgQktTUHJvY2Vzc0Fzc2VydGlvbkZsYWdzIHN1c3BlbmRlZFRhYkZsYWdzID0gKEJLU1By
b2Nlc3NBc3NlcnRpb25BbGxvd0lkbGVTbGVlcCk7Ci1jb25zdCBCS1NQcm9jZXNzQXNzZXJ0aW9u
RmxhZ3MgYmFja2dyb3VuZFRhYkZsYWdzID0gKEJLU1Byb2Nlc3NBc3NlcnRpb25QcmV2ZW50VGFz
a1N1c3BlbmQpOwotY29uc3QgQktTUHJvY2Vzc0Fzc2VydGlvbkZsYWdzIGZvcmVncm91bmRUYWJG
bGFncyA9IChCS1NQcm9jZXNzQXNzZXJ0aW9uUHJldmVudFRhc2tTdXNwZW5kIHwgQktTUHJvY2Vz
c0Fzc2VydGlvbldhbnRzRm9yZWdyb3VuZFJlc291cmNlUHJpb3JpdHkgfCBCS1NQcm9jZXNzQXNz
ZXJ0aW9uUHJldmVudFRhc2tUaHJvdHRsZURvd24pOwotCi1zdGF0aWMgQktTUHJvY2Vzc0Fzc2Vy
dGlvbkZsYWdzIGZsYWdzRm9yQXNzZXJ0aW9uVHlwZShQcm9jZXNzQXNzZXJ0aW9uVHlwZSBhc3Nl
cnRpb25UeXBlKQotewotICAgIHN3aXRjaCAoYXNzZXJ0aW9uVHlwZSkgewotICAgIGNhc2UgUHJv
Y2Vzc0Fzc2VydGlvblR5cGU6OlN1c3BlbmRlZDoKLSAgICAgICAgcmV0dXJuIHN1c3BlbmRlZFRh
YkZsYWdzOwotICAgIGNhc2UgUHJvY2Vzc0Fzc2VydGlvblR5cGU6OkJhY2tncm91bmQ6Ci0gICAg
Y2FzZSBQcm9jZXNzQXNzZXJ0aW9uVHlwZTo6VW5ib3VuZGVkTmV0d29ya2luZzoKLSAgICAgICAg
cmV0dXJuIGJhY2tncm91bmRUYWJGbGFnczsKLSAgICBjYXNlIFByb2Nlc3NBc3NlcnRpb25UeXBl
OjpGb3JlZ3JvdW5kOgotICAgIGNhc2UgUHJvY2Vzc0Fzc2VydGlvblR5cGU6Ok1lZGlhUGxheWJh
Y2s6Ci0gICAgICAgIHJldHVybiBmb3JlZ3JvdW5kVGFiRmxhZ3M7Ci0gICAgfQotfQotCi1zdGF0
aWMgQktTUHJvY2Vzc0Fzc2VydGlvblJlYXNvbiB0b0JLU1Byb2Nlc3NBc3NlcnRpb25SZWFzb24o
UHJvY2Vzc0Fzc2VydGlvblR5cGUgYXNzZXJ0aW9uVHlwZSkKLXsKLSAgICBzd2l0Y2ggKGFzc2Vy
dGlvblR5cGUpIHsKLSAgICBjYXNlIFByb2Nlc3NBc3NlcnRpb25UeXBlOjpTdXNwZW5kZWQ6Ci0g
ICAgY2FzZSBQcm9jZXNzQXNzZXJ0aW9uVHlwZTo6QmFja2dyb3VuZDoKLSAgICBjYXNlIFByb2Nl
c3NBc3NlcnRpb25UeXBlOjpGb3JlZ3JvdW5kOgotICAgICAgICByZXR1cm4gQktTUHJvY2Vzc0Fz
c2VydGlvblJlYXNvbkV4dGVuc2lvbjsKLSAgICBjYXNlIFByb2Nlc3NBc3NlcnRpb25UeXBlOjpV
bmJvdW5kZWROZXR3b3JraW5nOgotICAgICAgICByZXR1cm4gQktTUHJvY2Vzc0Fzc2VydGlvblJl
YXNvbkZpbmlzaFRhc2tVbmJvdW5kZWQ7Ci0gICAgY2FzZSBQcm9jZXNzQXNzZXJ0aW9uVHlwZTo6
TWVkaWFQbGF5YmFjazoKLSAgICAgICAgcmV0dXJuIEJLU1Byb2Nlc3NBc3NlcnRpb25SZWFzb25N
ZWRpYVBsYXliYWNrOwotICAgIH0KLX0KLQotI2VuZGlmIC8vICFIQVZFKFJVTk5JTkdCT0FSRF9W
SVNJQklMSVRZX0FTU0VSVElPTlMpCi0KIFByb2Nlc3NBc3NlcnRpb246OlByb2Nlc3NBc3NlcnRp
b24ocGlkX3QgcGlkLCBjb25zdCBTdHJpbmcmIHJlYXNvbiwgUHJvY2Vzc0Fzc2VydGlvblR5cGUg
YXNzZXJ0aW9uVHlwZSkKICAgICA6IG1fYXNzZXJ0aW9uVHlwZShhc3NlcnRpb25UeXBlKQogICAg
ICwgbV9waWQocGlkKQogewogICAgIGF1dG8gd2Vha1RoaXMgPSBtYWtlV2Vha1B0cigqdGhpcyk7
CiAgICAgTlNTdHJpbmcgKnJ1bm5pbmdCb2FyZEFzc2VydGlvbk5hbWUgPSBydW5uaW5nQm9hcmRO
YW1lRm9yQXNzZXJ0aW9uVHlwZShhc3NlcnRpb25UeXBlKTsKLQotI2lmICFIQVZFKFJVTk5JTkdC
T0FSRF9WSVNJQklMSVRZX0FTU0VSVElPTlMpCi0gICAgaWYgKCFydW5uaW5nQm9hcmRBc3NlcnRp
b25OYW1lKSB7Ci0gICAgICAgIC8vIExlZ2FjeSBjb2RlIHBhdGguCi0gICAgICAgIEJLU1Byb2Nl
c3NBc3NlcnRpb25BY3F1aXNpdGlvbkhhbmRsZXIgaGFuZGxlciA9IF4oQk9PTCBhY3F1aXJlZCkg
ewotICAgICAgICAgICAgaWYgKCFhY3F1aXJlZCkgewotICAgICAgICAgICAgICAgIFJFTEVBU0Vf
TE9HX0VSUk9SKFByb2Nlc3NTdXNwZW5zaW9uLCAiICVwIC0gUHJvY2Vzc0Fzc2VydGlvbigpIFBJ
RCAlZCBVbmFibGUgdG8gYWNxdWlyZSBCS1MgYXNzZXJ0aW9uIGZvciBwcm9jZXNzIHdpdGggUElE
ICVkIiwgdGhpcywgZ2V0cGlkKCksIHBpZCk7Ci0gICAgICAgICAgICAgICAgZGlzcGF0Y2hfYXN5
bmMoZGlzcGF0Y2hfZ2V0X21haW5fcXVldWUoKSwgXnsKLSAgICAgICAgICAgICAgICAgICAgaWYg
KHdlYWtUaGlzKQotICAgICAgICAgICAgICAgICAgICAgICAgcHJvY2Vzc0Fzc2VydGlvbldhc0lu
dmFsaWRhdGVkKCk7Ci0gICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICB9Ci0gICAgICAg
IH07Ci0gICAgICAgIFJFTEVBU0VfTE9HKFByb2Nlc3NTdXNwZW5zaW9uLCAiJXAgLSBQcm9jZXNz
QXNzZXJ0aW9uKCkgUElEICVkIGFjcXVpcmluZyBCS1MgYXNzZXJ0aW9uIGZvciBwcm9jZXNzIHdp
dGggUElEICVkLCBuYW1lICclcyciLCB0aGlzLCBnZXRwaWQoKSwgcGlkLCByZWFzb24udXRmOCgp
LmRhdGEoKSk7Ci0KLSAgICAgICAgbV9ia3NBc3NlcnRpb24gPSBhZG9wdE5TKFtbQktTUHJvY2Vz
c0Fzc2VydGlvbiBhbGxvY10gaW5pdFdpdGhQSUQ6cGlkIGZsYWdzOmZsYWdzRm9yQXNzZXJ0aW9u
VHlwZShhc3NlcnRpb25UeXBlKSByZWFzb246dG9CS1NQcm9jZXNzQXNzZXJ0aW9uUmVhc29uKGFz
c2VydGlvblR5cGUpIG5hbWU6cmVhc29uIHdpdGhIYW5kbGVyOmhhbmRsZXJdKTsKLQotICAgICAg
ICBtX2Jrc0Fzc2VydGlvbi5nZXQoKS5pbnZhbGlkYXRpb25IYW5kbGVyID0gXigpIHsKLSAgICAg
ICAgICAgIGRpc3BhdGNoX2FzeW5jKGRpc3BhdGNoX2dldF9tYWluX3F1ZXVlKCksIF57Ci0gICAg
ICAgICAgICAgICAgUkVMRUFTRV9MT0coUHJvY2Vzc1N1c3BlbnNpb24sICIlcCAtIFByb2Nlc3NB
c3NlcnRpb24oKSBCS1MgUHJvY2VzcyBhc3NlcnRpb24gZm9yIHByb2Nlc3Mgd2l0aCBQSUQgJWQg
d2FzIGludmFsaWRhdGVkIiwgdGhpcywgcGlkKTsKLSAgICAgICAgICAgICAgICBpZiAod2Vha1Ro
aXMpCi0gICAgICAgICAgICAgICAgICAgIHByb2Nlc3NBc3NlcnRpb25XYXNJbnZhbGlkYXRlZCgp
OwotICAgICAgICAgICAgfSk7Ci0gICAgICAgIH07Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0j
ZW5kaWYgLy8gIUhBVkUoUlVOTklOR0JPQVJEX1ZJU0lCSUxJVFlfQVNTRVJUSU9OUykKLQogICAg
IEFTU0VSVChydW5uaW5nQm9hcmRBc3NlcnRpb25OYW1lKTsKICAgICBpZiAoIXBpZCkgewogICAg
ICAgICBSRUxFQVNFX0xPR19FUlJPUihQcm9jZXNzU3VzcGVuc2lvbiwgIiVwIC0gUHJvY2Vzc0Fz
c2VydGlvbjogRmFpbGVkIHRvIGFjcXVpcmUgUkJTICV7cHVibGljfUAgYXNzZXJ0aW9uICcle3B1
YmxpY31zJyBmb3IgcHJvY2VzcyBiZWNhdXNlIFBJRCBpcyBpbnZhbGlkIiwgdGhpcywgcnVubmlu
Z0JvYXJkQXNzZXJ0aW9uTmFtZSwgcmVhc29uLnV0ZjgoKS5kYXRhKCkpOwpAQCAtNDM4LDEzICsz
MzYsNiBAQCBQcm9jZXNzQXNzZXJ0aW9uOjp+UHJvY2Vzc0Fzc2VydGlvbigpCiAgICAgICAgIG1f
ZGVsZWdhdGUgPSBuaWw7CiAgICAgICAgIFttX3Jic0Fzc2VydGlvbiBpbnZhbGlkYXRlXTsKICAg
ICB9Ci0KLSNpZiAhSEFWRShSVU5OSU5HQk9BUkRfVklTSUJJTElUWV9BU1NFUlRJT05TKQotICAg
IGlmIChtX2Jrc0Fzc2VydGlvbikgewotICAgICAgICBtX2Jrc0Fzc2VydGlvbi5nZXQoKS5pbnZh
bGlkYXRpb25IYW5kbGVyID0gbmlsOwotICAgICAgICBbbV9ia3NBc3NlcnRpb24gaW52YWxpZGF0
ZV07Ci0gICAgfQotI2VuZGlmCiB9CiAKIHZvaWQgUHJvY2Vzc0Fzc2VydGlvbjo6cHJvY2Vzc0Fz
c2VydGlvbldhc0ludmFsaWRhdGVkKCkKQEAgLTQ1OCwxNSArMzQ5LDcgQEAgdm9pZCBQcm9jZXNz
QXNzZXJ0aW9uOjpwcm9jZXNzQXNzZXJ0aW9uV2FzSW52YWxpZGF0ZWQoKQogCiBib29sIFByb2Nl
c3NBc3NlcnRpb246OmlzVmFsaWQoKSBjb25zdAogewotICAgIGlmIChtX3Jic0Fzc2VydGlvbikK
LSAgICAgICAgcmV0dXJuIG1fcmJzQXNzZXJ0aW9uLmdldCgpLnZhbGlkOwotCi0jaWYgIUhBVkUo
UlVOTklOR0JPQVJEX1ZJU0lCSUxJVFlfQVNTRVJUSU9OUykKLSAgICBpZiAobV9ia3NBc3NlcnRp
b24pCi0gICAgICAgIHJldHVybiBtX2Jrc0Fzc2VydGlvbi5nZXQoKS52YWxpZDsKLSNlbmRpZgot
Ci0gICAgcmV0dXJuIGZhbHNlOworICAgIHJldHVybiBtX3Jic0Fzc2VydGlvbiA/IG1fcmJzQXNz
ZXJ0aW9uLmdldCgpLnZhbGlkIDogZmFsc2U7CiB9CiAKIHZvaWQgUHJvY2Vzc0FuZFVJQXNzZXJ0
aW9uOjp1cGRhdGVSdW5JbkJhY2tncm91bmRDb3VudCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYktpdC9XZWJL
aXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA2YmQ5YWM0NWYzMWFjNDNjMmZjMDk2
NGFmNWZkZGU0YTc4ZTY4NDg3Li41MTllZTk1NTc1MjdhNzAzYTViYmQ2ZTZmMjc3YjFhYzJlYWU4
YjYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKQEAgLTE3MzgsOCArMTczOCw2IEBACiAJCUNEMEM2ODMxMjAxRkQxMDEwMEE1OTQwOSAvKiBX
S0Z1bGxTY3JlZW5WaWV3Q29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQ0QwQzY4MkYyMDFGRDEwMTAwQTU5NDA5IC8qIFdLRnVsbFNjcmVl
blZpZXdDb250cm9sbGVyLmggKi87IH07CiAJCUNEMTlBMjZFMUExM0U4MzQwMDhENjUwRSAvKiBX
ZWJEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQ0QxOUEyNkExQTEzRTgyMTAwOEQ2NTBFIC8qIFdlYkRpYWdub3N0
aWNMb2dnaW5nQ2xpZW50LmggKi87IH07CiAJCUNEMTlEMkVBMjA0NjQwNkYwMDE3MDc0QSAvKiBG
dWxsc2NyZWVuVG91Y2hTZWNoZXVyaXN0aWMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IENEMTlEMkU4MjA0NjQwNkYwMDE3MDc0QSAvKiBGdWxsc2NyZWVu
VG91Y2hTZWNoZXVyaXN0aWMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwotCQlDRDI4NjVFRTIyNTU1NjIwMDA2MDZBQzcgLyogUHJvY2Vzc1Rhc2tTdGF0
ZU9ic2VydmVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBDRDI4NjVFQzIyNTU1NjIwMDA2MDZBQzcgLyogUHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyLmgg
Ki87IH07Ci0JCUNEMjg2NUVGMjI1NTU2MjAwMDYwNkFDNyAvKiBQcm9jZXNzVGFza1N0YXRlT2Jz
ZXJ2ZXIubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBD
RDI4NjVFRDIyNTU1NjIwMDA2MDZBQzcgLyogUHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyLm1tICov
OyB9OwogCQlDRDQ1NzBEMzI0NDExM0I1MDBBM0RDRUIgLyogQXVkaW9TZXNzaW9uUm91dGluZ0Fy
Yml0cmF0b3JQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDQ1NzBEMDI0NDEwMTRBMDBBM0RDRUIgLyogQXVkaW9T
ZXNzaW9uUm91dGluZ0FyYml0cmF0b3JQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CiAJ
CUNENDU3MEQ0MjQ0MTFEMEYwMEEzRENFQiAvKiBBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRv
ci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDQ1
NzBDQjI0NDBGQjJBMDBBM0RDRUIgLyogQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3IuY3Bw
ICovOyB9OwogCQlDRDQ2NjE4MzI0MDEwQTY3MDA0N0NBMzUgLyogUmVtb3RlQ0RNSW5zdGFuY2VT
ZXNzaW9uTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IENENDY2MTgxMjQwMTA1NjQwMDQ3Q0EzNSAvKiBSZW1vdGVDRE1JbnN0
YW5jZVNlc3Npb25NZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9OwpAQCAtMTc4OSw3ICsxNzg3LDYg
QEAKIAkJQ0RFNTU1MzQyNDA2RUI4QzAwOEEzRERCIC8qIFJlbW90ZUxlZ2FjeUNETVNlc3Npb25N
ZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQ0RFNTU1MkUyNDA2Qjg5NzAwOEEzRERCIC8qIFJlbW90ZUxlZ2FjeUNETVNlc3Np
b25NZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9OwogCQlDREU1NTUzNTI0MDZFQjhDMDA4QTNEREIg
LyogUmVtb3RlTGVnYWN5Q0RNU2Vzc2lvblByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENERTU1NTMxMjQwNkI4OTcw
MDhBM0REQiAvKiBSZW1vdGVMZWdhY3lDRE1TZXNzaW9uUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3Bw
ICovOyB9OwogCQlDRTExQUQ1MjFDQkM0ODJGMDA2ODFFRTUgLyogQ29kZVNpZ25pbmcuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFMTFBRDUxMUNCQzQ4
MkYwMDY4MUVFNSAvKiBDb2RlU2lnbmluZy5oICovOyB9OwotCQlDRTFBMEJEMjFBNDhFNkM2MDA1
NEVGNzQgLyogQXNzZXJ0aW9uU2VydmljZXNTUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFMUEwQkNDMUE0OEU2QzYwMDU0RUY3NCAvKiBBc3NlcnRp
b25TZXJ2aWNlc1NQSS5oICovOyB9OwogCQlDRTFBMEJENjFBNDhFNkM2MDA1NEVGNzQgLyogVEND
U1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRTFB
MEJEMDFBNDhFNkM2MDA1NEVGNzQgLyogVENDU1BJLmggKi87IH07CiAJCUNFMUEwQkQ3MUE0OEU2
QzYwMDU0RUY3NCAvKiBUZXh0SW5wdXRTUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IENFMUEwQkQxMUE0OEU2QzYwMDU0RUY3NCAvKiBUZXh0SW5wdXRT
UEkuaCAqLzsgfTsKIAkJQ0UyMTIxNUYyNDBFRTU3MTAwNkVENDQzIC8qIFdLVGV4dFBsYWNlaG9s
ZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRTIx
MjE1RDI0MEVFNTcxMDA2RUQ0NDMgLyogV0tUZXh0UGxhY2Vob2xkZXIuaCAqLzsgfTsKQEAgLTUx
NDksOCArNTE0Niw2IEBACiAJCUNEMTlBMjZBMUExM0U4MjEwMDhENjUwRSAvKiBXZWJEaWFnbm9z
dGljTG9nZ2luZ0NsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJE
aWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlD
RDE5RDJFODIwNDY0MDZGMDAxNzA3NEEgLyogRnVsbHNjcmVlblRvdWNoU2VjaGV1cmlzdGljLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgbmFtZSA9IEZ1bGxzY3JlZW5Ub3VjaFNlY2hldXJpc3RpYy5oOyBwYXRoID0gaW9z
L2Z1bGxzY3JlZW4vRnVsbHNjcmVlblRvdWNoU2VjaGV1cmlzdGljLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUNEMTlEMkU5MjA0NjQwNkYwMDE3MDc0QSAvKiBGdWxsc2NyZWVuVG91
Y2hTZWNoZXVyaXN0aWMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gRnVsbHNjcmVlblRvdWNoU2Vj
aGV1cmlzdGljLmNwcDsgcGF0aCA9IGlvcy9mdWxsc2NyZWVuL0Z1bGxzY3JlZW5Ub3VjaFNlY2hl
dXJpc3RpYy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUNEMjg2NUVDMjI1NTU2
MjAwMDYwNkFDNyAvKiBQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXIuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
UHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0J
CUNEMjg2NUVEMjI1NTU2MjAwMDYwNkFDNyAvKiBQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXIubW0g
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5vYmpjcHA7IHBhdGggPSBQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXIubW07IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNENDU3MENBMjQ0MEZCMkEwMEEzRENFQiAvKiBBdWRp
b1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBdWRpb1Nlc3Npb25S
b3V0aW5nQXJiaXRyYXRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDRDQ1NzBD
QjI0NDBGQjJBMDBBM0RDRUIgLyogQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3IuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3IuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDRDQ1NzBEMDI0NDEwMTRBMDBBM0RDRUIgLyogQXVk
aW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3JQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvclByb3h5TWVzc2FnZVJl
Y2VpdmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTUzMDUsNyArNTMwMCw2
IEBACiAJCUNERTU1NTMxMjQwNkI4OTcwMDhBM0REQiAvKiBSZW1vdGVMZWdhY3lDRE1TZXNzaW9u
UHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVtb3RlTGVnYWN5
Q0RNU2Vzc2lvblByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQ0UxMUFENEYxQ0JDNDdGODAwNjgxRUU1IC8qIENvZGVTaWduaW5nLm1tICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gQ29kZVNpZ25pbmcubW07IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNFMTFBRDUxMUNCQzQ4MkYwMDY4MUVFNSAvKiBDb2Rl
U2lnbmluZy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDb2RlU2lnbmluZy5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlDRTFBMEJDQzFBNDhFNkM2MDA1NEVGNzQg
LyogQXNzZXJ0aW9uU2VydmljZXNTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gQXNzZXJ0aW9uU2VydmljZXNTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
Q0UxQTBCRDAxQTQ4RTZDNjAwNTRFRjc0IC8qIFRDQ1NQSS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBUQ0NTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0Ux
QTBCRDExQTQ4RTZDNjAwNTRFRjc0IC8qIFRleHRJbnB1dFNQSS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBUZXh0SW5wdXRTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJQ0UyMTIxNUQyNDBFRTU3MTAwNkVENDQzIC8qIFdLVGV4dFBsYWNlaG9sZGVyLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgbmFtZSA9IFdLVGV4dFBsYWNlaG9sZGVyLmg7IHBhdGggPSBpb3MvV0tUZXh0UGxhY2Vo
b2xkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTc1ODMsOCArNzU3Nyw2IEBA
CiAJCQkJQ0U1NTBFMTIyMjgzNzNDODAwRDI4NzkxIC8qIEluc2VydFRleHRPcHRpb25zLmggKi8s
CiAJCQkJQzE2NjNFNUEyNEFFQTc0MjAwQzZBM0IyIC8qIExhdW5jaFNlcnZpY2VzRGF0YWJhc2VY
UENDb25zdGFudHMuaCAqLywKIAkJCQkyRDEwODc2MjFEMkM2NDFCMDBCODVGODIgLyogTG9hZFBh
cmFtZXRlcnNDb2NvYS5tbSAqLywKLQkJCQlDRDI4NjVFQzIyNTU1NjIwMDA2MDZBQzcgLyogUHJv
Y2Vzc1Rhc2tTdGF0ZU9ic2VydmVyLmggKi8sCi0JCQkJQ0QyODY1RUQyMjU1NTYyMDAwNjA2QUM3
IC8qIFByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlci5tbSAqLywKIAkJCQk3QUI0RUEzRjIyNzc3QzQ2
MDA4NUJCQUEgLyogU2FuZGJveEV4dGVuc2lvbkNvY29hLm1tICovLAogCQkJCTdBQjRFQTQxMjI3
NzdGQzcwMDg1QkJBQSAvKiBTYW5kYm94SW5pdGlhbGlhdGlvblBhcmFtZXRlcnNDb2NvYS5tbSAq
LywKIAkJCQlFMTlCREE4ODE5MzY4NkE0MDBCOTdGNTcgLyogU2FuZGJveFV0aWxpdGllcy5oICov
LApAQCAtMTA1NzAsNyArMTA1NjIsNiBAQAogCQlDRTFBMEJDQjFBNDhFNkM2MDA1NEVGNzQgLyog
aW9zICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKLQkJCQlDRTFB
MEJDQzFBNDhFNkM2MDA1NEVGNzQgLyogQXNzZXJ0aW9uU2VydmljZXNTUEkuaCAqLywKIAkJCQlD
REEwNDFGMzFBQ0UyMTA1MDA0QTEzRUMgLyogQmFja0JvYXJkU2VydmljZXNTUEkuaCAqLywKIAkJ
CQk5NUM5NDM5MDI1MjNDMEQwMDA1NEYzRDUgLyogQmFzZUJvYXJkU1BJLmggKi8sCiAJCQkJMkQ0
QUYwODgyMDQ0QzNDNDAwNkM4ODE3IC8qIEZyb250Qm9hcmRTZXJ2aWNlc1NQSS5oICovLApAQCAt
MTA5MTgsNyArMTA5MDksNiBAQAogCQkJCTFBRUZEMkY3MTFEMTgwN0IwMDgyMTlEMyAvKiBBcmd1
bWVudENvZGVycy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFBRjBDNEExMkIxNjMzNDAwOEU0OUUy
IC8qIEFyZ3VtZW50Q29kZXJzQ0YuaCBpbiBIZWFkZXJzICovLAogCQkJCUExNzVDNDRBMjFBQTMx
NzEwMDAwMzdEMCAvKiBBcmd1bWVudENvZGVyc0NvY29hLmggaW4gSGVhZGVycyAqLywKLQkJCQlD
RTFBMEJEMjFBNDhFNkM2MDA1NEVGNzQgLyogQXNzZXJ0aW9uU2VydmljZXNTUEkuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTUxNUU3NzI4MTgzREQ2RjYwMDA3MjAzRiAvKiBBc3luY1JlcXVlc3QuaCBp
biBIZWFkZXJzICovLAogCQkJCUFBRkE2MzRGMjM0RjdDNjQwMEZGQTg2NCAvKiBBc3luY1JldmFs
aWRhdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNFRTk2NkQxMTJGQUY1NzAwNkJDQzI0IC8q
IEF0dGFjaG1lbnQuaCBpbiBIZWFkZXJzICovLApAQCAtMTEyMjksNyArMTEyMTksNiBAQAogCQkJ
CUUxQ0MxQjkwMTJEN0VBREYwMDYyNTgzOCAvKiBQcmludEluZm8uaCBpbiBIZWFkZXJzICovLAog
CQkJCTg2Rjk1MzY1MThGRjU4RjUwMDFEQjJFRiAvKiBQcm9jZXNzQXNzZXJ0aW9uLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlCQzFBN0M1ODExMzZFMTlDMDBGQjcxNjcgLyogUHJvY2Vzc0xhdW5jaGVy
LmggaW4gSGVhZGVycyAqLywKLQkJCQlDRDI4NjVFRTIyNTU1NjIwMDA2MDZBQzcgLyogUHJvY2Vz
c1Rhc2tTdGF0ZU9ic2VydmVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk0NjNGRDQ4MjFFQjk0RUMw
MDBBMjk4MkMgLyogUHJvY2Vzc1Rlcm1pbmF0aW9uUmVhc29uLmggaW4gSGVhZGVycyAqLywKIAkJ
CQk4NkU2N0EyNTE5MTBCOUQxMDAwMDRBQjcgLyogUHJvY2Vzc1Rocm90dGxlci5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJODMwNDhBRTYxQUNBNDVEQzAwODJDODMyIC8qIFByb2Nlc3NUaHJvdHRsZXJD
bGllbnQuaCBpbiBIZWFkZXJzICovLApAQCAtMTMwNjAsNyArMTMwNDksNiBAQAogCQkJCTJEOTEz
NDREMjEyQ0Y5RjAwMDEyOEFGRCAvKiBQbHVnaW5WaWV3LmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CUMxNUNCQjM3MjNGMzdFQ0IwMDMwMENDNyAvKiBQcmVmZXJlbmNlT2JzZXJ2ZXIubW0gaW4gU291
cmNlcyAqLywKIAkJCQkyRDU0QzMxQjIxMkY0REE2MDA0OUMxNzQgLyogUHJvY2Vzc0xhdW5jaGVy
LmNwcCBpbiBTb3VyY2VzICovLAotCQkJCUNEMjg2NUVGMjI1NTU2MjAwMDYwNkFDNyAvKiBQcm9j
ZXNzVGFza1N0YXRlT2JzZXJ2ZXIubW0gaW4gU291cmNlcyAqLywKIAkJCQkxQTBDMjI3RjI0NTEx
MzBBMDBFRDYxNEQgLyogUXVpY2tMb29rVGh1bWJuYWlsaW5nU29mdExpbmsubW0gaW4gU291cmNl
cyAqLywKIAkJCQkxQTBDMjI1RTI0MzU3NUNEMDBFRDYxNEQgLyogUXVpY2tMb29rVGh1bWJuYWls
TG9hZGVyLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJOUIxMjI5Q0UyM0ZGMjVGMjAwOENBNzUxIC8q
IFJlbW90ZUF1ZGlvRGVzdGluYXRpb25NYW5hZ2VyLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbSBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0KaW5kZXgg
NzA5NjdiNTFiNDdhM2QxNzc5MmYyOWRhN2ZlNDg2NDkwMjZjNDMyMS4uNmVkNzVkMWRjNGMxZWEw
YzNkMDQ3MzM3MmQzMDA0ZWNkYWY1NmRjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCkBAIC0xMDIsNyArMTAyLDYgQEAKIAogI2lm
IFBMQVRGT1JNKElPU19GQU1JTFkpCiAjaW1wb3J0ICJBY2Nlc3NpYmlsaXR5U3VwcG9ydFNQSS5o
IgotI2ltcG9ydCAiQXNzZXJ0aW9uU2VydmljZXNTUEkuaCIKICNpbXBvcnQgIlJ1bm5pbmdCb2Fy
ZFNlcnZpY2VzU1BJLmgiCiAjaW1wb3J0ICJVc2VySW50ZXJmYWNlSWRpb20uaCIKICNpbXBvcnQg
IldLQWNjZXNzaWJpbGl0eVdlYlBhZ2VPYmplY3RJT1MuaCIK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>411800</attachid>
            <date>2020-10-19 14:28:20 -0700</date>
            <delta_ts>2020-10-20 09:25:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-217787-20201019142819.patch</filename>
            <type>text/plain</type>
            <size>40670</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY4Njg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDMxZDE4ZDhlOTU5NmJjZTUx
ZDYzM2QzNDMzMDE3M2I5NjE1NzA2ODEuLjhlZmM5OTQzOTA2OWVkNGY1OGE2M2NkZjdiNWE1OTM2
ZWQ1OTVhZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzAgQEAKKzIwMjAtMTAtMTkgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBEcm9wIGxlZ2FjeSBjb2RlIHVzaW5n
IEFzc2VydGlvblNlcnZpY2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMTc3ODcKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzcwMTYwOTQyPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgIERyb3AgbGVnYWN5IGNv
ZGUgdXNpbmcgQXNzZXJ0aW9uU2VydmljZXMgYXMgdGhpcyBmcmFtZXdvcmsgaXMgZGVwcmVjYXRl
ZCBpbiBmYXZvciBvZgorICAgICAgICBSdW5uaW5nQm9hcmQuIEFsbCBvdXIgY29kZSBoYXMgYmVl
biBwb3J0ZWQgdG8gUnVubmluZ0JvYXJkIGFscmVhZHkuCisKKyAgICAgICAgKiBDb25maWd1cmF0
aW9ucy9XZWJLaXQueGNjb25maWc6CisgICAgICAgICogUGxhdGZvcm0vc3BpL2lvcy9Bc3NlcnRp
b25TZXJ2aWNlc1NQSS5oOiBSZW1vdmVkLgorICAgICAgICAqIFNoYXJlZC9Db2NvYS9Qcm9jZXNz
VGFza1N0YXRlT2JzZXJ2ZXIuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBTaGFyZWQvQ29jb2EvUHJv
Y2Vzc1Rhc2tTdGF0ZU9ic2VydmVyLm1tOiBSZW1vdmVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9B
cHBsaWNhdGlvblN0YXRlVHJhY2tlci5tbToKKyAgICAgICAgKiBVSVByb2Nlc3MvUHJvY2Vzc0Fz
c2VydGlvbi5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW06
CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9Qcm9jZXNzQXNzZXJ0aW9uSU9TLm1tOgorICAgICAg
ICAoLVtXS1Byb2Nlc3NBc3NlcnRpb25CYWNrZ3JvdW5kVGFza01hbmFnZXIgaW5pdF0pOgorICAg
ICAgICAoLVtXS1Byb2Nlc3NBc3NlcnRpb25CYWNrZ3JvdW5kVGFza01hbmFnZXIgX2hhc0JhY2tn
cm91bmRUYXNrXSk6CisgICAgICAgICgtW1dLUHJvY2Vzc0Fzc2VydGlvbkJhY2tncm91bmRUYXNr
TWFuYWdlciBfdXBkYXRlQmFja2dyb3VuZFRhc2tdKToKKyAgICAgICAgKC1bV0tQcm9jZXNzQXNz
ZXJ0aW9uQmFja2dyb3VuZFRhc2tNYW5hZ2VyIGFzc2VydGlvbjpkaWRJbnZhbGlkYXRlV2l0aEVy
cm9yOl0pOgorICAgICAgICAoLVtXS1Byb2Nlc3NBc3NlcnRpb25CYWNrZ3JvdW5kVGFza01hbmFn
ZXIgX3JlbGVhc2VCYWNrZ3JvdW5kVGFza10pOgorICAgICAgICAqIFdlYktpdC54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFdlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0Nv
Y29hLm1tOgorCiAyMDIwLTEwLTE5ICBTYWlkIEFib3UtSGFsbGF3YSAgPHNhYm91aGFsbGF3YUBh
cHBsZS5jb20+CiAKICAgICAgICAgW0dQVSBQcm9jZXNzXSBDbGVhbiB0aGUgRGlzcGxheUxpc3Qg
cmVjb3JkaW5nIG9mIHRoZSBOYXRpdmVJbWFnZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYv
UGxhdGZvcm1IYXZlLmggYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaAppbmRleCAxNmZk
NjYzZjJlMWQyMDhlNzdmMjM4MzRjZDEyY2IwMzRlMDYzMTk2Li40Y2Q0NzQwZjQyMmFmNjYyZjIx
MjQxMjE1ZmIzNDg1NWUwMjU1YjVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9y
bUhhdmUuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaApAQCAtNDE0LDEyICs0
MTQsNiBAQAogI2RlZmluZSBIQVZFX0NGTkVUV09SS19BTFRFUk5BVElWRV9TRVJWSUNFIDEKICNl
bmRpZgogCi0jaWYgKFBMQVRGT1JNKElPU19GQU1JTFkpICYmIF9fSVBIT05FX09TX1ZFUlNJT05f
TUlOX1JFUVVJUkVEID49IDE0MDAwMCkgXAotICAgIHx8IChQTEFURk9STShXQVRDSE9TKSAmJiBf
X1dBVENIX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDcwMDAwKSBcCi0gICAgfHwgKFBMQVRG
T1JNKEFQUExFVFYpICYmIF9fVFZfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTQwMDAwKQot
I2RlZmluZSBIQVZFX1JVTk5JTkdCT0FSRF9WSVNJQklMSVRZX0FTU0VSVElPTlMgMQotI2VuZGlm
Ci0KICNpZiBQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQg
Pj0gMTAxNTAwCiAjZGVmaW5lIEhBVkVfQ1NDSEVDS0ZJWERJU0FCTEUgMQogI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL1dlYktpdC54Y2NvbmZpZyBiL1Nv
dXJjZS9XZWJLaXQvQ29uZmlndXJhdGlvbnMvV2ViS2l0LnhjY29uZmlnCmluZGV4IGEzNDk2Y2Qz
ZjdmMzlkYjk5Y2RjMjMwOTFkOTM0NTk0YTM0OGM2MWIuLmYzOTA4NjE3YjAyZjRjNjAxMTE5Mjgy
YzY4OWEwNTQyZTRkMjMxYjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ29uZmlndXJhdGlv
bnMvV2ViS2l0LnhjY29uZmlnCisrKyBiL1NvdXJjZS9XZWJLaXQvQ29uZmlndXJhdGlvbnMvV2Vi
S2l0LnhjY29uZmlnCkBAIC00OSwxNyArNDksNiBAQCBXS19BUFBLSVRfTERGTEFHUyA9ICQoV0tf
QVBQS0lUX0xERkxBR1NfJChXS19QTEFURk9STV9OQU1FKSk7CiBXS19BUFBLSVRfTERGTEFHU19t
YWNvc3ggPSAtZnJhbWV3b3JrIEFwcEtpdDsKIFdLX0FQUEtJVF9MREZMQUdTX21hY2NhdGFseXN0
ID0gLWZyYW1ld29yayBBcHBLaXQ7CiAKLVdLX0FTU0VSVElPTl9TRVJWSUNFU19MREZMQUdTID0g
JChXS19BU1NFUlRJT05fU0VSVklDRVNfTERGTEFHU18kKFdLX1BMQVRGT1JNX05BTUUpKTsKLVdL
X0FTU0VSVElPTl9TRVJWSUNFU19MREZMQUdTX2lwaG9uZW9zID0gJChXS19BU1NFUlRJT05fU0VS
VklDRVNfTERGTEFHUyQoV0tfSU9TXzE0KSk7Ci1XS19BU1NFUlRJT05fU0VSVklDRVNfTERGTEFH
U19pcGhvbmVzaW11bGF0b3IgPSAkKFdLX0FTU0VSVElPTl9TRVJWSUNFU19MREZMQUdTJChXS19J
T1NfMTQpKTsKLVdLX0FTU0VSVElPTl9TRVJWSUNFU19MREZMQUdTX0lPU19CRUZPUkVfMTQgPSAt
ZnJhbWV3b3JrIEFzc2VydGlvblNlcnZpY2VzOwotLy8gRklYTUU6IEl0IGlzIHVubmVjZXNzYXJ5
IHRvIGxpbmsgYWdhaW5zdCBBc3NlcnRpb25TZXJ2aWNlcyB3aXRoIHRoZSBsYXRlc3QgU0RLIGZv
ciB0aGUgZm9sbG93aW5nIHBsYXRmb3JtcyB0b28uCi1XS19BU1NFUlRJT05fU0VSVklDRVNfTERG
TEFHU193YXRjaG9zID0gLWZyYW1ld29yayBBc3NlcnRpb25TZXJ2aWNlczsKLVdLX0FTU0VSVElP
Tl9TRVJWSUNFU19MREZMQUdTX3dhdGNoc2ltdWxhdG9yID0gLWZyYW1ld29yayBBc3NlcnRpb25T
ZXJ2aWNlczsKLVdLX0FTU0VSVElPTl9TRVJWSUNFU19MREZMQUdTX2FwcGxldHZvcyA9IC1mcmFt
ZXdvcmsgQXNzZXJ0aW9uU2VydmljZXM7Ci1XS19BU1NFUlRJT05fU0VSVklDRVNfTERGTEFHU19h
cHBsZXR2c2ltdWxhdG9yID0gLWZyYW1ld29yayBBc3NlcnRpb25TZXJ2aWNlczsKLVdLX0FTU0VS
VElPTl9TRVJWSUNFU19MREZMQUdTX21hY2NhdGFseXN0ID0gLWZyYW1ld29yayBBc3NlcnRpb25T
ZXJ2aWNlczsKLQogV0tfQkFDS0JPQVJEX1NFUlZJQ0VTX0xERkxBR1MgPSAkKFdLX0JBQ0tCT0FS
RF9TRVJWSUNFU19MREZMQUdTXyQoV0tfUExBVEZPUk1fTkFNRSkpOwogV0tfQkFDS0JPQVJEX1NF
UlZJQ0VTX0xERkxBR1NfaXBob25lb3MgPSAtZnJhbWV3b3JrIEJhY2tCb2FyZFNlcnZpY2VzOwog
V0tfQkFDS0JPQVJEX1NFUlZJQ0VTX0xERkxBR1NfaXBob25lc2ltdWxhdG9yID0gLWZyYW1ld29y
ayBCYWNrQm9hcmRTZXJ2aWNlczsKQEAgLTEyOSw3ICsxMTgsNyBAQCBXS19BVVRIS0lUX0xERkxB
R1NfSU9TX1NJTkNFXzEzID0gLWZyYW1ld29yayBBdXRoS2l0OwogV0tfQVVUSEtJVF9MREZMQUdT
X21hY29zeCA9ICQoV0tfQVVUSEtJVF9MREZMQUdTJChXS19NQUNPU18xMDE1KSk7CiBXS19BVVRI
S0lUX0xERkxBR1NfTUFDT1NfU0lOQ0VfMTAxNSA9IC1mcmFtZXdvcmsgQXV0aEtpdDsKIAotRlJB
TUVXT1JLX0FORF9MSUJSQVJZX0xERkxBR1MgPSAtbG9iamMgLWZyYW1ld29yayBDRk5ldHdvcmsg
LWZyYW1ld29yayBDb3JlQXVkaW8gLWZyYW1ld29yayBDb3JlRm91bmRhdGlvbiAtZnJhbWV3b3Jr
IENvcmVHcmFwaGljcyAtZnJhbWV3b3JrIENvcmVUZXh0IC1mcmFtZXdvcmsgRm91bmRhdGlvbiAt
ZnJhbWV3b3JrIEltYWdlSU8gLWZyYW1ld29yayBJT0tpdCAtZnJhbWV3b3JrIElPU3VyZmFjZSAt
ZnJhbWV3b3JrIFdlYktpdExlZ2FjeSAtbG5ldHdvcmsgJChXS19BQ0NFU1NJQklMSVRZX0xERkxB
R1MpICQoV0tfQVBQS0lUX0xERkxBR1MpICQoV0tfQVNTRVJUSU9OX1NFUlZJQ0VTX0xERkxBR1Mp
ICQoV0tfQkFDS0JPQVJEX1NFUlZJQ0VTX0xERkxBR1MpICQoV0tfUlVOTklOR0JPQVJEX1NFUlZJ
Q0VTX0xERkxBR1MpICQoV0tfQVVUSEtJVF9MREZMQUdTKSAkKFdLX0NBUkJPTl9MREZMQUdTKSAk
KFdLX0NPUkVfUFJFRElDVElPTl9MREZMQUdTKSAkKFdLX0NPUkVfU0VSVklDRVNfTERGTEFHUykg
JChXS19HUkFQSElDU19TRVJWSUNFU19MREZMQUdTKSAkKFdLX0xJQlNBTkRCT1hfTERGTEFHUykg
JChXS19MSUJXRUJSVENfTERGTEFHUykgJChXS19NT0JJTEVfQ09SRV9TRVJWSUNFU19MREZMQUdT
KSAkKFdLX01PQklMRV9HRVNUQUxUX0xERkxBR1MpICQoV0tfUERGS0lUX0xERkxBR1MpICQoV0tf
U0FGRV9CUk9XU0lOR19MREZMQUdTKSAkKFdLX1NFQ1VSSVRZX0lOVEVSRkFDRV9MREZMQUdTKSAk
KFdLX1VJS0lUX0xERkxBR1MpICQoV0tfVVJMX0ZPUk1BVFRJTkdfTERGTEFHUykgJChXS19XRUJJ
TlNQRUNUT1JVSV9MREZMQUdTKTsKK0ZSQU1FV09SS19BTkRfTElCUkFSWV9MREZMQUdTID0gLWxv
YmpjIC1mcmFtZXdvcmsgQ0ZOZXR3b3JrIC1mcmFtZXdvcmsgQ29yZUF1ZGlvIC1mcmFtZXdvcmsg
Q29yZUZvdW5kYXRpb24gLWZyYW1ld29yayBDb3JlR3JhcGhpY3MgLWZyYW1ld29yayBDb3JlVGV4
dCAtZnJhbWV3b3JrIEZvdW5kYXRpb24gLWZyYW1ld29yayBJbWFnZUlPIC1mcmFtZXdvcmsgSU9L
aXQgLWZyYW1ld29yayBJT1N1cmZhY2UgLWZyYW1ld29yayBXZWJLaXRMZWdhY3kgLWxuZXR3b3Jr
ICQoV0tfQUNDRVNTSUJJTElUWV9MREZMQUdTKSAkKFdLX0FQUEtJVF9MREZMQUdTKSAkKFdLX0JB
Q0tCT0FSRF9TRVJWSUNFU19MREZMQUdTKSAkKFdLX1JVTk5JTkdCT0FSRF9TRVJWSUNFU19MREZM
QUdTKSAkKFdLX0FVVEhLSVRfTERGTEFHUykgJChXS19DQVJCT05fTERGTEFHUykgJChXS19DT1JF
X1BSRURJQ1RJT05fTERGTEFHUykgJChXS19DT1JFX1NFUlZJQ0VTX0xERkxBR1MpICQoV0tfR1JB
UEhJQ1NfU0VSVklDRVNfTERGTEFHUykgJChXS19MSUJTQU5EQk9YX0xERkxBR1MpICQoV0tfTElC
V0VCUlRDX0xERkxBR1MpICQoV0tfTU9CSUxFX0NPUkVfU0VSVklDRVNfTERGTEFHUykgJChXS19N
T0JJTEVfR0VTVEFMVF9MREZMQUdTKSAkKFdLX1BERktJVF9MREZMQUdTKSAkKFdLX1NBRkVfQlJP
V1NJTkdfTERGTEFHUykgJChXS19TRUNVUklUWV9JTlRFUkZBQ0VfTERGTEFHUykgJChXS19VSUtJ
VF9MREZMQUdTKSAkKFdLX1VSTF9GT1JNQVRUSU5HX0xERkxBR1MpICQoV0tfV0VCSU5TUEVDVE9S
VUlfTERGTEFHUyk7CiAKIC8vIFByZXZlbnQgQysrIHN0YW5kYXJkIGxpYnJhcnkgYmFzaWNfc3Ry
aW5nc3RyZWFtLCBvcGVyYXRvciBuZXcsIGRlbGV0ZSBhbmQgdGhlaXIgcmVsYXRlZCBleGNlcHRp
b24gdHlwZXMgZnJvbSBiZWluZyBleHBvcnRlZCBhcyB3ZWFrIHN5bWJvbHMuCiBVTkVYUE9SVEVE
X1NZTUJPTF9MREZMQUdTID0gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aVElTdDliYWRf
YWxsb2MgLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aVElTdDlleGNlcHRpb24gLVdsLC11
bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aVFNTdDliYWRfYWxsb2MgLVdsLC11bmV4cG9ydGVkX3N5
bWJvbCAtV2wsX19aVFNTdDlleGNlcHRpb24gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19a
ZGxQdlNfIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWm53bVB2IC1XbCwtdW5leHBvcnRl
ZF9zeW1ib2wgLVdsLF9fWm53bSAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pOU3QzX18x
OGZ1bmN0aW9uSUZ2TjdXZWJDb3JlMTJQb2xpY3lBY3Rpb25FRUVDMkVPUzRfIC1XbCwtdW5leHBv
cnRlZF9zeW1ib2wgLVdsLF9fWk5TdDNfXzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBvbGljeUFj
dGlvbkVFRUMxRU9TNF8gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aTlN0M19fMThmdW5j
dGlvbklGdk43V2ViQ29yZTEyUG9saWN5QWN0aW9uRUVFYVNFRG4gLVdsLC11bmV4cG9ydGVkX3N5
bWJvbCAtV2wsX19aTktTdDNfXzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBvbGljeUFjdGlvbkVF
RWNsRVMyXyAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pOU3QzX18xOGZ1bmN0aW9uSUZ2
TjdXZWJDb3JlMTJQb2xpY3lBY3Rpb25FRUU0c3dhcEVSUzRfIC1XbCwtdW5leHBvcnRlZF9zeW1i
b2wgLVdsLF9fWk5TdDNfXzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBvbGljeUFjdGlvbkVFRUMx
RVJLUzRfIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWk5TdDNfXzE4ZnVuY3Rpb25JRnZO
N1dlYkNvcmUxMlBvbGljeUFjdGlvbkVFRUMyRVJLUzRfIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wg
LVdsLF9fWk5TdDNfXzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBvbGljeUFjdGlvbkVFRUQxRXYg
LVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aTlN0M19fMThmdW5jdGlvbklGdk43V2ViQ29y
ZTEyUG9saWN5QWN0aW9uRUVFRDJFdiAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pOU3Qz
X18xOGZ1bmN0aW9uSUZ2TjdXZWJDb3JlMTJQb2xpY3lBY3Rpb25FRUVhU0VSS1M0XyAtV2wsLXVu
ZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pUVk5TdDNfXzExN2JhZF9mdW5jdGlvbl9jYWxsRSAtV2ws
LXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pUQ05TdDNfXzExOGJhc2ljX3N0cmluZ3N0cmVhbUlj
TlNfMTFjaGFyX3RyYWl0c0ljRUVOU185YWxsb2NhdG9ySWNFRUVFMF9OU18xM2Jhc2ljX2lzdHJl
YW1JY1MyX0VFIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWlRDTlN0M19fMTE4YmFzaWNf
c3RyaW5nc3RyZWFtSWNOU18xMWNoYXJfdHJhaXRzSWNFRU5TXzlhbGxvY2F0b3JJY0VFRUUwX05T
XzE0YmFzaWNfaW9zdHJlYW1JY1MyX0VFIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWlRD
TlN0M19fMTE4YmFzaWNfc3RyaW5nc3RyZWFtSWNOU18xMWNoYXJfdHJhaXRzSWNFRU5TXzlhbGxv
Y2F0b3JJY0VFRUUxNl9OU18xM2Jhc2ljX29zdHJlYW1JY1MyX0VFIC1XbCwtdW5leHBvcnRlZF9z
eW1ib2wgLVdsLF9fWlRUTlN0M19fMTE4YmFzaWNfc3RyaW5nc3RyZWFtSWNOU18xMWNoYXJfdHJh
aXRzSWNFRU5TXzlhbGxvY2F0b3JJY0VFRUUgLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19a
VFZOU3QzX18xMTViYXNpY19zdHJpbmdidWZJY05TXzExY2hhcl90cmFpdHNJY0VFTlNfOWFsbG9j
YXRvckljRUVFRSAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pUVk5TdDNfXzExOGJhc2lj
X3N0cmluZ3N0cmVhbUljTlNfMTFjaGFyX3RyYWl0c0ljRUVOU185YWxsb2NhdG9ySWNFRUVFIC1X
bCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWlRDTlN0M19fMTE4YmFzaWNfc3RyaW5nc3RyZWFt
SWNOU18xMWNoYXJfdHJhaXRzSWNFRU5TXzlhbGxvY2F0b3JJY0VFRUU4X05TXzEzYmFzaWNfb3N0
cmVhbUljUzJfRUU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL3NwaS9pb3Mv
QXNzZXJ0aW9uU2VydmljZXNTUEkuaCBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL2lvcy9B
c3NlcnRpb25TZXJ2aWNlc1NQSS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1NzVl
ODgwMmZhODY1MjMzY2Y3MTY0MDlmNzQyMjZjZTA3N2YyMjI5Li4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL2lv
cy9Bc3NlcnRpb25TZXJ2aWNlc1NQSS5oCisrKyAvZGV2L251bGwKQEAgLTEsMTE3ICswLDAgQEAK
LS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0g
KiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW1wb3J0IDxG
b3VuZGF0aW9uL0ZvdW5kYXRpb24uaD4KLQotI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCi0K
LSNpbXBvcnQgPEFzc2VydGlvblNlcnZpY2VzL0JLU0FwcGxpY2F0aW9uU3RhdGVNb25pdG9yLmg+
Ci0jaW1wb3J0IDxBc3NlcnRpb25TZXJ2aWNlcy9CS1NQcm9jZXNzLmg+Ci0jaW1wb3J0IDxBc3Nl
cnRpb25TZXJ2aWNlcy9CS1NQcm9jZXNzQXNzZXJ0aW9uLmg+Ci0KLSNlbHNlCi0KLWVudW0gewot
ICAgIEJLU0FwcGxpY2F0aW9uU3RhdGVVbmtub3duICAgICAgICAgICAgICAgICAgICAgID0gMCwK
LSAgICBCS1NBcHBsaWNhdGlvblN0YXRlVGVybWluYXRlZCAgICAgICAgICAgICAgICAgICA9ICgx
IDw8IDApLAotICAgIEJLU0FwcGxpY2F0aW9uU3RhdGVCYWNrZ3JvdW5kVGFza1N1c3BlbmRlZCAg
ICAgID0gKDEgPDwgMSksCi0gICAgQktTQXBwbGljYXRpb25TdGF0ZUJhY2tncm91bmRSdW5uaW5n
ICAgICAgICAgICAgPSAoMSA8PCAyKSwKLSAgICBCS1NBcHBsaWNhdGlvblN0YXRlRm9yZWdyb3Vu
ZFJ1bm5pbmcgICAgICAgICAgICA9ICgxIDw8IDMpLAotICAgIEJLU0FwcGxpY2F0aW9uU3RhdGVQ
cm9jZXNzU2VydmVyICAgICAgICAgICAgICAgID0gKDEgPDwgNCksCi0gICAgQktTQXBwbGljYXRp
b25TdGF0ZUZvcmVncm91bmRSdW5uaW5nT2JzY3VyZWQgICAgPSAoMSA8PCA1KSwKLX07Ci10eXBl
ZGVmIHVpbnQzMl90IEJLU0FwcGxpY2F0aW9uU3RhdGU7Ci0KLWV4dGVybiBOU1N0cmluZyAqIGNv
bnN0IEJLU0FwcGxpY2F0aW9uU3RhdGVNb3N0RWxldmF0ZWRTdGF0ZUZvclByb2Nlc3NJREtleTsK
LWV4dGVybiBOU1N0cmluZyAqIGNvbnN0IEJLU0FwcGxpY2F0aW9uU3RhdGVQcm9jZXNzSURLZXk7
Ci0KLXR5cGVkZWYgdm9pZCheQktTQXBwbGljYXRpb25TdGF0ZUNoYW5nZWRIYW5kbGVyKShOU0Rp
Y3Rpb25hcnkgKnVzZXJJbmZvKTsKLQotQGludGVyZmFjZSBCS1NBcHBsaWNhdGlvblN0YXRlTW9u
aXRvciA6IE5TT2JqZWN0Ci0KLUBwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5KSBCS1NBcHBsaWNh
dGlvblN0YXRlQ2hhbmdlZEhhbmRsZXIgaGFuZGxlcjsKLQotLSAoQktTQXBwbGljYXRpb25TdGF0
ZSltb3N0RWxldmF0ZWRBcHBsaWNhdGlvblN0YXRlRm9yUElEOihwaWRfdClwaWQ7Ci0tICh2b2lk
KWludmFsaWRhdGU7Ci0KLUBlbmQKLQotZW51bSB7Ci0gICAgQktTUHJvY2Vzc0Fzc2VydGlvbk5v
bmUgPSAwLAotICAgIEJLU1Byb2Nlc3NBc3NlcnRpb25QcmV2ZW50VGFza1N1c3BlbmQgID0gMSA8
PCAwLAotICAgIEJLU1Byb2Nlc3NBc3NlcnRpb25QcmV2ZW50VGFza1Rocm90dGxlRG93biA9IDEg
PDwgMSwKLSAgICBCS1NQcm9jZXNzQXNzZXJ0aW9uQWxsb3dJZGxlU2xlZXAgPSAxIDw8IDIsCi0g
ICAgQktTUHJvY2Vzc0Fzc2VydGlvbldhbnRzRm9yZWdyb3VuZFJlc291cmNlUHJpb3JpdHkgPSAx
IDw8IDMsCi0gICAgQktTUHJvY2Vzc0Fzc2VydGlvbkFsbG93U3VzcGVuZE9uU2xlZXAgPSAxIDw8
IDQsCi19OwotdHlwZWRlZiB1aW50MzJfdCBCS1NQcm9jZXNzQXNzZXJ0aW9uRmxhZ3M7Ci0KLWVu
dW0gewotICAgIEJLU1Byb2Nlc3NBc3NlcnRpb25SZWFzb25NZWRpYVBsYXliYWNrID0gMSwKLSAg
ICBCS1NQcm9jZXNzQXNzZXJ0aW9uUmVhc29uRmluaXNoVGFzayA9IDQsCi0gICAgQktTUHJvY2Vz
c0Fzc2VydGlvblJlYXNvbkV4dGVuc2lvbiA9IDEzLAotICAgIEJLU1Byb2Nlc3NBc3NlcnRpb25S
ZWFzb25GaW5pc2hUYXNrVW5ib3VuZGVkID0gMTAwMDQsCi19OwotdHlwZWRlZiB1aW50MzJfdCBC
S1NQcm9jZXNzQXNzZXJ0aW9uUmVhc29uOwotCi10eXBlZGVmIHZvaWQgKF5CS1NQcm9jZXNzQXNz
ZXJ0aW9uSW52YWxpZGF0aW9uSGFuZGxlcikodm9pZCk7Ci10eXBlZGVmIHZvaWQgKF5CS1NQcm9j
ZXNzQXNzZXJ0aW9uQWNxdWlzaXRpb25IYW5kbGVyKShCT09MIGFjcXVpcmVkKTsKLQotQGludGVy
ZmFjZSBCS1NQcm9jZXNzQXNzZXJ0aW9uIDogTlNPYmplY3QKLUBlbmQKLQotQGludGVyZmFjZSBC
S1NQcm9jZXNzQXNzZXJ0aW9uICgpCi1AcHJvcGVydHkgKG5vbmF0b21pYywgYXNzaWduKSBCS1NQ
cm9jZXNzQXNzZXJ0aW9uRmxhZ3MgZmxhZ3M7Ci0tIChpZClpbml0V2l0aFBJRDoocGlkX3QpcGlk
IGZsYWdzOihCS1NQcm9jZXNzQXNzZXJ0aW9uRmxhZ3MpZmxhZ3MgcmVhc29uOihCS1NQcm9jZXNz
QXNzZXJ0aW9uUmVhc29uKXJlYXNvbiBuYW1lOihOU1N0cmluZyAqKW5hbWUgd2l0aEhhbmRsZXI6
KEJLU1Byb2Nlc3NBc3NlcnRpb25BY3F1aXNpdGlvbkhhbmRsZXIpaGFuZGxlcjsKLQotQHByb3Bl
cnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBCT09MIHZhbGlkOwotQHByb3BlcnR5IChub25hdG9t
aWMsIGNvcHkpIEJLU1Byb2Nlc3NBc3NlcnRpb25JbnZhbGlkYXRpb25IYW5kbGVyIGludmFsaWRh
dGlvbkhhbmRsZXI7Ci0tICh2b2lkKWludmFsaWRhdGU7Ci1AZW5kCi0KLWVudW0gewotICAgIEJL
U1Byb2Nlc3NUYXNrU3RhdGVOb25lLAotICAgIEJLU1Byb2Nlc3NUYXNrU3RhdGVSdW5uaW5nLAot
ICAgIEJLU1Byb2Nlc3NUYXNrU3RhdGVTdXNwZW5kZWQsCi19OwotdHlwZWRlZiB1aW50MzJfdCBC
S1NQcm9jZXNzVGFza1N0YXRlOwotCi1AY2xhc3MgQktTUHJvY2VzczsKLQotQHByb3RvY29sIEJL
U1Byb2Nlc3NEZWxlZ2F0ZSA8TlNPYmplY3Q+Ci1Ab3B0aW9uYWwKLS0gKHZvaWQpcHJvY2Vzczoo
QktTUHJvY2VzcyAqKXByb2Nlc3MgdGFza1N0YXRlRGlkQ2hhbmdlOihCS1NQcm9jZXNzVGFza1N0
YXRlKW5ld1N0YXRlOwotQGVuZAotCi1AaW50ZXJmYWNlIEJLU1Byb2Nlc3MgOiBOU09iamVjdAot
QGVuZAotCi1AaW50ZXJmYWNlIEJLU1Byb2Nlc3MgKCkKLSsgKEJLU1Byb2Nlc3MgKiljdXJyZW50
UHJvY2VzczsKLUBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkd3JpdGUsIHdlYWspIGlkIDxCS1NQ
cm9jZXNzRGVsZWdhdGU+IGRlbGVnYXRlOwotQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5
LCBhc3NpZ24pIEJLU1Byb2Nlc3NUYXNrU3RhdGUgdGFza1N0YXRlOwotQGVuZAotCi0jZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL1Byb2Nlc3NUYXNrU3RhdGVP
YnNlcnZlci5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvUHJvY2Vzc1Rhc2tTdGF0ZU9i
c2VydmVyLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhmY2RmOTc5MGZhYjUwNWFh
NzM1NWU4ZDBhNWQwOGE2NWU3MTQ5MTkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvUHJvY2Vzc1Rhc2tTdGF0
ZU9ic2VydmVyLmgKKysrIC9kZXYvbnVsbApAQCAtMSw3NCArMCwwIEBACi0vKgotICogQ29weXJp
Z2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
Ci0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAq
Ci0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQot
I3ByYWdtYSBvbmNlCi0KLSNpZiBQTEFURk9STShJT1NfRkFNSUxZKQotCi0jaW5jbHVkZSA8d3Rm
L0xvY2suaD4KLSNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+Ci0jaW5jbHVkZSA8d3RmL1RocmVh
ZFNhZmVSZWZDb3VudGVkLmg+Ci0KLU9CSkNfQ0xBU1MgV0tQcm9jZXNzVGFza1N0YXRlT2JzZXJ2
ZXJEZWxlZ2F0ZTsKLU9CSkNfQ0xBU1MgQktTUHJvY2VzczsKLQotbmFtZXNwYWNlIFdlYktpdCB7
Ci0KLWNsYXNzIFByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlciA6IHB1YmxpYyBUaHJlYWRTYWZlUmVm
Q291bnRlZDxQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXI+IHsKLXB1YmxpYzoKLSAgICBjbGFzcyBD
bGllbnQ7Ci0KLSAgICBzdGF0aWMgUmVmPFByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlcj4gY3JlYXRl
KENsaWVudCYpOwotICAgIH5Qcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXIoKTsKLSAgICAKLSAgICBl
bnVtIFRhc2tTdGF0ZSB7Ci0gICAgICAgIE5vbmUsCi0gICAgICAgIFJ1bm5pbmcsCi0gICAgICAg
IFN1c3BlbmRlZCwKLSAgICB9OwotCi0gICAgY2xhc3MgQ2xpZW50IHsKLSAgICBwdWJsaWM6Ci0g
ICAgICAgIHZpcnR1YWwgfkNsaWVudCgpID0gZGVmYXVsdDsKLSAgICAgICAgdmlydHVhbCB2b2lk
IHByb2Nlc3NUYXNrU3RhdGVEaWRDaGFuZ2UoVGFza1N0YXRlKSA9IDA7Ci0gICAgfTsKLQotICAg
IHZvaWQgaW52YWxpZGF0ZSgpOwotICAgIFRhc2tTdGF0ZSB0YXNrU3RhdGUoKSBjb25zdCB7IHJl
dHVybiBtX3Rhc2tTdGF0ZTsgfQotCi1wcml2YXRlOgotICAgIGV4cGxpY2l0IFByb2Nlc3NUYXNr
U3RhdGVPYnNlcnZlcihDbGllbnQmKTsKLSAgICB2b2lkIHNldFRhc2tTdGF0ZShUYXNrU3RhdGUp
OwotCi0gICAgQ2xpZW50KiBtX2NsaWVudDsKLSAgICBMb2NrIG1fY2xpZW50TG9jazsKLSAgICBU
YXNrU3RhdGUgbV90YXNrU3RhdGUgeyBOb25lIH07Ci0gICAgUmV0YWluUHRyPEJLU1Byb2Nlc3M+
IG1fcHJvY2VzczsKLSAgICBSZXRhaW5QdHI8V0tQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXJEZWxl
Z2F0ZT4gbV9kZWxlZ2F0ZTsKLX07Ci0KLX0KLQotI2VuZGlmIC8vIFBMQVRGT1JNKElPU19GQU1J
TFkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9Qcm9jZXNzVGFza1N0
YXRlT2JzZXJ2ZXIubW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9Qcm9jZXNzVGFza1N0
YXRlT2JzZXJ2ZXIubW0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU2MGI0YjhiYWNh
NmZjNGU1YjZkMTkxYTE5OTdhNDFkZjA5MGI4MzQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvUHJvY2Vzc1Rh
c2tTdGF0ZU9ic2VydmVyLm1tCisrKyAvZGV2L251bGwKQEAgLTEsMTE1ICswLDAgQEAKLS8qCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoK
LSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
LSAqLwotCi0jaW1wb3J0ICJjb25maWcuaCIKLSNpbXBvcnQgIlByb2Nlc3NUYXNrU3RhdGVPYnNl
cnZlci5oIgotCi0jaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKLQotI2ltcG9ydCAiQXNzZXJ0aW9u
U2VydmljZXNTUEkuaCIKLSNpbXBvcnQgIkxvZ2dpbmcuaCIKLSNpbXBvcnQgPHd0Zi9GdW5jdGlv
bi5oPgotI2ltcG9ydCA8d3RmL1NvZnRMaW5raW5nLmg+Ci0KLVNPRlRfTElOS19QUklWQVRFX0ZS
QU1FV09SSyhBc3NlcnRpb25TZXJ2aWNlcyk7Ci1TT0ZUX0xJTktfQ0xBU1MoQXNzZXJ0aW9uU2Vy
dmljZXMsIEJLU1Byb2Nlc3MpOwotCi10eXBlZGVmIHZvaWQoXlRhc2tTdGF0ZUNoYW5nZWRDYWxs
YmFja1R5cGUpKEJLU1Byb2Nlc3NUYXNrU3RhdGUpOwotCi1AaW50ZXJmYWNlIFdLUHJvY2Vzc1Rh
c2tTdGF0ZU9ic2VydmVyRGVsZWdhdGUgOiBOU09iamVjdDxCS1NQcm9jZXNzRGVsZWdhdGU+Ci1A
cHJvcGVydHkgKGNvcHkpIFRhc2tTdGF0ZUNoYW5nZWRDYWxsYmFja1R5cGUgdGFza1N0YXRlQ2hh
bmdlZENhbGxiYWNrOwotQGVuZAotCi1AaW1wbGVtZW50YXRpb24gV0tQcm9jZXNzVGFza1N0YXRl
T2JzZXJ2ZXJEZWxlZ2F0ZQotLSAodm9pZClkZWFsbG9jCi17Ci0gICAgW190YXNrU3RhdGVDaGFu
Z2VkQ2FsbGJhY2sgcmVsZWFzZV07Ci0gICAgW3N1cGVyIGRlYWxsb2NdOwotfQotCi0tICh2b2lk
KXByb2Nlc3M6KEJLU1Byb2Nlc3MgKilwcm9jZXNzIHRhc2tTdGF0ZURpZENoYW5nZTooQktTUHJv
Y2Vzc1Rhc2tTdGF0ZSluZXdTdGF0ZQotewotICAgIFJFTEVBU0VfTE9HKFByb2Nlc3NTdXNwZW5z
aW9uLCAiJXAgLVtXS1Byb2Nlc3NUYXNrU3RhdGVPYnNlcnZlckRlbGVnYXRlIHByb2Nlc3M6dGFz
a1N0YXRlRGlkQ2hhbmdlOl0sIHByb2Nlc3MoJXApLCBuZXdTdGF0ZSglZCkiLCBzZWxmLCBwcm9j
ZXNzLCAoaW50KW5ld1N0YXRlKTsKLQotICAgIGlmIChhdXRvIGNhbGxiYWNrID0gX3Rhc2tTdGF0
ZUNoYW5nZWRDYWxsYmFjaykKLSAgICAgICAgY2FsbGJhY2sobmV3U3RhdGUpOwotfQotQGVuZAot
Ci1uYW1lc3BhY2UgV2ViS2l0IHsKLQotc3RhdGljIFByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlcjo6
VGFza1N0YXRlIHRvUHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyVGFza1N0YXRlKEJLU1Byb2Nlc3NU
YXNrU3RhdGUgc3RhdGUpCi17Ci0gICAgc3RhdGljX2Fzc2VydChzdGF0aWNfY2FzdDx1aW50MzJf
dD4oQktTUHJvY2Vzc1Rhc2tTdGF0ZU5vbmUpID09IHN0YXRpY19jYXN0PHVpbnQzMl90PihQcm9j
ZXNzVGFza1N0YXRlT2JzZXJ2ZXI6Ok5vbmUpLCAiQktTUHJvY2Vzc1Rhc2tTdGF0ZSAhPSBQcm9j
ZXNzVGFza1N0YXRlT2JzZXJ2ZXI6OlRhc2tTdGF0ZSIpOwotICAgIHN0YXRpY19hc3NlcnQoc3Rh
dGljX2Nhc3Q8dWludDMyX3Q+KEJLU1Byb2Nlc3NUYXNrU3RhdGVSdW5uaW5nKSA9PSBzdGF0aWNf
Y2FzdDx1aW50MzJfdD4oUHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyOjpSdW5uaW5nKSwgIkJLU1By
b2Nlc3NUYXNrU3RhdGUgIT0gUHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyOjpUYXNrU3RhdGUiKTsK
LSAgICBzdGF0aWNfYXNzZXJ0KHN0YXRpY19jYXN0PHVpbnQzMl90PihCS1NQcm9jZXNzVGFza1N0
YXRlU3VzcGVuZGVkKSA9PSBzdGF0aWNfY2FzdDx1aW50MzJfdD4oUHJvY2Vzc1Rhc2tTdGF0ZU9i
c2VydmVyOjpTdXNwZW5kZWQpLCAiQktTUHJvY2Vzc1Rhc2tTdGF0ZSAhPSBQcm9jZXNzVGFza1N0
YXRlT2JzZXJ2ZXI6OlRhc2tTdGF0ZSIpOwotICAgIHJldHVybiBzdGF0aWNfY2FzdDxQcm9jZXNz
VGFza1N0YXRlT2JzZXJ2ZXI6OlRhc2tTdGF0ZT4oc3RhdGUpOwotfQotCi1SZWY8UHJvY2Vzc1Rh
c2tTdGF0ZU9ic2VydmVyPiBQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXI6OmNyZWF0ZShDbGllbnQm
IGNsaWVudCkKLXsKLSAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBQcm9jZXNzVGFza1N0YXRlT2Jz
ZXJ2ZXIoY2xpZW50KSk7Ci19Ci0KLVByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlcjo6UHJvY2Vzc1Rh
c2tTdGF0ZU9ic2VydmVyKENsaWVudCYgY2xpZW50KQotICAgIDogbV9jbGllbnQoJmNsaWVudCkK
LSAgICAsIG1fcHJvY2VzcyhbZ2V0QktTUHJvY2Vzc0NsYXNzKCkgY3VycmVudFByb2Nlc3NdKQot
ICAgICwgbV9kZWxlZ2F0ZShhZG9wdE5TKFtbV0tQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXJEZWxl
Z2F0ZSBhbGxvY10gaW5pdF0pKQotewotICAgIFJFTEVBU0VfTE9HKFByb2Nlc3NTdXNwZW5zaW9u
LCAiJXAgLSBQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXI6OlByb2Nlc3NUYXNrU3RhdGVPYnNlcnZl
cigpLCBtX3Byb2Nlc3MoJXApIiwgdGhpcywgbV9wcm9jZXNzLmdldCgpKTsKLSAgICBtX2RlbGVn
YXRlLmdldCgpLnRhc2tTdGF0ZUNoYW5nZWRDYWxsYmFjayA9IFtwcm90ZWN0ZWRUaGlzID0gbWFr
ZVJlZlB0cih0aGlzKV0gKEJLU1Byb2Nlc3NUYXNrU3RhdGUgc3RhdGUpIHsKLSAgICAgICAgcHJv
dGVjdGVkVGhpcy0+c2V0VGFza1N0YXRlKHRvUHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyVGFza1N0
YXRlKHN0YXRlKSk7Ci0gICAgfTsKLSAgICBtX3Byb2Nlc3MuZ2V0KCkuZGVsZWdhdGUgPSBtX2Rl
bGVnYXRlLmdldCgpOwotfQotCi1Qcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXI6On5Qcm9jZXNzVGFz
a1N0YXRlT2JzZXJ2ZXIoKQotewotICAgIG1fZGVsZWdhdGUuZ2V0KCkudGFza1N0YXRlQ2hhbmdl
ZENhbGxiYWNrID0gbmlsOwotfQotCi12b2lkIFByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlcjo6aW52
YWxpZGF0ZSgpCi17Ci0gICAgTG9ja0hvbGRlciBob2xkZXIobV9jbGllbnRMb2NrKTsKLSAgICBt
X2NsaWVudCA9IG51bGxwdHI7Ci0gICAgbV9kZWxlZ2F0ZS5nZXQoKS50YXNrU3RhdGVDaGFuZ2Vk
Q2FsbGJhY2sgPSBuaWw7Ci19Ci0KLXZvaWQgUHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyOjpzZXRU
YXNrU3RhdGUoVGFza1N0YXRlIHN0YXRlKQotewotICAgIGlmIChtX3Rhc2tTdGF0ZSA9PSBzdGF0
ZSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgbV90YXNrU3RhdGUgPSBzdGF0ZTsKLQotICAgIExv
Y2tIb2xkZXIgaG9sZGVyKG1fY2xpZW50TG9jayk7Ci0gICAgaWYgKG1fY2xpZW50KQotICAgICAg
ICBtX2NsaWVudC0+cHJvY2Vzc1Rhc2tTdGF0ZURpZENoYW5nZShzdGF0ZSk7Ci19Ci0KLX0KLQot
I2VuZGlmIC8vIFBMQVRGT1JNKElPU19GQU1JTFkpCi0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FwcGxpY2F0aW9uU3RhdGVUcmFja2VyLm1tIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQXBwbGljYXRpb25TdGF0ZVRyYWNrZXIubW0KaW5kZXggNjFhYjFiNmU0OWFhMDU5
NmVkYTgxMjQ4YjY3ODE2YTA2Y2MwYWE5OC4uMzdiMmJkN2IyM2RjYThkNGRjNTU1ZjFmNWY0NGI4
ODEwMzQwOWIwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXBwbGljYXRp
b25TdGF0ZVRyYWNrZXIubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXBwbGljYXRp
b25TdGF0ZVRyYWNrZXIubW0KQEAgLTI4LDcgKzI4LDYgQEAKIAogI2lmIFBMQVRGT1JNKElPU19G
QU1JTFkpCiAKLSNpbXBvcnQgIkFzc2VydGlvblNlcnZpY2VzU1BJLmgiCiAjaW1wb3J0ICJFbmRv
d21lbnRTdGF0ZVRyYWNrZXIuaCIKICNpbXBvcnQgIkxvZ2dpbmcuaCIKICNpbXBvcnQgIlNhbmRi
b3hVdGlsaXRpZXMuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1Byb2Nl
c3NBc3NlcnRpb24uaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1Byb2Nlc3NBc3NlcnRpb24u
aAppbmRleCBiZWU5OWZiMzRlNjE2MDI3YzJmZGMyZDA0NWE5MmZkNWJlY2U4MzJmLi5lYjc1YzJh
MmU5NTU0ZmQyNTllZmVkMjc1NTcwMjZlZTljYTA0NjAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9Qcm9jZXNzQXNzZXJ0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvUHJvY2Vzc0Fzc2VydGlvbi5oCkBAIC0zOSwxMCArMzksNiBAQAogCiBPQkpDX0NMQVNT
IFJCU0Fzc2VydGlvbjsKIE9CSkNfQ0xBU1MgV0tSQlNBc3NlcnRpb25EZWxlZ2F0ZTsKLQotI2lm
ICFIQVZFKFJVTk5JTkdCT0FSRF9WSVNJQklMSVRZX0FTU0VSVElPTlMpCi1PQkpDX0NMQVNTIEJL
U1Byb2Nlc3NBc3NlcnRpb247Ci0jZW5kaWYKICNlbmRpZiAvLyBQTEFURk9STShJT1NfRkFNSUxZ
KQogCiBuYW1lc3BhY2UgV2ViS2l0IHsKQEAgLTc5LDkgKzc1LDYgQEAgcHJpdmF0ZToKICNpZiBQ
TEFURk9STShJT1NfRkFNSUxZKQogICAgIFJldGFpblB0cjxSQlNBc3NlcnRpb24+IG1fcmJzQXNz
ZXJ0aW9uOwogICAgIFJldGFpblB0cjxXS1JCU0Fzc2VydGlvbkRlbGVnYXRlPiBtX2RlbGVnYXRl
OwotI2lmICFIQVZFKFJVTk5JTkdCT0FSRF9WSVNJQklMSVRZX0FTU0VSVElPTlMpCi0gICAgUmV0
YWluUHRyPEJLU1Byb2Nlc3NBc3NlcnRpb24+IG1fYmtzQXNzZXJ0aW9uOyAvLyBMZWdhY3kuCi0j
ZW5kaWYKICNlbmRpZgogICAgIEZ1bmN0aW9uPHZvaWQoKT4gbV9pbnZhbGlkYXRpb25IYW5kbGVy
OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50
SW1wbElPUy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElP
Uy5tbQppbmRleCA0N2ZhMjg0MjI3NjcwNDM3YjI5NmE0MzA1ZmVlMGQ2NzkxOTlkZjI5Li5hZmNj
NDVlOTM3NmQ3M2E2NGQxMmE2Y2E3OTA1ZmE3MjU1NmM1YWVkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0KKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tCkBAIC0zMCw3ICszMCw2IEBA
CiAKICNpbXBvcnQgIkFQSURhdGEuaCIKICNpbXBvcnQgIkFwcGxpY2F0aW9uU3RhdGVUcmFja2Vy
LmgiCi0jaW1wb3J0ICJBc3NlcnRpb25TZXJ2aWNlc1NQSS5oIgogI2ltcG9ydCAiRGF0YVJlZmVy
ZW5jZS5oIgogI2ltcG9ydCAiRG93bmxvYWRQcm94eS5oIgogI2ltcG9ydCAiRHJhd2luZ0FyZWFQ
cm94eS5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1Byb2Nlc3NB
c3NlcnRpb25JT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUHJvY2Vzc0Fzc2Vy
dGlvbklPUy5tbQppbmRleCBkMDJiNzI3NGYxNjEyNzJlNGI2ZmRiOTkwM2ZkMjAzMGRlNDM5OTNl
Li4wNTM0ZTU3MDBiODlhZGE4MzliOGI1OWYwZjFkMDVjMWE5ZWFjMTc1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUHJvY2Vzc0Fzc2VydGlvbklPUy5tbQorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUHJvY2Vzc0Fzc2VydGlvbklPUy5tbQpAQCAtMzcs
MTAgKzM3LDYgQEAKICNpbXBvcnQgPHd0Zi9WZWN0b3IuaD4KICNpbXBvcnQgPHd0Zi9XZWFrSGFz
aFNldC5oPgogCi0jaWYgIUhBVkUoUlVOTklOR0JPQVJEX1ZJU0lCSUxJVFlfQVNTRVJUSU9OUykK
LSNpbXBvcnQgIkFzc2VydGlvblNlcnZpY2VzU1BJLmgiCi0jZW5kaWYKLQogdXNpbmcgV2ViS2l0
OjpQcm9jZXNzQW5kVUlBc3NlcnRpb247CiAKIC8vIFRoaXMgZ2l2ZXMgc29tZSB0aW1lIHRvIG91
ciBjaGlsZCBwcm9jZXNzZXMgdG8gcHJvY2VzcyB0aGUgUHJvY2Vzc1dpbGxTdXNwZW5kSW1taW5l
bnRseSBJUEMgYnV0IG1ha2VzIHN1cmUgd2UgcmVsZWFzZQpAQCAtNTQsMTEgKzUwLDcgQEAgc3Rh
dGljIGJvb2wgcHJvY2Vzc0hhc0FjdGl2ZVJ1blRpbWVMaW1pdGF0aW9uKCkKIH0KIAogQGludGVy
ZmFjZSBXS1Byb2Nlc3NBc3NlcnRpb25CYWNrZ3JvdW5kVGFza01hbmFnZXIKLSNpZiBIQVZFKFJV
Tk5JTkdCT0FSRF9WSVNJQklMSVRZX0FTU0VSVElPTlMpCiAgICAgOiBOU09iamVjdCA8UkJTQXNz
ZXJ0aW9uT2JzZXJ2aW5nPgotI2Vsc2UKLSAgICA6IE5TT2JqZWN0Ci0jZW5kaWYKIAogKyAoV0tQ
cm9jZXNzQXNzZXJ0aW9uQmFja2dyb3VuZFRhc2tNYW5hZ2VyICopc2hhcmVkOwogCkBAIC02OSwx
MiArNjEsNyBAQCBAZW5kCiAKIEBpbXBsZW1lbnRhdGlvbiBXS1Byb2Nlc3NBc3NlcnRpb25CYWNr
Z3JvdW5kVGFza01hbmFnZXIKIHsKLSNpZiBIQVZFKFJVTk5JTkdCT0FSRF9WSVNJQklMSVRZX0FT
U0VSVElPTlMpCiAgICAgUmV0YWluUHRyPFJCU0Fzc2VydGlvbj4gX2JhY2tncm91bmRUYXNrOwot
I2Vsc2UKLSAgICBVSUJhY2tncm91bmRUYXNrSWRlbnRpZmllciBfYmFja2dyb3VuZFRhc2s7Ci0j
ZW5kaWYKLQogICAgIFdlYWtIYXNoU2V0PFByb2Nlc3NBbmRVSUFzc2VydGlvbj4gX2Fzc2VydGlv
bnNOZWVkaW5nQmFja2dyb3VuZFRhc2s7CiAgICAgZGlzcGF0Y2hfYmxvY2tfdCBfcGVuZGluZ1Rh
c2tSZWxlYXNlVGFzazsKIH0KQEAgLTkxLDEwICs3OCw2IEBAIC0gKGluc3RhbmNldHlwZSlpbml0
CiAgICAgaWYgKCFzZWxmKQogICAgICAgICByZXR1cm4gbmlsOwogCi0jaWYgIUhBVkUoUlVOTklO
R0JPQVJEX1ZJU0lCSUxJVFlfQVNTRVJUSU9OUykKLSAgICBfYmFja2dyb3VuZFRhc2sgPSBVSUJh
Y2tncm91bmRUYXNrSW52YWxpZDsKLSNlbmRpZgotCiAgICAgLy8gRklYTUU6IFN0b3AgcmVseWlu
ZyBvbiBVSUFwcGxpY2F0aW9uIG5vdGlmaWNhdGlvbnMgYXMgdGhpcyBkb2VzIG5vdCB3b3JrIGFz
IGV4cGVjdGVkIGZvciBkYWVtb25zIG9yIFZpZXdTZXJ2aWNlcy4KICAgICAvLyBXZSBzaG91bGQg
bGlrZWx5IHVzZSBQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXIgdG8gbW9uaXRvciBzdXNwZW5zaW9u
IHN0YXRlLgogICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gYWRkT2Jz
ZXJ2ZXJGb3JOYW1lOlVJQXBwbGljYXRpb25XaWxsRW50ZXJGb3JlZ3JvdW5kTm90aWZpY2F0aW9u
IG9iamVjdDpbVUlBcHBsaWNhdGlvbiBzaGFyZWRBcHBsaWNhdGlvbl0gcXVldWU6bmlsIHVzaW5n
QmxvY2s6XihOU05vdGlmaWNhdGlvbiAqKSB7CkBAIC0xNzUsMTEgKzE1OCw3IEBAIC0gKHZvaWQp
X2NhbmNlbFBlbmRpbmdSZWxlYXNlVGFzawogCiAtIChCT09MKV9oYXNCYWNrZ3JvdW5kVGFzawog
ewotI2lmIEhBVkUoUlVOTklOR0JPQVJEX1ZJU0lCSUxJVFlfQVNTRVJUSU9OUykKICAgICByZXR1
cm4gISFfYmFja2dyb3VuZFRhc2s7Ci0jZWxzZQotICAgIHJldHVybiBfYmFja2dyb3VuZFRhc2sg
IT0gVUlCYWNrZ3JvdW5kVGFza0ludmFsaWQ7Ci0jZW5kaWYKIH0KIAogLSAodm9pZClfdXBkYXRl
QmFja2dyb3VuZFRhc2sKQEAgLTE5MCw3ICsxNjksNiBAQCAtICh2b2lkKV91cGRhdGVCYWNrZ3Jv
dW5kVGFzawogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAgICAgICAgIFJFTEVBU0Vf
TE9HKFByb2Nlc3NTdXNwZW5zaW9uLCAiJXAgLSBXS1Byb2Nlc3NBc3NlcnRpb25CYWNrZ3JvdW5k
VGFza01hbmFnZXI6IGJlZ2luQmFja2dyb3VuZFRhc2tXaXRoTmFtZSIsIHNlbGYpOwotI2lmIEhB
VkUoUlVOTklOR0JPQVJEX1ZJU0lCSUxJVFlfQVNTRVJUSU9OUykKICAgICAgICAgUkJTVGFyZ2V0
ICp0YXJnZXQgPSBbUkJTVGFyZ2V0IGN1cnJlbnRQcm9jZXNzXTsKICAgICAgICAgUkJTRG9tYWlu
QXR0cmlidXRlICpkb21haW5BdHRyaWJ1dGUgPSBbUkJTRG9tYWluQXR0cmlidXRlIGF0dHJpYnV0
ZVdpdGhEb21haW46QCJjb20uYXBwbGUuY29tbW9uIiBuYW1lOkAiRmluaXNoVGFza0ludGVycnVw
dGFibGUiXTsKICAgICAgICAgX2JhY2tncm91bmRUYXNrID0gYWRvcHROUyhbW1JCU0Fzc2VydGlv
biBhbGxvY10gaW5pdFdpdGhFeHBsYW5hdGlvbjpAIldlYktpdCBVSVByb2Nlc3MgYmFja2dyb3Vu
ZCB0YXNrIiB0YXJnZXQ6dGFyZ2V0IGF0dHJpYnV0ZXM6QFtkb21haW5BdHRyaWJ1dGVdXSk7CkBA
IC0yMDEsMTYgKzE3OSwxMCBAQCAtICh2b2lkKV91cGRhdGVCYWNrZ3JvdW5kVGFzawogICAgICAg
ICAgICAgUkVMRUFTRV9MT0dfRVJST1IoUHJvY2Vzc1N1c3BlbnNpb24sICJXS1Byb2Nlc3NBc3Nl
cnRpb25CYWNrZ3JvdW5kVGFza01hbmFnZXI6IEZhaWxlZCB0byBhY3F1aXJlIEZpbmlzaFRhc2tJ
bnRlcnJ1cHRhYmxlIGFzc2VydGlvbiBmb3Igb3duIHByb2Nlc3MsIGVycm9yOiAle3B1YmxpY31A
IiwgYWNxdWlzaXRpb25FcnJvcik7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIFJFTEVBU0Vf
TE9HKFByb2Nlc3NTdXNwZW5zaW9uLCAiV0tQcm9jZXNzQXNzZXJ0aW9uQmFja2dyb3VuZFRhc2tN
YW5hZ2VyOiBTdWNjZXNzZnVsbHkgdG9vayBhIEZpbmlzaFRhc2tJbnRlcnJ1cHRhYmxlIGFzc2Vy
dGlvbiBmb3Igb3duIHByb2Nlc3MiKTsKLSNlbHNlCi0gICAgICAgIF9iYWNrZ3JvdW5kVGFzayA9
IFtbVUlBcHBsaWNhdGlvbiBzaGFyZWRBcHBsaWNhdGlvbl0gYmVnaW5CYWNrZ3JvdW5kVGFza1dp
dGhOYW1lOkAiY29tLmFwcGxlLldlYktpdC5Qcm9jZXNzQXNzZXJ0aW9uIiBleHBpcmF0aW9uSGFu
ZGxlcjpeewotICAgICAgICAgICAgW3NlbGYgX2hhbmRsZUJhY2tncm91bmRUYXNrRXhwaXJhdGlv
bl07Ci0gICAgICAgIH1dOwotI2VuZGlmCiAgICAgfSBlbHNlIGlmIChfYXNzZXJ0aW9uc05lZWRp
bmdCYWNrZ3JvdW5kVGFzay5jb21wdXRlc0VtcHR5KCkpCiAgICAgICAgIFtzZWxmIF9yZWxlYXNl
QmFja2dyb3VuZFRhc2tdOwogfQogCi0jaWYgSEFWRShSVU5OSU5HQk9BUkRfVklTSUJJTElUWV9B
U1NFUlRJT05TKQogLSAodm9pZClhc3NlcnRpb25XaWxsSW52YWxpZGF0ZTooUkJTQXNzZXJ0aW9u
ICopYXNzZXJ0aW9uCiB7CiAgICAgQVNTRVJUKGFzc2VydGlvbiA9PSBfYmFja2dyb3VuZFRhc2su
Z2V0KCkpOwpAQCAtMjIyLDcgKzE5NCw2IEBAIC0gKHZvaWQpYXNzZXJ0aW9uOihSQlNBc3NlcnRp
b24gKilhc3NlcnRpb24gZGlkSW52YWxpZGF0ZVdpdGhFcnJvcjooTlNFcnJvciAqKWVyCiAgICAg
QVNTRVJUKGFzc2VydGlvbiA9PSBfYmFja2dyb3VuZFRhc2suZ2V0KCkpOwogICAgIFJFTEVBU0Vf
TE9HX0VSUk9SKFByb2Nlc3NTdXNwZW5zaW9uLCAiV0tQcm9jZXNzQXNzZXJ0aW9uQmFja2dyb3Vu
ZFRhc2tNYW5hZ2VyOiBGaW5pc2hUYXNrSW50ZXJydXB0YWJsZSBhc3NlcnRpb24gd2FzIGludmFs
aWRhdGVkLCBlcnJvcjogJXtwdWJsaWN9QCIsIGVycm9yKTsKIH0KLSNlbmRpZgogCiAtICh2b2lk
KV9oYW5kbGVCYWNrZ3JvdW5kVGFza0V4cGlyYXRpb24KIHsKQEAgLTI2NSwxNCArMjM2LDkgQEAg
LSAodm9pZClfcmVsZWFzZUJhY2tncm91bmRUYXNrCiAgICAgaWYgKHByb2Nlc3NIYXNBY3RpdmVS
dW5UaW1lTGltaXRhdGlvbigpKQogICAgICAgICBXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpub3Rp
ZnlQcm9jZXNzUG9vbHNBcHBsaWNhdGlvbklzQWJvdXRUb1N1c3BlbmQoKTsKIAotI2lmIEhBVkUo
UlVOTklOR0JPQVJEX1ZJU0lCSUxJVFlfQVNTRVJUSU9OUykKICAgICBbX2JhY2tncm91bmRUYXNr
IHJlbW92ZU9ic2VydmVyOnNlbGZdOwogICAgIFtfYmFja2dyb3VuZFRhc2sgaW52YWxpZGF0ZV07
CiAgICAgX2JhY2tncm91bmRUYXNrID0gbnVsbHB0cjsKLSNlbHNlCi0gICAgW1tVSUFwcGxpY2F0
aW9uIHNoYXJlZEFwcGxpY2F0aW9uXSBlbmRCYWNrZ3JvdW5kVGFzazpfYmFja2dyb3VuZFRhc2td
OwotICAgIF9iYWNrZ3JvdW5kVGFzayA9IFVJQmFja2dyb3VuZFRhc2tJbnZhbGlkOwotI2VuZGlm
CiB9CiAKIEBlbmQKQEAgLTMxMiw3ICsyNzgsNiBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIAogc3Rh
dGljIE5TU3RyaW5nICpydW5uaW5nQm9hcmROYW1lRm9yQXNzZXJ0aW9uVHlwZShQcm9jZXNzQXNz
ZXJ0aW9uVHlwZSBhc3NlcnRpb25UeXBlKQogewotI2lmIEhBVkUoUlVOTklOR0JPQVJEX1ZJU0lC
SUxJVFlfQVNTRVJUSU9OUykKICAgICBzd2l0Y2ggKGFzc2VydGlvblR5cGUpIHsKICAgICBjYXNl
IFByb2Nlc3NBc3NlcnRpb25UeXBlOjpTdXNwZW5kZWQ6CiAgICAgICAgIHJldHVybiBAIlN1c3Bl
bmRlZCI7CkBAIC0zMjUsODEgKzI5MCwxNCBAQCBzdGF0aWMgTlNTdHJpbmcgKnJ1bm5pbmdCb2Fy
ZE5hbWVGb3JBc3NlcnRpb25UeXBlKFByb2Nlc3NBc3NlcnRpb25UeXBlIGFzc2VydGlvbgogICAg
IGNhc2UgUHJvY2Vzc0Fzc2VydGlvblR5cGU6Ok1lZGlhUGxheWJhY2s6CiAgICAgICAgIHJldHVy
biBAIk1lZGlhUGxheWJhY2siOwogICAgIH0KLSNlbHNlCi0gICAgcmV0dXJuIG5pbDsKLSNlbmRp
ZgogfQogCi0jaWYgIUhBVkUoUlVOTklOR0JPQVJEX1ZJU0lCSUxJVFlfQVNTRVJUSU9OUykKLQot
Y29uc3QgQktTUHJvY2Vzc0Fzc2VydGlvbkZsYWdzIHN1c3BlbmRlZFRhYkZsYWdzID0gKEJLU1By
b2Nlc3NBc3NlcnRpb25BbGxvd0lkbGVTbGVlcCk7Ci1jb25zdCBCS1NQcm9jZXNzQXNzZXJ0aW9u
RmxhZ3MgYmFja2dyb3VuZFRhYkZsYWdzID0gKEJLU1Byb2Nlc3NBc3NlcnRpb25QcmV2ZW50VGFz
a1N1c3BlbmQpOwotY29uc3QgQktTUHJvY2Vzc0Fzc2VydGlvbkZsYWdzIGZvcmVncm91bmRUYWJG
bGFncyA9IChCS1NQcm9jZXNzQXNzZXJ0aW9uUHJldmVudFRhc2tTdXNwZW5kIHwgQktTUHJvY2Vz
c0Fzc2VydGlvbldhbnRzRm9yZWdyb3VuZFJlc291cmNlUHJpb3JpdHkgfCBCS1NQcm9jZXNzQXNz
ZXJ0aW9uUHJldmVudFRhc2tUaHJvdHRsZURvd24pOwotCi1zdGF0aWMgQktTUHJvY2Vzc0Fzc2Vy
dGlvbkZsYWdzIGZsYWdzRm9yQXNzZXJ0aW9uVHlwZShQcm9jZXNzQXNzZXJ0aW9uVHlwZSBhc3Nl
cnRpb25UeXBlKQotewotICAgIHN3aXRjaCAoYXNzZXJ0aW9uVHlwZSkgewotICAgIGNhc2UgUHJv
Y2Vzc0Fzc2VydGlvblR5cGU6OlN1c3BlbmRlZDoKLSAgICAgICAgcmV0dXJuIHN1c3BlbmRlZFRh
YkZsYWdzOwotICAgIGNhc2UgUHJvY2Vzc0Fzc2VydGlvblR5cGU6OkJhY2tncm91bmQ6Ci0gICAg
Y2FzZSBQcm9jZXNzQXNzZXJ0aW9uVHlwZTo6VW5ib3VuZGVkTmV0d29ya2luZzoKLSAgICAgICAg
cmV0dXJuIGJhY2tncm91bmRUYWJGbGFnczsKLSAgICBjYXNlIFByb2Nlc3NBc3NlcnRpb25UeXBl
OjpGb3JlZ3JvdW5kOgotICAgIGNhc2UgUHJvY2Vzc0Fzc2VydGlvblR5cGU6Ok1lZGlhUGxheWJh
Y2s6Ci0gICAgICAgIHJldHVybiBmb3JlZ3JvdW5kVGFiRmxhZ3M7Ci0gICAgfQotfQotCi1zdGF0
aWMgQktTUHJvY2Vzc0Fzc2VydGlvblJlYXNvbiB0b0JLU1Byb2Nlc3NBc3NlcnRpb25SZWFzb24o
UHJvY2Vzc0Fzc2VydGlvblR5cGUgYXNzZXJ0aW9uVHlwZSkKLXsKLSAgICBzd2l0Y2ggKGFzc2Vy
dGlvblR5cGUpIHsKLSAgICBjYXNlIFByb2Nlc3NBc3NlcnRpb25UeXBlOjpTdXNwZW5kZWQ6Ci0g
ICAgY2FzZSBQcm9jZXNzQXNzZXJ0aW9uVHlwZTo6QmFja2dyb3VuZDoKLSAgICBjYXNlIFByb2Nl
c3NBc3NlcnRpb25UeXBlOjpGb3JlZ3JvdW5kOgotICAgICAgICByZXR1cm4gQktTUHJvY2Vzc0Fz
c2VydGlvblJlYXNvbkV4dGVuc2lvbjsKLSAgICBjYXNlIFByb2Nlc3NBc3NlcnRpb25UeXBlOjpV
bmJvdW5kZWROZXR3b3JraW5nOgotICAgICAgICByZXR1cm4gQktTUHJvY2Vzc0Fzc2VydGlvblJl
YXNvbkZpbmlzaFRhc2tVbmJvdW5kZWQ7Ci0gICAgY2FzZSBQcm9jZXNzQXNzZXJ0aW9uVHlwZTo6
TWVkaWFQbGF5YmFjazoKLSAgICAgICAgcmV0dXJuIEJLU1Byb2Nlc3NBc3NlcnRpb25SZWFzb25N
ZWRpYVBsYXliYWNrOwotICAgIH0KLX0KLQotI2VuZGlmIC8vICFIQVZFKFJVTk5JTkdCT0FSRF9W
SVNJQklMSVRZX0FTU0VSVElPTlMpCi0KIFByb2Nlc3NBc3NlcnRpb246OlByb2Nlc3NBc3NlcnRp
b24ocGlkX3QgcGlkLCBjb25zdCBTdHJpbmcmIHJlYXNvbiwgUHJvY2Vzc0Fzc2VydGlvblR5cGUg
YXNzZXJ0aW9uVHlwZSkKICAgICA6IG1fYXNzZXJ0aW9uVHlwZShhc3NlcnRpb25UeXBlKQogICAg
ICwgbV9waWQocGlkKQogewogICAgIGF1dG8gd2Vha1RoaXMgPSBtYWtlV2Vha1B0cigqdGhpcyk7
CiAgICAgTlNTdHJpbmcgKnJ1bm5pbmdCb2FyZEFzc2VydGlvbk5hbWUgPSBydW5uaW5nQm9hcmRO
YW1lRm9yQXNzZXJ0aW9uVHlwZShhc3NlcnRpb25UeXBlKTsKLQotI2lmICFIQVZFKFJVTk5JTkdC
T0FSRF9WSVNJQklMSVRZX0FTU0VSVElPTlMpCi0gICAgaWYgKCFydW5uaW5nQm9hcmRBc3NlcnRp
b25OYW1lKSB7Ci0gICAgICAgIC8vIExlZ2FjeSBjb2RlIHBhdGguCi0gICAgICAgIEJLU1Byb2Nl
c3NBc3NlcnRpb25BY3F1aXNpdGlvbkhhbmRsZXIgaGFuZGxlciA9IF4oQk9PTCBhY3F1aXJlZCkg
ewotICAgICAgICAgICAgaWYgKCFhY3F1aXJlZCkgewotICAgICAgICAgICAgICAgIFJFTEVBU0Vf
TE9HX0VSUk9SKFByb2Nlc3NTdXNwZW5zaW9uLCAiICVwIC0gUHJvY2Vzc0Fzc2VydGlvbigpIFBJ
RCAlZCBVbmFibGUgdG8gYWNxdWlyZSBCS1MgYXNzZXJ0aW9uIGZvciBwcm9jZXNzIHdpdGggUElE
ICVkIiwgdGhpcywgZ2V0cGlkKCksIHBpZCk7Ci0gICAgICAgICAgICAgICAgZGlzcGF0Y2hfYXN5
bmMoZGlzcGF0Y2hfZ2V0X21haW5fcXVldWUoKSwgXnsKLSAgICAgICAgICAgICAgICAgICAgaWYg
KHdlYWtUaGlzKQotICAgICAgICAgICAgICAgICAgICAgICAgcHJvY2Vzc0Fzc2VydGlvbldhc0lu
dmFsaWRhdGVkKCk7Ci0gICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICB9Ci0gICAgICAg
IH07Ci0gICAgICAgIFJFTEVBU0VfTE9HKFByb2Nlc3NTdXNwZW5zaW9uLCAiJXAgLSBQcm9jZXNz
QXNzZXJ0aW9uKCkgUElEICVkIGFjcXVpcmluZyBCS1MgYXNzZXJ0aW9uIGZvciBwcm9jZXNzIHdp
dGggUElEICVkLCBuYW1lICclcyciLCB0aGlzLCBnZXRwaWQoKSwgcGlkLCByZWFzb24udXRmOCgp
LmRhdGEoKSk7Ci0KLSAgICAgICAgbV9ia3NBc3NlcnRpb24gPSBhZG9wdE5TKFtbQktTUHJvY2Vz
c0Fzc2VydGlvbiBhbGxvY10gaW5pdFdpdGhQSUQ6cGlkIGZsYWdzOmZsYWdzRm9yQXNzZXJ0aW9u
VHlwZShhc3NlcnRpb25UeXBlKSByZWFzb246dG9CS1NQcm9jZXNzQXNzZXJ0aW9uUmVhc29uKGFz
c2VydGlvblR5cGUpIG5hbWU6cmVhc29uIHdpdGhIYW5kbGVyOmhhbmRsZXJdKTsKLQotICAgICAg
ICBtX2Jrc0Fzc2VydGlvbi5nZXQoKS5pbnZhbGlkYXRpb25IYW5kbGVyID0gXigpIHsKLSAgICAg
ICAgICAgIGRpc3BhdGNoX2FzeW5jKGRpc3BhdGNoX2dldF9tYWluX3F1ZXVlKCksIF57Ci0gICAg
ICAgICAgICAgICAgUkVMRUFTRV9MT0coUHJvY2Vzc1N1c3BlbnNpb24sICIlcCAtIFByb2Nlc3NB
c3NlcnRpb24oKSBCS1MgUHJvY2VzcyBhc3NlcnRpb24gZm9yIHByb2Nlc3Mgd2l0aCBQSUQgJWQg
d2FzIGludmFsaWRhdGVkIiwgdGhpcywgcGlkKTsKLSAgICAgICAgICAgICAgICBpZiAod2Vha1Ro
aXMpCi0gICAgICAgICAgICAgICAgICAgIHByb2Nlc3NBc3NlcnRpb25XYXNJbnZhbGlkYXRlZCgp
OwotICAgICAgICAgICAgfSk7Ci0gICAgICAgIH07Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0j
ZW5kaWYgLy8gIUhBVkUoUlVOTklOR0JPQVJEX1ZJU0lCSUxJVFlfQVNTRVJUSU9OUykKLQogICAg
IEFTU0VSVChydW5uaW5nQm9hcmRBc3NlcnRpb25OYW1lKTsKICAgICBpZiAoIXBpZCkgewogICAg
ICAgICBSRUxFQVNFX0xPR19FUlJPUihQcm9jZXNzU3VzcGVuc2lvbiwgIiVwIC0gUHJvY2Vzc0Fz
c2VydGlvbjogRmFpbGVkIHRvIGFjcXVpcmUgUkJTICV7cHVibGljfUAgYXNzZXJ0aW9uICcle3B1
YmxpY31zJyBmb3IgcHJvY2VzcyBiZWNhdXNlIFBJRCBpcyBpbnZhbGlkIiwgdGhpcywgcnVubmlu
Z0JvYXJkQXNzZXJ0aW9uTmFtZSwgcmVhc29uLnV0ZjgoKS5kYXRhKCkpOwpAQCAtNDM4LDEzICsz
MzYsNiBAQCBQcm9jZXNzQXNzZXJ0aW9uOjp+UHJvY2Vzc0Fzc2VydGlvbigpCiAgICAgICAgIG1f
ZGVsZWdhdGUgPSBuaWw7CiAgICAgICAgIFttX3Jic0Fzc2VydGlvbiBpbnZhbGlkYXRlXTsKICAg
ICB9Ci0KLSNpZiAhSEFWRShSVU5OSU5HQk9BUkRfVklTSUJJTElUWV9BU1NFUlRJT05TKQotICAg
IGlmIChtX2Jrc0Fzc2VydGlvbikgewotICAgICAgICBtX2Jrc0Fzc2VydGlvbi5nZXQoKS5pbnZh
bGlkYXRpb25IYW5kbGVyID0gbmlsOwotICAgICAgICBbbV9ia3NBc3NlcnRpb24gaW52YWxpZGF0
ZV07Ci0gICAgfQotI2VuZGlmCiB9CiAKIHZvaWQgUHJvY2Vzc0Fzc2VydGlvbjo6cHJvY2Vzc0Fz
c2VydGlvbldhc0ludmFsaWRhdGVkKCkKQEAgLTQ1OCwxNSArMzQ5LDcgQEAgdm9pZCBQcm9jZXNz
QXNzZXJ0aW9uOjpwcm9jZXNzQXNzZXJ0aW9uV2FzSW52YWxpZGF0ZWQoKQogCiBib29sIFByb2Nl
c3NBc3NlcnRpb246OmlzVmFsaWQoKSBjb25zdAogewotICAgIGlmIChtX3Jic0Fzc2VydGlvbikK
LSAgICAgICAgcmV0dXJuIG1fcmJzQXNzZXJ0aW9uLmdldCgpLnZhbGlkOwotCi0jaWYgIUhBVkUo
UlVOTklOR0JPQVJEX1ZJU0lCSUxJVFlfQVNTRVJUSU9OUykKLSAgICBpZiAobV9ia3NBc3NlcnRp
b24pCi0gICAgICAgIHJldHVybiBtX2Jrc0Fzc2VydGlvbi5nZXQoKS52YWxpZDsKLSNlbmRpZgot
Ci0gICAgcmV0dXJuIGZhbHNlOworICAgIHJldHVybiBtX3Jic0Fzc2VydGlvbiAmJiBtX3Jic0Fz
c2VydGlvbi5nZXQoKS52YWxpZDsKIH0KIAogdm9pZCBQcm9jZXNzQW5kVUlBc3NlcnRpb246OnVw
ZGF0ZVJ1bkluQmFja2dyb3VuZENvdW50KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2Vi
S2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDZiZDlhYzQ1ZjMxYWM0M2MyZmMwOTY0YWY1ZmRk
ZTRhNzhlNjg0ODcuLjUxOWVlOTU1NzUyN2E3MDNhNWJiZDZlNmYyNzdiMWFjMmVhZThiNjEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
KysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAt
MTczOCw4ICsxNzM4LDYgQEAKIAkJQ0QwQzY4MzEyMDFGRDEwMTAwQTU5NDA5IC8qIFdLRnVsbFNj
cmVlblZpZXdDb250cm9sbGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBDRDBDNjgyRjIwMUZEMTAxMDBBNTk0MDkgLyogV0tGdWxsU2NyZWVuVmlld0Nv
bnRyb2xsZXIuaCAqLzsgfTsKIAkJQ0QxOUEyNkUxQTEzRTgzNDAwOEQ2NTBFIC8qIFdlYkRpYWdu
b3N0aWNMb2dnaW5nQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBDRDE5QTI2QTFBMTNFODIxMDA4RDY1MEUgLyogV2ViRGlhZ25vc3RpY0xvZ2dp
bmdDbGllbnQuaCAqLzsgfTsKIAkJQ0QxOUQyRUEyMDQ2NDA2RjAwMTcwNzRBIC8qIEZ1bGxzY3Jl
ZW5Ub3VjaFNlY2hldXJpc3RpYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQ0QxOUQyRTgyMDQ2NDA2RjAwMTcwNzRBIC8qIEZ1bGxzY3JlZW5Ub3VjaFNl
Y2hldXJpc3RpYy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07Ci0JCUNEMjg2NUVFMjI1NTU2MjAwMDYwNkFDNyAvKiBQcm9jZXNzVGFza1N0YXRlT2JzZXJ2
ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEMjg2
NUVDMjI1NTU2MjAwMDYwNkFDNyAvKiBQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXIuaCAqLzsgfTsK
LQkJQ0QyODY1RUYyMjU1NTYyMDAwNjA2QUM3IC8qIFByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlci5t
bSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEMjg2NUVE
MjI1NTU2MjAwMDYwNkFDNyAvKiBQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXIubW0gKi87IH07CiAJ
CUNENDU3MEQzMjQ0MTEzQjUwMEEzRENFQiAvKiBBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRv
clByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IENENDU3MEQwMjQ0MTAxNEEwMEEzRENFQiAvKiBBdWRpb1Nlc3Npb25S
b3V0aW5nQXJiaXRyYXRvclByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsKIAkJQ0Q0NTcw
RDQyNDQxMUQwRjAwQTNEQ0VCIC8qIEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENENDU3MENCMjQ0
MEZCMkEwMEEzRENFQiAvKiBBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvci5jcHAgKi87IH07
CiAJCUNENDY2MTgzMjQwMTBBNjcwMDQ3Q0EzNSAvKiBSZW1vdGVDRE1JbnN0YW5jZVNlc3Npb25N
ZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQ0Q0NjYxODEyNDAxMDU2NDAwNDdDQTM1IC8qIFJlbW90ZUNETUluc3RhbmNlU2Vz
c2lvbk1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CkBAIC0xNzg5LDcgKzE3ODcsNiBAQAogCQlD
REU1NTUzNDI0MDZFQjhDMDA4QTNEREIgLyogUmVtb3RlTGVnYWN5Q0RNU2Vzc2lvbk1lc3NhZ2VS
ZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBDREU1NTUyRTI0MDZCODk3MDA4QTNEREIgLyogUmVtb3RlTGVnYWN5Q0RNU2Vzc2lvbk1lc3Nh
Z2VSZWNlaXZlci5jcHAgKi87IH07CiAJCUNERTU1NTM1MjQwNkVCOEMwMDhBM0REQiAvKiBSZW1v
dGVMZWdhY3lDRE1TZXNzaW9uUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RFNTU1MzEyNDA2Qjg5NzAwOEEzRERC
IC8qIFJlbW90ZUxlZ2FjeUNETVNlc3Npb25Qcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07
CiAJCUNFMTFBRDUyMUNCQzQ4MkYwMDY4MUVFNSAvKiBDb2RlU2lnbmluZy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0UxMUFENTExQ0JDNDgyRjAwNjgx
RUU1IC8qIENvZGVTaWduaW5nLmggKi87IH07Ci0JCUNFMUEwQkQyMUE0OEU2QzYwMDU0RUY3NCAv
KiBBc3NlcnRpb25TZXJ2aWNlc1NQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQ0UxQTBCQ0MxQTQ4RTZDNjAwNTRFRjc0IC8qIEFzc2VydGlvblNlcnZp
Y2VzU1BJLmggKi87IH07CiAJCUNFMUEwQkQ2MUE0OEU2QzYwMDU0RUY3NCAvKiBUQ0NTUEkuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFMUEwQkQwMUE0
OEU2QzYwMDU0RUY3NCAvKiBUQ0NTUEkuaCAqLzsgfTsKIAkJQ0UxQTBCRDcxQTQ4RTZDNjAwNTRF
Rjc0IC8qIFRleHRJbnB1dFNQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQ0UxQTBCRDExQTQ4RTZDNjAwNTRFRjc0IC8qIFRleHRJbnB1dFNQSS5oICov
OyB9OwogCQlDRTIxMjE1RjI0MEVFNTcxMDA2RUQ0NDMgLyogV0tUZXh0UGxhY2Vob2xkZXIuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFMjEyMTVEMjQw
RUU1NzEwMDZFRDQ0MyAvKiBXS1RleHRQbGFjZWhvbGRlci5oICovOyB9OwpAQCAtNTE0OSw4ICs1
MTQ2LDYgQEAKIAkJQ0QxOUEyNkExQTEzRTgyMTAwOEQ2NTBFIC8qIFdlYkRpYWdub3N0aWNMb2dn
aW5nQ2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkRpYWdub3N0
aWNMb2dnaW5nQ2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNEMTlEMkU4
MjA0NjQwNkYwMDE3MDc0QSAvKiBGdWxsc2NyZWVuVG91Y2hTZWNoZXVyaXN0aWMuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBuYW1lID0gRnVsbHNjcmVlblRvdWNoU2VjaGV1cmlzdGljLmg7IHBhdGggPSBpb3MvZnVsbHNj
cmVlbi9GdWxsc2NyZWVuVG91Y2hTZWNoZXVyaXN0aWMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQ0QxOUQyRTkyMDQ2NDA2RjAwMTcwNzRBIC8qIEZ1bGxzY3JlZW5Ub3VjaFNlY2hl
dXJpc3RpYy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBGdWxsc2NyZWVuVG91Y2hTZWNoZXVyaXN0
aWMuY3BwOyBwYXRoID0gaW9zL2Z1bGxzY3JlZW4vRnVsbHNjcmVlblRvdWNoU2VjaGV1cmlzdGlj
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQ0QyODY1RUMyMjU1NTYyMDAwNjA2
QUM3IC8qIFByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQcm9jZXNz
VGFza1N0YXRlT2JzZXJ2ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQ0QyODY1
RUQyMjU1NTYyMDAwNjA2QUM3IC8qIFByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlci5tbSAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
Lm9iamNwcDsgcGF0aCA9IFByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlci5tbTsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQ0Q0NTcwQ0EyNDQwRkIyQTAwQTNEQ0VCIC8qIEF1ZGlvU2Vzc2lv
blJvdXRpbmdBcmJpdHJhdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEF1ZGlvU2Vzc2lvblJvdXRpbmdB
cmJpdHJhdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNENDU3MENCMjQ0MEZC
MkEwMEEzRENFQiAvKiBBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvci5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvci5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUNENDU3MEQwMjQ0MTAxNEEwMEEzRENFQiAvKiBBdWRpb1Nlc3Np
b25Sb3V0aW5nQXJiaXRyYXRvclByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yUHJveHlNZXNzYWdlUmVjZWl2ZXIu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNTMwNSw3ICs1MzAwLDYgQEAKIAkJ
Q0RFNTU1MzEyNDA2Qjg5NzAwOEEzRERCIC8qIFJlbW90ZUxlZ2FjeUNETVNlc3Npb25Qcm94eU1l
c3NhZ2VSZWNlaXZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZW1vdGVMZWdhY3lDRE1TZXNz
aW9uUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlDRTExQUQ0RjFDQkM0N0Y4MDA2ODFFRTUgLyogQ29kZVNpZ25pbmcubW0gKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBDb2RlU2lnbmluZy5tbTsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQ0UxMUFENTExQ0JDNDgyRjAwNjgxRUU1IC8qIENvZGVTaWduaW5n
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvZGVTaWduaW5nLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUNFMUEwQkNDMUE0OEU2QzYwMDU0RUY3NCAvKiBBc3Nl
cnRpb25TZXJ2aWNlc1NQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBc3Nl
cnRpb25TZXJ2aWNlc1NQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDRTFBMEJE
MDFBNDhFNkM2MDA1NEVGNzQgLyogVENDU1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFRDQ1NQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDRTFBMEJEMTFB
NDhFNkM2MDA1NEVGNzQgLyogVGV4dElucHV0U1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFRleHRJbnB1dFNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlD
RTIxMjE1RDI0MEVFNTcxMDA2RUQ0NDMgLyogV0tUZXh0UGxhY2Vob2xkZXIuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBu
YW1lID0gV0tUZXh0UGxhY2Vob2xkZXIuaDsgcGF0aCA9IGlvcy9XS1RleHRQbGFjZWhvbGRlci5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNzU4Myw4ICs3NTc3LDYgQEAKIAkJCQlD
RTU1MEUxMjIyODM3M0M4MDBEMjg3OTEgLyogSW5zZXJ0VGV4dE9wdGlvbnMuaCAqLywKIAkJCQlD
MTY2M0U1QTI0QUVBNzQyMDBDNkEzQjIgLyogTGF1bmNoU2VydmljZXNEYXRhYmFzZVhQQ0NvbnN0
YW50cy5oICovLAogCQkJCTJEMTA4NzYyMUQyQzY0MUIwMEI4NUY4MiAvKiBMb2FkUGFyYW1ldGVy
c0NvY29hLm1tICovLAotCQkJCUNEMjg2NUVDMjI1NTU2MjAwMDYwNkFDNyAvKiBQcm9jZXNzVGFz
a1N0YXRlT2JzZXJ2ZXIuaCAqLywKLQkJCQlDRDI4NjVFRDIyNTU1NjIwMDA2MDZBQzcgLyogUHJv
Y2Vzc1Rhc2tTdGF0ZU9ic2VydmVyLm1tICovLAogCQkJCTdBQjRFQTNGMjI3NzdDNDYwMDg1QkJB
QSAvKiBTYW5kYm94RXh0ZW5zaW9uQ29jb2EubW0gKi8sCiAJCQkJN0FCNEVBNDEyMjc3N0ZDNzAw
ODVCQkFBIC8qIFNhbmRib3hJbml0aWFsaWF0aW9uUGFyYW1ldGVyc0NvY29hLm1tICovLAogCQkJ
CUUxOUJEQTg4MTkzNjg2QTQwMEI5N0Y1NyAvKiBTYW5kYm94VXRpbGl0aWVzLmggKi8sCkBAIC0x
MDU3MCw3ICsxMDU2Miw2IEBACiAJCUNFMUEwQkNCMUE0OEU2QzYwMDU0RUY3NCAvKiBpb3MgKi8g
PSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAotCQkJCUNFMUEwQkNDMUE0
OEU2QzYwMDU0RUY3NCAvKiBBc3NlcnRpb25TZXJ2aWNlc1NQSS5oICovLAogCQkJCUNEQTA0MUYz
MUFDRTIxMDUwMDRBMTNFQyAvKiBCYWNrQm9hcmRTZXJ2aWNlc1NQSS5oICovLAogCQkJCTk1Qzk0
MzkwMjUyM0MwRDAwMDU0RjNENSAvKiBCYXNlQm9hcmRTUEkuaCAqLywKIAkJCQkyRDRBRjA4ODIw
NDRDM0M0MDA2Qzg4MTcgLyogRnJvbnRCb2FyZFNlcnZpY2VzU1BJLmggKi8sCkBAIC0xMDkxOCw3
ICsxMDkwOSw2IEBACiAJCQkJMUFFRkQyRjcxMUQxODA3QjAwODIxOUQzIC8qIEFyZ3VtZW50Q29k
ZXJzLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUFGMEM0QTEyQjE2MzM0MDA4RTQ5RTIgLyogQXJn
dW1lbnRDb2RlcnNDRi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTE3NUM0NEEyMUFBMzE3MTAwMDAz
N0QwIC8qIEFyZ3VtZW50Q29kZXJzQ29jb2EuaCBpbiBIZWFkZXJzICovLAotCQkJCUNFMUEwQkQy
MUE0OEU2QzYwMDU0RUY3NCAvKiBBc3NlcnRpb25TZXJ2aWNlc1NQSS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNTE1RTc3MjgxODNERDZGNjAwMDcyMDNGIC8qIEFzeW5jUmVxdWVzdC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQUFGQTYzNEYyMzRGN0M2NDAwRkZBODY0IC8qIEFzeW5jUmV2YWxpZGF0aW9u
LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0VFOTY2RDExMkZBRjU3MDA2QkNDMjQgLyogQXR0YWNo
bWVudC5oIGluIEhlYWRlcnMgKi8sCkBAIC0xMTIyOSw3ICsxMTIxOSw2IEBACiAJCQkJRTFDQzFC
OTAxMkQ3RUFERjAwNjI1ODM4IC8qIFByaW50SW5mby5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODZG
OTUzNjUxOEZGNThGNTAwMURCMkVGIC8qIFByb2Nlc3NBc3NlcnRpb24uaCBpbiBIZWFkZXJzICov
LAogCQkJCUJDMUE3QzU4MTEzNkUxOUMwMEZCNzE2NyAvKiBQcm9jZXNzTGF1bmNoZXIuaCBpbiBI
ZWFkZXJzICovLAotCQkJCUNEMjg2NUVFMjI1NTU2MjAwMDYwNkFDNyAvKiBQcm9jZXNzVGFza1N0
YXRlT2JzZXJ2ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ2M0ZENDgyMUVCOTRFQzAwMEEyOTgy
QyAvKiBQcm9jZXNzVGVybWluYXRpb25SZWFzb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTg2RTY3
QTI1MTkxMEI5RDEwMDAwNEFCNyAvKiBQcm9jZXNzVGhyb3R0bGVyLmggaW4gSGVhZGVycyAqLywK
IAkJCQk4MzA0OEFFNjFBQ0E0NURDMDA4MkM4MzIgLyogUHJvY2Vzc1Rocm90dGxlckNsaWVudC5o
IGluIEhlYWRlcnMgKi8sCkBAIC0xMzA2MCw3ICsxMzA0OSw2IEBACiAJCQkJMkQ5MTM0NEQyMTJD
RjlGMDAwMTI4QUZEIC8qIFBsdWdpblZpZXcuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQzE1Q0JC
MzcyM0YzN0VDQjAwMzAwQ0M3IC8qIFByZWZlcmVuY2VPYnNlcnZlci5tbSBpbiBTb3VyY2VzICov
LAogCQkJCTJENTRDMzFCMjEyRjREQTYwMDQ5QzE3NCAvKiBQcm9jZXNzTGF1bmNoZXIuY3BwIGlu
IFNvdXJjZXMgKi8sCi0JCQkJQ0QyODY1RUYyMjU1NTYyMDAwNjA2QUM3IC8qIFByb2Nlc3NUYXNr
U3RhdGVPYnNlcnZlci5tbSBpbiBTb3VyY2VzICovLAogCQkJCTFBMEMyMjdGMjQ1MTEzMEEwMEVE
NjE0RCAvKiBRdWlja0xvb2tUaHVtYm5haWxpbmdTb2Z0TGluay5tbSBpbiBTb3VyY2VzICovLAog
CQkJCTFBMEMyMjVFMjQzNTc1Q0QwMEVENjE0RCAvKiBRdWlja0xvb2tUaHVtYm5haWxMb2FkZXIu
bW0gaW4gU291cmNlcyAqLywKIAkJCQk5QjEyMjlDRTIzRkYyNUYyMDA4Q0E3NTEgLyogUmVtb3Rl
QXVkaW9EZXN0aW5hdGlvbk1hbmFnZXIuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQppbmRleCA3MDk2N2I1
MWI0N2EzZDE3NzkyZjI5ZGE3ZmU0ODY0OTAyNmM0MzIxLi42ZWQ3NWQxZGM0YzFlYTBjM2QwNDcz
MzcyZDMwMDRlY2RhZjU2ZGNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
Y29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9j
b2NvYS9XZWJQcm9jZXNzQ29jb2EubW0KQEAgLTEwMiw3ICsxMDIsNiBAQAogCiAjaWYgUExBVEZP
Uk0oSU9TX0ZBTUlMWSkKICNpbXBvcnQgIkFjY2Vzc2liaWxpdHlTdXBwb3J0U1BJLmgiCi0jaW1w
b3J0ICJBc3NlcnRpb25TZXJ2aWNlc1NQSS5oIgogI2ltcG9ydCAiUnVubmluZ0JvYXJkU2Vydmlj
ZXNTUEkuaCIKICNpbXBvcnQgIlVzZXJJbnRlcmZhY2VJZGlvbS5oIgogI2ltcG9ydCAiV0tBY2Nl
c3NpYmlsaXR5V2ViUGFnZU9iamVjdElPUy5oIgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>